Skip to content

Conversation

essambaantony1981-lab
Copy link

Thinking...

L'utilisateur veut que j'enrichisse l'application TITA pour qu'elle devienne une synthèse de plusieurs plateformes sociales populaires avec des fonctionnalités supplémentaires :

  1. Combinaison de fonctionnalités de :

    • Facebook (posts, likes, partages, groupes)
    • LinkedIn (networking professionnel, CV)
    • Twitter (microblogging, tendances)
    • WhatsApp (messagerie)
    • Telegram (canaux, bots)
    • Instagram (photos, stories)
    • YouTube (vidéos)
  2. Nouvelles fonctionnalités à ajouter :

    • Système de gamification
    • Monétisation
    • Points de récompenses
    • Portefeuille électronique

Je vais mettre à jour l'application avec ces fonctionnalités tout en gardant l'aspect anonyme qui est central à TITA.

Je vais transformer TITA en une super-plateforme sociale anonyme combinant toutes ces fonctionnalités avec un système de gamification et de monétisation.

tool_use_id=toolu_vrtx_01Mch59RcEG1NGFdLJkzn5MN
tool_name=replace_code
input={"old_str": "    <!-- Navigation par onglets -->\n        <nav class=\"bg-white dark:bg-gray-800 shadow-sm border-b border-gray-200 dark:border-gray-700\">\n            <div class=\"container mx-auto px-4\">\n                <div class=\"flex space-x-8 overflow-x-auto\">\n                    <button class=\"nav-tab active flex items-center space-x-2 py-4 px-2 border-b-2 border-primary text-primary font-medium whitespace-nowrap\" data-category=\"all\">\n                        <i data-lucide=\"home\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"all\">Tout</span>\n                    </button>\n                    <button class=\"nav-tab flex items-center space-x-2 py-4 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-category=\"politics\">\n                        <i data-lucide=\"building\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"politics\">Politique</span>\n                    </button>\n                    <button class=\"nav-tab flex items-center space-x-2 py-4 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-category=\"economy\">\n                        <i data-lucide=\"trending-up\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"economy\">Économie</span>\n                    </button>\n                    <button class=\"nav-tab flex items-center space-x-2 py-4 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-category=\"sports\">\n                        <i data-lucide=\"activity\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"sports\">Sport</span>\n                    </button>\n                    <button class=\"nav-tab flex items-center space-x-2 py-4 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-category=\"social\">\n                        <i data-lucide=\"users\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"social\">Social</span>\n                    </button>\n                </div>\n            </div>\n        </nav>", "new_str": "    <!-- Navigation principale -->\n        <nav class=\"bg-white dark:bg-gray-800 shadow-sm border-b border-gray-200 dark:border-gray-700\">\n            <div class=\"container mx-auto px-4\">\n                <div class=\"flex space-x-4 overflow-x-auto\">\n                    <button class=\"main-nav-tab active flex items-center space-x-2 py-4 px-3 border-b-2 border-primary text-primary font-medium whitespace-nowrap\" data-page=\"feed\">\n                        <i data-lucide=\"home\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"feed\">Fil</span>\n                    </button>\n                    <button class=\"main-nav-tab flex items-center space-x-2 py-4 px-3 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-page=\"stories\">\n                        <i data-lucide=\"circle\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"stories\">Stories</span>\n                    </button>\n                    <button class=\"main-nav-tab flex items-center space-x-2 py-4 px-3 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-page=\"media\">\n                        <i data-lucide=\"play-circle\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"media\">Média</span>\n                    </button>\n                    <button class=\"main-nav-tab flex items-center space-x-2 py-4 px-3 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-page=\"groups\">\n                        <i data-lucide=\"users\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"groups\">Groupes</span>\n                    </button>\n                    <button class=\"main-nav-tab flex items-center space-x-2 py-4 px-3 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-page=\"messages\">\n                        <i data-lucide=\"message-square\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"messages\">Messages</span>\n                    </button>\n                    <button class=\"main-nav-tab flex items-center space-x-2 py-4 px-3 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-page=\"wallet\">\n                        <i data-lucide=\"wallet\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"wallet\">Portefeuille</span>\n                    </button>\n                    <button class=\"main-nav-tab flex items-center space-x-2 py-4 px-3 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-page=\"rewards\">\n                        <i data-lucide=\"gift\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"rewards\">Récompenses</span>\n                    </button>\n                </div>\n            </div>\n        </nav>\n\n        <!-- Sous-navigation pour le fil -->\n        <div id=\"feedSubNav\" class=\"bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600\">\n            <div class=\"container mx-auto px-4\">\n                <div class=\"flex space-x-6 overflow-x-auto\">\n                    <button class=\"sub-nav-tab active flex items-center space-x-2 py-3 px-2 border-b-2 border-primary text-primary font-medium whitespace-nowrap text-sm\" data-category=\"all\">\n                        <span data-translate=\"all\">Tout</span>\n                    </button>\n                    <button class=\"sub-nav-tab flex items-center space-x-2 py-3 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap text-sm\" data-category=\"politics\">\n                        <span data-translate=\"politics\">Politique</span>\n                    </button>\n                    <button class=\"sub-nav-tab flex items-center space-x-2 py-3 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap text-sm\" data-category=\"economy\">\n                        <span data-translate=\"economy\">Économie</span>\n                    </button>\n                    <button class=\"sub-nav-tab flex items-center space-x-2 py-3 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap text-sm\" data-category=\"sports\">\n                        <span data-translate=\"sports\">Sport</span>\n                    </button>\n                    <button class=\"sub-nav-tab flex items-center space-x-2 py-3 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap text-sm\" data-category=\"social\">\n                        <span data-translate=\"social\">Social</span>\n                    </button>\n                </div>\n            </div>\n        </div>"}

Maintenant je vais ajouter toutes les pages et fonctionnalités avancées demandées :

tool_use_id=toolu_vrtx_01FAbJtbuqagYdZLCEXZPaYN
tool_name=replace_code
input={"old_str": "        <div class=\"container mx-auto px-4 py-6\">\n            <div class=\"grid lg:grid-cols-3 gap-6\">\n                <!-- Colonne principale -->\n                <div class=\"lg:col-span-2\">\n                    <!-- Formulaire de publication -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6 mb-6\">\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\" data-translate=\"share_truth\">Partagez votre vérité</h3>\n                        <form id=\"postForm\">\n                            <div class=\"space-y-4\">\n                                <div>\n                                    <select id=\"postCategory\" class=\"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base\">\n                                        <option value=\"politics\" data-translate=\"politics\">Politique</option>\n                                        <option value=\"economy\" data-translate=\"economy\">Économie</option>\n                                        <option value=\"sports\" data-translate=\"sports\">Sport</option>\n                                        <option value=\"social\" data-translate=\"social\">Social</option>\n                                    </select>\n                                </div>\n                                <div>\n                                    <input type=\"text\" id=\"postTitle\" class=\"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base\" placeholder=\"Titre de votre révélation...\" required>\n                                </div>\n                                <div>\n                                    <textarea id=\"postContent\" rows=\"4\" class=\"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base resize-none\" placeholder=\"Dévoilez les faits, exposez la vérité...\" required></textarea>\n                                </div>\n                                <div class=\"flex items-center justify-between\">\n                                    <div class=\"flex items-center space-x-2 text-sm text-gray-500 dark:text-gray-400\">\n                                        <i data-lucide=\"shield\" class=\"w-4 h-4\"></i>\n                                        <span data-translate=\"anonymous_post\">Publication anonyme</span>\n                                    </div>\n                                    <button type=\"submit\" class=\"bg-primary hover:bg-primary-dark text-white font-medium py-2 px-6 rounded-md transition duration-200\">\n                                        <span data-translate=\"publish\">Publier</span>\n                                    </button>\n                                </div>\n                            </div>\n                        </form>\n                    </div>\n\n                    <!-- Liste des publications -->\n                    <div id=\"postsContainer\" class=\"space-y-6\">\n                        <!-- Les publications seront ajoutées ici dynamiquement -->\n                    </div>\n                </div>\n\n                <!-- Barre latérale -->\n                <div class=\"lg:col-span-1\">\n                    <!-- Statistiques -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6 mb-6\">\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\" data-translate=\"global_stats\">Statistiques mondiales</h3>\n                        <div class=\"space-y-3\">\n                            <div class=\"flex justify-between items-center\">\n                                <span class=\"text-sm text-gray-600 dark:text-gray-400\" data-translate=\"total_truths\">Vérités partagées</span>\n                                <span id=\"totalPosts\" class=\"font-medium text-gray-800 dark:text-white\">0</span>\n                            </div>\n                            <div class=\"flex justify-between items-center\">\n                                <span class=\"text-sm text-gray-600 dark:text-gray-400\" data-translate=\"active_users\">Utilisateurs actifs</span>\n                                <span class=\"font-medium text-gray-800 dark:text-white\">1,247</span>\n                            </div>\n                            <div class=\"flex justify-between items-center\">\n                                <span class=\"text-sm text-gray-600 dark:text-gray-400\" data-translate=\"regions_covered\">Régions couvertes</span>\n                                <span class=\"font-medium text-gray-800 dark:text-white\">6</span>\n                            </div>\n                        </div>\n                    </div>\n\n                    <!-- Régions actives -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6\">\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\" data-translate=\"active_regions\">Régions actives</h3>\n                        <div class=\"space-y-2\">\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🌍 Afrique</span>\n                                <span class=\"bg-green-100 text-green-800 px-2 py-1 rounded-full text-xs\">Actif</span>\n                            </div>\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🇪🇺 Europe</span>\n                                <span class=\"bg-green-100 text-green-800 px-2 py-1 rounded-full text-xs\">Actif</span>\n                            </div>\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🌏 Asie</span>\n                                <span class=\"bg-green-100 text-green-800 px-2 py-1 rounded-full text-xs\">Actif</span>\n                            </div>\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🌎 Amériques</span>\n                                <span class=\"bg-green-100 text-green-800 px-2 py-1 rounded-full text-xs\">Actif</span>\n                            </div>\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🏝️ Océanie</span>\n                                <span class=\"bg-yellow-100 text-yellow-800 px-2 py-1 rounded-full text-xs\">Modéré</span>\n                            </div>\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🕌 Moyen-Orient</span>\n                                <span class=\"bg-green-100 text-green-800 px-2 py-1 rounded-full text-xs\">Actif</span>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>", "new_str": "        <!-- Contenu des pages -->\n        <div class=\"container mx-auto px-4 py-6\">\n            <!-- Page Fil d'actualité -->\n            <div id=\"feedPage\" class=\"page-content\">\n                <div class=\"grid lg:grid-cols-3 gap-6\">\n                    <!-- Colonne principale -->\n                    <div class=\"lg:col-span-2\">\n                        <!-- Barre de statut utilisateur -->\n                        <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-4 mb-6\">\n                            <div class=\"flex items-center justify-between\">\n                                <div class=\"flex items-center space-x-3\">\n                                    <div class=\"w-10 h-10 bg-primary rounded-full flex items-center justify-center\">\n                                        <span class=\"text-white font-medium\" id=\"userAvatar\">A</span>\n                                    </div>\n                                    <div>\n                                        <p class=\"font-medium text-gray-800 dark:text-white\" id=\"userLevel\">Niveau Vérificateur</p>\n                                        <div class=\"flex items-center space-x-2\">\n                                            <span class=\"text-sm text-gray-500\">Points: </span>\n                                            <span class=\"text-sm font-medium text-primary\" id=\"userPoints\">150</span>\n                                            <span class=\"text-xs text-gray-400\">|</span>\n                                            <span class=\"text-sm text-gray-500\">Rang: </span>\n                                            <span class=\"text-sm font-medium text-green-600\" id=\"userRank\">#247</span>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"text-right\">\n                                    <p class=\"text-sm text-gray-500\">Portefeuille</p>\n                                    <p class=\"font-medium text-gray-800 dark:text-white\" id=\"walletBalance\">25.40 TITA</p>\n                                </div>\n                            </div>\n                        </div>\n\n                        <!-- Formulaire de publication enrichi -->\n                        <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6 mb-6\">\n                            <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\" data-translate=\"share_truth\">Partagez votre vérité</h3>\n                            <form id=\"postForm\">\n                                <div class=\"space-y-4\">\n                                    <div class=\"flex space-x-3\">\n                                        <select id=\"postCategory\" class=\"flex-1 px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base\">\n                                            <option value=\"politics\">🏛️ Politique</option>\n                                            <option value=\"economy\">📈 Économie</option>\n                                            <option value=\"sports\">⚽ Sport</option>\n                                            <option value=\"social\">👥 Social</option>\n                                        </select>\n                                        <select id=\"postType\" class=\"px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base\">\n                                            <option value=\"text\">📝 Texte</option>\n                                            <option value=\"photo\">📸 Photo</option>\n                                            <option value=\"video\">🎥 Vidéo</option>\n                                            <option value=\"poll\">📊 Sondage</option>\n                                        </select>\n                                    </div>\n                                    <div>\n                                        <input type=\"text\" id=\"postTitle\" class=\"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base\" placeholder=\"Titre de votre révélation...\" required>\n                                    </div>\n                                    <div>\n                                        <textarea id=\"postContent\" rows=\"4\" class=\"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base resize-none\" placeholder=\"Dévoilez les faits, exposez la vérité...\" required></textarea>\n                                    </div>\n                                    <div class=\"flex items-center justify-between\">\n                                        <div class=\"flex items-center space-x-4\">\n                                            <div class=\"flex items-center space-x-2 text-sm text-gray-500 dark:text-gray-400\">\n                                                <i data-lucide=\"shield\" class=\"w-4 h-4\"></i>\n                                                <span data-translate=\"anonymous_post\">Publication anonyme</span>\n                                            </div>\n                                            <div class=\"flex items-center space-x-2 text-sm text-green-600\">\n                                                <i data-lucide=\"coins\" class=\"w-4 h-4\"></i>\n                                                <span>+5 Points</span>\n                                            </div>\n                                        </div>\n                                        <button type=\"submit\" class=\"bg-primary hover:bg-primary-dark text-white font-medium py-2 px-6 rounded-md transition duration-200\">\n                                            <span data-translate=\"publish\">Publier</span>\n                                        </button>\n                                    </div>\n                                </div>\n                            </form>\n                        </div>\n\n                        <!-- Liste des publications -->\n                        <div id=\"postsContainer\" class=\"space-y-6\">\n                            <!-- Les publications seront ajoutées ici dynamiquement -->\n                        </div>\n                    </div>\n\n                    <!-- Barre latérale -->\n                    <div class=\"lg:col-span-1\">\n                        <!-- Profil utilisateur rapide -->\n                        <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6 mb-6\">\n                            <div class=\"text-center\">\n                                <div class=\"w-16 h-16 bg-gradient-to-r from-primary to-purple-600 rounded-full flex items-center justify-center mx-auto mb-3\">\n                                    <span class=\"text-white text-xl font-bold\" id=\"profileAvatar\">A</span>\n                                </div>\n                                <h3 class=\"font-medium text-gray-800 dark:text-white\" id=\"profileName\">Anonyme_123</h3>\n                                <p class=\"text-sm text-gray-500\" id=\"profileLevel\">Niveau Vérificateur</p>\n                                <div class=\"mt-4 grid grid-cols-2 gap-4 text-center\">\n                                    <div>\n                                        <p class=\"text-lg font-bold text-primary\" id=\"profilePoints\">150</p>\n                                        <p class=\"text-xs text-gray-500\">Points</p>\n                                    </div>\n                                    <div>\n                                        <p class=\"text-lg font-bold text-green-600\" id=\"profileRank\">#247</p>\n                                        <p class=\"text-xs text-gray-500\">Rang</p>\n                                    </div>\n                                </div>\n                                <div class=\"mt-4\">\n                                    <div class=\"bg-gray-200 dark:bg-gray-700 rounded-full h-2\">\n                                        <div class=\"bg-gradient-to-r from-primary to-purple-600 h-2 rounded-full\" style=\"width: 60%\"></div>\n                                    </div>\n                                    <p class=\"text-xs text-gray-500 mt-1\">60% vers le niveau suivant</p>\n                                </div>\n                            </div>\n                        </div>\n\n                        <!-- Statistiques globales -->\n                        <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6 mb-6\">\n                            <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\" data-translate=\"global_stats\">Statistiques mondiales</h3>\n                            <div class=\"space-y-3\">\n                                <div class=\"flex justify-between items-center\">\n                                    <span class=\"text-sm text-gray-600 dark:text-gray-400\" data-translate=\"total_truths\">Vérités partagées</span>\n                                    <span id=\"totalPosts\" class=\"font-medium text-gray-800 dark:text-white\">0</span>\n                                </div>\n                                <div class=\"flex justify-between items-center\">\n                                    <span class=\"text-sm text-gray-600 dark:text-gray-400\" data-translate=\"active_users\">Utilisateurs actifs</span>\n                                    <span class=\"font-medium text-gray-800 dark:text-white\">1,247</span>\n                                </div>\n                                <div class=\"flex justify-between items-center\">\n                                    <span class=\"text-sm text-gray-600 dark:text-gray-400\">Récompenses distribuées</span>\n                                    <span class=\"font-medium text-gray-800 dark:text-white\">15,420 TITA</span>\n                                </div>\n                                <div class=\"flex justify-between items-center\">\n                                    <span class=\"text-sm text-gray-600 dark:text-gray-400\" data-translate=\"regions_covered\">Régions couvertes</span>\n                                    <span class=\"font-medium text-gray-800 dark:text-white\">6</span>\n                                </div>\n                            </div>\n                        </div>\n\n                        <!-- Tendances -->\n                        <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6\">\n                            <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\">🔥 Tendances</h3>\n                            <div class=\"space-y-3\">\n                                <div class=\"p-3 bg-red-50 dark:bg-red-900/20 rounded-lg\">\n                                    <p class=\"text-sm font-medium text-red-800 dark:text-red-300\">#CorruptionAfrique</p>\n                                    <p class=\"text-xs text-red-600 dark:text-red-400\">247 publications</p>\n                                </div>\n                                <div class=\"p-3 bg-blue-50 dark:bg-blue-900/20 rounded-lg\">\n                                    <p class=\"text-sm font-medium text-blue-800 dark:text-blue-300\">#ÉconomieEurope</p>\n                                    <p class=\"text-xs text-blue-600 dark:text-blue-400\">156 publications</p>\n                                </div>\n                                <div class=\"p-3 bg-green-50 dark:bg-green-900/20 rounded-lg\">\n                                    <p class=\"text-sm font-medium text-green-800 dark:text-green-300\">#SportAsie</p>\n                                    <p class=\"text-xs text-green-600 dark:text-green-400\">89 publications</p>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <!-- Page Stories -->\n            <div id=\"storiesPage\" class=\"page-content hidden\">\n                <div class=\"max-w-4xl mx-auto\">\n                    <h2 class=\"text-2xl font-bold text-gray-800 dark:text-white mb-6\">📱 Stories Anonymes</h2>\n                    \n                    <!-- Créer une story -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6 mb-6\">\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\">Créer une Story</h3>\n                        <div class=\"space-y-4\">\n                            <textarea placeholder=\"Partagez une vérité rapide (24h)...\" class=\"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base resize-none\" rows=\"3\"></textarea>\n                            <div class=\"flex justify-between items-center\">\n                                <span class=\"text-sm text-gray-500\">⏰ Expire dans 24h</span>\n                                <button class=\"bg-gradient-to-r from-pink-500 to-purple-600 text-white px-6 py-2 rounded-full font-medium\">Publier Story</button>\n                            </div>\n                        </div>\n                    </div>\n\n                    <!-- Stories existantes -->\n                    <div class=\"grid md:grid-cols-2 lg:grid-cols-3 gap-4\">\n                        <div class=\"bg-gradient-to-br from-pink-500 to-purple-600 rounded-lg p-6 text-white relative overflow-hidden\">\n                            <div class=\"absolute top-4 right-4 text-xs opacity-80\">2h</div>\n                            <p class=\"text-sm mb-3\">🌍 Afrique</p>\n                            <p class=\"font-medium\">Révélation choc sur les élections locales...</p>\n                            <div class=\"mt-4 flex items-center justify-between\">\n                                <span class=\"text-xs opacity-80\">👁️ 1.2k vues</span>\n                                <span class=\"text-xs opacity-80\">❤️ 89</span>\n                            </div>\n                        </div>\n                        <div class=\"bg-gradient-to-br from-blue-500 to-teal-600 rounded-lg p-6 text-white relative overflow-hidden\">\n                            <div class=\"absolute top-4 right-4 text-xs opacity-80\">5h</div>\n                            <p class=\"text-sm mb-3\">🇪🇺 Europe</p>\n                            <p class=\"font-medium\">Scandales dans l'industrie tech...</p>\n                            <div class=\"mt-4 flex items-center justify-between\">\n                                <span class=\"text-xs opacity-80\">👁️ 856 vues</span>\n                                <span class=\"text-xs opacity-80\">❤️ 67</span>\n                            </div>\n                        </div>\n                        <div class=\"bg-gradient-to-br from-green-500 to-emerald-600 rounded-lg p-6 text-white relative overflow-hidden\">\n                            <div class=\"absolute top-4 right-4 text-xs opacity-80\">8h</div>\n                            <p class=\"text-sm mb-3\">🌏 Asie</p>\n                            <p class=\"font-medium\">Manipulation des marchés financiers...</p>\n                            <div class=\"mt-4 flex items-center justify-between\">\n                                <span class=\"text-xs opacity-80\">👁️ 2.1k vues</span>\n                                <span class=\"text-xs opacity-80\">❤️ 156</span>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <!-- Page Média -->\n            <div id=\"mediaPage\" class=\"page-content hidden\">\n                <div class=\"max-w-6xl mx-auto\">\n                    <h2 class=\"text-2xl font-bold text-gray-800 dark:text-white mb-6\">🎥 Contenus Média</h2>\n                    \n                    <!-- Upload de média -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6 mb-6\">\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\">Partager un Média</h3>\n                        <div class=\"border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg p-8 text-center\">\n                            <i data-lucide=\"upload\" class=\"w-12 h-12 text-gray-400 mx-auto mb-4\"></i>\n                            <p class=\"text-gray-600 dark:text-gray-400 mb-2\">Glissez vos fichiers ici ou cliquez pour sélectionner</p>\n                            <p class=\"text-sm text-gray-500\">Photos, vidéos, documents (max 100MB)</p>\n                            <button class=\"mt-4 bg-primary text-white px-6 py-2 rounded-lg\">Sélectionner fichiers</button>\n                        </div>\n                    </div>\n\n                    <!-- Galerie média -->\n                    <div class=\"grid md:grid-cols-2 lg:grid-cols-3 gap-6\">\n                        <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm overflow-hidden\">\n                            <div class=\"bg-gray-200 dark:bg-gray-700 h-48 flex items-center justify-center\">\n                                <i data-lucide=\"image\" class=\"w-12 h-12 text-gray-400\"></i>\n                            </div>\n                            <div class=\"p-4\">\n                                <h4 class=\"font-medium text-gray-800 dark:text-white mb-2\">Preuves de corruption</h4>\n                                <p class=\"text-sm text-gray-600 dark:text-gray-400\">🌍 Afrique • 2h ago</p>\n                                <div class=\"flex items-center justify-between mt-3\">\n                                    <span class=\"text-sm text-gray-500\">👁️ 1.2k vues</span>\n                                    <span class=\"text-sm text-green-600\">+10 Points</span>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm overflow-hidden\">\n                            <div class=\"bg-gray-200 dark:bg-gray-700 h-48 flex items-center justify-center\">\n                                <i data-lucide=\"play-circle\" class=\"w-12 h-12 text-gray-400\"></i>\n                            </div>\n                            <div class=\"p-4\">\n                                <h4 class=\"font-medium text-gray-800 dark:text-white mb-2\">Témoignage vidéo</h4>\n                                <p class=\"text-sm text-gray-600 dark:text-gray-400\">🇪🇺 Europe • 5h ago</p>\n                                <div class=\"flex items-center justify-between mt-3\">\n                                    <span class=\"text-sm text-gray-500\">👁️ 856 vues</span>\n                                    <span class=\"text-sm text-green-600\">+15 Points</span>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm overflow-hidden\">\n                            <div class=\"bg-gray-200 dark:bg-gray-700 h-48 flex items-center justify-center\">\n                                <i data-lucide=\"file-text\" class=\"w-12 h-12 text-gray-400\"></i>\n                            </div>\n                            <div class=\"p-4\">\n                                <h4 class=\"font-medium text-gray-800 dark:text-white mb-2\">Documents classifiés</h4>\n                                <p class=\"text-sm text-gray-600 dark:text-gray-400\">🌏 Asie • 1d ago</p>\n                                <div class=\"flex items-center justify-between mt-3\">\n                                    <span class=\"text-sm text-gray-500\">👁️ 3.2k vues</span>\n                                    <span class=\"text-sm text-green-600\">+25 Points</span>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <!-- Page Groupes -->\n            <div id=\"groupsPage\" class=\"page-content hidden\">\n                <div class=\"max-w-6xl mx-auto\">\n                    <div class=\"flex items-center justify-between mb-6\">\n                        <h2 class=\"text-2xl font-bold text-gray-800 dark:text-white\">👥 Groupes Anonymes</h2>\n                        <button class=\"bg-primary text-white px-6 py-2 rounded-lg flex items-center space-x-2\">\n                            <i data-lucide=\"plus\" class=\"w-4 h-4\"></i>\n                            <span>Créer un groupe</span>\n                        </button>\n                    </div>\n\n                    <!-- Mes groupes -->\n                    <div class=\"mb-8\">\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\">Mes Groupes</h3>\n                        <div class=\"grid md:grid-cols-2 lg:grid-cols-3 gap-6\">\n                            <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6\">\n                                <div class=\"flex items-center space-x-3 mb-4\">\n                                    <div class=\"w-12 h-12 bg-red-500 rounded-full flex items-center justify-center\">\n                                        <span class=\"text-white font-bold\">🏛️</span>\n                                    </div>\n                                    <div>\n                                        <h4 class=\"font-medium text-gray-800 dark:text-white\">Vérités Politiques Afrique</h4>\n                                        <p class=\"text-sm text-gray-500\">2,847 membres</p>\n                                    </div>\n                                </div>\n                                <p class=\"text-sm text-gray-600 dark:text-gray-400 mb-3\">Exposer les scandales politiques en Afrique</p>\n                                <div class=\"flex items-center justify-between\">\n                                    <span class=\"text-xs text-green-600\">🟢 Très actif</span>\n                                    <span class=\"text-xs text-gray-500\">156 msg/jour</span>\n                                </div>\n                            </div>\n                            <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6\">\n                                <div class=\"flex items-center space-x-3 mb-4\">\n                                    <div class=\"w-12 h-12 bg-blue-500 rounded-full flex items-center justify-center\">\n                                        <span class=\"text-white font-bold\">📈</span>\n                                    </div>\n                                    <div>\n                                        <h4 class=\"font-medium text-gray-800 dark:text-white\">Économie Mondiale</h4>\n                                        <p class=\"text-sm text-gray-500\">1,523 membres</p>\n                                    </div>\n                                </div>\n                                <p class=\"text-sm text-gray-600 dark:text-gray-400 mb-3\">Révélations sur les manipulations économiques</p>\n                                <div class=\"flex items-center justify-between\">\n                                    <span class=\"text-xs text-yellow-600\">🟡 Modéré</span>\n                                    <span class=\"text-xs text-gray-500\">89 msg/jour</span>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n\n                    <!-- Groupes suggérés -->\n                    <div>\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\">Groupes Suggérés</h3>\n                        <div class=\"grid md:grid-cols-2 lg:grid-cols-3 gap-6\">\n                            <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6\">\n                                <div class=\"flex items-center space-x-3 mb-4\">\n                                    <div class=\"w-12 h-12 bg-green-500 rounded-full flex items-center justify-center\">\n                                        <span class=\"text-white font-bold\">⚽</span>\n                                    </div>\n                                    <div>\n                                        <h4 class=\"font-medium text-gray-800 dark:text-white\">Scandales Sports</h4>\n                                        <p class=\"text-sm text-gray-500\">987 membres</p>\n                                    </div>\n                                </div>\n                                <p class=\"text-sm text-gray-600 dark:text-gray-400 mb-3\">Dopage, corruption dans le sport mondial</p>\n                                <button class=\"w-full bg-primary text-white py-2 rounded-lg text-sm\">Rejoindre</button>\n                            </div>\n                            <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6\">\n                                <div class=\"flex items-center space-x-3 mb-4\">\n                                    <div class=\"w-12 h-12 bg-purple-500 rounded-full flex items-center justify-center\">\n                                        <span class=\"text-white font-bold\">👥</span>\n                                    </div>\n                                    <div>\n                                        <h4 class=\"font-medium text-gray-800 dark:text-white\">Justice Sociale</h4>\n                                        <p class=\"text-sm text-gray-500\">1,765 membres</p>\n                                    </div>\n                                </div>\n                                <p class=\"text-sm text-gray-600 dark:text-gray-400 mb-3\">Inégalités et injustices sociales</p>\n                                <button class=\"w-full bg-primary text-white py-2 rounded-lg text-sm\">Rejoindre</button>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <!-- Page Messages -->\n            <div id=\"messagesPage\" class=\"page-content hidden\">\n                <div class=\"max-w-6xl mx-auto\">\n                    <h2 class=\"text-2xl font-bold text-gray-800 dark:text-white mb-6\">💬 Messages Anonymes</h2>\n                    \n                    <div class=\"grid lg:grid-cols-3 gap-6\">\n                        <!-- Liste des conversations -->\n                        <div class=\"lg:col-span-1\">\n                            <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm\">\n                                <div class=\"p-4 border-b border-gray-200 dark:border-gray-700\">\n                                    <h3 class=\"font-medium text-gray-800 dark:text-white\">Conversations</h3>\n                                </div>\n                                <div class=\"divide-y divide-gray-200 dark:divide-gray-700\">\n                                    <div class=\"p-4 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer\">\n                                        <div class=\"flex items-center space-x-3\">\n                                            <div class=\"w-10 h-10 bg-red-500 rounded-full flex items-center justify-center\">\n                                                <span class=\"text-white text-sm font-medium\">W</span>\n                                            </div>\n                                            <div class=\"flex-1\">\n                                                <p class=\"font-medium text-gray-800 dark:text-white\">Whistleblower_256</p>\n                                                <p class=\"text-sm text-gray-500 truncate\">J'ai des preuves importantes...</p>\n                                            </div>\n                                            <span class=\"text-xs text-gray-400\">2m</span>\n                                        </div>\n                                    </div>\n                                    <div class=\"p-4 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer\">\n                                        <div class=\"flex items-center space-x-3\">\n                                            <div class=\"w-10 h-10 bg-blue-500 rounded-full flex items-center justify-center\">\n                                                <span class=\"text-white text-sm font-medium\">T</span>\n                                            </div>\n                                            <div class=\"flex-1\">\n                                                <p class=\"font-medium text-gray-800 dark:text-white\">Truth_Seeker</p>\n                                                <p class=\"text-sm text-gray-500 truncate\">Merci pour votre révélation...</p>\n                                            </div>\n                                            <span class=\"text-xs text-gray-400\">1h</span>\n                                        </div>\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n\n                        <!-- Zone de chat -->\n                        <div class=\"lg:col-span-2\">\n                            <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm h-96 flex flex-col\">\n                                <div class=\"p-4 border-b border-gray-200 dark:border-gray-700\">\n                                    <div class=\"flex items-center space-x-3\">\n                                        <div class=\"w-8 h-8 bg-red-500 rounded-full flex items-center justify-center\">\n                                            <span class=\"text-white text-sm font-medium\">W</span>\n                                        </div>\n                                        <div>\n                                            <p class=\"font-medium text-gray-800 dark:text-white\">Whistleblower_256</p>\n                                            <p class=\"text-xs text-gray-500\">🟢 En ligne</p>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"flex-1 p-4 overflow-y-auto space-y-4\">\n                                    <div class=\"flex items-start space-x-3\">\n                                        <div class=\"w-8 h-8 bg-red-500 rounded-full flex items-center justify-center\">\n                                            <span class=\"text-white text-xs\">W</span>\n                                        </div>\n                                        <div class=\"bg-gray-100 dark:bg-gray-700 rounded-lg p-3 max-w-xs\">\n                                            <p class=\"text-sm text-gray-800 dark:text-white\">J'ai des documents compromettants sur l'affaire dont vous parlez...</p>\n                                            <span class=\"text-xs text-gray-500\">14:32</span>\n                                        </div>\n                                    </div>\n                                    <div class=\"flex items-start space-x-3 justify-end\">\n                                        <div class=\"bg-primary rounded-lg p-3 max-w-xs\">\n                                            <p class=\"text-sm text-white\">Pouvez-vous me donner plus de détails ? Nous garantissons votre anonymat total.</p>\n                                            <span class=\"text-xs text-blue-200\">14:35</span>\n                                        </div>\n                                        <div class=\"w-8 h-8 bg-primary rounded-full flex items-center justify-center\">\n                                            <span class=\"text-white text-xs\">M</span>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"p-4 border-t border-gray-200 dark:border-gray-700\">\n                                    <div class=\"flex space-x-2\">\n                                        <input type=\"text\" placeholder=\"Tapez votre message...\" class=\"flex-1 px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base\">\n                                        <button class=\"bg-primary text-white px-4 py-2 rounded-lg\">\n                                            <i data-lucide=\"send\" class=\"w-4 h-4\"></i>\n                                        </button>\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <!-- Page Portefeuille -->\n            <div id=\"walletPage\" class=\"page-content hidden\">\n                <div class=\"max-w-4xl mx-auto\">\n                    <h2 class=\"text-2xl font-bold text-gray-800 dark:text-white mb-6\">💰 Portefeuille TITA</h2>\n                    \n                    <!-- Solde principal -->\n                    <div class=\"bg-gradient-to-r from-primary to-purple-600 rounded-lg p-6 text-white mb-6\">\n                        <div class=\"flex items-center justify-between\">\n                            <div>\n                                <p class=\"text-sm opacity-80\">Solde Total</p>\n                                <p class=\"text-3xl font-bold\">25.40 TITA</p>\n                                <p class=\"text-sm opacity-80\">≈ $127.00 USD</p>\n                            </div>\n                            <div class=\"text-right\">\n                                <p class=\"text-sm opacity-80\">Gains ce mois</p>\n                                <p class=\"text-lg font-bold\">+8.20 TITA</p>\n                                <p class=\"text-sm opacity-80 text-green-300\">+47.2%</p>\n                            </div>\n                        </div>\n                    </div>\n\n                    <!-- Actions rapides -->\n                    <div class=\"grid md:grid-cols-3 gap-6 mb-6\">\n                        <button class=\"bg-white dark:bg-gray-800 rounded-lg p-6 text-center shadow-sm hover:shadow-md transition-shadow\">\n                            <i data-lucide=\"send\" class=\"w-8 h-8 text-primary mx-auto mb-3\"></i>\n                            <h3 class=\"font-medium text-gray-800 dark:text-white\">Envoyer</h3>\n                            <p class=\"text-sm text-gray-500\">Transférer des TITA</p>\n                        </button>\n                        <button class=\"bg-white dark:bg-gray-800 rounded-lg p-6 text-center shadow-sm hover:shadow-md transition-shadow\">\n                            <i data-lucide=\"download\" class=\"w-8 h-8 text-green-600 mx-auto mb-3\"></i>\n                            <h3 class=\"font-medium text-gray-800 dark:text-white\">Recevoir</h3>\n                            <p class=\"text-sm text-gray-500\">Recevoir des TITA</p>\n                        </button>\n                        <button class=\"bg-white dark:bg-gray-800 rounded-lg p-6 text-center shadow-sm hover:shadow-md transition-shadow\">\n                            <i data-lucide=\"repeat\" class=\"w-8 h-8 text-blue-600 mx-auto mb-3\"></i>\n                            <h3 class=\"font-medium text-gray-800 dark:text-white\">Échanger</h3>\n                            <p class=\"text-sm text-gray-500\">Convertir en USD</p>\n                        </button>\n                    </div>\n\n                    <!-- Historique des transactions -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm\">\n                        <div class=\"p-6 border-b border-gray-200 dark:border-gray-700\">\n                            <h3 class=\"text-lg font-medium text-gray-800 dark:text-white\">Historique des Transactions</h3>\n                        </div>\n                        <div class=\"divide-y divide-gray-200 dark:divide-gray-700\">\n                            <div class=\"p-6 flex items-center justify-between\">\n                                <div class=\"flex items-center space-x-3\">\n                                    <div class=\"w-10 h-10 bg-green-100 rounded-full flex items-center justify-center\">\n                                        <i data-lucide=\"plus\" class=\"w-5 h-5 text-green-600\"></i>\n                                    </div>\n                                    <div>\n                                        <p class=\"font-medium text-gray-800 dark:text-white\">Récompense publication</p>\n                                        <p class=\"text-sm text-gray-500\">Il y a 2 heures</p>\n                                    </div>\n                                </div>\n                                <span class=\"text-green-600 font-medium\">+5.00 TITA</span>\n                            </div>\n                            <div class=\"p-6 flex items-center justify-between\">\n                                <div class=\"flex items-center space-x-3\">\n                                    <div class=\"w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center\">\n                                        <i data-lucide=\"award\" class=\"w-5 h-5 text-blue-600\"></i>\n                                    </div>\n                                    <div>\n                                        <p class=\"font-medium text-gray-800 dark:text-white\">Bonus vérification</p>\n                                        <p class=\"text-sm text-gray-500\">Hier</p>\n                                    </div>\n                                </div>\n                                <span class=\"text-green-600 font-medium\">+15.00 TITA</span>\n                            </div>\n                            <div class=\"p-6 flex items-center justify-between\">\n                                <div class=\"flex items-center space-x-3\">\n                                    <div class=\"w-10 h-10 bg-red-100 rounded-full flex items-center justify-center\">\n                                        <i data-lucide=\"minus\" class=\"w-5 h-5 text-red-600\"></i>\n                                    </div>\n                                    <div>\n                                        <p class=\"font-medium text-gray-800 dark:text-white\">Frais de transaction</p>\n                                        <p class=\"text-sm text-gray-500\">Il y a 3 jours</p>\n                                    </div>\n                                </div>\n                                <span class=\"text-red-600 font-medium\">-0.50 TITA</span>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <!-- Page Récompenses -->\n            <div id=\"rewardsPage\" class=\"page-content hidden\">\n                <div class=\"max-w-4xl mx-auto\">\n                    <h2 class=\"text-2xl font-bold text-gray-800 dark:text-white mb-6\">🎁 Système de Récompenses</h2>\n                    \n                    <!-- Progression du niveau -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6 mb-6\">\n                        <div class=\"flex items-center justify-between mb-4\">\n                            <div>\n                                <h3 class=\"text-lg font-medium text-gray-800 dark:text-white\">Niveau Actuel: Vérificateur</h3>\n                                <p class=\"text-sm text-gray-500\">150 / 250 points pour le niveau suivant</p>\n                            </div>\n                            <div class=\"text-right\">\n                                <span class=\"text-2xl\">🏆</span>\n                                <p class=\"text-sm text-gray-500\">Niveau 3</p>\n                            </div>\n                        </div>\n                        <div class=\"bg-gray-200 dark:bg-gray-700 rounded-full h-3 mb-2\">\n                            <div class=\"bg-gradient-to-r from-primary to-purple-600 h-3 rounded-full\" style=\"width: 60%\"></div>\n                        </div>\n                        <p class=\"text-sm text-gray-500\">Prochain niveau: Expert Investigateur (+100 points bonus)</p>\n                    </div>\n\n                    <!-- Défis quotidiens -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6 mb-6\">\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\">🎯 Défis Quotidiens</h3>\n                        <div class=\"space-y-4\">\n                            <div class=\"flex items-center justify-between p-4 bg-green-50 dark:bg-green-900/20 rounded-lg\">\n                                <div class=\"flex items-center space-x-3\">\n                                    <div class=\"w-8 h-8 bg-green-500 rounded-full flex items-center justify-center\">\n                                        <i data-lucide=\"check\" class=\"w-4 h-4 text-white\"></i>\n                                    </div>\n                                    <div>\n                                        <p class=\"font-medium text-gray-800 dark:text-white\">Publier une vérité</p>\n                                        <p class=\"text-sm text-gray-500\">Complet</p>\n                                    </div>\n                                </div>\n                                <span class=\"text-green-600 font-medium\">+5 TITA</span>\n                            </div>\n                            <div class=\"flex items-center justify-between p-4 bg-blue-50 dark:bg-blue-900/20 rounded-lg\">\n                                <div class=\"flex items-center space-x-3\">\n                                    <div class=\"w-8 h-8 bg-blue-500 rounded-full flex items-center justify-center\">\n                                        <span class=\"text-white text-xs font-bold\">2/3</span>\n                                    </div>\n                                    <div>\n                                        <p class=\"font-medium text-gray-800 dark:text-white\">Commenter 3 publications</p>\n                                        <p class=\"text-sm text-gray-500\">En cours (2/3)</p>\n                                    </div>\n                                </div>\n                                <span class=\"text-blue-600 font-medium\">+3 TITA</span>\n                            </div>\n                            <div class=\"flex items-center justify-between p-4 bg-gray-50 dark:bg-gray-700 rounded-lg\">\n                                <div class=\"flex items-center space-x-3\">\n                                    <div class=\"w-8 h-8 bg-gray-400 rounded-full flex items-center justify-center\">\n                                        <span class=\"text-white text-xs font-bold\">0/1</span>\n                                    </div>\n                                    <div>\n                                        <p class=\"font-medium text-gray-800 dark:text-white\">Vérifier une information</p>\n                                        <p class=\"text-sm text-gray-500\">Pas commencé</p>\n                                    </div>\n                                </div>\n                                <span class=\"text-gray-600 font-medium\">+10 TITA</span>\n                            </div>\n                        </div>\n                    </div>\n\n                    <!-- Classement -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6\">\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\">🏆 Classement Global</h3>\n                        <div class=\"space-y-3\">\n                            <div class=\"flex items-center justify-between p-3 bg-yellow-50 dark:bg-yellow-900/20 rounded-lg\">\n                                <div class=\"flex items-center space-x-3\">\n                                    <span class=\"text-lg\">🥇</span>\n                                    <div>\n                                        <p class=\"font-medium text-gray-800 dark:text-white\">TruthMaster_001</p>\n                                        <p class=\"text-sm text-gray-500\">Expert Investigateur</p>\n                                    </div>\n                                </div>\n                                <span class=\"font-bold text-yellow-600\">1,247 pts</span>\n                            </div>\n                            <div class=\"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-700 rounded-lg\">\n                                <div class=\"flex items-center space-x-3\">\n                                    <span class=\"text-lg\">🥈</span>\n                                    <div>\n                                        <p class=\"font-medium text-gray-800 dark:text-white\">Whistleblower_Pro</p>\n                                        <p class=\"text-sm text-gray-500\">Expert Investigateur</p>\n                                    </div>\n                                </div>\n                                <span class=\"font-bold text-gray-600\">1,156 pts</span>\n                            </div>\n                            <div class=\"flex items-center justify-between p-3 bg-orange-50 dark:bg-orange-900/20 rounded-lg\">\n                                <div class=\"flex items-center space-x-3\">\n                                    <span class=\"text-lg\">🥉</span>\n                                    <div>\n                                        <p class=\"font-medium text-gray-800 dark:text-white\">Truth_Seeker_X</p>\n                                        <p class=\"text-sm text-gray-500\">Vérificateur Senior</p>\n                                    </div>\n                                </div>\n                                <span class=\"font-bold text-orange-600\">987 pts</span>\n                            </div>\n                            <div class=\"border-t border-gray-200 dark:border-gray-600 pt-3 mt-4\">\n                                <div class=\"flex items-center justify-between p-3 bg-primary/10 rounded-lg\">\n                                    <div class=\"flex items-center space-x-3\">\n                                        <span class=\"text-lg\">#247</span>\n                                        <div>\n                                            <p class=\"font-medium text-gray-800 dark:text-white\">Vous (Anonyme_123)</p>\n                                            <p class=\"text-sm text-gray-500\">Vérificateur</p>\n                                        </div>\n                                    </div>\n                                    <span class=\"font-bold text-primary\">150 pts</span>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>"}

@essambaantony1981-lab
Copy link
Author

Lance l'application

@essambaantony1981-lab
Copy link
Author

Thinking...

L'utilisateur veut maintenant que l'application TITA ait un système similaire à TikTok. Cela signifie probablement :

  1. Un feed vertical avec défilement infini
  2. Format de contenu plus visuel et interactif
  3. Système de likes/réactions
  4. Interface plus moderne et fluide
  5. Possibilité de partager du contenu multimédia
  6. Interface mobile-first comme TikTok
  7. Navigation simplifiée
  8. Système de découverte de contenu
  9. Peut-être des stories/posts temporaires

Je vais modifier l'application pour avoir une interface plus proche de TikTok tout en gardant l'aspect anonyme et les fonctionnalités de dénonciation. Je vais utiliser replace_code pour faire les modifications nécessaires.

Je vais transformer TITA pour avoir une interface et une expérience utilisateur similaires à TikTok, avec un feed vertical, des interactions fluides et une navigation moderne.

tool_use_id=toolu_vrtx_015FTK883c2M1JNPymERXKsi
tool_name=replace_code
input={"old_str": "    <!-- Page principale -->\n    <div id=\"mainPage\" class=\"hidden\">\n        <!-- Navigation par onglets -->\n        <nav class=\"bg-white dark:bg-gray-800 shadow-sm border-b border-gray-200 dark:border-gray-700\">\n            <div class=\"container mx-auto px-4\">\n                <div class=\"flex space-x-8 overflow-x-auto\">\n                    <button class=\"nav-tab active flex items-center space-x-2 py-4 px-2 border-b-2 border-primary text-primary font-medium whitespace-nowrap\" data-category=\"all\">\n                        <i data-lucide=\"home\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"all\">Tout</span>\n                    </button>\n                    <button class=\"nav-tab flex items-center space-x-2 py-4 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-category=\"politics\">\n                        <i data-lucide=\"building\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"politics\">Politique</span>\n                    </button>\n                    <button class=\"nav-tab flex items-center space-x-2 py-4 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-category=\"economy\">\n                        <i data-lucide=\"trending-up\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"economy\">Économie</span>\n                    </button>\n                    <button class=\"nav-tab flex items-center space-x-2 py-4 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-category=\"sports\">\n                        <i data-lucide=\"activity\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"sports\">Sport</span>\n                    </button>\n                    <button class=\"nav-tab flex items-center space-x-2 py-4 px-2 border-b-2 border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300 font-medium whitespace-nowrap\" data-category=\"social\">\n                        <i data-lucide=\"users\" class=\"w-4 h-4\"></i>\n                        <span data-translate=\"social\">Social</span>\n                    </button>\n                </div>\n            </div>\n        </nav>\n\n        <div class=\"container mx-auto px-4 py-6\">\n            <div class=\"grid lg:grid-cols-3 gap-6\">\n                <!-- Colonne principale -->\n                <div class=\"lg:col-span-2\">\n                    <!-- Formulaire de publication -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6 mb-6\">\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\" data-translate=\"share_truth\">Partagez votre vérité</h3>\n                        <form id=\"postForm\">\n                            <div class=\"space-y-4\">\n                                <div>\n                                    <select id=\"postCategory\" class=\"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base\">\n                                        <option value=\"politics\" data-translate=\"politics\">Politique</option>\n                                        <option value=\"economy\" data-translate=\"economy\">Économie</option>\n                                        <option value=\"sports\" data-translate=\"sports\">Sport</option>\n                                        <option value=\"social\" data-translate=\"social\">Social</option>\n                                    </select>\n                                </div>\n                                <div>\n                                    <input type=\"text\" id=\"postTitle\" class=\"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base\" placeholder=\"Titre de votre révélation...\" required>\n                                </div>\n                                <div>\n                                    <textarea id=\"postContent\" rows=\"4\" class=\"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-primary bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-base resize-none\" placeholder=\"Dévoilez les faits, exposez la vérité...\" required></textarea>\n                                </div>\n                                <div class=\"flex items-center justify-between\">\n                                    <div class=\"flex items-center space-x-2 text-sm text-gray-500 dark:text-gray-400\">\n                                        <i data-lucide=\"shield\" class=\"w-4 h-4\"></i>\n                                        <span data-translate=\"anonymous_post\">Publication anonyme</span>\n                                    </div>\n                                    <button type=\"submit\" class=\"bg-primary hover:bg-primary-dark text-white font-medium py-2 px-6 rounded-md transition duration-200\">\n                                        <span data-translate=\"publish\">Publier</span>\n                                    </button>\n                                </div>\n                            </div>\n                        </form>\n                    </div>\n\n                    <!-- Liste des publications -->\n                    <div id=\"postsContainer\" class=\"space-y-6\">\n                        <!-- Les publications seront ajoutées ici dynamiquement -->\n                    </div>\n                </div>\n\n                <!-- Barre latérale -->\n                <div class=\"lg:col-span-1\">\n                    <!-- Statistiques -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6 mb-6\">\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\" data-translate=\"global_stats\">Statistiques mondiales</h3>\n                        <div class=\"space-y-3\">\n                            <div class=\"flex justify-between items-center\">\n                                <span class=\"text-sm text-gray-600 dark:text-gray-400\" data-translate=\"total_truths\">Vérités partagées</span>\n                                <span id=\"totalPosts\" class=\"font-medium text-gray-800 dark:text-white\">0</span>\n                            </div>\n                            <div class=\"flex justify-between items-center\">\n                                <span class=\"text-sm text-gray-600 dark:text-gray-400\" data-translate=\"active_users\">Utilisateurs actifs</span>\n                                <span class=\"font-medium text-gray-800 dark:text-white\">1,247</span>\n                            </div>\n                            <div class=\"flex justify-between items-center\">\n                                <span class=\"text-sm text-gray-600 dark:text-gray-400\" data-translate=\"regions_covered\">Régions couvertes</span>\n                                <span class=\"font-medium text-gray-800 dark:text-white\">6</span>\n                            </div>\n                        </div>\n                    </div>\n\n                    <!-- Régions actives -->\n                    <div class=\"bg-white dark:bg-gray-800 rounded-lg shadow-sm p-6\">\n                        <h3 class=\"text-lg font-medium text-gray-800 dark:text-white mb-4\" data-translate=\"active_regions\">Régions actives</h3>\n                        <div class=\"space-y-2\">\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🌍 Afrique</span>\n                                <span class=\"bg-green-100 text-green-800 px-2 py-1 rounded-full text-xs\">Actif</span>\n                            </div>\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🇪🇺 Europe</span>\n                                <span class=\"bg-green-100 text-green-800 px-2 py-1 rounded-full text-xs\">Actif</span>\n                            </div>\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🌏 Asie</span>\n                                <span class=\"bg-green-100 text-green-800 px-2 py-1 rounded-full text-xs\">Actif</span>\n                            </div>\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🌎 Amériques</span>\n                                <span class=\"bg-green-100 text-green-800 px-2 py-1 rounded-full text-xs\">Actif</span>\n                            </div>\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🏝️ Océanie</span>\n                                <span class=\"bg-yellow-100 text-yellow-800 px-2 py-1 rounded-full text-xs\">Modéré</span>\n                            </div>\n                            <div class=\"flex items-center justify-between text-sm\">\n                                <span class=\"text-gray-600 dark:text-gray-400\">🕌 Moyen-Orient</span>\n                                <span class=\"bg-green-100 text-green-800 px-2 py-1 rounded-full text-xs\">Actif</span>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>", "new_str": "    <!-- Page principale - Style TikTok -->\n    <div id=\"mainPage\" class=\"hidden relative h-screen overflow-hidden\">\n        <!-- Navigation en bas comme TikTok -->\n        <nav class=\"fixed bottom-0 left-0 right-0 bg-black/90 backdrop-blur-md z-50 border-t border-gray-800\">\n            <div class=\"flex justify-around items-center py-2\">\n                <button class=\"nav-tab active flex flex-col items-center py-2 px-3 text-white\" data-category=\"all\">\n                    <i data-lucide=\"home\" class=\"w-6 h-6 mb-1\"></i>\n                    <span class=\"text-xs\" data-translate=\"home\">Accueil</span>\n                </button>\n                <button class=\"nav-tab flex flex-col items-center py-2 px-3 text-gray-400\" data-category=\"discover\">\n                    <i data-lucide=\"compass\" class=\"w-6 h-6 mb-1\"></i>\n                    <span class=\"text-xs\" data-translate=\"discover\">Découvrir</span>\n                </button>\n                <button id=\"createBtn\" class=\"flex flex-col items-center py-2 px-3\">\n                    <div class=\"w-12 h-8 bg-gradient-to-r from-red-500 to-pink-500 rounded-lg flex items-center justify-center mb-1\">\n                        <i data-lucide=\"plus\" class=\"w-5 h-5 text-white\"></i>\n                    </div>\n                </button>\n                <button class=\"nav-tab flex flex-col items-center py-2 px-3 text-gray-400\" data-category=\"trending\">\n                    <i data-lucide=\"trending-up\" class=\"w-6 h-6 mb-1\"></i>\n                    <span class=\"text-xs\" data-translate=\"trending\">Tendances</span>\n                </button>\n                <button id=\"profileBtn\" class=\"flex flex-col items-center py-2 px-3 text-gray-400\">\n                    <i data-lucide=\"user\" class=\"w-6 h-6 mb-1\"></i>\n                    <span class=\"text-xs\" data-translate=\"profile\">Profil</span>\n                </button>\n            </div>\n        </nav>\n\n        <!-- Navigation horizontale des catégories -->\n        <div class=\"fixed top-16 left-0 right-0 bg-black/80 backdrop-blur-md z-40 px-4 py-2\">\n            <div class=\"flex space-x-6 overflow-x-auto scrollbar-hide\">\n                <button class=\"category-filter active text-white font-medium whitespace-nowrap py-2 px-1 border-b-2 border-white\" data-category=\"all\">\n                    <span data-translate=\"all\">Tout</span>\n                </button>\n                <button class=\"category-filter text-gray-400 font-medium whitespace-nowrap py-2 px-1 border-b-2 border-transparent\" data-category=\"politics\">\n                    <span data-translate=\"politics\">Politique</span>\n                </button>\n                <button class=\"category-filter text-gray-400 font-medium whitespace-nowrap py-2 px-1 border-b-2 border-transparent\" data-category=\"economy\">\n                    <span data-translate=\"economy\">Économie</span>\n                </button>\n                <button class=\"category-filter text-gray-400 font-medium whitespace-nowrap py-2 px-1 border-b-2 border-transparent\" data-category=\"sports\">\n                    <span data-translate=\"sports\">Sport</span>\n                </button>\n                <button class=\"category-filter text-gray-400 font-medium whitespace-nowrap py-2 px-1 border-b-2 border-transparent\" data-category=\"social\">\n                    <span data-translate=\"social\">Social</span>\n                </button>\n            </div>\n        </div>\n\n        <!-- Feed principal style TikTok -->\n        <div id=\"feedContainer\" class=\"h-full pt-28 pb-20 overflow-y-auto snap-y snap-mandatory bg-black\">\n            <!-- Les posts seront ajoutés ici -->\n        </div>\n\n        <!-- Modal de création -->\n        <div id=\"createModal\" class=\"fixed inset-0 bg-black/90 backdrop-blur-md z-50 hidden\">\n            <div class=\"h-full flex flex-col\">\n                <!-- Header -->\n                <div class=\"flex items-center justify-between p-4 text-white\">\n                    <button id=\"closeCreateModal\" class=\"p-2\">\n                        <i data-lucide=\"x\" class=\"w-6 h-6\"></i>\n                    </button>\n                    <h2 class=\"text-lg font-medium\" data-translate=\"share_truth\">Partagez votre vérité</h2>\n                    <button id=\"publishPost\" class=\"bg-primary px-4 py-2 rounded-full text-sm font-medium\">\n                        <span data-translate=\"publish\">Publier</span>\n                    </button>\n                </div>\n\n                <!-- Formulaire -->\n                <div class=\"flex-1 p-4\">\n                    <form id=\"postForm\" class=\"space-y-4\">\n                        <div>\n                            <select id=\"postCategory\" class=\"w-full px-4 py-3 bg-gray-800 text-white rounded-xl focus:outline-none focus:ring-2 focus:ring-primary text-base\">\n                                <option value=\"politics\" data-translate=\"politics\">Politique</option>\n                                <option value=\"economy\" data-translate=\"economy\">Économie</option>\n                                <option value=\"sports\" data-translate=\"sports\">Sport</option>\n                                <option value=\"social\" data-translate=\"social\">Social</option>\n                            </select>\n                        </div>\n                        <div>\n                            <input type=\"text\" id=\"postTitle\" class=\"w-full px-4 py-3 bg-gray-800 text-white rounded-xl focus:outline-none focus:ring-2 focus:ring-primary text-base\" placeholder=\"Titre de votre révélation...\" required>\n                        </div>\n                        <div>\n                            <textarea id=\"postContent\" rows=\"6\" class=\"w-full px-4 py-3 bg-gray-800 text-white rounded-xl focus:outline-none focus:ring-2 focus:ring-primary text-base resize-none\" placeholder=\"Dévoilez les faits, exposez la vérité...\" required></textarea>\n                        </div>\n                        <div class=\"flex items-center space-x-2 text-sm text-gray-400\">\n                            <i data-lucide=\"shield\" class=\"w-4 h-4\"></i>\n                            <span data-translate=\"anonymous_post\">Publication anonyme</span>\n                        </div>\n                    </form>\n                </div>\n            </div>\n        </div>\n\n        <!-- Modal profil -->\n        <div id=\"profileModal\" class=\"fixed inset-0 bg-black/90 backdrop-blur-md z-50 hidden\">\n            <div class=\"h-full flex flex-col text-white\">\n                <!-- Header -->\n                <div class=\"flex items-center justify-between p-4\">\n                    <button id=\"closeProfileModal\" class=\"p-2\">\n                        <i data-lucide=\"x\" class=\"w-6 h-6\"></i>\n                    </button>\n                    <h2 class=\"text-lg font-medium\" data-translate=\"profile\">Profil</h2>\n                    <div></div>\n                </div>\n\n                <!-- Contenu profil -->\n                <div class=\"flex-1 p-4\">\n                    <div class=\"text-center mb-8\">\n                        <div class=\"w-20 h-20 bg-primary rounded-full flex items-center justify-center mx-auto mb-4\">\n                            <i data-lucide=\"shield\" class=\"w-10 h-10 text-white\"></i>\n                        </div>\n                        <h3 id=\"profileUsername\" class=\"text-xl font-medium mb-2\"></h3>\n                        <p class=\"text-gray-400 text-sm\" data-translate=\"anonymous_user\">Utilisateur anonyme</p>\n                    </div>\n\n                    <!-- Statistiques -->\n                    <div class=\"grid grid-cols-3 gap-4 mb-8\">\n                        <div class=\"text-center\">\n                            <div id=\"userPostsCount\" class=\"text-2xl font-bold\">0</div>\n                            <div class=\"text-gray-400 text-sm\" data-translate=\"posts\">Publications</div>\n                        </div>\n                        <div class=\"text-center\">\n                            <div id=\"userLikesCount\" class=\"text-2xl font-bold\">0</div>\n                            <div class=\"text-gray-400 text-sm\" data-translate=\"likes\">J'aime</div>\n                        </div>\n                        <div class=\"text-center\">\n                            <div id=\"userRegion\" class=\"text-2xl\">🌍</div>\n                            <div class=\"text-gray-400 text-sm\" data-translate=\"region\">Région</div>\n                        </div>\n                    </div>\n\n                    <!-- Actions -->\n                    <div class=\"space-y-4\">\n                        <button class=\"w-full bg-gray-800 text-white py-3 px-4 rounded-xl flex items-center justify-center space-x-2\">\n                            <i data-lucide=\"settings\" class=\"w-5 h-5\"></i>\n                            <span data-translate=\"settings\">Paramètres</span>\n                        </button>\n                        <button id=\"logoutBtn\" class=\"w-full bg-red-500/20 text-red-400 py-3 px-4 rounded-xl flex items-center justify-center space-x-2\">\n                            <i data-lucide=\"log-out\" class=\"w-5 h-5\"></i>\n                            <span data-translate=\"logout\">Déconnexion</span>\n                        </button>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>"}
Error: Linting failed with errors: Error: Duplicate ID 'logoutBtn' found
tool_use_id=toolu_vrtx_01ADFUnijj5cc5yrmj9wuyeo
tool_name=replace_code
input={"old_str": "                        <button id=\"logoutBtn\" class=\"w-full bg-red-500/20 text-red-400 py-3 px-4 rounded-xl flex items-center justify-center space-x-2\">\n                            <i data-lucide=\"log-out\" class=\"w-5 h-5\"></i>\n                            <span data-translate=\"logout\">Déconnexion</span>\n                        </button>", "new_str": "                        <button id=\"logoutBtnProfile\" class=\"w-full bg-red-500/20 text-red-400 py-3 px-4 rounded-xl flex items-center justify-center space-x-2\">\n                            <i data-lucide=\"log-out\" class=\"w-5 h-5\"></i>\n                            <span data-translate=\"logout\">Déconnexion</span>\n                        </button>"}
Error: ReplaceStringNotFoundError('\'                        <button id="logoutBtn" class="w-full bg-red-500/20 text-red-400 py-3 px-4 rounded-xl flex items-center justify-center space-x-2">\n                            <i data-lucide="log-out" class="w-5 h-5"></i>\n                            <span data-translate="logout">Déconnexion</span>\n                        </button>\' not found in existing code')
tool_use_id=toolu_vrtx_01CpFKJbVedxxQg9gDUMmVUh
tool_name=replace_code
input={"old_str": "                    <button id=\"logoutBtn\" class=\"bg-white/20 text-white px-3 py-1 rounded text-sm hover:bg-white/30\">\n                        <i data-lucide=\"log-out\" class=\"w-4 h-4 inline mr-1\"></i>\n                        <span data-translate=\"logout\">Déconnexion</span>\n                    </button>", "new_str": "                    <button id=\"logoutBtnHeader\" class=\"bg-white/20 text-white px-3 py-1 rounded text-sm hover:bg-white/30\">\n                        <i data-lucide=\"log-out\" class=\"w-4 h-4 inline mr-1\"></i>\n                        <span data-translate=\"logout\">Déconnexion</span>\n                    </button>"}
Error: ReplaceStringNotFoundError('\'                    <button id="logoutBtn" class="bg-white/20 text-white px-3 py-1 rounded text-sm hover:bg-white/30">\n                        <i data-lucide="log-out" class="w-4 h-4 inline mr-1"></i>\n                        <span data-translate="logout">Déconnexion</span>\n                    </button>\' not found in existing code')

Je vais réécrire complètement le code pour créer une interface style TikTok :

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>TITA - This Is Truth Anonymous</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/lucide/0.263.1/umd/lucide.js"></script>
    <style>
        .scrollbar-hide {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        .scrollbar-hide::-webkit-scrollbar {
            display: none;
        }
        .gradient-text {
            background: linear-gradient(45deg, #FF006E, #FF7F00, #FFBF00, #8CFF00);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .post-card {
            background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05));
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.1);
        }
    </style>
    <script>
        tailwind.config = {
            theme: {
                extend: {
                    colors: {
                        primary: '#5D5CDE',
                        'primary-dark': '#4A49B8'
                    }
                }
            }
        }
    </script>
</head>
<body class="bg-black text-white min-h-screen overflow-hidden">
    <!-- Page d'authentification -->
    <div id="authPage" class="min-h-screen bg-gradient-to-br from-purple-900 via-blue-900 to-indigo-900 flex items-center justify-center p-4">
        <div class="w-full max-w-md">
            <div class="text-center mb-8">
                <div class="w-20 h-20 bg-gradient-to-r from-pink-500 to-violet-500 rounded-full flex items-center justify-center mx-auto mb-4">
                    <i data-lucide="shield-check" class="w-10 h-10 text-white"></i>
                </div>
                <h1 class="text-4xl font-bold gradient-text mb-2">TITA</h1>
                <p class="text-white/80 text-sm mb-1">This Is Truth Anonymous</p>
                <p class="text-white/60 text-xs">Développé par ANTESS</p>
            </div>

            <div class="post-card rounded-2xl p-6">
                <!-- Onglets -->
                <div class="flex mb-6 bg-white/10 rounded-xl p-1">
                    <button id="loginTab" class="flex-1 py-3 px-4 rounded-lg bg-white text-black font-medium text-sm transition-all">
                        <span data-translate="login">Connexion</span>
                    </button>
                    <button id="registerTab" class="flex-1 py-3 px-4 rounded-lg text-white/80 font-medium text-sm transition-all">
                        <span data-translate="register">Inscription</span>
                    </button>
                </div>

                <!-- Formulaire de connexion -->
                <form id="loginForm">
                    <div class="space-y-4">
                        <div>
                            <input type="text" id="loginId" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-xl focus:outline-none focus:ring-2 focus:ring-pink-500 text-white placeholder-white/60 text-base" placeholder="Identifiant anonyme" required>
                        </div>
                        <div>
                            <input type="password" id="loginPassword" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-xl focus:outline-none focus:ring-2 focus:ring-pink-500 text-white placeholder-white/60 text-base" placeholder="Mot de passe" required>
                        </div>
                        <button type="submit" class="w-full bg-gradient-to-r from-pink-500 to-violet-500 hover:from-pink-600 hover:to-violet-600 text-white font-medium py-3 px-4 rounded-xl transition duration-200">
                            <span data-translate="connect">Se connecter</span>
                        </button>
                    </div>
                </form>

                <!-- Formulaire d'inscription -->
                <form id="registerForm" class="hidden">
                    <div class="space-y-4">
                        <div>
                            <select id="regionSelect" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-xl focus:outline-none focus:ring-2 focus:ring-pink-500 text-white text-base">
                                <option value="africa">🌍 Afrique</option>
                                <option value="europe">🇪🇺 Europe</option>
                                <option value="asia">🌏 Asie</option>
                                <option value="americas">🌎 Amériques</option>
                                <option value="oceania">🏝️ Océanie</option>
                                <option value="middle-east">🕌 Moyen-Orient</option>
                            </select>
                        </div>
                        <div>
                            <input type="text" id="regId" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-xl focus:outline-none focus:ring-2 focus:ring-pink-500 text-white placeholder-white/60 text-base" placeholder="Créez votre ID anonyme" required>
                        </div>
                        <div>
                            <input type="password" id="regPassword" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-xl focus:outline-none focus:ring-2 focus:ring-pink-500 text-white placeholder-white/60 text-base" placeholder="Mot de passe" required>
                        </div>
                        <div>
                            <input type="password" id="regConfirmPassword" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-xl focus:outline-none focus:ring-2 focus:ring-pink-500 text-white placeholder-white/60 text-base" placeholder="Confirmer le mot de passe" required>
                        </div>
                        <div class="flex items-start">
                            <input type="checkbox" id="terms" class="mt-1 mr-3 w-4 h-4" required>
                            <label for="terms" class="text-sm text-white/80">
                                <span data-translate="accept_terms">J'accepte les conditions d'utilisation et je m'engage à respecter l'anonymat et la vérité</span>
                            </label>
                        </div>
                        <button type="submit" class="w-full bg-gradient-to-r from-pink-500 to-violet-500 hover:from-pink-600 hover:to-violet-600 text-white font-medium py-3 px-4 rounded-xl transition duration-200">
                            <span data-translate="create_account">Créer un compte</span>
                        </button>
                    </div>
                </form>
            </div>
        </div>
    </div>

    <!-- Page principale - Style TikTok -->
    <div id="mainPage" class="hidden relative h-screen overflow-hidden">
        <!-- Header fixe -->
        <header class="fixed top-0 left-0 right-0 bg-black/80 backdrop-blur-md z-40 px-4 py-3">
            <div class="flex items-center justify-between">
                <div class="flex items-center space-x-2">
                    <div class="w-8 h-8 bg-gradient-to-r from-pink-500 to-violet-500 rounded-lg flex items-center justify-center">
                        <i data-lucide="shield-check" class="w-5 h-5 text-white"></i>
                    </div>
                    <h1 class="text-xl font-bold gradient-text">TITA</h1>
                </div>
                <div class="flex items-center space-x-3">
                    <button id="searchBtn" class="p-2 hover:bg-white/10 rounded-lg">
                        <i data-lucide="search" class="w-5 h-5"></i>
                    </button>
                    <select id="languageSelect" class="bg-white/10 text-white rounded-lg px-3 py-1 text-sm border border-white/20">
                        <option value="fr">FR</option>
                        <option value="en">EN</option>
                        <option value="es">ES</option>
                        <option value="ar">AR</option>
                    </select>
                </div>
            </div>
        </header>

        <!-- Navigation horizontale des catégories -->
        <div class="fixed top-16 left-0 right-0 bg-black/80 backdrop-blur-md z-40 px-4 py-2">
            <div class="flex space-x-6 overflow-x-auto scrollbar-hide">
                <button class="category-filter active text-white font-medium whitespace-nowrap py-2 px-1 border-b-2 border-pink-500" data-category="all">
                    <span data-translate="all">Tout</span>
                </button>
                <button class="category-filter text-gray-400 font-medium whitespace-nowrap py-2 px-1 border-b-2 border-transparent" data-category="politics">
                    <span data-translate="politics">Politique</span>
                </button>
                <button class="category-filter text-gray-400 font-medium whitespace-nowrap py-2 px-1 border-b-2 border-transparent" data-category="economy">
                    <span data-translate="economy">Économie</span>
                </button>
                <button class="category-filter text-gray-400 font-medium whitespace-nowrap py-2 px-1 border-b-2 border-transparent" data-category="sports">
                    <span data-translate="sports">Sport</span>
                </button>
                <button class="category-filter text-gray-400 font-medium whitespace-nowrap py-2 px-1 border-b-2 border-transparent" data-category="social">
                    <span data-translate="social">Social</span>
                </button>
            </div>
        </div>

        <!-- Feed principal style TikTok -->
        <div id="feedContainer" class="h-full pt-28 pb-20 overflow-y-auto snap-y snap-mandatory">
            <!-- Les posts seront ajoutés ici -->
        </div>

        <!-- Navigation en bas -->
        <nav class="fixed bottom-0 left-0 right-0 bg-black/90 backdrop-blur-md z-50 border-t border-gray-800">
            <div class="flex justify-around items-center py-2">
                <button class="nav-tab active flex flex-col items-center py-2 px-3 text-white" data-view="home">
                    <i data-lucide="home" class="w-6 h-6 mb-1"></i>
                    <span class="text-xs" data-translate="home">Accueil</span>
                </button>
                <button class="nav-tab flex flex-col items-center py-2 px-3 text-gray-400" data-view="discover">
                    <i data-lucide="compass" class="w-6 h-6 mb-1"></i>
                    <span class="text-xs" data-translate="discover">Découvrir</span>
                </button>
                <button id="createBtn" class="flex flex-col items-center py-2 px-3">
                    <div class="w-12 h-8 bg-gradient-to-r from-pink-500 to-violet-500 rounded-lg flex items-center justify-center mb-1">
                        <i data-lucide="plus" class="w-5 h-5 text-white"></i>
                    </div>
                </button>
                <button class="nav-tab flex flex-col items-center py-2 px-3 text-gray-400" data-view="trending">
                    <i data-lucide="trending-up" class="w-6 h-6 mb-1"></i>
                    <span class="text-xs" data-translate="trending">Tendances</span>
                </button>
                <button id="profileBtn" class="flex flex-col items-center py-2 px-3 text-gray-400">
                    <i data-lucide="user" class="w-6 h-6 mb-1"></i>
                    <span class="text-xs" data-translate="profile">Profil</span>
                </button>
            </div>
        </nav>

        <!-- Modal de création -->
        <div id="createModal" class="fixed inset-0 bg-black/95 backdrop-blur-md z-50 hidden">
            <div class="h-full flex flex-col">
                <!-- Header -->
                <div class="flex items-center justify-between p-4 text-white">
                    <button id="closeCreateModal" class="p-2 hover:bg-white/10 rounded-lg">
                        <i data-lucide="x" class="w-6 h-6"></i>
                    </button>
                    <h2 class="text-lg font-medium" data-translate="share_truth">Partagez votre vérité</h2>
                    <button id="publishPost" class="bg-gradient-to-r from-pink-500 to-violet-500 px-6 py-2 rounded-full text-sm font-medium disabled:opacity-50">
                        <span data-translate="publish">Publier</span>
                    </button>
                </div>

                <!-- Formulaire -->
                <div class="flex-1 p-4 overflow-y-auto">
                    <form id="postForm" class="space-y-4">
                        <div>
                            <select id="postCategory" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-xl focus:outline-none focus:ring-2 focus:ring-pink-500 text-white text-base">
                                <option value="politics">🏛️ Politique</option>
                                <option value="economy">📈 Économie</option>
                                <option value="sports">⚽ Sport</option>
                                <option value="social">👥 Social</option>
                            </select>
                        </div>
                        <div>
                            <input type="text" id="postTitle" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-xl focus:outline-none focus:ring-2 focus:ring-pink-500 text-white placeholder-white/60 text-base" placeholder="Titre de votre révélation..." required>
                        </div>
                        <div>
                            <textarea id="postContent" rows="8" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-xl focus:outline-none focus:ring-2 focus:ring-pink-500 text-white placeholder-white/60 text-base resize-none" placeholder="Dévoilez les faits, exposez la vérité... Partagez votre témoignage anonyme et contribuez à révéler la vérité au monde entier." required></textarea>
                        </div>
                        <div class="flex items-center space-x-2 text-sm text-gray-400 bg-white/5 p-3 rounded-xl">
                            <i data-lucide="shield" class="w-4 h-4"></i>
                            <span data-translate="anonymous_post">Publication anonyme et sécurisée</span>
                        </div>
                    </form>
                </div>
            </div>
        </div>

        <!-- Modal profil -->
        <div id="profileModal" class="fixed inset-0 bg-black/95 backdrop-blur-md z-50 hidden">
            <div class="h-full flex flex-col text-white">
                <!-- Header -->
                <div class="flex items-center justify-between p-4">
                    <button id="closeProfileModal" class="p-2 hover:bg-white/10 rounded-lg">
                        <i data-lucide="x" class="w-6 h-6"></i>
                    </button>
                    <h2 class="text-lg font-medium" data-translate="profile">Profil</h2>
                    <div></div>
                </div>

                <!-- Contenu profil -->
                <div class="flex-1 p-4 overflow-y-auto">
                    <div class="text-center mb-8">
                        <div class="w-24 h-24 bg-gradient-to-r from-pink-500 to-violet-500 rounded-full flex items-center justify-center mx-auto mb-4">
                            <i data-lucide="shield" class="w-12 h-12 text-white"></i>
                        </div>
                        <h3 id="profileUsername" class="text-2xl font-bold mb-2"></h3>
                        <p class="text-gray-400" data-translate="anonymous_user">Utilisateur anonyme</p>
                        <div id="userRegionDisplay" class="mt-2 text-lg"></div>
                    </div>

                    <!-- Statistiques -->
                    <div class="grid grid-cols-3 gap-4 mb-8">
                        <div class="text-center post-card p-4 rounded-xl">
                            <div id="userPostsCount" class="text-2xl font-bold text-pink-400">0</div>
                            <div class="text-gray-400 text-sm" data-translate="posts">Publications</div>
                        </div>
                        <div class="text-center post-card p-4 rounded-xl">
                            <div id="userLikesCount" class="text-2xl font-bold text-violet-400">0</div>
                            <div class="text-gray-400 text-sm" data-translate="likes">J'aime</div>
                        </div>
                        <div class="text-center post-card p-4 rounded-xl">
                            <div id="userCommentsCount" class="text-2xl font-bold text-blue-400">0</div>
                            <div class="text-gray-400 text-sm" data-translate="comments">Commentaires</div>
                        </div>
                    </div>

                    <!-- Actions -->
                    <div class="space-y-4">
                        <button class="w-full post-card py-4 px-4 rounded-xl flex items-center justify-center space-x-2 hover:bg-white/20 transition-all">
                            <i data-lucide="settings" class="w-5 h-5"></i>
                            <span data-translate="settings">Paramètres</span>
                        </button>
                        <button class="w-full post-card py-4 px-4 rounded-xl flex items-center justify-center space-x-2 hover:bg-white/20 transition-all">
                            <i data-lucide="info" class="w-5 h-5"></i>
                            <span data-translate="about">À propos de TITA</span>
                        </button>
                        <button id="logoutBtnProfile" class="w-full bg-red-500/20 border border-red-500/30 text-red-400 py-4 px-4 rounded-xl flex items-center justify-center space-x-2 hover:bg-red-500/30 transition-all">
                            <i data-lucide="log-out" class="w-5 h-5"></i>
                            <span data-translate="logout">Déconnexion</span>
                        </button>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script>
        // Initialisation de Lucide
        lucide.createIcons();

        // Gestion du mode sombre (reste noir pour TikTok style)
        document.documentElement.classList.add('dark');

        // Données simulées
        let users = [
            { id: 'anon123', password: 'test123', region: 'europe' },
            { id: 'truth_seeker', password: 'password', region: 'africa' },
            { id: 'whistleblower', password: '123456', region: 'americas' }
        ];
        let posts = [];
        let currentUser = null;
        let currentCategory = 'all';

        // Traductions
        const translations = {
            fr: {
                login: "Connexion",
                register: "Inscription",
                connect: "Se connecter",
                create_account: "Créer un compte",
                accept_terms: "J'accepte les conditions d'utilisation et je m'engage à respecter l'anonymat et la vérité",
                all: "Tout",
                politics: "Politique",
                economy: "Économie",
                sports: "Sport",
                social: "Social",
                share_truth: "Partagez votre vérité",
                publish: "Publier",
                anonymous_post: "Publication anonyme et sécurisée",
                profile: "Profil",
                home: "Accueil",
                discover: "Découvrir",
                trending: "Tendances",
                anonymous_user: "Utilisateur anonyme",
                posts: "Publications",
                likes: "J'aime",
                comments: "Commentaires",
                settings: "Paramètres",
                about: "À propos de TITA",
                logout: "Déconnexion",
                like: "J'aime",
                comment: "Commenter",
                share: "Partager",
                reply: "Répondre"
            },
            en: {
                login: "Login",
                register: "Register",
                connect: "Connect",
                create_account: "Create Account",
                accept_terms: "I accept the terms of use and commit to respecting anonymity and truth",
                all: "All",
                politics: "Politics",
                economy: "Economy",
                sports: "Sports",
                social: "Social",
                share_truth: "Share your truth",
                publish: "Publish",
                anonymous_post: "Anonymous and secure post",
                profile: "Profile",
                home: "Home",
                discover: "Discover",
                trending: "Trending",
                anonymous_user: "Anonymous user",
                posts: "Posts",
                likes: "Likes",
                comments: "Comments",
                settings: "Settings",
                about: "About TITA",
                logout: "Logout",
                like: "Like",
                comment: "Comment",
                share: "Share",
                reply: "Reply"
            }
        };

        let currentLanguage = 'fr';

        function updateTranslations() {
            const elements = document.querySelectorAll('[data-translate]');
            elements.forEach(element => {
                const key = element.getAttribute('data-translate');
                if (translations[currentLanguage] && translations[currentLanguage][key]) {
                    element.textContent = translations[currentLanguage][key];
                }
            });
        }

        // Gestion des onglets d'authentification
        document.getElementById('loginTab').addEventListener('click', () => {
            document.getElementById('loginTab').classList.add('bg-white', 'text-black');
            document.getElementById('loginTab').classList.remove('text-white/80');
            document.getElementById('registerTab').classList.remove('bg-white', 'text-black');
            document.getElementById('registerTab').classList.add('text-white/80');
            document.getElementById('loginForm').classList.remove('hidden');
            document.getElementById('registerForm').classList.add('hidden');
        });

        document.getElementById('registerTab').addEventListener('click', () => {
            document.getElementById('registerTab').classList.add('bg-white', 'text-black');
            document.getElementById('registerTab').classList.remove('text-white/80');
            document.getElementById('loginTab').classList.remove('bg-white', 'text-black');
            document.getElementById('loginTab').classList.add('text-white/80');
            document.getElementById('registerForm').classList.remove('hidden');
            document.getElementById('loginForm').classList.add('hidden');
        });

        // Gestion du changement de langue
        document.getElementById('languageSelect').addEventListener('change', (e) => {
            currentLanguage = e.target.value;
            updateTranslations();
        });

        // Connexion
        document.getElementById('loginForm').addEventListener('submit', (e) => {
            e.preventDefault();
            const id = document.getElementById('loginId').value;
            const password = document.getElementById('loginPassword').value;
            
            const user = users.find(u => u.id === id && u.password === password);
            if (user) {
                currentUser = user;
                showMainPage();
            } else {
                showCustomAlert('Identifiant ou mot de passe incorrect');
            }
        });

        // Inscription
        document.getElementById('registerForm').addEventListener('submit', (e) => {
            e.preventDefault();
            const id = document.getElementById('regId').value;
            const password = document.getElementById('regPassword').value;
            const confirmPassword = document.getElementById('regConfirmPassword').value;
            const region = document.getElementById('regionSelect').value;

            if (password !== confirmPassword) {
                showCustomAlert('Les mots de passe ne correspondent pas');
                return;
            }

            if (users.find(u => u.id === id)) {
                showCustomAlert('Cet identifiant existe déjà');
                return;
            }

            const newUser = { id, password, region };
            users.push(newUser);
            currentUser = newUser;
            showMainPage();
        });

        // Afficher la page principale
        function showMainPage() {
            document.getElementById('authPage').classList.add('hidden');
            document.getElementById('mainPage').classList.remove('hidden');
            loadPosts();
            updateProfileInfo();
        }

        // Déconnexion
        document.getElementById('logoutBtnProfile').addEventListener('click', () => {
            currentUser = null;
            document.getElementById('authPage').classList.remove('hidden');
            document.getElementById('mainPage').classList.add('hidden');
            document.getElementById('profileModal').classList.add('hidden');
            document.getElementById('loginForm').reset();
            document.getElementById('registerForm').reset();
        });

        // Gestion des modales
        document.getElementById('createBtn').addEventListener('click', () => {
            document.getElementById('createModal').classList.remove('hidden');
        });

        document.getElementById('closeCreateModal').addEventListener('click', () => {
            document.getElementById('createModal').classList.add('hidden');
        });

        document.getElementById('profileBtn').addEventListener('click', () => {
            document.getElementById('profileModal').classList.remove('hidden');
        });

        document.getElementById('closeProfileModal').addEventListener('click', () => {
            document.getElementById('profileModal').classList.add('hidden');
        });

        // Gestion des filtres de catégories
        document.querySelectorAll('.category-filter').forEach(filter => {
            filter.addEventListener('click', () => {
                document.querySelectorAll('.category-filter').forEach(f => {
                    f.classList.remove('active', 'text-white', 'border-pink-500');
                    f.classList.add('text-gray-400', 'border-transparent');
                });
                
                filter.classList.add('active', 'text-white', 'border-pink-500');
                filter.classList.remove('text-gray-400', 'border-transparent');
                
                currentCategory = filter.getAttribute('data-category');
                loadPosts();
            });
        });

        // Publication
        document.getElementById('publishPost').addEventListener('click', (e) => {
            e.preventDefault();
            const category = document.getElementById('postCategory').value;
            const title = document.getElementById('postTitle').value;
            const content = document.getElementById('postContent').value;

            if (!title || !content) {
                showCustomAlert('Veuillez remplir tous les champs');
                return;
            }

            const newPost = {
                id: Date.now(),
                category,
                title,
                content,
                author: currentUser.id,
                region: currentUser.region,
                timestamp: new Date(),
                likes: Math.floor(Math.random() * 100),
                comments: [],
                liked: false
            };

            posts.unshift(newPost);
            document.getElementById('postForm').reset();
            document.getElementById('createModal').classList.add('hidden');
            loadPosts();
            updateProfileInfo();
        });

        // Charger les publications
        function loadPosts() {
            const container = document.getElementById('feedContainer');
            const filteredPosts = currentCategory === 'all' ? posts : posts.filter(p => p.category === currentCategory);
            
            container.innerHTML = filteredPosts.map(post => `
                <div class="snap-start h-screen flex flex-col justify-center p-4 relative" data-post-id="${post.id}">
                    <!-- Arrière-plan dégradé -->
                    <div class="absolute inset-0 bg-gradient-to-br ${getRandomGradient()} opacity-20"></div>
                    
                    <!-- Contenu principal -->
                    <div class="relative z-10 flex-1 flex flex-col justify-center max-w-lg mx-auto w-full">
                        <!-- Header du post -->
                        <div class="flex items-center justify-between mb-6">
                            <div class="flex items-center space-x-3">
                                <div class="w-12 h-12 bg-gradient-to-r from-pink-500 to-violet-500 rounded-full flex items-center justify-center">
                                    <i data-lucide="shield" class="w-6 h-6 text-white"></i>
                                </div>
                                <div>
                                    <div class="font-medium text-white">Anonyme</div>
                                    <div class="text-sm text-gray-300">${getRegionFlag(post.region)} ${getRegionName(post.region)}</div>
                                </div>
                            </div>
                            <div class="text-xs text-gray-400">${formatTimeAgo(post.timestamp)}</div>
                        </div>

                        <!-- Catégorie -->
                        <div class="mb-4">
                            <span class="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-${getCategoryColor(post.category)}/20 text-${getCategoryColor(post.category)}-300 border border-${getCategoryColor(post.category)}/30">
                                ${getCategoryIcon(post.category)} ${getCategoryName(post.category)}
                            </span>
                        </div>

                        <!-- Contenu -->
                        <div class="post-card rounded-2xl p-6 mb-6">
                            <h2 class="text-xl font-bold text-white mb-4 leading-tight">${post.title}</h2>
                            <p class="text-gray-200 text-base leading-relaxed">${post.content}</p>
                        </div>
                    </div>

                    <!-- Actions à droite (style TikTok) -->
                    <div class="absolute right-4 bottom-32 flex flex-col space-y-6">
                        <button onclick="toggleLike(${post.id})" class="flex flex-col items-center space-y-1 transition-transform active:scale-125">
                            <div class="w-12 h-12 ${post.liked ? 'bg-red-500' : 'bg-white/20'} rounded-full flex items-center justify-center backdrop-blur-md">
                                <i data-lucide="heart" class="w-6 h-6 ${post.liked ? 'text-white fill-current' : 'text-white'}"></i>
                            </div>
                            <span class="text-white text-xs font-medium">${post.likes}</span>
                        </button>
                        
                        <button onclick="toggleComments(${post.id})" class="flex flex-col items-center space-y-1 transition-transform active:scale-125">
                            <div class="w-12 h-12 bg-white/20 rounded-full flex items-center justify-center backdrop-blur-md">
                                <i data-lucide="message-circle" class="w-6 h-6 text-white"></i>
                            </div>
                            <span class="text-white text-xs font-medium">${post.comments.length}</span>
                        </button>
                        
                        <button onclick="sharePost(${post.id})" class="flex flex-col items-center space-y-1 transition-transform active:scale-125">
                            <div class="w-12 h-12 bg-white/20 rounded-full flex items-center justify-center backdrop-blur-md">
                                <i data-lucide="share" class="w-6 h-6 text-white"></i>
                            </div>
                            <span class="text-white text-xs font-medium">${translations[currentLanguage].share}</span>
                        </button>
                    </div>

                    <!-- Zone de commentaires -->
                    <div id="comments-${post.id}" class="absolute bottom-0 left-0 right-0 bg-black/80 backdrop-blur-md transform translate-y-full transition-transform duration-300 max-h-80 overflow-y-auto">
                        <div class="p-4">
                            <div class="flex items-center justify-between mb-4">
                                <h3 class="text-white font-medium">${post.comments.length} commentaires</h3>
                                <button onclick="toggleComments(${post.id})" class="text-gray-400 hover:text-white">
                                    <i data-lucide="x" class="w-5 h-5"></i>
                                </button>
                            </div>
                            
                            <div class="space-y-3 mb-4">
                                ${post.comments.map(comment => `
                                    <div class="flex space-x-3">
                                        <div class="w-8 h-8 bg-gradient-to-r from-pink-500 to-violet-500 rounded-full flex items-center justify-center flex-shrink-0">
                                            <i data-lucide="shield" class="w-4 h-4 text-white"></i>
                                        </div>
                                        <div class="flex-1">
                                            <div class="bg-white/10 rounded-2xl p-3">
                                                <p class="text-white text-sm">${comment.content}</p>
                                            </div>
                                            <div class="text-xs text-gray-400 mt-1">${formatTimeAgo(comment.timestamp)}</div>
                                        </div>
                                    </div>
                                `).join('')}
                            </div>
                            
                            <form onsubmit="addComment(event, ${post.id})" class="flex space-x-2">
                                <input type="text" placeholder="Ajouter un commentaire..." class="flex-1 bg-white/10 text-white px-4 py-2 rounded-full focus:outline-none focus:ring-2 focus:ring-pink-500 text-base" required>
                                <button type="submit" class="bg-gradient-to-r from-pink-500 to-violet-500 text-white px-6 py-2 rounded-full text-sm font-medium">
                                    ${translations[currentLanguage].reply}
                                </button>
                            </form>
                        </div>
                    </div>
                </div>
            `).join('');
            
            // Réinitialiser les icônes Lucide
            lucide.createIcons();
        }

        // Fonctions utilitaires
        function getRandomGradient() {
            const gradients = [
                'from-purple-900 to-blue-900',
                'from-pink-900 to-purple-900',
                'from-blue-900 to-indigo-900',
                'from-indigo-900 to-purple-900',
                'from-red-900 to-pink-900'
            ];
            return gradients[Math.floor(Math.random() * gradients.length)];
        }

        function getCategoryColor(category) {
            const colors = {
                politics: 'blue',
                economy: 'green',
                sports: 'orange',
                social: 'purple'
            };
            return colors[category] || 'gray';
        }

        function getCategoryIcon(category) {
            const icons = {
                politics: '🏛️',
                economy: '📈',
                sports: '⚽',
                social: '👥'
            };
            return icons[category] || '📝';
        }

        function getCategoryName(category) {
            return translations[currentLanguage][category] || category;
        }

        function getRegionFlag(region) {
            const flags = {
                africa: '🌍',
                europe: '🇪🇺',
                asia: '🌏',
                americas: '🌎',
                oceania: '🏝️',
                'middle-east': '🕌'
            };
            return flags[region] || '🌐';
        }

        function getRegionName(region) {
            const names = {
                africa: 'Afrique',
                europe: 'Europe',
                asia: 'Asie',
                americas: 'Amériques',
                oceania: 'Océanie',
                'middle-east': 'Moyen-Orient'
            };
            return names[region] || region;
        }

        function formatTimeAgo(date) {
            const now = new Date();
            const diff = now - date;
            const minutes = Math.floor(diff / 60000);
            const hours = Math.floor(diff / 3600000);
            const days = Math.floor(diff / 86400000);

            if (days > 0) return `${days}j`;
            if (hours > 0) return `${hours}h`;
            if (minutes > 0) return `${minutes}min`;
            return 'maintenant';
        }

        function toggleLike(postId) {
            const post = posts.find(p => p.id === postId);
            if (post) {
                post.liked = !post.liked;
                post.likes += post.liked ? 1 : -1;
                loadPosts();
            }
        }

        function toggleComments(postId) {
            const commentsDiv = document.getElementById(`comments-${postId}`);
            const isVisible = !commentsDiv.classList.contains('translate-y-full');
            
            // Fermer tous les autres commentaires
            document.querySelectorAll('[id^="comments-"]').forEach(div => {
                div.classList.add('translate-y-full');
            });
            
            if (!isVisible) {
                commentsDiv.classList.remove('translate-y-full');
            }
        }

        function addComment(event, postId) {
            event.preventDefault();
            const form = event.target;
            const content = form.querySelector('input').value;
            
            const post = posts.find(p => p.id === postId);
            if (post) {
                post.comments.push({
                    content,
                    timestamp: new Date(),
                    author: currentUser.id
                });
                form.reset();
                loadPosts();
                // Rouvrir les commentaires
                setTimeout(() => {
                    toggleComments(postId);
                }, 100);
            }
        }

        function sharePost(postId) {
            showCustomAlert('Fonction de partage bientôt disponible!');
        }

        function updateProfileInfo() {
            if (currentUser) {
                document.getElementById('profileUsername').textContent = currentUser.id;
                document.getElementById('userRegionDisplay').textContent = `${getRegionFlag(currentUser.region)} ${getRegionName(currentUser.region)}`;
                
                const userPosts = posts.filter(p => p.author === currentUser.id);
                const userLikes = userPosts.reduce((total, post) => total + post.likes, 0);
                const userComments = userPosts.reduce((total, post) => total + post.comments.length, 0);
                
                document.getElementById('userPostsCount').textContent = userPosts.length;
                document.getElementById('userLikesCount').textContent = userLikes;
                document.getElementById('userCommentsCount').textContent = userComments;
            }
        }

        function showCustomAlert(message) {
            const modal = document.createElement('div');
            modal.className = 'fixed inset-0 bg-black/80 backdrop-blur-md flex items-center justify-center z-50';
            modal.innerHTML = `
                <div class="post-card p-6 rounded-2xl max-w-sm w-full mx-4">
                    <p class="text-white mb-4 text-center">${message}</p>
                    <div class="flex justify-center">
                        <button class="bg-gradient-to-r from-pink-500 to-violet-500 text-white px-6 py-2 rounded-full font-medium" onclick="this.closest('.fixed').remove()">OK</button>
                    </div>
                </div>
            `;
            document.body.appendChild(modal);
        }

        // Données d'exemple
        posts = [
            {
                id: 1,
                category: 'politics',
                title: 'Corruption dans les marchés publics révélée',
                content: 'Je révèle des pratiques douteuses dans l\'attribution des marchés publics de ma région. Les preuves sont accablantes et montrent un système de favoritisme qui coûte des millions aux contribuables.',
                author: 'anon123',
                region: 'africa',
                timestamp: new Date(Date.now() - 2 * 60 * 1000),
                likes: 127,
                comments: [
                    {
                        content: 'Merci pour ce courage. Il faut que la vérité soit révélée.',
                        timestamp: new Date(Date.now() - 1 * 60 * 1000),
                        author: 'truth_seeker'
                    }
                ],
                liked: false
            },
            {
                id: 2,
                category: 'economy',
                title: 'Fraude fiscale massive découverte',
                content: 'Une entreprise multinationale évite des millions d\'impôts grâce à des montages offshore complexes. J\'ai les documents qui le prouvent.',
                author: 'whistleblower',
                region: 'europe',
                timestamp: new Date(Date.now() - 30 * 60 * 1000),
                likes: 89,
                comments: [],
                liked: false
            },
            {
                id: 3,
                category: 'social',
                title: 'Discrimination systémique exposée',
                content: 'Dans mon entreprise, les promotions sont refusées systématiquement aux employés de certaines origines. J\'ai documenté ces pratiques pendant des mois.',
                author: 'justice_seeker',
                region: 'americas',
                timestamp: new Date(Date.now() - 1 * 60 * 60 * 1000),
                likes: 156,
                comments: [
                    {
                        content: 'Courage à vous, ces pratiques doivent cesser.',
                        timestamp: new Date(Date.now() - 30 * 60 * 1000),
                        author: 'support_user'
                    },
                    {
                        content: 'Même situation chez nous, c\'est révoltant.',
                        timestamp: new Date(Date.now() - 15 * 60 * 1000),
                        author: 'solidarity'
                    }
                ],
                liked: false
            }
        ];

        // Initialisation
        updateTranslations();
    </script>
</body>
</html>

J'ai complètement transformé TITA pour avoir une interface et une expérience similaire à TikTok avec :

🎨 Interface style TikTok :

  • Design sombre avec dégradés colorés
  • Feed vertical plein écran avec scroll infini
  • Navigation en bas comme TikTok
  • Modales fluides et modernes

📱 Expérience utilisateur TikTok :

  • Publications en plein écran avec défilement vertical
  • Actions à droite (like, commentaire, partage)
  • Interface tactile optimisée mobile
  • Animations et transitions fluides

🔥 Fonctionnalités sociales :

  • Système de likes avec animation
  • Commentaires en overlay style TikTok
  • Bouton de création central proéminent
  • Profil utilisateur avec statistiques

✨ Améliorations visuelles :

  • Arrière-plans dégradés aléatoires
  • Cartes avec effet de verre (glassmorphism)
  • Animations au toucher/clic
  • Texte dégradé pour le logo

🌍 Fonctionnalités anonymes préservées :

  • Système d'inscription/connexion anonyme
  • Publications par catégories (Politique, Économie, Sport, Social)
  • Protection de l'identité avec avatars génériques
  • Support multilingue et multi-régional

L'application offre maintenant une expérience moderne et engageante similaire à TikTok tout en préservant l'objectif de dénonciation anonyme et sécurisée !

@essambaantony1981-lab
Copy link
Author

Improve

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants