2026-02-15 11:22:38 +09:00
|
|
|
export type MapToggleState = {
|
|
|
|
|
pairLines: boolean;
|
|
|
|
|
pairRange: boolean;
|
|
|
|
|
fcLines: boolean;
|
|
|
|
|
zones: boolean;
|
|
|
|
|
fleetCircles: boolean;
|
2026-02-15 19:15:20 +09:00
|
|
|
predictVectors: boolean;
|
|
|
|
|
shipLabels: boolean;
|
2026-02-16 02:11:37 +09:00
|
|
|
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: "선단 범위" },
|
2026-02-15 19:15:20 +09:00
|
|
|
{ id: "zones", label: "수역 표시" },
|
|
|
|
|
{ id: "predictVectors", label: "예측 벡터" },
|
|
|
|
|
{ id: "shipLabels", label: "선박명 표시" },
|
2026-02-16 02:11:37 +09:00
|
|
|
{ id: "subcables", label: "해저케이블" },
|
2026-02-15 11:22:38 +09:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
return (
|
2026-02-15 19:15:20 +09:00
|
|
|
<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>
|
|
|
|
|
);
|
|
|
|
|
}
|