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:
18
app/filamenti/layout.tsx
Normal file
18
app/filamenti/layout.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
import type { Metadata } from 'next';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Bambu Lab Filamenti | PLA, PETG, ABS',
|
||||
description: 'Originalni Bambu Lab filamenti za 3D stampac. PLA, PETG, ABS, TPU. Privatna prodaja u Srbiji.',
|
||||
openGraph: {
|
||||
title: 'Bambu Lab Filamenti | PLA, PETG, ABS - Filamenteka',
|
||||
description: 'Originalni Bambu Lab filamenti za 3D stampac. PLA, PETG, ABS, TPU. Privatna prodaja u Srbiji.',
|
||||
url: 'https://filamenteka.rs/filamenti',
|
||||
},
|
||||
alternates: {
|
||||
canonical: 'https://filamenteka.rs/filamenti',
|
||||
},
|
||||
};
|
||||
|
||||
export default function FilamentiLayout({ children }: { children: React.ReactNode }) {
|
||||
return <>{children}</>;
|
||||
}
|
||||
43
app/filamenti/page.tsx
Normal file
43
app/filamenti/page.tsx
Normal 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 FilamentiPage() {
|
||||
const category = getCategoryBySlug('filamenti')!;
|
||||
|
||||
return (
|
||||
<div className="min-h-screen" style={{ background: 'var(--surface-primary)' }}>
|
||||
<SiteHeader currentCategory="filamenti" />
|
||||
<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: 'Filamenti' },
|
||||
]} />
|
||||
<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 Filamenti
|
||||
</h1>
|
||||
</div>
|
||||
<CatalogPage
|
||||
category={category}
|
||||
seoContent={
|
||||
<p className="text-sm leading-relaxed max-w-3xl" style={{ color: 'var(--text-secondary)' }}>
|
||||
Originalni Bambu Lab filamenti za 3D stampac. U ponudi imamo PLA, PETG, ABS, TPU i mnoge druge materijale u razlicitim finishima - Basic, Matte, Silk, Sparkle, Translucent, Metal i drugi. Svi filamenti su originalni Bambu Lab proizvodi, neotvoreni i u fabrickom pakovanju. Dostupni kao refill pakovanje ili na spulni.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
</article>
|
||||
</main>
|
||||
<SiteFooter />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user