import { cn } from "@/shared/utils/utils"; import { Circle, CircleCheck } from "lucide-react"; import { MapsetFormState, MapsetFormTab } from "../../state"; interface TabButtonProps { isActive: boolean; onClick: () => void; label: string; isCompleted?: boolean; } const TabButton = ({ isActive, onClick, label, isCompleted, }: TabButtonProps) => { return ( ); }; export default function MapsetTab({ formState, activeTab, handleTabChange, }: // eslint-disable-next-line @typescript-eslint/no-explicit-any any) { const isTabComplete = (tabKey: keyof MapsetFormState): boolean => { const data = formState[tabKey]; switch (tabKey) { case "info": return Boolean( data.name && data.projection_system_id && data.category_id && data.classification_id ); case "metadata": return Boolean(data.metadata_url && data.layer_url); case "classification": return Boolean(data.coverage_area && data.coverage_level); case "version": return Boolean(data.data_update_period && data.data_version); default: return false; } }; return (
handleTabChange(MapsetFormTab.INFO)} label="Informasi Mapset" isCompleted={isTabComplete("info")} // Tandai tab sudah diisi /> handleTabChange(MapsetFormTab.METADATA)} label="Metadata" isCompleted={isTabComplete("metadata")} /> handleTabChange(MapsetFormTab.CLASSIFICATION)} label="Klasifikasi" isCompleted={isTabComplete("classification")} /> handleTabChange(MapsetFormTab.VERSION)} label="Informasi Versi" isCompleted={isTabComplete("version")} />
); }