Epic 6: Stories 6-2 (Markdown roundtrip) + 6-3 (Brainstorm PPTX + Canvas)
Some checks failed
CI / Lint, Unit Tests & Build (push) Successful in 5m37s
CI / Deploy production (on server) (push) Has been cancelled

Story 6-2 — Markdown roundtrip export/import:
- lib/editor/markdown-export.ts: tiptapHTMLToMarkdown, markdownToHTML, looksLikeMarkdown
- lib/editor/markdown-paste-extension.ts: TipTap extension paste Markdown → blocs
- note-editor-toolbar.tsx: export .md + import .md (file picker)
- rich-text-editor.tsx: intégration MarkdownPasteExtension
- 40 tests unitaires markdown-export.test.ts

Story 6-3 — Brainstorm PPTX + Canvas:
- lib/brainstorm/export-pptx.ts: génération PPTX 5 slides (pptxgenjs)
- app/api/brainstorm/[sessionId]/export-pptx/route.ts: route POST protégée
- brainstorm-page.tsx: bouton PPTX, auto-select session, fix emoji, fix router.replace
- wave-canvas.tsx: fitTrigger recentrage, légende bas-droite

Onboarding activation wizard (Story 6-1):
- components/onboarding/: wizard multi-étapes, hints éditeur
- app/api/onboarding/: route PATCH onboarding
- prisma/migrations: champs onboarding user

Locales: 15 langues mises à jour (brainstorm, markdown, onboarding keys)
Sprint: 6-1 done, 6-2 review, 6-3 review

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Antigravity
2026-05-29 11:24:56 +00:00
parent dae56187fc
commit 6b4ed8514f
49 changed files with 5215 additions and 66 deletions

View File

@@ -2176,7 +2176,12 @@
"Italiano": "Italienisch",
"Chinois": "Chinesisch",
"Japonais": "Japanisch"
}
},
"exportMarkdown": "Als Markdown exportieren",
"importMarkdown": "Markdown importieren",
"markdownExportSuccess": "Notiz als Markdown exportiert",
"markdownExportError": "Export der Notiz fehlgeschlagen",
"markdownImportSuccess": "Markdown erfolgreich importiert"
},
"brainstorm": {
"title": "Waves of Thought",
@@ -2306,7 +2311,16 @@
"ownerBadge": "Owner",
"waveBadge": "Wave {wave}",
"quotaGuest": "Der Gastgeber der Sitzung hat sein KI-Kontingent aufgebraucht. Bitte ihn, seinen Tarif zu erweitern.",
"quotaHost": "Sie haben Ihr KI-Kontingent für dieses Brainstorming erreicht. Wechseln Sie den Tarif, um fortzufahren."
"quotaHost": "Sie haben Ihr KI-Kontingent für dieses Brainstorming erreicht. Wechseln Sie den Tarif, um fortzufahren.",
"downloadPptx": "PPTX",
"downloadPptxDesc": "Als PowerPoint herunterladen",
"pptxSuccess": "PPTX heruntergeladen",
"pptxError": "PPTX-Export fehlgeschlagen",
"fitToScreen": "Zentrieren",
"legendWave1": "Variationen",
"legendWave2": "Analogien",
"legendWave3": "Unterbrechungen",
"legendConverted": "Konvertiert"
},
"usageMeter": {
"packName": "AI Discovery Pack",
@@ -2762,5 +2776,96 @@
"uploadError": "Upload-Fehler",
"uploadFailed": "Upload fehlgeschlagen",
"uploading": "Wird hochgeladen..."
},
"onboarding": {
"welcome_title": "Ihr KI-erweitertes Gedächtnis",
"welcome_subtitle": "Momento erinnert sich an das, was Sie vergessen.",
"welcome_cta": "Loslegen",
"skip": "Überspringen",
"step_notes_title": "Ihre Notizen",
"step_notes_empty": "Sie haben noch keine Notizen. Importieren Sie Ihre oder beginnen Sie mit Beispielen.",
"step_notes_import": "Notizen importieren",
"step_notes_demo": "5 Beispielnotizen erstellen",
"step_notes_has_notes": "Sie haben bereits {count} Notizen. Entdecken wir die Magie.",
"step_notes_cta": "Meine Notizen sind bereit",
"step_aha_title": "Finden Sie, was Sie vergessen haben",
"step_aha_subtitle": "Stellen Sie eine Frage. Finden Sie eine vergessene Notiz.",
"step_aha_placeholder": "Notizen zur Produktivität...",
"step_aha_cta": "Momento erkunden",
"progress": "{current} von {total}",
"creating_demo_notes": "Beispielnotizen werden erstellt...",
"demo_notes_ready": "5 Beispielnotizen erstellt!",
"badge_credits": "⚡ Noch {count} Credits",
"badge_upgrade": "Auf Pro upgraden →",
"no_results": "Keine Ergebnisse — andere Anfrage versuchen.",
"search_credit_used": "1 Suche verwendet",
"quota_exceeded": "Suchlimit erreicht — auf Pro upgraden für unbegrenzte Suchen.",
"step_aha_search_button": "Suchen",
"step_aha_search_aria": "Notizen durchsuchen",
"step_notes_hint": "💡 Diese Notizen ermöglichen die KI-Suchdemo im nächsten Schritt.",
"step_features_title": "Ihre KI-Superkräfte",
"step_features_subtitle": "Wählen Sie Ihren Einstieg.",
"step_features_cta": "Los geht's!",
"feature_search_title": "Semantische Suche",
"feature_search_desc": "Finden Sie jede Notiz nach Bedeutung, nicht nur nach Schlüsselwörtern.",
"feature_flashcards_title": "KI-Karteikarten",
"feature_flashcards_desc": "SRS-Lernkarten aus Ihren Notizen in einem Klick erstellen.",
"feature_brainstorm_title": "KI-Brainstorming",
"feature_brainstorm_desc": "KI-gestützte kollaborative Brainstorming-Sitzungen.",
"feature_chat_title": "Mit Ihren Notizen chatten",
"feature_chat_desc": "Stellen Sie Ihrer persönlichen Wissensdatenbank Fragen.",
"feature_insights_title": "Semantische Einblicke",
"feature_insights_desc": "Entdecken Sie versteckte Verbindungen zwischen Ihren Ideen.",
"feature_export_title": "Markdown-Export",
"feature_export_desc": "Importieren und exportieren Sie Ihre Notizen im Markdown-Format.",
"welcome_title_name": "Hallo {name} 👋",
"import_formats": "Akzeptierte Formate: .md, .txt",
"import_error": "Einige Dateien konnten nicht importiert werden. Bitte erneut versuchen.",
"import_notes_ready": "{count} Notiz(en) importiert!",
"action_write_title": "Ihre erste echte Notiz schreiben",
"action_write_desc": "Erstellen Sie eine Notiz und beginnen Sie Ideen festzuhalten.",
"action_flashcards_title": "Erste Karteikarten erstellen",
"action_flashcards_desc": "Öffnen Sie eine Notiz und klicken Sie auf Karteikarten.",
"action_brainstorm_title": "KI-Brainstorming starten",
"action_brainstorm_desc": "Erkunden Sie Ihre Ideen mit einem KI-Agenten.",
"action_try": "Ausprobieren",
"step_features_cta_all": "Alles bereit — los geht's!",
"action_write_where": "Schließen → \"+ Neue Notiz\" in der Seitenleiste klicken",
"action_flashcards_where": "Schließen → Notiz öffnen → 🃏-Button in der Toolbar",
"action_brainstorm_where": "Schließen → \"Canvas\"-Bereich in der Seitenleiste",
"pill_resume": "✨ Tour fortsetzen",
"action_done": "Getestet!",
"editor_hints_title": "Editor tips",
"editor_hints_got_it": "Got it!",
"hint_slash_title": "\"/\" command — insert blocks",
"hint_slash_desc": "In the editor, type \"/\" to open the block menu: heading, list, code block, table, to-do list, and AI commands (Clarify, Shorten, Improve, Expand).",
"hint_ai_title": "Built-in AI assistant",
"hint_ai_desc": "Click the ✨ button in the toolbar to open the AI panel — ask questions, summarize, rewrite, or brainstorm directly in your note.",
"hint_version_title": "Version history",
"hint_version_desc": "Click the ⓘ button in the toolbar → \"Versions\" tab. Enable versioning, then save and restore snapshots of your note at any time.",
"hint_flashcards_title": "Generate flashcards",
"hint_flashcards_desc": "Click the 🎓 button in the toolbar to auto-generate flashcards from your note for spaced repetition review.",
"hint_links_title": "Links between notes",
"hint_links_desc": "Type \"[[\" in the editor to search and link to another note. Linked notes appear as backlinks at the bottom of the note.",
"hint_create_note_title": "Create a note",
"hint_create_note_desc": "Click the \"+\" button in the sidebar or press Ctrl+N to create a new note. Then start writing.",
"hint_flip_title": "Flip the card",
"hint_flip_desc": "Press Space (or click the card) to flip it and reveal the answer.",
"hint_rate_keys_title": "Rate with keyboard",
"hint_rate_keys_desc": "After flipping, press 1 (Hard), 2 (Difficult), 3 (Good) or 4 (Easy) to rate the card. The SM-2 algorithm schedules your next review automatically.",
"hint_generate_from_note_title": "Generate from a note",
"hint_generate_from_note_desc": "Open any note and click the 🎓 button in the toolbar to automatically generate flashcards from its content.",
"hint_brainstorm_start_title": "Start with an idea",
"hint_brainstorm_start_desc": "Type any concept or question in the input field and press Enter. The AI will generate a set of ideas around it.",
"hint_brainstorm_deepen_title": "Deepen an idea",
"hint_brainstorm_deepen_desc": "Click on any idea card to expand it with sub-ideas and explore it further.",
"hint_brainstorm_export_title": "Export your session",
"hint_brainstorm_export_desc": "When done, export the entire brainstorm session as a structured note saved to your notebook.",
"hint_insights_clusters_title": "Note clusters",
"hint_insights_clusters_desc": "Your notes are automatically grouped into thematic clusters. Click a cluster to explore the notes it contains.",
"hint_insights_bridge_title": "Bridge notes",
"hint_insights_bridge_desc": "Bridge notes connect multiple clusters. They are highlighted because they hold your knowledge graph together.",
"hint_insights_refresh_title": "Refresh clusters",
"hint_insights_refresh_desc": "If you've added new notes, click the refresh button to recalculate the clusters with the latest content."
}
}
}