feat: thème WhatsApp + fix envoi rich/compact + nav shop + refactor
All checks were successful
Deploy XIP / deploy (push) Successful in 43s
All checks were successful
Deploy XIP / deploy (push) Successful in 43s
Theming - Thème global piloté par variables CSS (:root + [data-theme]) appliqué via un attribut data-theme sur la racine app. Ajout du thème "WhatsApp" (bulles + palette verte, bulle sortante #005c4b) sans nouveau composant message. - useTheme: type Theme étendu + THEME_LAYOUT (whatsapp = layout bulles). - MessageList: sélection du composant par layout avec garde de repli (fini le <component :is="undefined">). - Fix du thème "compact" cassé : nouveau MessageItemCompact.vue (variante dense). - Surfaces migrées en variables : fond app/chat, header, bouton d'envoi, bulles. Corrections - Bug envoi rich/fichier : le backend exigeait un content texte non vide même en mode HTML/CSS/JS. Validation par présence (texte OU rich OU piece jointe) ; le front n'envoie plus d'espace bidon. Plus besoin de faux texte. - Shop : suppression de "Tout voir", navigation forcee par categorie (defaut: Publicite). Refactor (lisibilite) - Parite perks backend (ip-colors, audio-alert, send-skin-*) ; /api/shop/me renvoie myPerks precalcule ; le front consomme directement (suppression de la derivation dupliquee + nettoyage d'un artefact de merge dans useMessages). - Coherence composable-singleton : myPerks lu via useMyPerks() partout. - Extraction du composer de HomePage vers ChatComposer.vue (HomePage = layout). - Helper type parseMeta<T>() pour les metaJson (moins de any). - vue-tsc --noEmit : 0 erreur. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -37,11 +37,42 @@
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* ── Thèmes : palette par variables CSS, basculée via [data-theme] sur la racine app ──
|
||||
Le défaut = palette XIP sombre/néon. Chaque thème ne redéfinit que les surfaces
|
||||
à fort impact (fond, header, bulles, bouton d'envoi). */
|
||||
:root {
|
||||
--xip-app-bg: #080808;
|
||||
--xip-bg: #090910;
|
||||
--xip-header-bg: #0e0e16;
|
||||
--xip-header-border: #1a1a2a;
|
||||
--xip-bubble-other: #141422;
|
||||
--xip-bubble-other-border: #222236;
|
||||
--xip-bubble-sent: #0e1f30;
|
||||
--xip-bubble-sent-border: #1a3a55;
|
||||
--xip-accent: #00ddff;
|
||||
--xip-send-bg: #004488;
|
||||
--xip-send-fg: #00ddff;
|
||||
}
|
||||
|
||||
[data-theme="whatsapp"] {
|
||||
--xip-app-bg: #0b141a;
|
||||
--xip-bg: #0b141a;
|
||||
--xip-header-bg: #202c33;
|
||||
--xip-header-border: #2a3942;
|
||||
--xip-bubble-other: #202c33;
|
||||
--xip-bubble-other-border: #2a3942;
|
||||
--xip-bubble-sent: #005c4b; /* vert sortant signature WhatsApp */
|
||||
--xip-bubble-sent-border: #047857;
|
||||
--xip-accent: #00a884;
|
||||
--xip-send-bg: #00a884;
|
||||
--xip-send-fg: #ffffff;
|
||||
}
|
||||
|
||||
html,
|
||||
body,
|
||||
#app {
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
background: #080808;
|
||||
background: var(--xip-app-bg);
|
||||
font-family: 'Lato', sans-serif;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user