Image de marque
Faites du site et du tableau de bord les vôtres : le nom, le logo et les icônes, les couleurs et la typographie, les informations de l'agence et les textes pour les moteurs de recherche.
Pour le pack Full Stack
Où se trouve la marque
| Élément | Site (storefront/) | Tableau de bord (admin-dashboard/) |
|---|---|---|
| Nom, e-mail de contact, marché | src/config/brand.config.ts | src/config/brand.config.ts |
| Couleurs, rayon, ombres | src/styles/theme-variables.css | src/styles/theme-variables.css |
| Logo et icônes | public/brand/, public/, src/app/ | public/brand/, public/, src/app/ |
| Polices | src/app/[locale]/layout.tsx | src/app/layout.tsx |
| Textes | messages/ | messages/ |
Chaque couleur est un token défini une fois pour le thème clair (:root) et une fois pour le thème sombre (:root[data-theme="dark"]). Les composants ne lisent que les tokens : un token modifié atteint donc chaque page. Changez une couleur de marque dans les deux blocs, sinon un thème garde l'ancienne.
Le nom, l'e-mail de contact et le marché du site
Dans storefront/src/config/brand.config.ts :
name: { en: "Velra", ar: "فيلرا" }, // tab titles, sharing cards, the wordmark, the manifest
contactEmail: "hello@velra.example", // until the dashboard's settings answer
market: {
currency: "AED", // prices without a currency of their own, budget ranges, the footer
timeZone: "Asia/Dubai", // viewing slots and dates
utcOffset: "+04:00", // the offset a viewing's preferred time is sent in
areaServed: "Dubai", // the agency's structured data for search engines
},Le logotype à côté du logo est du texte vivant : il suit donc name. Le nom et la ville apparaissent aussi dans des phrases, dans les deux langues : cherchez Velra et فيلرا, ainsi que Dubai et دبي, dans messages/, et réécrivez ces lignes. L'indication de fuseau horaire dans messages/viewing indique UTC+4.
Le logo, les icônes et les photos du site
| Fichier | Utilisé pour |
|---|---|
public/brand/velra-mark.svg | Le logo en forme de maison sur le thème clair (en-tête, pied de page) |
public/brand/velra-mark-white.svg | Le logo en forme de maison sur le thème sombre et sur les photographies |
src/app/icon.svg | L'icône de l'onglet du navigateur |
src/app/apple-icon.png | L'icône d'écran d'accueil sur iPhone et iPad |
public/web-app-manifest-192x192.png, public/web-app-manifest-512x512.png | Les icônes de l'application installable |
Remplacez les fichiers en gardant leurs noms, ou changez mark.color et mark.white dans la configuration de la marque. Les photos propres à l'agence (le studio, l'accueil, les panneaux d'achat et de location, les tuiles de type de bien) sont servies par l'API depuis public/media/velra/site/ dans le dossier de l'API : remplacez-les sous les mêmes noms. agency-studio.webp est aussi l'image de partage de chaque page qui n'a pas de bien propre.
Les couleurs et la typographie du site
| Token | Clair | Sombre | Rôle |
|---|---|---|---|
--primaryColor | #236B79 | #5AAAB8 | Actions principales, contrôles sélectionnés, prix, anneau de focus |
--primaryColorHover | #194D59 | #77BFCA | Survol et appui |
--primary-tint | #E9F3F4 | #1A3238 | Fonds sélectionnés, panneaux discrets |
--background | #F5F7F8 | #0F1A1E | Page |
--surface | #FFFFFF | #16242A | Cartes, en-tête, pied de page, boîtes de dialogue |
--text | #263F48 | #E6EEF0 | Titres et texte renforcé |
--text-muted | #637780 | #A9BBC1 | Texte secondaire |
storefront/BRANDING.md liste chaque token. Vérifiez que le texte reste lisible sur vos couleurs à 4,5 pour 1 dans les deux thèmes. Les polices se chargent avec next/font/google, donc elles sont servies avec le build : Manrope pour le texte latin, Noto Sans Arabic pour le texte arabe, et Cormorant Garamond et Noto Naskh Arabic pour les titres. Les couleurs de la barre du navigateur sont themeColor.light et themeColor.dark dans la configuration de la marque.
Résultats de recherche, partage et domaine
NEXT_PUBLIC_SITE_URLest la base de chaque adresse canonique, des alternatives de langue, des cartes de partage, de robots.txt et du sitemap. Définissez-la avec votre vraie adresse avant le build.- Les titres et descriptions de page sont sous
metadans chaque namespace demessages/(celui de la page d'accueil dansmessages/home, celui par défaut dansmessages/layouts). Une page de bien utilise le titre et la description SEO propres au bien, écrits dans l'éditeur, et sa photo de couverture. - Les prix sont formatés dans
src/lib/utils/formatPrice.tssous la forme du code de la devise suivi du montant en chiffres latins (AED 4,850,000) ; les locations ajoutent la période issue des traductions. Les tranches de budget de la recherche sont danssrc/constants/search/priceRanges.ts.
Clair, sombre et système
Les deux applications ont un menu de thème avec Système, Clair et Sombre. Système suit le système d'exploitation et change quand lui change. Le choix est conservé dans le localStorage du navigateur (velra-theme sur le site, velra-admin-theme dans le tableau de bord), rien n'est envoyé à l'API, et un court script dans l'en-tête de la page l'applique avant le premier affichage : un rechargement n'affiche donc jamais l'autre thème.
Le nom, le logo et les couleurs du tableau de bord
- Nom :
namedanssrc/config/brand.config.tsest le logotype et la moitié « marque » de chaque titre de page (Properties | Velra) ;metacontient le titre, la description et les mots-clés par défaut,domain.urlla base des URL de métadonnées absolues,manifestl'application installable. Le titre propre à chaque page est sousmeta.titlesdans les namespacesdashboardetauthdemessages/. - Logo : remplacez
public/brand/velra-mark.svgetvelra-mark-white.svgen gardant les noms. L'icône d'onglet du navigateur estsrc/app/icon0.svg, l'icône iPhonesrc/app/apple-icon.png, et les icônes de l'application installable sont les deux fichiersweb-app-manifestdanspublic/. - Couleurs :
--primaryColor,--primaryColorHover,--primary-foregroundet--primary-tint,--background,--surface,--text,--text-muted,--borderet--errorColor, plus les paires--tone-*pour les pastilles de statut, danssrc/styles/theme-variables.css, une fois par thème. Quel statut prend quelle teinte se trouve danssrc/config/statusTones.ts. - Polices : Manrope, Noto Sans Arabic, Cormorant Garamond et Noto Naskh Arabic, chargées dans
src/app/layout.tsxet attribuées danssrc/styles/base.css.
Les informations propres à l'agence
Le nom, le slogan, la description, l'e-mail de contact et la ville de l'agence sont des paramètres, modifiés dans le tableau de bord sous Paramètres, Agence, et lus par le site depuis GET /api/settings/public. Le seed les stocke sous agency_name, agency_tagline_en, agency_tagline_ar, agency_description_en, agency_description_ar, contact_email et agency_city. Les biens que la page d'accueil met en avant, et le bien dont elle montre la pièce mise en scène, se définissent sous Paramètres, Page d'accueil.
Le logo de la marque lui-même ne se téléverse pas dans le tableau de bord : il vient des fichiers ci-dessus.
Textes et politique de confidentialité
Chaque phrase visible est dans messages/, un dossier par domaine avec en.json et ar.json ; les noms des équipements sont dans messages/amenities. Réécrivez le texte dans les deux fichiers. La politique de confidentialité dans messages/privacy est un texte de template écrit pour une agence fictive et le dit sur la page : réécrivez-la pour votre agence et votre pays avant la mise en ligne, puis retirez cette note (le dernier paragraphe de src/features/privacy/components/PrivacyHeader.tsx et sa clé templateNote dans les deux fichiers).