- Supprimer LocalSeoPage.tsx (conflit de casse avec LocalSEOPage.tsx) - Typer keywords comme readonly string[] dans Service pour compatibilité as const https://claude.ai/code/session_01Uec4iHjcPwB1pU41idWEdF
63 lines
1.0 KiB
TypeScript
63 lines
1.0 KiB
TypeScript
// types/content.ts
|
|
// Types partagés entre lib/content.ts et les composants.
|
|
// Ces types correspondent exactement aux schémas Payload CMS futurs
|
|
// définis dans /payload/collections/*.ts
|
|
|
|
export type NavItem = {
|
|
label: string;
|
|
href: string;
|
|
};
|
|
|
|
export type Service = {
|
|
slug: string;
|
|
title: string;
|
|
shortDescription: string;
|
|
longDescription: string;
|
|
icon: string;
|
|
keywords: readonly string[];
|
|
};
|
|
|
|
export type Realisation = {
|
|
title: string;
|
|
ville: string;
|
|
service: string;
|
|
categorie: string;
|
|
description: string;
|
|
color: string;
|
|
image: string;
|
|
};
|
|
|
|
export type Testimonial = {
|
|
name: string;
|
|
ville: string;
|
|
service: string;
|
|
text: string;
|
|
rating: number;
|
|
};
|
|
|
|
export type FAQItem = {
|
|
question: string;
|
|
answer: string;
|
|
};
|
|
|
|
export type Partner = {
|
|
label: string;
|
|
icon: string;
|
|
desc: string;
|
|
};
|
|
|
|
export type BlogPost = {
|
|
slug: string;
|
|
titre: string;
|
|
extrait: string;
|
|
cat: string;
|
|
date: string;
|
|
readTime: string;
|
|
};
|
|
|
|
export type Value = {
|
|
title: string;
|
|
description: string;
|
|
icon: string;
|
|
};
|