diff --git a/web/src/features/dialog/InputDialog.tsx b/web/src/features/dialog/InputDialog.tsx index 2df0dc0..2d71eeb 100644 --- a/web/src/features/dialog/InputDialog.tsx +++ b/web/src/features/dialog/InputDialog.tsx @@ -66,11 +66,15 @@ const InputDialog: React.FC = () => { const [visible, setVisible] = React.useState(false); const { locale } = useLocales(); - const [showPassword, setShowPassword] = React.useState(false); - const handleShowPassword = () => setShowPassword(!showPassword); + const [passwordStates, setShowPassword] = React.useState>([]); + const handleShowPassword = (index: number) => { + setShowPassword({ + ...passwordStates, [index]: !passwordStates[index] + }) + } useNuiEvent("openDialog", (data) => { - setShowPassword(false); + setShowPassword([]); setFields(data); setInputData([]); setVisible(true); @@ -115,16 +119,16 @@ const InputDialog: React.FC = () => { handleChange(e.target.value, index)} - type={!row.password || showPassword ? 'text' : 'password'} + type={!row.password || passwordStates[index] ? 'text' : 'password'} /> {row.password && ( handleShowPassword(index)} children={