mirror of
https://github.com/hexastack/hexabot
synced 2025-02-23 04:48:51 +00:00
fix: remove unnecessary state change
This commit is contained in:
parent
9c0a358977
commit
55ebe75861
@ -1,31 +1,25 @@
|
||||
/*
|
||||
* 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:
|
||||
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
||||
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
||||
*/
|
||||
|
||||
|
||||
import VisibilityOffOutlinedIcon from "@mui/icons-material/VisibilityOffOutlined";
|
||||
import VisibilityOutlinedIcon from "@mui/icons-material/VisibilityOutlined";
|
||||
import { IconButton, InputAdornment, TextFieldProps } from "@mui/material";
|
||||
import React, { forwardRef, useState } from "react";
|
||||
import { forwardRef, useState } from "react";
|
||||
|
||||
import { Input } from "./Input";
|
||||
|
||||
export const PasswordInput = forwardRef<any, TextFieldProps>(
|
||||
({ onChange, InputProps, value, ...rest }, ref) => {
|
||||
const [password, setPassword] = useState<string>(value as string);
|
||||
const [showPassword, setShowPassword] = useState(false);
|
||||
const handleTogglePasswordVisibility = () => {
|
||||
setShowPassword(!showPassword);
|
||||
};
|
||||
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
|
||||
setPassword(event.target.value);
|
||||
if (onChange) {
|
||||
onChange(event);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<Input
|
||||
@ -33,10 +27,10 @@ export const PasswordInput = forwardRef<any, TextFieldProps>(
|
||||
type={showPassword ? "text" : "password"}
|
||||
{...rest}
|
||||
defaultValue={value}
|
||||
onChange={handleChange}
|
||||
onChange={onChange}
|
||||
InputProps={{
|
||||
...InputProps,
|
||||
endAdornment: password && (
|
||||
endAdornment: (
|
||||
<InputAdornment position="end">
|
||||
<IconButton onClick={handleTogglePasswordVisibility} edge="end">
|
||||
{showPassword ? (
|
||||
|
Loading…
Reference in New Issue
Block a user