import React, { useState } from 'react'; import { FileText, User, LogOut, Globe, Upload, Download, Zap, Activity, ChevronDown, Moon, CheckCircle2, Clock, Presentation, ArrowRight, Crown, Layers, Book, Key, FileCode, MessageSquare, Layout, Database, Cpu, Eraser, Save, Library, Wrench, HardHat, Monitor, Scale, Stethoscope, BarChart3, Megaphone, Car } from 'lucide-react'; import { motion } from 'motion/react'; import { useTranslation } from 'react-i18next'; type View = 'translate' | 'profile' | 'context' | 'glossary' | 'api-keys'; export const Dashboard: React.FC<{ onLogout: () => void }> = ({ onLogout }) => { const { t } = useTranslation(); const [currentView, setCurrentView] = useState('translate'); const [profileTab, setProfileTab] = useState<'account' | 'subscription' | 'preferences'>('account'); return (
{/* Sidebar */} {/* Main Content */}
{/* Topbar */}
Interface de traduction

Premium Access

Status: Active

SR
{/* View Content */}
{currentView === 'translate' && } {currentView === 'profile' && } {currentView === 'context' && } {currentView === 'api-keys' && } {currentView === 'glossary' && }
); }; const TranslateView = () => { const [file, setFile] = useState(null); const [status, setStatus] = useState<'idle' | 'uploading' | 'translating' | 'done'>('idle'); const [progress, setProgress] = useState(0); const handleStart = () => { setStatus('uploading'); let p = 0; const interval = setInterval(() => { p += 5; setProgress(p); if (p >= 25) setStatus('translating'); if (p >= 100) { clearInterval(interval); setStatus('done'); } }, 150); }; if (status !== 'idle') { return setStatus('idle')} />; } return (
Nouveau projet

Traduire un document

Importez un fichier et choisissez la langue cible

Glissez-déposez ici

Fichiers DOCX, XLSX, PPTX ou PDF supportés

{['Word', 'Excel', 'Slides', 'PDF'].map(f => ( {f} ))}

Configuration

Auto-détection
Français

Intelligence Visuelle

Maintien strict du formatage

GPT-4o Enhanced

pro

Traduction créative contextualisée

✓ Rétention zéro 🕒 Privacy auto
); }; const StatusOverlay = ({ status, progress, onReset }: { status: string, progress: number, onReset: () => void }) => { return (
Traitement en cours

Analyse IA Active

Votre mise en page est en cours de préservation

{status === 'done' ? (

Traduction terminée

super_complex_translated.pptx

✓ Qualité Maître
) : ( <>

Moteur contextuel actif

super_complex_document.docx

{/* Progress Line */}
{[Upload, Activity, Globe, Zap, CheckCircle2].map((Icon, i) => (
(i * 25) ? 'bg-brand-dark text-white scale-110' : 'bg-brand-muted text-brand-dark/20'}`}>
))}
{status === 'uploading' ? 'Phase 1: Initialisation' : 'Phase 2: Reconstruction Contextuelle'} {progress}%
{[ { label: 'segments', val: progress + '%', icon: }, { label: 'précision', val: '99.9%', icon: }, { label: 'vitesse', val: 'Turbo', icon: }, { label: 'temps', val: '0:01', icon: } ].map((s, i) => (
{s.icon}

{s.val}

{s.label}

))}
)}

Moniteur IA

super_complex_translated.pptx

89.1 KB • PowerPoint

Source AUTO
Cible FRANÇAIS
Algorithme NEURAL V4
Intégrité Layout 100% SECURE
); }; const ProfileView = ({ tab, setTab }: { tab: string; setTab: (t: any) => void }) => { return (
Compte utilisateur

Mon Profil

Gérez votre compte et vos préférences de traduction.

{['account', 'subscription', 'preferences'].map((t) => ( ))}
{tab === 'account' && (
SR

Sepehr Ramezani

Gérant

sepehr1151@gmail.com

Membre d'élite depuis le 10 mai 2026

)} {tab === 'subscription' && (

Forfait Pro

Actif

Facturation mensuelle • 19 €/mois

Métriques d'utilisation
Reset prévu le 1 juin 2026
Documents 5 / 200
Pages 13 / 200

Passez au niveau supérieur pour des documents illimités.

Inclus dans votre forfait
{[ "200 documents / mois", "Jusqu'à 200 pages par document", "Traduction IA Essentielle (DeepSeek V3.2)", "Google Traduction + DeepL", "Fichiers jusqu'à 25 Mo", "Glossaires personnalisés", "Support prioritaire", "Historique 90 jours" ].map((feature, i) => (
{feature}
))}
)} {tab === 'preferences' && (

Langue de l'interface

{['English', 'Français', 'Español', 'Deutsch', 'Português', 'Italiano', 'Nederlands', 'Русский', '日本語', '한국어'].map((l) => ( ))}

La langue est détectée automatiquement selon votre navigateur.

Cible par défaut

Pré-sélection automatique lors de l'import.

Français
)}
); }; const ContextView = () => { return (
Personnalisation IA

Contexte & Glossaire

Améliorez la qualité de traduction avec des instructions et un vocabulaire spécifiques à votre domaine.

{/* Professional Glossaries */}

Glossaires professionnels

Chargez un glossaire complet avec instructions et terminologie spécialisée

{[ { id: 'hvac', label: 'HVAC / Génie climatique', desc: 'Thermique, ventilation, climatisation', icon: }, { id: 'btp', label: 'BTP / Construction', desc: 'Gros œuvre, second œuvre, normes', icon: }, { id: 'it', label: 'IT / Logiciel', desc: 'Développement, infrastructure, DevOps', icon: }, { id: 'legal', label: 'Juridique / Contrats', desc: 'Droit des affaires, contentieux', icon: }, { id: 'medical', label: 'Médical / Santé', desc: 'Pharmacologie, chirurgie, diagnostic', icon: }, { id: 'finance', label: 'Finance / Comptabilité', desc: 'IFRS, bilans, fiscalité', icon: }, { id: 'marketing', label: 'Marketing / Publicité', desc: 'Digital, branding, analytics', icon: }, { id: 'auto', label: 'Automobile', desc: 'Motorisation, ADAS, homologation', icon: }, ].map((p) => ( ))}
{/* Context Instructions */}

Instructions de contexte

Instructions que l'IA suivra pendant la traduction