/* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; import { IconClipboardList, IconTags } from '@tabler/icons-react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); const pathname = usePathname(); const tabs = [ { label: "Kegiatan Desa", value: "kegiatanDesa", href: "/admin/lingkungan/gotong-royong/kegiatan-desa", icon: , tooltip: "Lihat dan kelola kegiatan desa", }, { label: "Kategori Kegiatan", value: "kategoriKegiatan", href: "/admin/lingkungan/gotong-royong/kategori-kegiatan", icon: , tooltip: "Kelola kategori kegiatan desa", }, ]; const currentTab = tabs.find(tab => tab.href === pathname); const [activeTab, setActiveTab] = useState(currentTab?.value || tabs[0].value); const handleTabChange = (value: string | null) => { const tab = tabs.find(t => t.value === value); if (tab) { router.push(tab.href); } setActiveTab(value); }; useEffect(() => { const match = tabs.find(tab => tab.href === pathname); if (match) { setActiveTab(match.value); } }, [pathname]); return ( {/* ✅ Title lebih tegas */} Gotong Royong {/* ✅ Scroll horizontal */} {tabs.map((tab, i) => ( {tab.label} ))} {/* ✅ Panel dengan gaya kartu */} {tabs.map((tab, i) => ( {children} ))} ); } export default LayoutTabs;