Files
webdev-pipeline/lib/dashboard-model.ts

121 lines
2.4 KiB
TypeScript

import {
Gauge,
MailCheck,
MapPinned,
ShieldCheck,
UsersRound,
type LucideIcon,
} from "lucide-react";
export { dashboardNavigation } from "./dashboard-navigation";
export type PipelineStage = {
title: string;
description: string;
count: number;
meta: string;
icon: LucideIcon;
};
export type DashboardKpi = {
label: string;
value: string;
detail: string;
};
export type ReviewQueueItem = {
title: string;
company: string;
detail: string;
};
export const pipelineStages: PipelineStage[] = [
{
title: "Kampagnen",
description: "Aktive Suchlaeufe nach Kategorie, PLZ und Radius.",
count: 3,
meta: "1 Lauf heute geplant",
icon: MapPinned,
},
{
title: "Lead-Recherche",
description: "Neue Places-Quellen, Kontaktluecken und Dubletten.",
count: 18,
meta: "5 Leads brauchen E-Mail-Quelle",
icon: UsersRound,
},
{
title: "Audit-Freigabe",
description: "Interne Audits warten auf manuelle Pruefung.",
count: 6,
meta: "2 Seiten bereit zur Veroeffentlichung",
icon: ShieldCheck,
},
{
title: "Outreach",
description: "Freigegebene E-Mails und Telefon-Skripte.",
count: 4,
meta: "Keine automatische Kontaktaufnahme",
icon: MailCheck,
},
];
export const dashboardKpis: DashboardKpi[] = [
{
label: "Neue Leads",
value: "18",
detail: "aus 3 aktiven Kampagnen",
},
{
label: "Audit-Entwuerfe",
value: "6",
detail: "manuelle Freigabe offen",
},
{
label: "Outreach bereit",
value: "4",
detail: "E-Mail und Telefon-Skript",
},
{
label: "Antworten",
value: "2",
detail: "manuell nachzutragen",
},
];
export const reviewQueue: ReviewQueueItem[] = [
{
title: "Audit-Freigabe pruefen",
company: "Malerbetrieb Klein",
detail: "Mobile Kontaktfuehrung und lokaler CTA fehlen.",
},
{
title: "Kontaktstrategie bestaetigen",
company: "Physio am Park",
detail: "Telefon zuerst, E-Mail nach persoenlicher Einordnung.",
},
{
title: "Follow-up vormerken",
company: "Tischlerei Weber",
detail: "Respektvolles Follow-up in 5 Tagen, kein Autoversand.",
},
];
export const pipelineHealth = [
{
label: "Recherche",
value: "hoch",
icon: Gauge,
},
{
label: "Freigabe",
value: "manuell",
icon: ShieldCheck,
},
{
label: "Versand",
value: "gesperrt bis Review",
icon: MailCheck,
},
];