rework components

This commit is contained in:
Kuba Pyla
2026-05-20 02:58:48 +02:00
parent 9d4f32ecf0
commit 1aa0a96e95
27 changed files with 527 additions and 172 deletions
+33
View File
@@ -0,0 +1,33 @@
'use client';
import Link from 'next/link';
import {usePathname, useSearchParams} from 'next/navigation';
import type {DemoContent} from '@/types/content';
type DemoSubnavProps = {
demos: DemoContent[];
activeSlug?: DemoContent['slug'];
hrefType?: 'page' | 'browser';
};
export function DemoSubnav({demos, activeSlug, hrefType = 'page'}: DemoSubnavProps) {
const pathname = usePathname();
const searchParams = useSearchParams();
const selectedSlug = activeSlug ?? searchParams.get('demo') ?? demos[0]?.slug;
return (
<nav className="demoSubnav" aria-label="Dema konfiguratorów">
{demos.map(demo => {
const isActive = selectedSlug === demo.slug || pathname === `/pl/${demo.slug}`;
const href = hrefType === 'browser' ? `/pl/dema?demo=${demo.slug}` : `/pl/${demo.slug}`;
return (
<Link className={isActive ? 'isActive' : undefined} href={href} key={demo.slug}>
<span>{demo.eyebrow}</span>
{demo.title}
</Link>
);
})}
</nav>
);
}