aca608e520709427275c4812c957f05cc5856ad3
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>
XIP
Réseau social à consommer sans modération
Concept
Faire un réseau social open sans contrôles ni modération. Pas de compte, Pseudo = IP. Merchandising à fond. Envahit par des Pubs.
Fonctionnalités
Gratuit :
- Envoyer des messages
- contenant du texte (267 charactères)
- contenant des fichiers (JPEG, .exe, ...) 1 Mo max
- Répondre à un message (sous forme de sous-thread)
- Récupérer mes messages
Payant :
- Acheter des fonctionnalités (Marketplace)
- mettre du CSS & HTML dans les messages (taille fixe), pas de script
- pas de limite de taille de fichiers
- mettre du javascript (très très cher)
- "Skins" de ton IP
- "Skins" des éléments (boutons, text area, encadré pub, ...)
- Choisir sa pub
- Retirer les pubs
- payer alerte audio générale (consommable, cooldown, durée max mais volume à fond, possibilité de fournir le mp3)
Si localhost :
- Pas de paywall (tout gratuit)
Languages
Vue
50.8%
TypeScript
46.2%
CSS
1.7%
Shell
0.6%
Dockerfile
0.6%
Other
0.1%