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

39 lines
1.1 KiB
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;
predictVectors: boolean;
shipLabels: boolean;
subcables: boolean;
2026-02-15 11:22:38 +09:00
};
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: "fleetCircles", label: "선단 범위" },
{ id: "zones", label: "수역 표시" },
{ id: "predictVectors", label: "예측 벡터" },
{ id: "shipLabels", label: "선박명 표시" },
{ id: "subcables", label: "해저케이블" },
2026-02-15 11:22:38 +09:00
];
return (
<div className="tog tog-map">
2026-02-15 11:22:38 +09:00
{items.map((t) => (
<div key={t.id} className={`tog-btn ${value[t.id] ? "on" : ""}`} onClick={() => onToggle(t.id)}>
{t.label}
</div>
))}
</div>
);
}