86e1499e8f
- Design system foundations: Plus Jakarta Sans font, shadow-card/radius tokens in @theme, design-reference/DESIGN-SYSTEM.md with component inventory - Collapsible admin shell (AdminShell): smooth w-64<->w-20 sidebar, new top header with "Admin" + avatar placeholder, localStorage-persisted state - Rename route /admin/leads -> /admin/pipeline (redirect stubs preserved), nav label Lead -> Pipeline; DB table unchanged - Reusable primitives: StatusBadge, SearchInput, SegmentedToggle (dual-theme) - Luxury restyle of lead table, kanban (6 stages + @dnd-kit intact), PageHeader - Tokenize editable-cell / option-multi-select for dark-mode legibility Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
25 lines
742 B
TypeScript
25 lines
742 B
TypeScript
import { getLeadsWithTags, getLeadFieldOptions } from "@/lib/admin-queries";
|
|
import { LeadsViewToggle } from "@/components/admin/leads/LeadsViewToggle";
|
|
import { CreateLeadModal } from "@/components/admin/leads/LeadForm";
|
|
import { PageHeader } from "@/components/admin/PageHeader";
|
|
|
|
export const revalidate = 0;
|
|
|
|
export default async function LeadsPage() {
|
|
const [leads, options] = await Promise.all([
|
|
getLeadsWithTags(),
|
|
getLeadFieldOptions(),
|
|
]);
|
|
|
|
return (
|
|
<div className="space-y-6">
|
|
<PageHeader
|
|
title="Lead Pipeline"
|
|
subtitle="Gestisci e monitora i tuoi contatti commerciali"
|
|
action={<CreateLeadModal />}
|
|
/>
|
|
<LeadsViewToggle leads={leads} options={options} />
|
|
</div>
|
|
);
|
|
}
|