feat: Wizard IA + Export PDF + fixes blocs
Some checks failed
CI / Lint, Unit Tests & Build (push) Failing after 1m7s
CI / Deploy production (on server) (push) Has been skipped

- Wizard IA: création de carnet complet (étudiant/prof/ingénieur)
  - 3 profils, choix niveau, nombre de notes (3-12)
  - Étapes numérotées, messages de progression, écran de succès
  - Notes riches avec callouts, toggles, équations, colonnes
  - Structured View auto-créé avec propriétés Statut/Difficulté
  - Embeddings en arrière-plan
- Export PDF: clone le DOM réel, rend KaTeX, préserve couleurs callouts
- Fix: boutons toggle/callout en hover-only
- Fix: parsing JSON robuste (backslashes LaTeX)
- Fix: flushSync warning (queueMicrotask)
- Fix: drag handle clamp viewport
- Bouton wizard dans la sidebar ( à côté du +)
- i18n FR/EN complet
This commit is contained in:
Antigravity
2026-06-14 19:51:02 +00:00
parent f7b62009cf
commit 940c3daf62
10 changed files with 915 additions and 33 deletions

View File

@@ -2451,6 +2451,36 @@
"columnsAdd": "Add a column",
"columnsDelete": "Delete columns",
"columnsLabel": "columns",
"wizardTitle": "Create a notebook with AI",
"wizardChooseProfile": "What's your profile?",
"wizardProfileStudent": "Student",
"wizardProfileStudentDesc": "AI creates a structured course notebook with summaries, formulas and key takeaways",
"wizardProfileTeacher": "Teacher",
"wizardProfileTeacherDesc": "AI generates a course structure with chapters, exercises and learning objectives",
"wizardProfileEngineer": "Engineer / Professional",
"wizardProfileEngineerDesc": "AI creates organized technical documentation with specs and references",
"wizardTopicStudentPlaceholder": "e.g: Thermodynamics, Calculus, French Revolution...",
"wizardTopicTeacherPlaceholder": "e.g: Math 101, AP Physics, Algorithms...",
"wizardTopicEngineerPlaceholder": "e.g: Microservices architecture, Network security, ISO 27001...",
"wizardTopic": "Topic",
"wizardLevel": "Level",
"wizardLevelBeginner": "Beginner",
"wizardLevelIntermediate": "Intermediate",
"wizardLevelAdvanced": "Advanced",
"wizardLevelExpert": "Expert",
"wizardNoteCount": "Number of notes",
"wizardNotes": "notes",
"wizardConfirmHint": "AI will create a notebook with rich notes: callouts, collapsible sections, math formulas, comparison columns, outlines and links.",
"wizardGenerate": "Generate notebook",
"wizardLoading": "AI is creating your notebook with structured notes...",
"wizardProgressGenerating": "Generating content with AI...",
"wizardProgressCalling": "Calling AI...",
"wizardProgressParsing": "Parsing AI response...",
"wizardProgressCreating": "Creating notebook and notes...",
"wizardSuccess": "Notebook created successfully!",
"wizardCreated": "Notebook created:",
"wizardNotesCreated": "notes created",
"wizardOpenNotebook": "Open notebook",
"calloutDelete": "Delete callout",
"calloutUnwrap": "Disable callout",
"calloutInfo": "Information",
@@ -2524,6 +2554,10 @@
"Japonais": "Japanese"
},
"exportMarkdown": "Export as Markdown",
"exportPdf": "Export as PDF",
"pdfExportBlocked": "Popup blocked — allow popups to export as PDF",
"pdfExportLoading": "Generating PDF...",
"pdfExportSuccess": "PDF ready!",
"importMarkdown": "Import Markdown",
"markdownExportSuccess": "Note exported as Markdown",
"markdownExportError": "Failed to export note",

View File

@@ -2455,6 +2455,36 @@
"columnsAdd": "Ajouter une colonne",
"columnsDelete": "Supprimer les colonnes",
"columnsLabel": "colonnes",
"wizardTitle": "Créer un carnet avec l'IA",
"wizardChooseProfile": "Quel est votre profil ?",
"wizardProfileStudent": "Étudiant",
"wizardProfileStudentDesc": "L'IA crée un carnet de cours structuré avec résumés, formules et encadrés à retenir",
"wizardProfileTeacher": "Professeur",
"wizardProfileTeacherDesc": "L'IA génère la structure d'un cours avec chapitres, exercices et objectifs pédagogiques",
"wizardProfileEngineer": "Ingénieur / Professionnel",
"wizardProfileEngineerDesc": "L'IA crée une documentation technique organisée avec spécifications et références",
"wizardTopicStudentPlaceholder": "Ex: Thermodynamique, Calcul différentiel, Histoire de la Révolution...",
"wizardTopicTeacherPlaceholder": "Ex: Mathématiques L1, Physique-Chimie Terminale, Algorithmique...",
"wizardTopicEngineerPlaceholder": "Ex: Architecture microservices, Sécurité réseau, Norme ISO 27001...",
"wizardTopic": "Sujet",
"wizardLevel": "Niveau",
"wizardLevelBeginner": "Débutant",
"wizardLevelIntermediate": "Intermédiaire",
"wizardLevelAdvanced": "Avancé",
"wizardLevelExpert": "Expert",
"wizardNoteCount": "Nombre de notes",
"wizardNotes": "notes",
"wizardConfirmHint": "L'IA va créer un carnet avec des notes riches : encadrés, sections repliables, formules mathématiques, colonnes de comparaison, sommaires et liens.",
"wizardGenerate": "Générer le carnet",
"wizardLoading": "L'IA crée votre carnet avec des notes structurées...",
"wizardProgressGenerating": "Génération du contenu par l'IA...",
"wizardProgressCalling": "Appel de l'IA...",
"wizardProgressParsing": "Analyse de la réponse de l'IA...",
"wizardProgressCreating": "Création du carnet et des notes...",
"wizardSuccess": "Carnet créé avec succès !",
"wizardCreated": "Carnet créé :",
"wizardNotesCreated": "notes créées",
"wizardOpenNotebook": "Ouvrir le carnet",
"calloutDelete": "Supprimer l'encadré",
"calloutUnwrap": "Désactiver l'encadré",
"calloutInfo": "Information",
@@ -2528,6 +2558,10 @@
"Japonais": "Japonais"
},
"exportMarkdown": "Exporter en Markdown",
"exportPdf": "Exporter en PDF",
"pdfExportBlocked": "Popup bloqué — autorisez les popups pour exporter en PDF",
"pdfExportLoading": "Génération du PDF...",
"pdfExportSuccess": "PDF prêt !",
"importMarkdown": "Importer un Markdown",
"markdownExportSuccess": "Note exportée en Markdown",
"markdownExportError": "Échec de l'export de la note",