Spaces:
Build error
Build error
Download frontend/src/components/features/settings/settings-switch.tsx from Backup-bdg/OpenHands: direct link, hf CLI and curl.
- Browser
- Download file 1.39 kB
-
https://huggingface.co/spaces/Backup-bdg/OpenHands/resolve/main/frontend/src/components/features/settings/settings-switch.tsx
- Command line
-
hf download hf://spaces/Backup-bdg/OpenHands/frontend/src/components/features/settings/settings-switch.tsx
-
curl -L -o settings-switch.tsx https://huggingface.co/spaces/Backup-bdg/OpenHands/resolve/main/frontend/src/components/features/settings/settings-switch.tsx
1.39 kB
| import React from "react"; | |
| import { StyledSwitchComponent } from "./styled-switch-component"; | |
| interface SettingsSwitchProps { | |
| testId?: string; | |
| name?: string; | |
| onToggle?: (value: boolean) => void; | |
| defaultIsToggled?: boolean; | |
| isToggled?: boolean; | |
| isBeta?: boolean; | |
| } | |
| export function SettingsSwitch({ | |
| children, | |
| testId, | |
| name, | |
| onToggle, | |
| defaultIsToggled, | |
| isToggled: controlledIsToggled, | |
| isBeta, | |
| }: React.PropsWithChildren<SettingsSwitchProps>) { | |
| const [isToggled, setIsToggled] = React.useState(defaultIsToggled ?? false); | |
| const handleToggle = (value: boolean) => { | |
| setIsToggled(value); | |
| onToggle?.(value); | |
| }; | |
| return ( | |
| <label className="flex items-center gap-2 w-fit cursor-pointer"> | |
| <input | |
| hidden | |
| data-testid={testId} | |
| name={name} | |
| type="checkbox" | |
| onChange={(e) => handleToggle(e.target.checked)} | |
| checked={controlledIsToggled ?? isToggled} | |
| defaultChecked={defaultIsToggled} | |
| /> | |
| <StyledSwitchComponent isToggled={controlledIsToggled ?? isToggled} /> | |
| <div className="flex items-center gap-1"> | |
| <span className="text-sm">{children}</span> | |
| {isBeta && ( | |
| <span className="text-[11px] leading-4 text-[#0D0F11] font-[500] tracking-tighter bg-primary px-1 rounded-full"> | |
| Beta | |
| </span> | |
| )} | |
| </div> | |
| </label> | |
| ); | |
| } | |