gc-wing/apps/web/src/features/mapToggles/MapToggles.tsx

33 lines
847 B
TypeScript
Raw Normal View 히스토리

2026-02-15 11:22:38 +09:00
export type MapToggleState = {
pairLines: boolean;
pairRange: boolean;
fcLines: boolean;
zones: boolean;
fleetCircles: boolean;
};
type Props = {
value: MapToggleState;
onToggle: (key: keyof MapToggleState) => void;
};
export function MapToggles({ value, onToggle }: Props) {
const items: Array<{ id: keyof MapToggleState; label: string }> = [
{ id: "pairLines", label: "쌍 연결선" },
{ id: "pairRange", label: "쌍 연결범위" },
{ id: "fcLines", label: "환적 연결선" },
{ id: "zones", label: "수역 표시" },
{ id: "fleetCircles", label: "선단 범위" },
];
return (
<div className="tog">
{items.map((t) => (
<div key={t.id} className={`tog-btn ${value[t.id] ? "on" : ""}`} onClick={() => onToggle(t.id)}>
{t.label}
</div>
))}
</div>
);
}