Merge pull request #605 from Hexastack/593-issue-when-updating-the-user-account-password

fix: remove unnecessary state change
This commit is contained in:
Med Marrouchi 2025-01-23 15:04:44 +01:00 committed by GitHub
commit 6ff6c5a756
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,5 +1,5 @@
/* /*
* Copyright © 2024 Hexastack. All rights reserved. * Copyright © 2025 Hexastack. All rights reserved.
* *
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms: * Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission. * 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
@ -9,34 +9,26 @@
import VisibilityOffOutlinedIcon from "@mui/icons-material/VisibilityOffOutlined"; import VisibilityOffOutlinedIcon from "@mui/icons-material/VisibilityOffOutlined";
import VisibilityOutlinedIcon from "@mui/icons-material/VisibilityOutlined"; import VisibilityOutlinedIcon from "@mui/icons-material/VisibilityOutlined";
import { IconButton, InputAdornment, TextFieldProps } from "@mui/material"; import { IconButton, InputAdornment, TextFieldProps } from "@mui/material";
import React, { forwardRef, useState } from "react"; import { forwardRef, useState } from "react";
import { Input } from "./Input"; import { Input } from "./Input";
export const PasswordInput = forwardRef<any, TextFieldProps>( export const PasswordInput = forwardRef<any, TextFieldProps>(
({ onChange, InputProps, value, ...rest }, ref) => { ({ onChange, InputProps, ...rest }, ref) => {
const [password, setPassword] = useState<string>(value as string);
const [showPassword, setShowPassword] = useState(false); const [showPassword, setShowPassword] = useState(false);
const handleTogglePasswordVisibility = () => { const handleTogglePasswordVisibility = () => {
setShowPassword(!showPassword); setShowPassword(!showPassword);
}; };
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
setPassword(event.target.value);
if (onChange) {
onChange(event);
}
};
return ( return (
<Input <Input
ref={ref} ref={ref}
type={showPassword ? "text" : "password"} type={showPassword ? "text" : "password"}
{...rest} {...rest}
defaultValue={value} onChange={onChange}
onChange={handleChange}
InputProps={{ InputProps={{
...InputProps, ...InputProps,
endAdornment: password && ( endAdornment: (
<InputAdornment position="end"> <InputAdornment position="end">
<IconButton onClick={handleTogglePasswordVisibility} edge="end"> <IconButton onClick={handleTogglePasswordVisibility} edge="end">
{showPassword ? ( {showPassword ? (