refac, move ToggleConfig to component

This commit is contained in:
Simon
2025-01-10 15:28:17 +07:00
parent bf38cdc7f0
commit 5cc40315c4
3 changed files with 91 additions and 212 deletions

View File

@@ -0,0 +1,43 @@
type ToggleConfigProps = {
name: string;
value: boolean;
updateCallback: (name: string, value: boolean) => void;
resetCallback?: (arg0: boolean) => void;
onValue?: boolean | string;
offValue?: boolean | string;
};
const ToggleConfig = ({
name,
value,
updateCallback,
resetCallback = undefined,
}: ToggleConfigProps) => {
return (
<div className="toggle">
<div className="toggleBox">
<input
name={name}
type="checkbox"
checked={value}
onChange={event => {
updateCallback(name, event.target.checked);
}}
/>
{!value && (
<label htmlFor="" className="ofbtn">
Off
</label>
)}
{value && (
<label htmlFor="" className="onbtn">
On
</label>
)}
</div>
{resetCallback !== undefined && <button onClick={() => resetCallback(false)}>Reset</button>}
</div>
);
};
export default ToggleConfig;