Files
ERitors-Scribe-Desktop/components/form/ToggleSwitch.tsx
natreex da03f221ae Remove unused OfflineIndicator, OfflineSyncDetails, and OfflineSyncManager components
- Deleted obsolete offline-related components as they are no longer in use.
- Simplified imports and removed related context dependencies.
- Updated synchronization and toggle switch handling in `CharacterComponent`, `WorldSetting`, and `LocationComponent` to improve consistency.
2026-01-15 19:26:09 -05:00

30 lines
1012 B
TypeScript

'use client'
import React from "react";
interface ToggleSwitchProps {
checked: boolean;
onChange: (checked: boolean) => void;
disabled?: boolean;
}
export default function ToggleSwitch({checked, onChange, disabled = false}: ToggleSwitchProps) {
return (
<button
type="button"
role="switch"
aria-checked={checked}
disabled={disabled}
onClick={(): void => onChange(!checked)}
className={`relative inline-flex h-6 w-11 items-center rounded-full transition-colors duration-200 ${
checked ? 'bg-primary' : 'bg-secondary'
} ${disabled ? 'opacity-50 cursor-not-allowed' : 'cursor-pointer'}`}
>
<span
className={`inline-block h-4 w-4 transform rounded-full bg-white transition-transform duration-200 ${
checked ? 'translate-x-6' : 'translate-x-1'
}`}
/>
</button>
);
}