Refactor to multi-category catalog with polished light mode

- Restructure from single filament table to multi-category product catalog
  (filamenti, stampaci, ploce, mlaznice, delovi, oprema)
- Add shared layout components (SiteHeader, SiteFooter, CategoryNav, Breadcrumb)
- Add reusable UI primitives (Badge, Button, Card, Modal, PriceDisplay, EmptyState)
- Add catalog components (CatalogPage, ProductTable, ProductGrid, FilamentCard, ProductCard)
- Add admin dashboard with sidebar navigation and category management
- Add product API endpoints and database migrations
- Add SEO pages (politika-privatnosti, uslovi-koriscenja, robots.txt, sitemap.xml)
- Fix light mode: gradient text contrast, category nav accessibility,
  surface tokens, card shadows, CTA section theming
This commit is contained in:
DaX
2026-02-21 21:56:17 +01:00
parent a854fd5524
commit 1d3d11afec
62 changed files with 8618 additions and 358 deletions

18
app/ploce/layout.tsx Normal file
View File

@@ -0,0 +1,18 @@
import type { Metadata } from 'next';
export const metadata: Metadata = {
title: 'Bambu Lab Build Plate (Podloga)',
description: 'Bambu Lab build plate podloge - Cool Plate, Engineering Plate, High Temp Plate, Textured PEI.',
openGraph: {
title: 'Bambu Lab Build Plate (Podloga) - Filamenteka',
description: 'Bambu Lab build plate podloge - Cool Plate, Engineering Plate, High Temp Plate, Textured PEI.',
url: 'https://filamenteka.rs/ploce',
},
alternates: {
canonical: 'https://filamenteka.rs/ploce',
},
};
export default function PloceLayout({ children }: { children: React.ReactNode }) {
return <>{children}</>;
}

43
app/ploce/page.tsx Normal file
View File

@@ -0,0 +1,43 @@
'use client';
import { SiteHeader } from '@/src/components/layout/SiteHeader';
import { SiteFooter } from '@/src/components/layout/SiteFooter';
import { Breadcrumb } from '@/src/components/layout/Breadcrumb';
import { CatalogPage } from '@/src/components/catalog/CatalogPage';
import { getCategoryBySlug } from '@/src/config/categories';
export default function PlocePage() {
const category = getCategoryBySlug('ploce')!;
return (
<div className="min-h-screen" style={{ background: 'var(--surface-primary)' }}>
<SiteHeader currentCategory="ploce" />
<main className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6 sm:py-8">
<article>
<Breadcrumb items={[
{ label: 'Pocetna', href: '/' },
{ label: 'Build Plate (Podloge)' },
]} />
<div className="flex items-center gap-3 mt-3 mb-6">
<div className="w-1.5 h-8 rounded-full" style={{ backgroundColor: category.colorHex }} />
<h1
className="text-2xl sm:text-3xl font-black tracking-tight"
style={{ fontFamily: 'var(--font-display)', color: 'var(--text-primary)' }}
>
Bambu Lab Build Plate Podloge
</h1>
</div>
<CatalogPage
category={category}
seoContent={
<p className="text-sm leading-relaxed max-w-3xl" style={{ color: 'var(--text-secondary)' }}>
Originalne Bambu Lab build plate podloge za 3D stampanje. Cool Plate, Engineering Plate, High Temp Plate i Textured PEI Plate. Kompatibilne sa A1 Mini, A1, P1S, X1C i drugim modelima. Nove i polovne podloge u privatnoj prodaji.
</p>
}
/>
</article>
</main>
<SiteFooter />
</div>
);
}