diff --git a/app/page.tsx b/app/page.tsx index 6f08546..2941071 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -4,6 +4,9 @@ import { useState, useEffect } from 'react'; import { FilamentTableV2 } from '../src/components/FilamentTableV2'; import { SaleCountdown } from '../src/components/SaleCountdown'; import ColorRequestModal from '../src/components/ColorRequestModal'; +import TabbedNavigation from '../src/components/TabbedNavigation'; +import PrintersTable from '../src/components/PrintersTable'; +import GearTable from '../src/components/GearTable'; import { Filament } from '../src/types/filament'; import { filamentService } from '../src/services/api'; import { trackEvent } from '../src/components/MatomoAnalytics'; @@ -16,6 +19,7 @@ export default function Home() { const [mounted, setMounted] = useState(false); const [resetKey, setResetKey] = useState(0); const [showColorRequestModal, setShowColorRequestModal] = useState(false); + const [activeTab, setActiveTab] = useState('filaments'); // Removed V1/V2 toggle - now only using V2 // Initialize dark mode from localStorage after mounting @@ -190,25 +194,72 @@ export default function Home() { - f.sale_active === true)} - maxSalePercentage={Math.max(...filaments.filter(f => f.sale_active === true).map(f => f.sale_percentage || 0), 0)} - saleEndDate={(() => { - const activeSales = filaments.filter(f => f.sale_active === true && f.sale_end_date); - if (activeSales.length === 0) return null; - const latestSale = activeSales.reduce((latest, current) => { - if (!latest.sale_end_date) return current; - if (!current.sale_end_date) return latest; - return new Date(current.sale_end_date) > new Date(latest.sale_end_date) ? current : latest; - }).sale_end_date; - return latestSale; - })()} - /> + {/* Tabs Navigation */} +
+ + + + ) + }, + { + id: 'printers', + label: 'Štampači', + icon: ( + + + + ) + }, + { + id: 'gear', + label: 'Oprema i Delovi', + icon: ( + + + + + ) + } + ]} + activeTab={activeTab} + onTabChange={setActiveTab} + /> +
+ + {/* Tab Content */} + {activeTab === 'filaments' && ( + <> + f.sale_active === true)} + maxSalePercentage={Math.max(...filaments.filter(f => f.sale_active === true).map(f => f.sale_percentage || 0), 0)} + saleEndDate={(() => { + const activeSales = filaments.filter(f => f.sale_active === true && f.sale_end_date); + if (activeSales.length === 0) return null; + const latestSale = activeSales.reduce((latest, current) => { + if (!latest.sale_end_date) return current; + if (!current.sale_end_date) return latest; + return new Date(current.sale_end_date) > new Date(latest.sale_end_date) ? current : latest; + }).sale_end_date; + return latestSale; + })()} + /> + + + + )} + + {activeTab === 'printers' && } - + {activeTab === 'gear' && }