/* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; import { Box, ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; import { IconDashboard, IconBuildingStore, IconPackage, IconShoppingCart, IconTag } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); const pathname = usePathname(); const tabs = [ { label: "Dashboard", value: "dashboard", href: "/admin/ekonomi/umkm/dashboard", icon: }, { label: "Data UMKM", value: "data-umkm", href: "/admin/ekonomi/umkm/data-umkm", icon: }, { label: "Produk", value: "produk", href: "/admin/ekonomi/umkm/produk", icon: }, { label: "Penjualan", value: "penjualan", href: "/admin/ekonomi/umkm/penjualan", icon: }, { label: "Kategori Produk", value: "kategori-produk", href: "/admin/ekonomi/umkm/kategori-produk", icon: }, ]; const currentTab = tabs.find((tab) => pathname.startsWith(tab.href)); 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) => pathname.startsWith(tab.href)); if (match) { setActiveTab(match.value); } }, [pathname]); return ( Manajemen UMKM {tabs.map((tab, i) => ( {tab.label} ))} {tabs.map((tab, i) => ( {tab.label} ))} {tabs.map((tab, i) => ( {children} ))} ); } export default LayoutTabs;