diff --git a/web/components/admin/TextFieldWithSubmit.tsx b/web/components/admin/TextFieldWithSubmit.tsx index 67613ac555..944257f03b 100644 --- a/web/components/admin/TextFieldWithSubmit.tsx +++ b/web/components/admin/TextFieldWithSubmit.tsx @@ -38,6 +38,7 @@ export const TextFieldWithSubmit: FC = ({ const [hasChanged, setHasChanged] = useState(false); + const [isPwdInput, setPwdInputField] = useState(false); const serverStatusData = useContext(ServerStatusContext); const { setFieldInConfigState } = serverStatusData || {}; @@ -66,6 +67,13 @@ export const TextFieldWithSubmit: FC = ({ } }, [value]); + useEffect(() => { + if (fieldName === 'adminPassword') { + setPwdInputField(true); + } + setPwdInputField(false); + }, [fieldName]); + // if field is required but value is empty, or equals initial value, then don't show submit/update button. otherwise clear out any result messaging and display button. const handleChange = ({ fieldName: changedFieldName, value: changedValue }: UpdateArgs) => { if (onChange) { @@ -119,13 +127,6 @@ export const TextFieldWithSubmit: FC = ({ submittable: hasChanged, }); - const isPasswordInput = () => { - if (fieldName === 'adminPassword') { - return false; - } - return true; - }; - return (
@@ -143,7 +144,7 @@ export const TextFieldWithSubmit: FC = ({
{tip}
- {isPasswordInput() && ( + {isPwdInput && (