diff --git a/apps/clock/apps/web/package.json b/apps/clock/apps/web/package.json
index 05a858e18..3df6a6d71 100644
--- a/apps/clock/apps/web/package.json
+++ b/apps/clock/apps/web/package.json
@@ -45,6 +45,8 @@
"@manacore/shared-feedback-service": "workspace:*",
"@manacore/shared-feedback-ui": "workspace:*",
"@manacore/shared-i18n": "workspace:*",
+ "@manacore/shared-help-types": "workspace:*",
+ "@manacore/shared-help-ui": "workspace:*",
"@manacore/shared-icons": "workspace:*",
"@manacore/shared-profile-ui": "workspace:*",
"@manacore/shared-stores": "workspace:*",
diff --git a/apps/clock/apps/web/src/lib/content/help/index.ts b/apps/clock/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..744b5fdcf
--- /dev/null
+++ b/apps/clock/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,216 @@
+/**
+ * Help content for Clock app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getClockHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-create-alarms',
+ question: isDE ? 'Wie erstelle ich Wecker?' : 'How do I create alarms?',
+ answer: isDE
+ ? '
Du kannst Wecker auf verschiedene Arten erstellen:
- Schnellwecker: Drücke A oder klicke auf das + Symbol im Wecker-Tab
- Uhrzeit wählen: Stelle Stunde und Minute ein und wähle die gewünschten Wochentage
- Label: Gib deinem Wecker einen Namen, z.B. "Morgenroutine"
- Klingelton: Wähle aus verschiedenen Tönen oder nutze einen sanften Weckton
'
+ : 'You can create alarms in several ways:
- Quick alarm: Press A or click the + icon in the Alarms tab
- Set time: Choose hour and minute and select the desired weekdays
- Label: Give your alarm a name, e.g. "Morning routine"
- Ringtone: Choose from various sounds or use a gentle wake-up tone
',
+ category: 'features',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['wecker', 'erstellen', 'neu'] : ['alarm', 'create', 'new'],
+ },
+ {
+ id: 'faq-timers',
+ question: isDE
+ ? 'Wie funktionieren Timer und Stoppuhr?'
+ : 'How do timers and the stopwatch work?',
+ answer: isDE
+ ? 'Clock bietet zwei Zeitmesser:
- Timer: Stelle eine Countdown-Zeit ein und starte ihn. Du kannst mehrere Timer gleichzeitig laufen lassen. Drücke T für einen neuen Timer.
- Stoppuhr: Messe verstrichene Zeit mit Rundenzeiten. Starte, pausiere und setze zurück.
Beide laufen auch im Hintergrund weiter und benachrichtigen dich, wenn die Zeit abgelaufen ist.
'
+ : 'Clock offers two time measurement tools:
- Timer: Set a countdown duration and start it. You can run multiple timers simultaneously. Press T for a new timer.
- Stopwatch: Measure elapsed time with lap splits. Start, pause, and reset.
Both continue running in the background and notify you when time is up.
',
+ category: 'features',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['timer', 'stoppuhr', 'countdown'] : ['timer', 'stopwatch', 'countdown'],
+ },
+ {
+ id: 'faq-pomodoro',
+ question: isDE ? 'Was ist die Pomodoro-Technik?' : 'What is the Pomodoro technique?',
+ answer: isDE
+ ? 'Die Pomodoro-Technik ist eine Zeitmanagement-Methode:
- Arbeite 25 Minuten konzentriert (ein "Pomodoro")
- Mache eine 5-Minuten-Pause
- Nach 4 Pomodoros: 15-30 Minuten längere Pause
In Clock kannst du die Intervalle anpassen, deinen Fortschritt verfolgen und Statistiken über deine Produktivität einsehen.
'
+ : 'The Pomodoro technique is a time management method:
- Work for 25 minutes with focus (one "Pomodoro")
- Take a 5-minute break
- After 4 Pomodoros: take a 15-30 minute longer break
In Clock you can customize the intervals, track your progress, and view statistics about your productivity.
',
+ category: 'features',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: isDE
+ ? ['pomodoro', 'produktivität', 'fokus', 'technik']
+ : ['pomodoro', 'productivity', 'focus', 'technique'],
+ },
+ {
+ id: 'faq-life-clock',
+ question: isDE ? 'Was ist die Life Clock?' : 'What is the Life Clock?',
+ answer: isDE
+ ? 'Die Life Clock ist eine einzigartige Visualisierung deiner Lebenszeit:
- Gib dein Geburtsdatum und deine geschätzte Lebenserwartung ein
- Sieh, wie viel deiner Zeit bereits vergangen ist und wie viel noch vor dir liegt
- Verschiedene Darstellungen: Wochen, Monate oder Jahre als Raster
Die Life Clock soll dich motivieren, deine Zeit bewusst zu nutzen — keine Angst, sondern Inspiration.
'
+ : 'The Life Clock is a unique visualization of your lifetime:
- Enter your birth date and estimated life expectancy
- See how much of your time has passed and how much lies ahead
- Various display modes: weeks, months, or years as a grid
The Life Clock is meant to motivate you to use your time mindfully — not fear, but inspiration.
',
+ category: 'features',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ tags: isDE
+ ? ['life-clock', 'lebenszeit', 'visualisierung']
+ : ['life-clock', 'lifetime', 'visualization'],
+ },
+ {
+ id: 'faq-privacy',
+ question: isDE ? 'Wie werden meine Daten geschützt?' : 'How is my data protected?',
+ answer: isDE
+ ? 'Deine Daten sind sicher:
- Lokale Speicherung: Wecker und Timer werden lokal auf deinem Gerät gespeichert
- Verschlüsselung: Alle synchronisierten Daten werden bei der Übertragung (TLS) verschlüsselt
- DSGVO-konform: Wir halten uns an die EU-Datenschutzverordnung
- Kein Tracking: Deine Nutzungsdaten werden nicht an Dritte weitergegeben
'
+ : 'Your data is secure:
- Local storage: Alarms and timers are stored locally on your device
- Encryption: All synced data is encrypted in transit (TLS)
- GDPR compliant: We follow EU data protection regulations
- No tracking: Your usage data is never shared with third parties
',
+ category: 'privacy',
+ order: 5,
+ language: isDE ? 'de' : 'en',
+ featured: true,
+ tags: isDE ? ['datenschutz', 'dsgvo', 'sicherheit'] : ['privacy', 'gdpr', 'security'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-alarms',
+ title: isDE ? 'Wecker' : 'Alarms',
+ description: isDE
+ ? 'Erstelle wiederkehrende und einmalige Wecker mit individuellen Tönen'
+ : 'Create recurring and one-time alarms with custom sounds',
+ icon: '⏰',
+ category: 'core',
+ highlights: isDE
+ ? ['Wiederkehrende Wecker', 'Individuelle Töne', 'Schlummerfunktion', 'Labels']
+ : ['Recurring alarms', 'Custom sounds', 'Snooze function', 'Labels'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-timers-stopwatch',
+ title: isDE ? 'Timer & Stoppuhr' : 'Timers & Stopwatch',
+ description: isDE
+ ? 'Mehrere gleichzeitige Timer und eine Stoppuhr mit Rundenzeiten'
+ : 'Multiple simultaneous timers and a stopwatch with lap times',
+ icon: '⏱️',
+ category: 'core',
+ highlights: isDE
+ ? ['Mehrere Timer', 'Rundenzeiten', 'Hintergrund-Benachrichtigung', 'Voreinstellungen']
+ : ['Multiple timers', 'Lap times', 'Background notifications', 'Presets'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-pomodoro',
+ title: 'Pomodoro',
+ description: isDE
+ ? 'Steigere deine Produktivität mit der Pomodoro-Technik und Statistiken'
+ : 'Boost your productivity with the Pomodoro technique and statistics',
+ icon: '🍅',
+ category: 'advanced',
+ highlights: isDE
+ ? ['Anpassbare Intervalle', 'Sitzungs-Tracking', 'Statistiken', 'Benachrichtigungen']
+ : ['Customizable intervals', 'Session tracking', 'Statistics', 'Notifications'],
+ content: '',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-world-clock',
+ title: isDE ? 'Weltzeituhr' : 'World Clock',
+ description: isDE
+ ? 'Behalte die Uhrzeit in verschiedenen Zeitzonen im Blick'
+ : 'Keep track of the time across different time zones',
+ icon: '🌍',
+ category: 'core',
+ highlights: isDE
+ ? ['Alle Zeitzonen', 'Zeitvergleich', 'Favoriten', 'Analoges Zifferblatt']
+ : ['All time zones', 'Time comparison', 'Favorites', 'Analog clock face'],
+ content: '',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ },
+ ],
+ shortcuts: [
+ {
+ id: 'shortcuts-general',
+ category: 'general',
+ title: isDE ? 'Allgemein' : 'General',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ shortcuts: [
+ {
+ shortcut: 'Cmd/Ctrl + K',
+ action: isDE ? 'Kommandoleiste öffnen' : 'Open command bar',
+ },
+ {
+ shortcut: 'A',
+ action: isDE ? 'Neuer Wecker' : 'New alarm',
+ },
+ {
+ shortcut: 'T',
+ action: isDE ? 'Neuer Timer' : 'New timer',
+ },
+ ],
+ },
+ {
+ id: 'shortcuts-navigation',
+ category: 'navigation',
+ title: 'Navigation',
+ language: isDE ? 'de' : 'en',
+ order: 2,
+ shortcuts: [
+ {
+ shortcut: 'Cmd/Ctrl + 1',
+ action: isDE ? 'Wecker öffnen' : 'Open Alarms',
+ },
+ {
+ shortcut: 'Cmd/Ctrl + 2',
+ action: isDE ? 'Timer öffnen' : 'Open Timers',
+ },
+ {
+ shortcut: 'Cmd/Ctrl + 3',
+ action: isDE ? 'Stoppuhr öffnen' : 'Open Stopwatch',
+ },
+ {
+ shortcut: 'Cmd/Ctrl + 4',
+ action: isDE ? 'Pomodoro öffnen' : 'Open Pomodoro',
+ },
+ {
+ shortcut: 'Cmd/Ctrl + 5',
+ action: isDE ? 'Weltzeituhr öffnen' : 'Open World Clock',
+ },
+ {
+ shortcut: 'Cmd/Ctrl + 6',
+ action: isDE ? 'Life Clock öffnen' : 'Open Life Clock',
+ },
+ {
+ shortcut: 'Cmd/Ctrl + 7',
+ action: isDE ? 'Statistiken öffnen' : 'Open Statistics',
+ },
+ {
+ shortcut: 'Cmd/Ctrl + 8',
+ action: isDE ? 'Einstellungen öffnen' : 'Open Settings',
+ },
+ ],
+ },
+ ],
+ gettingStarted: [],
+ changelog: [],
+ contact: {
+ id: 'contact-support',
+ title: isDE ? 'Support kontaktieren' : 'Contact Support',
+ content: isDE
+ ? 'Unser Support-Team hilft dir bei allen Fragen rund um Clock.
'
+ : 'Our support team is here to help you with any questions about Clock.
',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ supportEmail: 'support@mana.how',
+ documentationUrl: 'https://mana.how/docs',
+ responseTime: isDE ? 'Normalerweise innerhalb von 24 Stunden' : 'Usually within 24 hours',
+ },
+ };
+}
diff --git a/apps/clock/apps/web/src/routes/(app)/help/+page.svelte b/apps/clock/apps/web/src/routes/(app)/help/+page.svelte
new file mode 100644
index 000000000..c04e19694
--- /dev/null
+++ b/apps/clock/apps/web/src/routes/(app)/help/+page.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {translations.title} | Clock
+
+
+ goto('/')}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>
diff --git a/apps/context/apps/web/package.json b/apps/context/apps/web/package.json
index 004c5d74f..f2f6be313 100644
--- a/apps/context/apps/web/package.json
+++ b/apps/context/apps/web/package.json
@@ -41,6 +41,8 @@
"@manacore/shared-feedback-service": "workspace:*",
"@manacore/shared-feedback-ui": "workspace:*",
"@manacore/shared-i18n": "workspace:*",
+ "@manacore/shared-help-types": "workspace:*",
+ "@manacore/shared-help-ui": "workspace:*",
"@manacore/shared-icons": "workspace:*",
"@manacore/shared-profile-ui": "workspace:*",
"@manacore/shared-stores": "workspace:*",
diff --git a/apps/context/apps/web/src/lib/content/help/index.ts b/apps/context/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..32bc9f7a5
--- /dev/null
+++ b/apps/context/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,163 @@
+/**
+ * Help content for Context app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getContextHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-spaces',
+ question: isDE ? 'Was sind Spaces?' : 'What are Spaces?',
+ answer: isDE
+ ? 'Spaces sind Arbeitsbereiche, in denen du Dokumente organisierst:
- Erstelle separate Spaces für verschiedene Projekte oder Themen
- Jeder Space hat eigene Dokumente, Einstellungen und Zugriffsrechte
- Wechsle schnell zwischen Spaces über die Seitenleiste
- Teile Spaces mit Teammitgliedern für gemeinsames Arbeiten
'
+ : 'Spaces are workspaces where you organize your documents:
- Create separate Spaces for different projects or topics
- Each Space has its own documents, settings, and access rights
- Quickly switch between Spaces via the sidebar
- Share Spaces with team members for collaboration
',
+ category: 'features',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: isDE
+ ? ['spaces', 'arbeitsbereiche', 'organisation']
+ : ['spaces', 'workspaces', 'organization'],
+ },
+ {
+ id: 'faq-ai-generation',
+ question: isDE ? 'Wie funktioniert die KI-Generierung?' : 'How does AI generation work?',
+ answer: isDE
+ ? 'Context nutzt mehrere KI-Modelle für die Dokumentenerstellung:
- Wähle ein Dokument oder erstelle ein neues
- Beschreibe, was du generieren möchtest, oder markiere Text für Überarbeitung
- Wähle das gewünschte KI-Modell (z.B. GPT-4, Claude, Gemini)
- Die KI generiert den Inhalt direkt in deinem Dokument
Du kannst auch bestehende Texte umschreiben, zusammenfassen oder erweitern lassen.
'
+ : 'Context uses multiple AI models for document creation:
- Select a document or create a new one
- Describe what you want to generate, or highlight text for revision
- Choose the desired AI model (e.g. GPT-4, Claude, Gemini)
- The AI generates content directly in your document
You can also have existing text rewritten, summarized, or expanded.
',
+ category: 'features',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['ki', 'generierung', 'dokument'] : ['ai', 'generation', 'document'],
+ },
+ {
+ id: 'faq-models',
+ question: isDE ? 'Welche KI-Modelle sind verfügbar?' : 'What AI models are available?',
+ answer: isDE
+ ? 'Context unterstützt mehrere führende KI-Modelle:
- OpenAI GPT-4: Vielseitig und leistungsstark für komplexe Aufgaben
- Anthropic Claude: Besonders gut bei langen Dokumenten und Analysen
- Google Gemini: Schnell und effizient für alltägliche Aufgaben
Jedes Modell hat unterschiedliche Stärken. Du kannst das Modell pro Generierung wechseln, um die besten Ergebnisse zu erzielen.
'
+ : 'Context supports multiple leading AI models:
- OpenAI GPT-4: Versatile and powerful for complex tasks
- Anthropic Claude: Especially good with long documents and analysis
- Google Gemini: Fast and efficient for everyday tasks
Each model has different strengths. You can switch models per generation to achieve the best results.
',
+ category: 'technical',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['modelle', 'gpt', 'claude', 'gemini'] : ['models', 'gpt', 'claude', 'gemini'],
+ },
+ {
+ id: 'faq-versioning',
+ question: isDE
+ ? 'Wie funktioniert die Dokumentenversionierung?'
+ : 'How does document versioning work?',
+ answer: isDE
+ ? 'Context speichert automatisch Versionen deiner Dokumente:
- Jede Änderung wird als neue Version gespeichert
- Vergleiche zwei Versionen nebeneinander mit Diff-Ansicht
- Stelle jede frühere Version mit einem Klick wieder her
- KI-Generierungen werden als separate Versionen markiert
So kannst du jederzeit zu einem früheren Stand zurückkehren, ohne Arbeit zu verlieren.
'
+ : 'Context automatically saves versions of your documents:
- Every change is saved as a new version
- Compare two versions side by side with diff view
- Restore any previous version with one click
- AI generations are marked as separate versions
This way you can always go back to a previous state without losing work.
',
+ category: 'features',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ tags: isDE
+ ? ['versionierung', 'historie', 'wiederherstellen']
+ : ['versioning', 'history', 'restore'],
+ },
+ {
+ id: 'faq-privacy',
+ question: isDE ? 'Wie werden meine Daten geschützt?' : 'How is my data protected?',
+ answer: isDE
+ ? 'Deine Daten sind sicher:
- Verschlüsselung: Alle Daten werden bei der Übertragung (TLS) und im Ruhezustand verschlüsselt
- DSGVO-konform: Wir halten uns an die EU-Datenschutzverordnung
- KI-Datenschutz: Deine Dokumente werden nicht zum Trainieren von KI-Modellen verwendet
- Datenexport: Du kannst jederzeit alle Dokumente exportieren
'
+ : 'Your data is secure:
- Encryption: All data is encrypted in transit (TLS) and at rest
- GDPR compliant: We follow EU data protection regulations
- AI privacy: Your documents are not used to train AI models
- Data export: You can export all documents at any time
',
+ category: 'privacy',
+ order: 5,
+ language: isDE ? 'de' : 'en',
+ featured: true,
+ tags: isDE ? ['datenschutz', 'dsgvo', 'sicherheit'] : ['privacy', 'gdpr', 'security'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-ai-generation',
+ title: isDE ? 'KI-Dokumentengenerierung' : 'AI Document Generation',
+ description: isDE
+ ? 'Erstelle und überarbeite Dokumente mit mehreren KI-Modellen'
+ : 'Create and revise documents with multiple AI models',
+ icon: '🤖',
+ category: 'core',
+ highlights: isDE
+ ? [
+ 'Multi-Modell-Unterstützung',
+ 'Inline-Generierung',
+ 'Umschreiben & Zusammenfassen',
+ 'Kontextbewusst',
+ ]
+ : ['Multi-model support', 'Inline generation', 'Rewrite & summarize', 'Context-aware'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-spaces',
+ title: 'Spaces',
+ description: isDE
+ ? 'Organisiere Dokumente in thematischen Arbeitsbereichen'
+ : 'Organize documents in thematic workspaces',
+ icon: '📂',
+ category: 'core',
+ highlights: isDE
+ ? ['Projekt-Organisation', 'Zugriffsrechte', 'Team-Zusammenarbeit', 'Schneller Wechsel']
+ : ['Project organization', 'Access rights', 'Team collaboration', 'Quick switching'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-versioning',
+ title: isDE ? 'Dokumentenversionierung' : 'Document Versioning',
+ description: isDE
+ ? 'Automatische Versionierung mit Diff-Ansicht und Wiederherstellung'
+ : 'Automatic versioning with diff view and restoration',
+ icon: '📋',
+ category: 'advanced',
+ highlights: isDE
+ ? [
+ 'Automatische Versionen',
+ 'Diff-Vergleich',
+ 'Ein-Klick-Wiederherstellung',
+ 'KI-Versionsmarker',
+ ]
+ : ['Automatic versions', 'Diff comparison', 'One-click restore', 'AI version markers'],
+ content: '',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-multi-model',
+ title: isDE ? 'Multi-Modell-Unterstützung' : 'Multi-Model Support',
+ description: isDE
+ ? 'Wähle aus GPT-4, Claude, Gemini und weiteren KI-Modellen'
+ : 'Choose from GPT-4, Claude, Gemini, and more AI models',
+ icon: '🧠',
+ category: 'advanced',
+ highlights: isDE
+ ? ['GPT-4', 'Claude', 'Gemini', 'Modellvergleich']
+ : ['GPT-4', 'Claude', 'Gemini', 'Model comparison'],
+ content: '',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ },
+ ],
+ shortcuts: [],
+ gettingStarted: [],
+ changelog: [],
+ contact: {
+ id: 'contact-support',
+ title: isDE ? 'Support kontaktieren' : 'Contact Support',
+ content: isDE
+ ? 'Unser Support-Team hilft dir bei allen Fragen rund um Context.
'
+ : 'Our support team is here to help you with any questions about Context.
',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ supportEmail: 'support@mana.how',
+ documentationUrl: 'https://mana.how/docs',
+ responseTime: isDE ? 'Normalerweise innerhalb von 24 Stunden' : 'Usually within 24 hours',
+ },
+ };
+}
diff --git a/apps/context/apps/web/src/routes/(app)/help/+page.svelte b/apps/context/apps/web/src/routes/(app)/help/+page.svelte
new file mode 100644
index 000000000..4789ab212
--- /dev/null
+++ b/apps/context/apps/web/src/routes/(app)/help/+page.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {translations.title} | Context
+
+
+ goto('/')}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>
diff --git a/apps/manacore/apps/web/package.json b/apps/manacore/apps/web/package.json
index 5bae124f3..e5d7005cd 100644
--- a/apps/manacore/apps/web/package.json
+++ b/apps/manacore/apps/web/package.json
@@ -52,6 +52,8 @@
"@manacore/shared-feedback-service": "workspace:*",
"@manacore/shared-feedback-ui": "workspace:*",
"@manacore/shared-i18n": "workspace:*",
+ "@manacore/shared-help-types": "workspace:*",
+ "@manacore/shared-help-ui": "workspace:*",
"@manacore/shared-icons": "workspace:*",
"@manacore/shared-profile-ui": "workspace:*",
"@manacore/shared-stores": "workspace:*",
diff --git a/apps/manacore/apps/web/src/lib/content/help/index.ts b/apps/manacore/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..a4e65b8ef
--- /dev/null
+++ b/apps/manacore/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,153 @@
+/**
+ * Help content for ManaCore app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getManaCoreHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-what-is-manacore',
+ question: isDE ? 'Was ist ManaCore?' : 'What is ManaCore?',
+ answer: isDE
+ ? 'ManaCore ist die zentrale Plattform des Mana-Ökosystems:
- Verwalte dein Konto und Profil an einem zentralen Ort
- Greife auf alle Mana-Apps zu — Chat, Picture, Zitare, Clock und mehr
- Nutze Single Sign-On (SSO), um dich einmal anzumelden und überall eingeloggt zu sein
- Erstelle und verwalte Organisationen für Teamarbeit
'
+ : 'ManaCore is the central platform of the Mana ecosystem:
- Manage your account and profile in one central place
- Access all Mana apps — Chat, Picture, Zitare, Clock, and more
- Use Single Sign-On (SSO) to log in once and be authenticated everywhere
- Create and manage organizations for teamwork
',
+ category: 'general',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['manacore', 'plattform', 'ökosystem'] : ['manacore', 'platform', 'ecosystem'],
+ },
+ {
+ id: 'faq-sso',
+ question: isDE
+ ? 'Wie funktioniert Single Sign-On (SSO)?'
+ : 'How does Single Sign-On (SSO) work?',
+ answer: isDE
+ ? 'Single Sign-On ermöglicht dir, dich einmal anzumelden und alle Mana-Apps zu nutzen:
- Melde dich bei einer beliebigen Mana-App an (z.B. ManaCore, Chat, Picture)
- Dein Login wird automatisch auf alle verbundenen Apps übertragen
- Du bleibst eingeloggt, bis du dich explizit abmeldest
SSO verwendet sichere JWT-Tokens mit EdDSA-Verschlüsselung. Dein Passwort wird nur einmal beim Login übertragen.
'
+ : 'Single Sign-On lets you log in once and use all Mana apps:
- Sign in to any Mana app (e.g. ManaCore, Chat, Picture)
- Your login is automatically shared across all connected apps
- You stay logged in until you explicitly sign out
SSO uses secure JWT tokens with EdDSA encryption. Your password is only transmitted once during login.
',
+ category: 'account',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ tags: isDE
+ ? ['sso', 'anmeldung', 'login', 'authentifizierung']
+ : ['sso', 'login', 'authentication', 'sign-in'],
+ },
+ {
+ id: 'faq-organizations',
+ question: isDE ? 'Wie verwalte ich Organisationen?' : 'How do I manage organizations?',
+ answer: isDE
+ ? 'Organisationen ermöglichen Teamarbeit im Mana-Ökosystem:
- Erstellen: Gehe zu Einstellungen > Organisationen > Neue Organisation
- Mitglieder einladen: Lade Teammitglieder per E-Mail ein und weise Rollen zu (Admin, Mitglied)
- Apps verwalten: Aktiviere oder deaktiviere Apps pro Organisation
- Landing Page: Erstelle eine eigene Landingpage unter
slug.mana.how
'
+ : 'Organizations enable teamwork in the Mana ecosystem:
- Create: Go to Settings > Organizations > New Organization
- Invite members: Invite team members by email and assign roles (Admin, Member)
- Manage apps: Enable or disable apps per organization
- Landing page: Create a custom landing page at
slug.mana.how
',
+ category: 'features',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: isDE
+ ? ['organisation', 'team', 'mitglieder', 'verwalten']
+ : ['organization', 'team', 'members', 'manage'],
+ },
+ {
+ id: 'faq-switch-apps',
+ question: isDE ? 'Wie wechsle ich zwischen Apps?' : 'How do I switch between apps?',
+ answer: isDE
+ ? 'Du kannst schnell zwischen Mana-Apps wechseln:
- App-Übersicht: Klicke auf das App-Menü in der Navigation, um alle verfügbaren Apps zu sehen
- Direkt-Links: Jede App hat ihre eigene URL (z.B. chat.mana.how, picture.mana.how)
- Dashboard: Das ManaCore-Dashboard zeigt alle deine Apps mit Schnellzugriff
Dein Login bleibt dank SSO beim Wechsel zwischen Apps erhalten.
'
+ : 'You can quickly switch between Mana apps:
- App overview: Click the app menu in the navigation to see all available apps
- Direct links: Each app has its own URL (e.g. chat.mana.how, picture.mana.how)
- Dashboard: The ManaCore dashboard shows all your apps with quick access
Your login persists when switching between apps thanks to SSO.
',
+ category: 'general',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['wechseln', 'apps', 'navigation'] : ['switch', 'apps', 'navigation'],
+ },
+ {
+ id: 'faq-privacy',
+ question: isDE ? 'Wie werden meine Daten geschützt?' : 'How is my data protected?',
+ answer: isDE
+ ? 'Deine Daten sind sicher:
- Verschlüsselung: Alle Daten werden bei der Übertragung (TLS) und im Ruhezustand verschlüsselt
- DSGVO-konform: Wir halten uns an die EU-Datenschutzverordnung
- Datenhoheit: Deine Daten gehören dir — exportiere oder lösche sie jederzeit
- Kein Datenverkauf: Deine Daten werden nie an Dritte verkauft
- Self-Hosted: ManaCore läuft auf unserer eigenen Infrastruktur
'
+ : 'Your data is secure:
- Encryption: All data is encrypted in transit (TLS) and at rest
- GDPR compliant: We follow EU data protection regulations
- Data sovereignty: Your data belongs to you — export or delete it anytime
- No data selling: Your data is never sold to third parties
- Self-hosted: ManaCore runs on our own infrastructure
',
+ category: 'privacy',
+ order: 5,
+ language: isDE ? 'de' : 'en',
+ featured: true,
+ tags: isDE ? ['datenschutz', 'dsgvo', 'sicherheit'] : ['privacy', 'gdpr', 'security'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-sso',
+ title: 'Single Sign-On',
+ description: isDE
+ ? 'Einmal anmelden und alle Mana-Apps nutzen'
+ : 'Sign in once and use all Mana apps',
+ icon: '🔐',
+ category: 'core',
+ highlights: isDE
+ ? ['Ein Login für alles', 'EdDSA JWT-Tokens', 'Sichere Sitzungen', 'Automatischer Logout']
+ : ['One login for everything', 'EdDSA JWT tokens', 'Secure sessions', 'Automatic logout'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-app-ecosystem',
+ title: isDE ? 'App-Ökosystem' : 'App Ecosystem',
+ description: isDE
+ ? 'Zugang zu allen Mana-Apps über eine zentrale Plattform'
+ : 'Access all Mana apps from one central platform',
+ icon: '🌐',
+ category: 'core',
+ highlights: isDE
+ ? ['App-Übersicht', 'Schnellzugriff', 'Einheitliches Design', 'Verbundene Daten']
+ : ['App overview', 'Quick access', 'Unified design', 'Connected data'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-organizations',
+ title: isDE ? 'Organisationen & Teams' : 'Organizations & Teams',
+ description: isDE
+ ? 'Erstelle Organisationen und verwalte Teammitglieder und Rollen'
+ : 'Create organizations and manage team members and roles',
+ icon: '👥',
+ category: 'advanced',
+ highlights: isDE
+ ? ['Rollenbasierter Zugriff', 'Team-Einladungen', 'App-Verwaltung', 'Landing Pages']
+ : ['Role-based access', 'Team invitations', 'App management', 'Landing pages'],
+ content: '',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-unified-profile',
+ title: isDE ? 'Einheitliches Profil' : 'Unified Profile',
+ description: isDE
+ ? 'Verwalte dein Profil, Einstellungen und Sicherheit an einem Ort'
+ : 'Manage your profile, settings, and security in one place',
+ icon: '👤',
+ category: 'core',
+ highlights: isDE
+ ? ['Profilbild', 'Sicherheitseinstellungen', 'Sitzungsverwaltung', 'Datenexport']
+ : ['Profile picture', 'Security settings', 'Session management', 'Data export'],
+ content: '',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ },
+ ],
+ shortcuts: [],
+ gettingStarted: [],
+ changelog: [],
+ contact: {
+ id: 'contact-support',
+ title: isDE ? 'Support kontaktieren' : 'Contact Support',
+ content: isDE
+ ? 'Unser Support-Team hilft dir bei allen Fragen rund um ManaCore.
'
+ : 'Our support team is here to help you with any questions about ManaCore.
',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ supportEmail: 'support@mana.how',
+ documentationUrl: 'https://mana.how/docs',
+ responseTime: isDE ? 'Normalerweise innerhalb von 24 Stunden' : 'Usually within 24 hours',
+ },
+ };
+}
diff --git a/apps/manacore/apps/web/src/routes/(app)/help/+page.svelte b/apps/manacore/apps/web/src/routes/(app)/help/+page.svelte
new file mode 100644
index 000000000..e990c5a22
--- /dev/null
+++ b/apps/manacore/apps/web/src/routes/(app)/help/+page.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {translations.title} | ManaCore
+
+
+ goto('/dashboard')}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>
diff --git a/apps/manadeck/apps/web/package.json b/apps/manadeck/apps/web/package.json
index f04130c3c..9ae70ac05 100644
--- a/apps/manadeck/apps/web/package.json
+++ b/apps/manadeck/apps/web/package.json
@@ -39,6 +39,8 @@
"@manacore/shared-feedback-service": "workspace:*",
"@manacore/shared-feedback-ui": "workspace:*",
"@manacore/shared-i18n": "workspace:*",
+ "@manacore/shared-help-types": "workspace:*",
+ "@manacore/shared-help-ui": "workspace:*",
"@manacore/shared-icons": "workspace:*",
"@manacore/shared-profile-ui": "workspace:*",
"@manacore/shared-stores": "workspace:*",
diff --git a/apps/manadeck/apps/web/src/lib/content/help/index.ts b/apps/manadeck/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..c91bdd772
--- /dev/null
+++ b/apps/manadeck/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,151 @@
+/**
+ * Help content for ManaDeck app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getManaDeckHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-create-decks',
+ question: isDE ? 'Wie erstelle ich Decks und Karten?' : 'How do I create decks and cards?',
+ answer: isDE
+ ? 'So erstellst du Decks und Karten in ManaDeck:
- Klicke auf Neues Deck und gib einen Namen und eine Beschreibung ein
- Öffne das Deck und klicke auf Karte hinzufügen
- Gib die Vorderseite (Frage) und Rückseite (Antwort) ein
- Optional: Füge Bilder, Tags oder Notizen hinzu
Du kannst auch mehrere Karten auf einmal importieren — siehe Import & Export.
'
+ : 'Here is how to create decks and cards in ManaDeck:
- Click New Deck and enter a name and description
- Open the deck and click Add Card
- Enter the front (question) and back (answer)
- Optional: Add images, tags, or notes
You can also import multiple cards at once — see Import & Export.
',
+ category: 'features',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['deck', 'karten', 'erstellen'] : ['deck', 'cards', 'create'],
+ },
+ {
+ id: 'faq-spaced-repetition',
+ question: isDE ? 'Wie funktioniert Spaced Repetition?' : 'How does spaced repetition work?',
+ answer: isDE
+ ? 'Spaced Repetition (verteiltes Wiederholen) ist eine wissenschaftlich fundierte Lernmethode:
- Karten, die du gut kannst, werden in größeren Abständen gezeigt
- Karten, die du noch lernst, erscheinen häufiger
- Der Algorithmus passt sich automatisch an dein Lerntempo an
- Nach jeder Wiederholung bewertest du dein Wissen: Nochmal, Schwer, Gut oder Leicht
So lernst du effizienter und behältst Wissen langfristig.
'
+ : 'Spaced repetition is a scientifically proven learning method:
- Cards you know well are shown at increasing intervals
- Cards you are still learning appear more frequently
- The algorithm automatically adapts to your learning pace
- After each review, rate your knowledge: Again, Hard, Good, or Easy
This way you learn more efficiently and retain knowledge long-term.
',
+ category: 'features',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ tags: isDE
+ ? ['spaced-repetition', 'lernen', 'algorithmus', 'wiederholen']
+ : ['spaced-repetition', 'learning', 'algorithm', 'review'],
+ },
+ {
+ id: 'faq-study-sessions',
+ question: isDE ? 'Wie starte ich eine Lernsitzung?' : 'How do I start a study session?',
+ answer: isDE
+ ? 'So startest du eine Lernsitzung:
- Wähle ein Deck aus deiner Bibliothek
- Klicke auf Lernen — die fälligen Karten werden automatisch ausgewählt
- Für jede Karte: Lies die Frage, überlege die Antwort, decke die Rückseite auf
- Bewerte dein Wissen mit den Buttons: Nochmal, Schwer, Gut, Leicht
ManaDeck zeigt dir an, wie viele Karten neu, fällig und zu wiederholen sind.
'
+ : 'Here is how to start a study session:
- Select a deck from your library
- Click Study — due cards are automatically selected
- For each card: Read the question, think of the answer, reveal the back
- Rate your knowledge with the buttons: Again, Hard, Good, Easy
ManaDeck shows you how many cards are new, due, and to review.
',
+ category: 'features',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['lernen', 'sitzung', 'wiederholen'] : ['study', 'session', 'review'],
+ },
+ {
+ id: 'faq-import-export',
+ question: isDE
+ ? 'Kann ich Karten importieren und exportieren?'
+ : 'Can I import and export cards?',
+ answer: isDE
+ ? 'ManaDeck unterstützt verschiedene Import- und Exportformate:
- CSV: Importiere Karten aus Tabellenkalkulationen (Vorderseite, Rückseite, Tags)
- Anki-Format: Importiere bestehende Anki-Decks (.apkg)
- JSON: Für programmatischen Zugriff und Backup
- Export: Exportiere einzelne Decks oder deine gesamte Bibliothek
'
+ : 'ManaDeck supports various import and export formats:
- CSV: Import cards from spreadsheets (front, back, tags)
- Anki format: Import existing Anki decks (.apkg)
- JSON: For programmatic access and backup
- Export: Export individual decks or your entire library
',
+ category: 'technical',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['import', 'export', 'csv', 'anki'] : ['import', 'export', 'csv', 'anki'],
+ },
+ {
+ id: 'faq-privacy',
+ question: isDE ? 'Wie werden meine Daten geschützt?' : 'How is my data protected?',
+ answer: isDE
+ ? 'Deine Daten sind sicher:
- Verschlüsselung: Alle Daten werden bei der Übertragung (TLS) verschlüsselt
- DSGVO-konform: Wir halten uns an die EU-Datenschutzverordnung
- Kein Datenverkauf: Deine Lernkarten und Fortschritte werden nie an Dritte verkauft
- Datenexport: Du kannst jederzeit alle Decks und Karten exportieren
'
+ : 'Your data is secure:
- Encryption: All data is encrypted in transit (TLS)
- GDPR compliant: We follow EU data protection regulations
- No data selling: Your flashcards and progress are never sold to third parties
- Data export: You can export all decks and cards at any time
',
+ category: 'privacy',
+ order: 5,
+ language: isDE ? 'de' : 'en',
+ featured: true,
+ tags: isDE ? ['datenschutz', 'dsgvo', 'sicherheit'] : ['privacy', 'gdpr', 'security'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-deck-management',
+ title: isDE ? 'Deck-Verwaltung' : 'Deck Management',
+ description: isDE
+ ? 'Erstelle, organisiere und verwalte deine Karteikarten-Decks'
+ : 'Create, organize, and manage your flashcard decks',
+ icon: '🃏',
+ category: 'core',
+ highlights: isDE
+ ? ['Decks & Unterdecks', 'Tags & Kategorien', 'Bilder auf Karten', 'Deck-Statistiken']
+ : ['Decks & sub-decks', 'Tags & categories', 'Images on cards', 'Deck statistics'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-spaced-repetition',
+ title: 'Spaced Repetition',
+ description: isDE
+ ? 'Wissenschaftlich fundierter Algorithmus für effizientes Lernen'
+ : 'Scientifically proven algorithm for efficient learning',
+ icon: '🧠',
+ category: 'core',
+ highlights: isDE
+ ? ['Adaptiver Algorithmus', 'Optimale Intervalle', 'Lernstatistiken', 'Tägliche Ziele']
+ : ['Adaptive algorithm', 'Optimal intervals', 'Learning statistics', 'Daily goals'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-study-sessions',
+ title: isDE ? 'Lernsitzungen' : 'Study Sessions',
+ description: isDE
+ ? 'Starte fokussierte Lernsitzungen mit fälligen Karten'
+ : 'Start focused study sessions with due cards',
+ icon: '📖',
+ category: 'core',
+ highlights: isDE
+ ? ['Fällige Karten', 'Bewertungssystem', 'Fortschrittsanzeige', 'Sitzungsstatistiken']
+ : ['Due cards', 'Rating system', 'Progress indicator', 'Session statistics'],
+ content: '',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-import-export',
+ title: 'Import & Export',
+ description: isDE
+ ? 'Importiere aus CSV, Anki und mehr — exportiere jederzeit'
+ : 'Import from CSV, Anki, and more — export anytime',
+ icon: '📦',
+ category: 'advanced',
+ highlights: isDE
+ ? ['CSV-Import', 'Anki-Kompatibilität', 'JSON-Export', 'Bibliotheks-Backup']
+ : ['CSV import', 'Anki compatibility', 'JSON export', 'Library backup'],
+ content: '',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ },
+ ],
+ shortcuts: [],
+ gettingStarted: [],
+ changelog: [],
+ contact: {
+ id: 'contact-support',
+ title: isDE ? 'Support kontaktieren' : 'Contact Support',
+ content: isDE
+ ? 'Unser Support-Team hilft dir bei allen Fragen rund um ManaDeck.
'
+ : 'Our support team is here to help you with any questions about ManaDeck.
',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ supportEmail: 'support@mana.how',
+ documentationUrl: 'https://mana.how/docs',
+ responseTime: isDE ? 'Normalerweise innerhalb von 24 Stunden' : 'Usually within 24 hours',
+ },
+ };
+}
diff --git a/apps/manadeck/apps/web/src/routes/(app)/help/+page.svelte b/apps/manadeck/apps/web/src/routes/(app)/help/+page.svelte
new file mode 100644
index 000000000..95ca0bc4f
--- /dev/null
+++ b/apps/manadeck/apps/web/src/routes/(app)/help/+page.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {translations.title} | ManaDeck
+
+
+ goto('/')}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>
diff --git a/apps/nutriphi/apps/web/package.json b/apps/nutriphi/apps/web/package.json
index e6d9c054f..7a437a150 100644
--- a/apps/nutriphi/apps/web/package.json
+++ b/apps/nutriphi/apps/web/package.json
@@ -47,6 +47,8 @@
"@manacore/shared-feedback-service": "workspace:*",
"@manacore/shared-feedback-ui": "workspace:*",
"@manacore/shared-i18n": "workspace:*",
+ "@manacore/shared-help-types": "workspace:*",
+ "@manacore/shared-help-ui": "workspace:*",
"@manacore/shared-icons": "workspace:*",
"@manacore/shared-profile-ui": "workspace:*",
"@manacore/shared-subscription-ui": "workspace:*",
diff --git a/apps/nutriphi/apps/web/src/lib/content/help/index.ts b/apps/nutriphi/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..29bfb3f2b
--- /dev/null
+++ b/apps/nutriphi/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,158 @@
+/**
+ * Help content for NutriPhi app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getNutriPhiHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-log-meals',
+ question: isDE ? 'Wie erfasse ich meine Mahlzeiten?' : 'How do I log my meals?',
+ answer: isDE
+ ? 'Du kannst Mahlzeiten auf zwei Arten erfassen:
- Foto-Analyse: Mache ein Foto deiner Mahlzeit — die KI erkennt automatisch die Lebensmittel und schätzt Nährwerte
- Manuelle Eingabe: Suche nach Lebensmitteln in der Datenbank und gib Portionsgrößen ein
Nach der Erfassung kannst du die erkannten Lebensmittel und Mengen anpassen, bevor du speicherst.
'
+ : 'You can log meals in two ways:
- Photo analysis: Take a photo of your meal — the AI automatically recognizes the food items and estimates nutritional values
- Manual entry: Search for food items in the database and enter portion sizes
After logging, you can adjust the recognized food items and quantities before saving.
',
+ category: 'features',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: isDE
+ ? ['mahlzeit', 'erfassen', 'foto', 'eingabe']
+ : ['meal', 'log', 'photo', 'entry'],
+ },
+ {
+ id: 'faq-nutrients',
+ question: isDE ? 'Welche Nährwerte werden erfasst?' : 'What nutrients are tracked?',
+ answer: isDE
+ ? 'NutriPhi erfasst umfassende Makro- und Mikronährstoffe:
- Makronährstoffe: Kalorien, Protein, Kohlenhydrate, Fett, Ballaststoffe
- Mikronährstoffe: Vitamine (A, B, C, D, E, K), Mineralstoffe (Eisen, Kalzium, Zink, Magnesium)
- Weitere: Zucker, gesättigte Fettsäuren, Natrium, Cholesterin
Dein Tagesbericht zeigt dir, wie nah du an deinen persönlichen Zielen bist.
'
+ : 'NutriPhi tracks comprehensive macro and micronutrients:
- Macronutrients: Calories, protein, carbohydrates, fat, fiber
- Micronutrients: Vitamins (A, B, C, D, E, K), minerals (iron, calcium, zinc, magnesium)
- Other: Sugar, saturated fat, sodium, cholesterol
Your daily report shows how close you are to your personal goals.
',
+ category: 'features',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ tags: isDE
+ ? ['nährwerte', 'makros', 'mikros', 'kalorien']
+ : ['nutrients', 'macros', 'micros', 'calories'],
+ },
+ {
+ id: 'faq-ai-analysis',
+ question: isDE ? 'Wie funktioniert die KI-Analyse?' : 'How does the AI analysis work?',
+ answer: isDE
+ ? 'Die KI-gestützte Foto-Analyse funktioniert in drei Schritten:
- Erkennung: Die KI identifiziert alle sichtbaren Lebensmittel auf dem Foto
- Portionsschätzung: Anhand der Bildgröße und bekannter Referenzobjekte wird die Menge geschätzt
- Nährwertberechnung: Die Nährwerte werden aus unserer Datenbank abgerufen und berechnet
Die Genauigkeit liegt bei ca. 85-90%. Du kannst die Ergebnisse immer manuell korrigieren.
'
+ : 'The AI-powered photo analysis works in three steps:
- Recognition: The AI identifies all visible food items in the photo
- Portion estimation: Based on image size and known reference objects, quantities are estimated
- Nutrition calculation: Nutritional values are retrieved from our database and calculated
Accuracy is approximately 85-90%. You can always manually correct the results.
',
+ category: 'technical',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: isDE
+ ? ['ki', 'analyse', 'foto', 'erkennung']
+ : ['ai', 'analysis', 'photo', 'recognition'],
+ },
+ {
+ id: 'faq-favorites',
+ question: isDE ? 'Wie nutze ich Favoriten-Mahlzeiten?' : 'How do I use favorite meals?',
+ answer: isDE
+ ? 'Favoriten beschleunigen die tägliche Erfassung:
- Speichere häufig gegessene Mahlzeiten als Favoriten
- Füge eine Favoriten-Mahlzeit mit einem Klick zu deinem Tageslog hinzu
- Passe die Portionsgröße beim Hinzufügen an
- Erstelle Favoriten aus vergangenen Mahlzeiten in deiner Historie
'
+ : 'Favorites speed up daily logging:
- Save frequently eaten meals as favorites
- Add a favorite meal to your daily log with one click
- Adjust the portion size when adding
- Create favorites from past meals in your history
',
+ category: 'features',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['favoriten', 'mahlzeiten', 'schnell'] : ['favorites', 'meals', 'quick'],
+ },
+ {
+ id: 'faq-privacy',
+ question: isDE ? 'Wie werden meine Daten geschützt?' : 'How is my data protected?',
+ answer: isDE
+ ? 'Deine Daten sind sicher:
- Verschlüsselung: Alle Daten werden bei der Übertragung (TLS) verschlüsselt
- DSGVO-konform: Wir halten uns an die EU-Datenschutzverordnung
- Foto-Datenschutz: Mahlzeitenfotos werden nach der Analyse nur auf deinem Wunsch gespeichert
- Gesundheitsdaten: Deine Ernährungsdaten werden nie an Dritte verkauft
- Datenexport: Du kannst jederzeit alle Daten exportieren
'
+ : 'Your data is secure:
- Encryption: All data is encrypted in transit (TLS)
- GDPR compliant: We follow EU data protection regulations
- Photo privacy: Meal photos are only stored after analysis upon your request
- Health data: Your nutrition data is never sold to third parties
- Data export: You can export all data at any time
',
+ category: 'privacy',
+ order: 5,
+ language: isDE ? 'de' : 'en',
+ featured: true,
+ tags: isDE ? ['datenschutz', 'dsgvo', 'sicherheit'] : ['privacy', 'gdpr', 'security'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-photo-analysis',
+ title: isDE ? 'Foto-Analyse' : 'Photo Analysis',
+ description: isDE
+ ? 'Erfasse Mahlzeiten per Foto mit KI-gestützter Erkennung'
+ : 'Log meals by photo with AI-powered recognition',
+ icon: '📸',
+ category: 'core',
+ highlights: isDE
+ ? ['KI-Erkennung', 'Portionsschätzung', 'Sofort-Analyse', 'Manuelle Korrektur']
+ : ['AI recognition', 'Portion estimation', 'Instant analysis', 'Manual correction'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-macro-micro',
+ title: isDE ? 'Makro- & Mikro-Tracking' : 'Macro & Micro Tracking',
+ description: isDE
+ ? 'Verfolge Kalorien, Makros, Vitamine und Mineralstoffe'
+ : 'Track calories, macros, vitamins, and minerals',
+ icon: '📊',
+ category: 'core',
+ highlights: isDE
+ ? ['Kalorien & Makros', 'Vitamine & Mineralstoffe', 'Tägliche Ziele', 'Trendanalyse']
+ : ['Calories & macros', 'Vitamins & minerals', 'Daily goals', 'Trend analysis'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-ai-coaching',
+ title: isDE ? 'KI-Coaching' : 'AI Coaching',
+ description: isDE
+ ? 'Erhalte personalisierte Ernährungstipps und Empfehlungen'
+ : 'Receive personalized nutrition tips and recommendations',
+ icon: '🤖',
+ category: 'advanced',
+ highlights: isDE
+ ? ['Personalisierte Tipps', 'Nährstofflücken', 'Mahlzeitenvorschläge', 'Wochenbericht']
+ : ['Personalized tips', 'Nutrient gaps', 'Meal suggestions', 'Weekly report'],
+ content: '',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-favorites',
+ title: isDE ? 'Favoriten-Mahlzeiten' : 'Favorite Meals',
+ description: isDE
+ ? 'Speichere häufige Mahlzeiten für schnelle Erfassung'
+ : 'Save frequent meals for quick logging',
+ icon: '⭐',
+ category: 'core',
+ highlights: isDE
+ ? [
+ 'Ein-Klick-Erfassung',
+ 'Anpassbare Portionen',
+ 'Aus Historie erstellen',
+ 'Schnellzugriff',
+ ]
+ : ['One-click logging', 'Adjustable portions', 'Create from history', 'Quick access'],
+ content: '',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ },
+ ],
+ shortcuts: [],
+ gettingStarted: [],
+ changelog: [],
+ contact: {
+ id: 'contact-support',
+ title: isDE ? 'Support kontaktieren' : 'Contact Support',
+ content: isDE
+ ? 'Unser Support-Team hilft dir bei allen Fragen rund um NutriPhi.
'
+ : 'Our support team is here to help you with any questions about NutriPhi.
',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ supportEmail: 'support@mana.how',
+ documentationUrl: 'https://mana.how/docs',
+ responseTime: isDE ? 'Normalerweise innerhalb von 24 Stunden' : 'Usually within 24 hours',
+ },
+ };
+}
diff --git a/apps/nutriphi/apps/web/src/routes/help/+page.svelte b/apps/nutriphi/apps/web/src/routes/help/+page.svelte
new file mode 100644
index 000000000..77b620037
--- /dev/null
+++ b/apps/nutriphi/apps/web/src/routes/help/+page.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {translations.title} | NutriPhi
+
+
+ goto('/')}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>
diff --git a/apps/photos/apps/web/src/lib/content/help/index.ts b/apps/photos/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..7ee1a5a86
--- /dev/null
+++ b/apps/photos/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,146 @@
+/**
+ * Help content for Photos app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getPhotosHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-gallery',
+ question: isDE ? 'Wie funktioniert die Galerie?' : 'How does the gallery work?',
+ answer: isDE
+ ? 'Die Photos-Galerie vereint alle Fotos aus deinen ManaCore-Apps an einem Ort. Bilder aus Chat, Picture, Contacts und anderen Apps werden automatisch gesammelt und chronologisch angezeigt.
- Fotos werden automatisch aus verbundenen Apps importiert
- Du kannst nach Datum, App oder Tags filtern
- Die Galerie aktualisiert sich automatisch, wenn neue Fotos hinzugefügt werden
'
+ : 'The Photos gallery unifies all photos from your ManaCore apps in one place. Images from Chat, Picture, Contacts, and other apps are automatically collected and displayed chronologically.
- Photos are automatically imported from connected apps
- You can filter by date, app, or tags
- The gallery updates automatically when new photos are added
',
+ category: 'features',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: ['gallery', 'photos', 'overview'],
+ },
+ {
+ id: 'faq-albums',
+ question: isDE ? 'Wie erstelle ich Alben?' : 'How do I create albums?',
+ answer: isDE
+ ? 'Alben helfen dir, deine Fotos zu organisieren:
- Öffne den Bereich Alben
- Tippe auf Neues Album
- Gib einen Namen und optional eine Beschreibung ein
- Wähle Fotos aus, die du hinzufügen möchtest
Du kannst Fotos auch direkt aus der Galerie zu bestehenden Alben hinzufügen.
'
+ : 'Albums help you organize your photos:
- Open the Albums section
- Tap New Album
- Enter a name and optional description
- Select photos you want to add
You can also add photos to existing albums directly from the gallery.
',
+ category: 'features',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ tags: ['albums', 'organize', 'create'],
+ },
+ {
+ id: 'faq-smart-albums',
+ question: isDE ? 'Was sind smarte Alben?' : 'What are smart albums?',
+ answer: isDE
+ ? 'Smarte Alben werden automatisch basierend auf Regeln erstellt und aktualisiert:
- Nach App — Alle Fotos aus einer bestimmten App (z.B. alle Chat-Bilder)
- Nach Datum — Fotos aus einem bestimmten Zeitraum
- Nach Tags — Fotos mit bestimmten Tags
Smarte Alben aktualisieren sich automatisch, wenn neue Fotos den Kriterien entsprechen.
'
+ : 'Smart albums are automatically created and updated based on rules:
- By App — All photos from a specific app (e.g., all Chat images)
- By Date — Photos from a specific time period
- By Tags — Photos with specific tags
Smart albums update automatically when new photos match the criteria.
',
+ category: 'features',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: ['smart-albums', 'automatic', 'rules'],
+ },
+ {
+ id: 'faq-favorites',
+ question: isDE ? 'Wie funktionieren Favoriten?' : 'How do favorites work?',
+ answer: isDE
+ ? 'Markiere deine Lieblingsfotos als Favoriten, um sie schnell wiederzufinden:
- Klicke auf das Herz-Symbol auf einem Foto, um es als Favorit zu markieren
- Alle Favoriten findest du im Bereich Favoriten
- Favoriten werden über alle Geräte synchronisiert
'
+ : 'Mark your favorite photos to find them quickly:
- Click the heart icon on a photo to mark it as a favorite
- Find all favorites in the Favorites section
- Favorites are synced across all your devices
',
+ category: 'features',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ tags: ['favorites', 'heart', 'bookmarks'],
+ },
+ {
+ id: 'faq-privacy',
+ question: isDE ? 'Wie werden meine Fotos geschützt?' : 'How are my photos protected?',
+ answer: isDE
+ ? 'Deine Fotos sind sicher bei ManaCore:
- Alle Fotos werden verschlüsselt übertragen und gespeichert
- Nur du hast Zugriff auf deine Galerie
- Fotos werden nicht für KI-Training oder andere Zwecke verwendet
- Du kannst jederzeit Fotos löschen — sie werden dann dauerhaft entfernt
'
+ : 'Your photos are safe with ManaCore:
- All photos are encrypted in transit and at rest
- Only you have access to your gallery
- Photos are not used for AI training or other purposes
- You can delete photos at any time — they are permanently removed
',
+ category: 'privacy',
+ order: 5,
+ language: isDE ? 'de' : 'en',
+ tags: ['privacy', 'security', 'data'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-gallery',
+ title: isDE ? 'Zentrale Galerie' : 'Central Gallery',
+ description: isDE
+ ? 'Alle Fotos aus deinen ManaCore-Apps an einem Ort, automatisch organisiert und durchsuchbar.'
+ : 'All photos from your ManaCore apps in one place, automatically organized and searchable.',
+ icon: '🖼️',
+ category: 'core',
+ highlights: isDE
+ ? ['App-übergreifende Sammlung', 'Chronologische Ansicht', 'Schnelle Suche']
+ : ['Cross-app collection', 'Chronological view', 'Fast search'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-albums',
+ title: isDE ? 'Alben' : 'Albums',
+ description: isDE
+ ? 'Erstelle benutzerdefinierte Alben, um deine Fotos nach Themen, Ereignissen oder Projekten zu organisieren.'
+ : 'Create custom albums to organize your photos by topics, events, or projects.',
+ icon: '📁',
+ category: 'core',
+ highlights: isDE
+ ? ['Benutzerdefinierte Alben', 'Drag & Drop', 'Geteilte Alben']
+ : ['Custom albums', 'Drag & drop', 'Shared albums'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-smart-albums',
+ title: isDE ? 'Smarte Alben' : 'Smart Albums',
+ description: isDE
+ ? 'Automatisch aktualisierte Alben basierend auf Regeln wie App-Quelle, Datum oder Tags.'
+ : 'Automatically updated albums based on rules like app source, date, or tags.',
+ icon: '🧠',
+ category: 'advanced',
+ highlights: isDE
+ ? ['Regelbasiert', 'Automatische Updates', 'Flexible Filter']
+ : ['Rule-based', 'Automatic updates', 'Flexible filters'],
+ content: '',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-tags-favorites',
+ title: isDE ? 'Tags & Favoriten' : 'Tags & Favorites',
+ description: isDE
+ ? 'Tagge und markiere Fotos als Favoriten für schnellen Zugriff und bessere Organisation.'
+ : 'Tag and mark photos as favorites for quick access and better organization.',
+ icon: '❤️',
+ category: 'core',
+ highlights: isDE
+ ? ['Benutzerdefinierte Tags', 'Favoriten-Sammlung', 'Geräteübergreifende Sync']
+ : ['Custom tags', 'Favorites collection', 'Cross-device sync'],
+ content: '',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ },
+ ],
+ shortcuts: [],
+ gettingStarted: [],
+ changelog: [],
+ contact: {
+ id: 'contact-support',
+ title: isDE ? 'Support kontaktieren' : 'Contact Support',
+ content: isDE
+ ? 'Unser Support-Team hilft dir bei allen Fragen rund um Photos.
'
+ : 'Our support team is here to help you with any questions about Photos.
',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ supportEmail: 'support@mana.how',
+ documentationUrl: 'https://mana.how/docs',
+ responseTime: isDE ? 'Normalerweise innerhalb von 24 Stunden' : 'Usually within 24 hours',
+ },
+ };
+}
diff --git a/apps/photos/apps/web/src/routes/(app)/help/+page.svelte b/apps/photos/apps/web/src/routes/(app)/help/+page.svelte
new file mode 100644
index 000000000..e3733bf37
--- /dev/null
+++ b/apps/photos/apps/web/src/routes/(app)/help/+page.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {translations.title} | Photos
+
+
+ goto('/')}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>
diff --git a/apps/planta/apps/web/package.json b/apps/planta/apps/web/package.json
index 5a60e5e6b..b5ca4178d 100644
--- a/apps/planta/apps/web/package.json
+++ b/apps/planta/apps/web/package.json
@@ -36,6 +36,8 @@
"@manacore/shared-branding": "workspace:*",
"@manacore/shared-error-tracking": "workspace:*",
"@manacore/shared-i18n": "workspace:*",
+ "@manacore/shared-help-types": "workspace:*",
+ "@manacore/shared-help-ui": "workspace:*",
"@manacore/shared-icons": "workspace:*",
"@manacore/shared-tailwind": "workspace:*",
"@manacore/shared-theme": "workspace:*",
diff --git a/apps/planta/apps/web/src/lib/content/help/index.ts b/apps/planta/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..1946de89f
--- /dev/null
+++ b/apps/planta/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,150 @@
+/**
+ * Help content for Planta app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getPlantaHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-identify',
+ question: isDE ? 'Wie identifiziere ich eine Pflanze?' : 'How do I identify a plant?',
+ answer: isDE
+ ? 'Die KI-Pflanzenerkennung macht es einfach:
- Tippe auf den Kamera-Button
- Mache ein Foto der Pflanze (Blätter, Blüten oder die ganze Pflanze)
- Die KI analysiert das Bild und zeigt dir die Ergebnisse
Für beste Ergebnisse fotografiere die Pflanze bei gutem Licht und aus verschiedenen Winkeln.
'
+ : 'AI plant identification makes it easy:
- Tap the camera button
- Take a photo of the plant (leaves, flowers, or the whole plant)
- The AI analyzes the image and shows you the results
For best results, photograph the plant in good lighting and from different angles.
',
+ category: 'features',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: ['identify', 'camera', 'ai', 'recognition'],
+ },
+ {
+ id: 'faq-care',
+ question: isDE
+ ? 'Wie funktionieren die Pflegeempfehlungen?'
+ : 'How do care recommendations work?',
+ answer: isDE
+ ? 'Nach der Identifizierung erhältst du individuelle Pflegeempfehlungen:
- Licht — Optimale Lichtverhältnisse für deine Pflanze
- Wasser — Gießhäufigkeit und -menge
- Temperatur — Idealer Temperaturbereich
- Boden — Empfohlene Erdmischung
Die Empfehlungen passen sich an die Jahreszeit und deinen Standort an.
'
+ : 'After identification, you receive personalized care recommendations:
- Light — Optimal light conditions for your plant
- Water — Watering frequency and amount
- Temperature — Ideal temperature range
- Soil — Recommended soil mix
Recommendations adapt to the season and your location.
',
+ category: 'features',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ tags: ['care', 'recommendations', 'light', 'water'],
+ },
+ {
+ id: 'faq-watering',
+ question: isDE ? 'Wie funktioniert der Gießplan?' : 'How does the watering schedule work?',
+ answer: isDE
+ ? 'Der Gießplan erinnert dich automatisch daran, deine Pflanzen zu gießen:
- Jede Pflanze erhält einen individuellen Gießrhythmus basierend auf ihrer Art
- Du bekommst Push-Benachrichtigungen, wenn eine Pflanze Wasser braucht
- Nach dem Gießen markierst du die Pflanze als gegossen
- Der Plan passt sich automatisch an die Jahreszeit an
'
+ : 'The watering schedule automatically reminds you to water your plants:
- Each plant gets an individual watering rhythm based on its species
- You receive push notifications when a plant needs water
- After watering, mark the plant as watered
- The schedule automatically adapts to the season
',
+ category: 'features',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: ['watering', 'schedule', 'notifications', 'reminders'],
+ },
+ {
+ id: 'faq-health',
+ question: isDE
+ ? 'Wie überwache ich die Pflanzengesundheit?'
+ : 'How do I monitor plant health?',
+ answer: isDE
+ ? 'Planta hilft dir, Probleme frühzeitig zu erkennen:
- Mache regelmäßig Fotos deiner Pflanzen — die KI erkennt Veränderungen
- Erhalte Warnungen bei Anzeichen von Krankheiten, Schädlingen oder Nährstoffmangel
- Sieh dir den Gesundheitsverlauf jeder Pflanze in der Timeline an
- Bekomme Behandlungsvorschläge bei Problemen
'
+ : 'Planta helps you detect problems early:
- Take regular photos of your plants — the AI detects changes
- Receive warnings for signs of diseases, pests, or nutrient deficiency
- View the health history of each plant in the timeline
- Get treatment suggestions for issues
',
+ category: 'features',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ tags: ['health', 'diseases', 'pests', 'monitoring'],
+ },
+ {
+ id: 'faq-privacy',
+ question: isDE ? 'Wie werden meine Daten geschützt?' : 'How is my data protected?',
+ answer: isDE
+ ? 'Deine Pflanzendaten sind sicher bei Planta:
- Fotos werden nur zur Pflanzenidentifizierung verwendet und nicht an Dritte weitergegeben
- Deine Pflanzensammlung ist nur für dich sichtbar
- Standortdaten werden nur lokal für Wetteranpassungen genutzt
- Du kannst jederzeit alle Daten exportieren oder löschen
'
+ : 'Your plant data is safe with Planta:
- Photos are only used for plant identification and are not shared with third parties
- Your plant collection is visible only to you
- Location data is only used locally for weather adjustments
- You can export or delete all data at any time
',
+ category: 'privacy',
+ order: 5,
+ language: isDE ? 'de' : 'en',
+ tags: ['privacy', 'security', 'data', 'photos'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-identification',
+ title: isDE ? 'KI-Pflanzenerkennung' : 'AI Plant Identification',
+ description: isDE
+ ? 'Identifiziere jede Pflanze sofort mit einem Foto — powered by KI.'
+ : 'Identify any plant instantly with a photo — powered by AI.',
+ icon: '📸',
+ category: 'core',
+ highlights: isDE
+ ? ['Sofortige Erkennung', 'Tausende Pflanzenarten', 'Hohe Genauigkeit']
+ : ['Instant recognition', 'Thousands of species', 'High accuracy'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-care',
+ title: isDE ? 'Pflegeempfehlungen' : 'Care Recommendations',
+ description: isDE
+ ? 'Individuelle Pflegetipps für jede Pflanze, angepasst an Jahreszeit und Standort.'
+ : 'Personalized care tips for every plant, adapted to season and location.',
+ icon: '🌱',
+ category: 'core',
+ highlights: isDE
+ ? ['Saisonale Anpassung', 'Standortbasiert', 'Expertenbasiert']
+ : ['Seasonal adaptation', 'Location-based', 'Expert-backed'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-watering',
+ title: isDE ? 'Gießplan' : 'Watering Schedule',
+ description: isDE
+ ? 'Automatische Gießerinnerungen mit Push-Benachrichtigungen für jede Pflanze.'
+ : 'Automatic watering reminders with push notifications for every plant.',
+ icon: '💧',
+ category: 'core',
+ highlights: isDE
+ ? ['Push-Benachrichtigungen', 'Individueller Rhythmus', 'Saisonale Anpassung']
+ : ['Push notifications', 'Individual rhythm', 'Seasonal adaptation'],
+ content: '',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-health',
+ title: isDE ? 'Gesundheits-Tracking' : 'Health Tracking',
+ description: isDE
+ ? 'Überwache die Gesundheit deiner Pflanzen mit KI-gestützter Problemerkennung.'
+ : 'Monitor your plant health with AI-powered problem detection.',
+ icon: '🏥',
+ category: 'advanced',
+ highlights: isDE
+ ? ['Krankheitserkennung', 'Schädlingswarnung', 'Behandlungsvorschläge']
+ : ['Disease detection', 'Pest warnings', 'Treatment suggestions'],
+ content: '',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ },
+ ],
+ shortcuts: [],
+ gettingStarted: [],
+ changelog: [],
+ contact: {
+ id: 'contact-support',
+ title: isDE ? 'Support kontaktieren' : 'Contact Support',
+ content: isDE
+ ? 'Unser Support-Team hilft dir bei allen Fragen rund um Planta.
'
+ : 'Our support team is here to help you with any questions about Planta.
',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ supportEmail: 'support@mana.how',
+ documentationUrl: 'https://mana.how/docs',
+ responseTime: isDE ? 'Normalerweise innerhalb von 24 Stunden' : 'Usually within 24 hours',
+ },
+ };
+}
diff --git a/apps/planta/apps/web/src/routes/(app)/help/+page.svelte b/apps/planta/apps/web/src/routes/(app)/help/+page.svelte
new file mode 100644
index 000000000..31f98d586
--- /dev/null
+++ b/apps/planta/apps/web/src/routes/(app)/help/+page.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {translations.title} | Planta
+
+
+ goto('/dashboard')}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>
diff --git a/apps/presi/apps/web/package.json b/apps/presi/apps/web/package.json
index 2a85a8b4d..265398150 100644
--- a/apps/presi/apps/web/package.json
+++ b/apps/presi/apps/web/package.json
@@ -39,6 +39,8 @@
"@manacore/shared-feedback-service": "workspace:*",
"@manacore/shared-feedback-ui": "workspace:*",
"@manacore/shared-i18n": "workspace:*",
+ "@manacore/shared-help-types": "workspace:*",
+ "@manacore/shared-help-ui": "workspace:*",
"@manacore/shared-icons": "workspace:*",
"@manacore/shared-profile-ui": "workspace:*",
"@manacore/shared-stores": "workspace:*",
diff --git a/apps/presi/apps/web/src/lib/content/help/index.ts b/apps/presi/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..a861167b5
--- /dev/null
+++ b/apps/presi/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,170 @@
+/**
+ * Help content for Presi app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getPresiHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-create',
+ question: isDE ? 'Wie erstelle ich eine Präsentation?' : 'How do I create a presentation?',
+ answer: isDE
+ ? 'Eine neue Präsentation erstellen ist einfach:
- Klicke auf Neue Präsentation
- Wähle ein Theme oder starte mit einer leeren Vorlage
- Füge Folien hinzu mit dem + Button
- Bearbeite Inhalte direkt im Slide-Editor
Du kannst Text, Bilder, Code-Blöcke und mehr zu jeder Folie hinzufügen.
'
+ : 'Creating a new presentation is easy:
- Click New Presentation
- Choose a theme or start with a blank template
- Add slides with the + button
- Edit content directly in the slide editor
You can add text, images, code blocks, and more to each slide.
',
+ category: 'features',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: ['create', 'presentation', 'slides', 'new'],
+ },
+ {
+ id: 'faq-present',
+ question: isDE ? 'Wie halte ich eine Präsentation?' : 'How do I present?',
+ answer: isDE
+ ? 'Starte den Präsentationsmodus:
- Klicke auf Präsentieren oder drücke F für Vollbild
- Navigiere mit → oder Leertaste zur nächsten Folie
- Gehe mit ← oder A zur vorherigen Folie
- Drücke ESC um den Präsentationsmodus zu verlassen
Im Präsentationsmodus werden alle Steuerelemente ausgeblendet.
'
+ : 'Start the presentation mode:
- Click Present or press F for fullscreen
- Navigate with → or Space to the next slide
- Go back with ← or A to the previous slide
- Press ESC to exit presentation mode
In presentation mode, all controls are hidden for a clean view.
',
+ category: 'features',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ tags: ['present', 'fullscreen', 'navigation', 'keyboard'],
+ },
+ {
+ id: 'faq-sharing',
+ question: isDE ? 'Wie funktioniert das Teilen?' : 'How does sharing work?',
+ answer: isDE
+ ? 'Teile deine Präsentationen auf verschiedene Arten:
- Link teilen — Erstelle einen öffentlichen oder privaten Link
- PDF Export — Exportiere als PDF zum Offline-Anschauen
- Einbetten — Bette die Präsentation in eine Webseite ein
Du kannst festlegen, ob Betrachter die Folien herunterladen dürfen.
'
+ : 'Share your presentations in different ways:
- Share link — Create a public or private link
- PDF Export — Export as PDF for offline viewing
- Embed — Embed the presentation in a website
You can control whether viewers are allowed to download the slides.
',
+ category: 'features',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: ['sharing', 'link', 'pdf', 'export', 'embed'],
+ },
+ {
+ id: 'faq-themes',
+ question: isDE ? 'Welche Themes gibt es?' : 'What themes are available?',
+ answer: isDE
+ ? 'Presi bietet verschiedene Themes für unterschiedliche Anlässe:
- Professional — Klar und geschäftlich
- Creative — Bunt und ausdrucksstark
- Minimal — Schlicht und elegant
- Dark — Dunkles Design für Präsentationen in dunklen Räumen
Jedes Theme kann mit eigenen Farben und Schriftarten angepasst werden.
'
+ : 'Presi offers different themes for different occasions:
- Professional — Clean and business-oriented
- Creative — Colorful and expressive
- Minimal — Simple and elegant
- Dark — Dark design for presentations in dim rooms
Each theme can be customized with your own colors and fonts.
',
+ category: 'features',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ tags: ['themes', 'design', 'customization', 'styles'],
+ },
+ {
+ id: 'faq-privacy',
+ question: isDE ? 'Wie werden meine Daten geschützt?' : 'How is my data protected?',
+ answer: isDE
+ ? 'Deine Präsentationen sind sicher bei Presi:
- Alle Daten werden verschlüsselt übertragen und gespeichert
- Geteilte Links können jederzeit widerrufen werden
- Du bestimmst, wer Zugriff auf deine Präsentationen hat
- Gelöschte Präsentationen werden dauerhaft entfernt
'
+ : 'Your presentations are safe with Presi:
- All data is encrypted in transit and at rest
- Shared links can be revoked at any time
- You control who has access to your presentations
- Deleted presentations are permanently removed
',
+ category: 'privacy',
+ order: 5,
+ language: isDE ? 'de' : 'en',
+ tags: ['privacy', 'security', 'data', 'sharing'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-editor',
+ title: isDE ? 'Folien-Editor' : 'Slide Editor',
+ description: isDE
+ ? 'Ein leistungsstarker Editor zum Erstellen schöner Folien mit Text, Bildern und Code.'
+ : 'A powerful editor for creating beautiful slides with text, images, and code.',
+ icon: '✏️',
+ category: 'core',
+ highlights: isDE
+ ? ['Rich-Text-Bearbeitung', 'Bilder & Medien', 'Code-Blöcke']
+ : ['Rich text editing', 'Images & media', 'Code blocks'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-present',
+ title: isDE ? 'Präsentationsmodus' : 'Presentation Mode',
+ description: isDE
+ ? 'Halte Präsentationen im Vollbildmodus mit Tastatursteuerung.'
+ : 'Deliver presentations in fullscreen mode with keyboard navigation.',
+ icon: '🎬',
+ category: 'core',
+ highlights: isDE
+ ? ['Vollbild', 'Tastatursteuerung', 'Saubere Ansicht']
+ : ['Fullscreen', 'Keyboard controls', 'Clean view'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-sharing',
+ title: isDE ? 'Teilen' : 'Sharing',
+ description: isDE
+ ? 'Teile Präsentationen per Link, exportiere als PDF oder bette sie in Webseiten ein.'
+ : 'Share presentations via link, export as PDF, or embed them in websites.',
+ icon: '🔗',
+ category: 'core',
+ highlights: isDE
+ ? ['Öffentliche Links', 'PDF-Export', 'Einbettung']
+ : ['Public links', 'PDF export', 'Embedding'],
+ content: '',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-themes',
+ title: isDE ? 'Themes' : 'Themes',
+ description: isDE
+ ? 'Wähle aus verschiedenen professionellen Themes und passe sie an dein Branding an.'
+ : 'Choose from various professional themes and customize them to match your branding.',
+ icon: '🎨',
+ category: 'advanced',
+ highlights: isDE
+ ? ['Mehrere Themes', 'Anpassbare Farben', 'Eigene Schriftarten']
+ : ['Multiple themes', 'Customizable colors', 'Custom fonts'],
+ content: '',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ },
+ ],
+ shortcuts: [
+ {
+ id: 'shortcuts-navigation',
+ title: isDE ? 'Navigation' : 'Navigation',
+ category: 'navigation',
+ shortcuts: [
+ {
+ keys: ['←', 'A'],
+ label: isDE ? 'Vorherige Folie' : 'Previous slide',
+ },
+ {
+ keys: ['→', 'D', 'Space'],
+ label: isDE ? 'Nächste Folie' : 'Next slide',
+ },
+ {
+ keys: ['F'],
+ label: isDE ? 'Vollbild' : 'Fullscreen',
+ },
+ {
+ keys: ['ESC'],
+ label: isDE ? 'Präsentation beenden' : 'Exit presentation',
+ },
+ ],
+ },
+ ],
+ gettingStarted: [],
+ changelog: [],
+ contact: {
+ id: 'contact-support',
+ title: isDE ? 'Support kontaktieren' : 'Contact Support',
+ content: isDE
+ ? 'Unser Support-Team hilft dir bei allen Fragen rund um Presi.
'
+ : 'Our support team is here to help you with any questions about Presi.
',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ supportEmail: 'support@mana.how',
+ documentationUrl: 'https://mana.how/docs',
+ responseTime: isDE ? 'Normalerweise innerhalb von 24 Stunden' : 'Usually within 24 hours',
+ },
+ };
+}
diff --git a/apps/presi/apps/web/src/routes/(app)/help/+page.svelte b/apps/presi/apps/web/src/routes/(app)/help/+page.svelte
new file mode 100644
index 000000000..d993068a0
--- /dev/null
+++ b/apps/presi/apps/web/src/routes/(app)/help/+page.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {translations.title} | Presi
+
+
+ goto('/')}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>
diff --git a/apps/questions/apps/web/package.json b/apps/questions/apps/web/package.json
index c05bd26ed..7b62096d9 100644
--- a/apps/questions/apps/web/package.json
+++ b/apps/questions/apps/web/package.json
@@ -40,6 +40,8 @@
"@manacore/shared-branding": "workspace:*",
"@manacore/shared-error-tracking": "workspace:*",
"@manacore/shared-i18n": "workspace:*",
+ "@manacore/shared-help-types": "workspace:*",
+ "@manacore/shared-help-ui": "workspace:*",
"@manacore/shared-icons": "workspace:*",
"@manacore/shared-app-onboarding": "workspace:*",
"@manacore/shared-tailwind": "workspace:*",
diff --git a/apps/questions/apps/web/src/lib/content/help/index.ts b/apps/questions/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..3c34b42f3
--- /dev/null
+++ b/apps/questions/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,146 @@
+/**
+ * Help content for Questions app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getQuestionsHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-research',
+ question: isDE ? 'Wie funktioniert die KI-Recherche?' : 'How does AI research work?',
+ answer: isDE
+ ? 'Questions nutzt KI und Websuche, um deine Fragen gründlich zu beantworten:
- Stelle eine Frage oder gib ein Recherchethema ein
- Die KI durchsucht das Web nach relevanten Quellen
- Informationen werden analysiert, zusammengefasst und mit Quellenangaben versehen
- Du erhältst eine strukturierte Antwort mit verlinkten Quellen
Je spezifischer deine Frage, desto besser die Ergebnisse.
'
+ : 'Questions uses AI and web search to thoroughly answer your questions:
- Ask a question or enter a research topic
- The AI searches the web for relevant sources
- Information is analyzed, summarized, and attributed to sources
- You receive a structured answer with linked sources
The more specific your question, the better the results.
',
+ category: 'features',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: ['research', 'ai', 'search', 'questions'],
+ },
+ {
+ id: 'faq-depth',
+ question: isDE ? 'Was sind Recherchetiefen?' : 'What are research depths?',
+ answer: isDE
+ ? 'Du kannst die Gründlichkeit der Recherche steuern:
- Schnell — Kurze, direkte Antwort aus wenigen Quellen
- Standard — Ausgewogene Recherche mit mehreren Quellen
- Tief — Umfassende Analyse mit vielen Quellen und Details
- Experte — Maximale Tiefe mit akademischen und spezialisierten Quellen
Tiefere Recherchen dauern länger, liefern aber detailliertere Ergebnisse.
'
+ : 'You can control the thoroughness of the research:
- Quick — Brief, direct answer from a few sources
- Standard — Balanced research with multiple sources
- Deep — Comprehensive analysis with many sources and details
- Expert — Maximum depth with academic and specialized sources
Deeper research takes longer but delivers more detailed results.
',
+ category: 'features',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ tags: ['depth', 'levels', 'quick', 'deep', 'expert'],
+ },
+ {
+ id: 'faq-sources',
+ question: isDE ? 'Wie funktionieren Quellenangaben?' : 'How do sources work?',
+ answer: isDE
+ ? 'Jede Antwort enthält verifizierbare Quellenangaben:
- Quellen werden als nummerierte Referenzen im Text angezeigt
- Klicke auf eine Quellenangabe, um die Originalseite zu besuchen
- Die Zuverlässigkeit jeder Quelle wird bewertet
- Du kannst die Quellentypen filtern (Nachricht, Akademisch, Blog, etc.)
So kannst du jede Information selbst überprüfen.
'
+ : 'Every answer includes verifiable source attributions:
- Sources are displayed as numbered references in the text
- Click a source reference to visit the original page
- The reliability of each source is evaluated
- You can filter source types (news, academic, blog, etc.)
This allows you to verify any information yourself.
',
+ category: 'features',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: ['sources', 'references', 'attribution', 'verification'],
+ },
+ {
+ id: 'faq-collections',
+ question: isDE ? 'Was sind Sammlungen?' : 'What are collections?',
+ answer: isDE
+ ? 'Sammlungen helfen dir, deine Recherchen zu organisieren:
- Erstelle thematische Sammlungen für verschiedene Projekte
- Speichere Fragen und Antworten in Sammlungen
- Teile Sammlungen mit anderen Nutzern
- Exportiere Sammlungen als Dokument
Alle deine Recherchen werden automatisch im Verlauf gespeichert.
'
+ : 'Collections help you organize your research:
- Create thematic collections for different projects
- Save questions and answers to collections
- Share collections with other users
- Export collections as a document
All your research is automatically saved in the history.
',
+ category: 'features',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ tags: ['collections', 'organize', 'save', 'share'],
+ },
+ {
+ id: 'faq-privacy',
+ question: isDE ? 'Wie werden meine Daten geschützt?' : 'How is my data protected?',
+ answer: isDE
+ ? 'Deine Recherchen sind privat und sicher:
- Suchanfragen werden nicht mit Dritten geteilt
- Dein Rechercheverlauf ist nur für dich sichtbar
- Die Websuche erfolgt über unseren eigenen Suchdienst, nicht über Google
- Du kannst deinen Verlauf jederzeit löschen
'
+ : 'Your research is private and secure:
- Search queries are not shared with third parties
- Your research history is visible only to you
- Web search is performed through our own search service, not through Google
- You can delete your history at any time
',
+ category: 'privacy',
+ order: 5,
+ language: isDE ? 'de' : 'en',
+ tags: ['privacy', 'security', 'data', 'history'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-research',
+ title: isDE ? 'KI-Recherche' : 'AI Research',
+ description: isDE
+ ? 'Stelle Fragen und erhalte gründlich recherchierte Antworten mit Quellenangaben.'
+ : 'Ask questions and get thoroughly researched answers with source attributions.',
+ icon: '🔍',
+ category: 'core',
+ highlights: isDE
+ ? ['Websuche-Integration', 'Strukturierte Antworten', 'Quellenangaben']
+ : ['Web search integration', 'Structured answers', 'Source attribution'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-sources',
+ title: isDE ? 'Quellenangaben' : 'Source Attribution',
+ description: isDE
+ ? 'Jede Antwort enthält verifizierbare Quellenangaben mit Zuverlässigkeitsbewertung.'
+ : 'Every answer includes verifiable source attributions with reliability ratings.',
+ icon: '📚',
+ category: 'core',
+ highlights: isDE
+ ? ['Nummerierte Referenzen', 'Direkte Links', 'Zuverlässigkeitsbewertung']
+ : ['Numbered references', 'Direct links', 'Reliability ratings'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-collections',
+ title: isDE ? 'Sammlungen' : 'Collections',
+ description: isDE
+ ? 'Organisiere deine Recherchen in thematischen Sammlungen zum Teilen und Exportieren.'
+ : 'Organize your research into thematic collections for sharing and exporting.',
+ icon: '📂',
+ category: 'core',
+ highlights: isDE
+ ? ['Thematische Ordnung', 'Teilen & Export', 'Automatischer Verlauf']
+ : ['Thematic organization', 'Share & export', 'Automatic history'],
+ content: '',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-depth',
+ title: isDE ? 'Mehrere Recherchetiefen' : 'Multiple Depth Levels',
+ description: isDE
+ ? 'Wähle zwischen schnellen Antworten und tiefgehenden Expertenrecherchen.'
+ : 'Choose between quick answers and in-depth expert research.',
+ icon: '📊',
+ category: 'advanced',
+ highlights: isDE
+ ? ['4 Tiefenstufen', 'Akademische Quellen', 'Anpassbare Gründlichkeit']
+ : ['4 depth levels', 'Academic sources', 'Adjustable thoroughness'],
+ content: '',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ },
+ ],
+ shortcuts: [],
+ gettingStarted: [],
+ changelog: [],
+ contact: {
+ id: 'contact-support',
+ title: isDE ? 'Support kontaktieren' : 'Contact Support',
+ content: isDE
+ ? 'Unser Support-Team hilft dir bei allen Fragen rund um Questions.
'
+ : 'Our support team is here to help you with any questions about Questions.
',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ supportEmail: 'support@mana.how',
+ documentationUrl: 'https://mana.how/docs',
+ responseTime: isDE ? 'Normalerweise innerhalb von 24 Stunden' : 'Usually within 24 hours',
+ },
+ };
+}
diff --git a/apps/questions/apps/web/src/routes/(app)/help/+page.svelte b/apps/questions/apps/web/src/routes/(app)/help/+page.svelte
new file mode 100644
index 000000000..84a656ff0
--- /dev/null
+++ b/apps/questions/apps/web/src/routes/(app)/help/+page.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {translations.title} | Questions
+
+
+ goto('/')}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>
diff --git a/apps/skilltree/apps/web/package.json b/apps/skilltree/apps/web/package.json
index faa0c4214..2bc322283 100644
--- a/apps/skilltree/apps/web/package.json
+++ b/apps/skilltree/apps/web/package.json
@@ -40,6 +40,8 @@
"@manacore/shared-branding": "workspace:*",
"@manacore/shared-error-tracking": "workspace:*",
"@manacore/shared-i18n": "workspace:*",
+ "@manacore/shared-help-types": "workspace:*",
+ "@manacore/shared-help-ui": "workspace:*",
"@manacore/shared-icons": "workspace:*",
"@manacore/shared-app-onboarding": "workspace:*",
"@manacore/shared-tailwind": "workspace:*",
diff --git a/apps/skilltree/apps/web/src/lib/content/help/index.ts b/apps/skilltree/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..217cf72ef
--- /dev/null
+++ b/apps/skilltree/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,146 @@
+/**
+ * Help content for SkillTree app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getSkillTreeHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-xp',
+ question: isDE ? 'Wie funktioniert das XP-System?' : 'How does the XP system work?',
+ answer: isDE
+ ? 'SkillTree verwendet ein RPG-ähnliches Erfahrungspunkte-System:
- Du sammelst XP (Erfahrungspunkte) für jede protokollierte Aktivität
- Die XP-Menge hängt von Dauer und Intensität der Aktivität ab
- Wenn du genug XP gesammelt hast, steigst du ein Level auf
- Höhere Level erfordern mehr XP — genau wie in einem RPG
Dein Gesamtlevel zeigt deinen Fortschritt über alle Skill-Bereiche hinweg.
'
+ : 'SkillTree uses an RPG-style experience points system:
- You earn XP (experience points) for every logged activity
- The amount of XP depends on the duration and intensity of the activity
- When you collect enough XP, you level up
- Higher levels require more XP — just like in an RPG
Your total level shows your progress across all skill branches.
',
+ category: 'features',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: ['xp', 'experience', 'level', 'rpg', 'points'],
+ },
+ {
+ id: 'faq-branches',
+ question: isDE ? 'Was sind Skill-Bereiche?' : 'What are skill branches?',
+ answer: isDE
+ ? 'Skill-Bereiche sind die 6 Hauptkategorien deiner persönlichen Entwicklung:
- Wissen — Lernen, Lesen, Kurse
- Fitness — Sport, Bewegung, Gesundheit
- Kreativität — Kunst, Musik, Schreiben
- Sozial — Kommunikation, Networking, Teamarbeit
- Technik — Programmieren, Tools, Technologie
- Achtsamkeit — Meditation, Reflexion, Wohlbefinden
Jeder Bereich hat seinen eigenen Fortschrittsbaum und Level.
'
+ : 'Skill branches are the 6 main categories of your personal development:
- Knowledge — Learning, reading, courses
- Fitness — Sports, exercise, health
- Creativity — Art, music, writing
- Social — Communication, networking, teamwork
- Tech — Programming, tools, technology
- Mindfulness — Meditation, reflection, well-being
Each branch has its own progress tree and level.
',
+ category: 'features',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ tags: ['branches', 'categories', 'skills', 'types'],
+ },
+ {
+ id: 'faq-logging',
+ question: isDE ? 'Wie protokolliere ich Aktivitäten?' : 'How do I log activities?',
+ answer: isDE
+ ? 'Aktivitäten protokollieren ist schnell und einfach:
- Tippe auf Aktivität loggen
- Wähle den Skill-Bereich aus
- Beschreibe kurz, was du gemacht hast
- Gib die Dauer an
- Die XP werden automatisch berechnet und gutgeschrieben
Du kannst auch vergangene Aktivitäten nachträglich eintragen.
'
+ : 'Logging activities is quick and easy:
- Tap Log Activity
- Select the skill branch
- Briefly describe what you did
- Enter the duration
- XP is automatically calculated and credited
You can also log past activities retroactively.
',
+ category: 'features',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: ['logging', 'activities', 'tracking', 'record'],
+ },
+ {
+ id: 'faq-achievements',
+ question: isDE ? 'Wie funktionieren Erfolge?' : 'How do achievements work?',
+ answer: isDE
+ ? 'Erfolge sind besondere Meilensteine, die du freischalten kannst:
- Streak-Erfolge — Protokolliere Aktivitäten an aufeinanderfolgenden Tagen
- Level-Erfolge — Erreiche bestimmte Level in Skill-Bereichen
- Vielseitigkeit — Sei in mehreren Bereichen aktiv
- Spezial-Erfolge — Besondere Herausforderungen und Meilensteine
Freigeschaltete Erfolge werden in deinem Profil angezeigt.
'
+ : 'Achievements are special milestones you can unlock:
- Streak achievements — Log activities on consecutive days
- Level achievements — Reach certain levels in skill branches
- Versatility — Be active across multiple branches
- Special achievements — Unique challenges and milestones
Unlocked achievements are displayed on your profile.
',
+ category: 'features',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ tags: ['achievements', 'milestones', 'badges', 'streaks'],
+ },
+ {
+ id: 'faq-privacy',
+ question: isDE ? 'Wie werden meine Daten geschützt?' : 'How is my data protected?',
+ answer: isDE
+ ? 'SkillTree ist offline-first und speichert deine Daten lokal:
- Alle Daten werden in IndexedDB direkt auf deinem Gerät gespeichert
- Es werden keine Daten an Server gesendet
- Die App funktioniert vollständig ohne Internetverbindung
- Deine Fortschritte, Aktivitäten und Erfolge verlassen nie dein Gerät
Du hast die volle Kontrolle über deine Daten — sie gehören dir allein.
'
+ : 'SkillTree is offline-first and stores your data locally:
- All data is stored in IndexedDB directly on your device
- No data is sent to servers
- The app works completely without an internet connection
- Your progress, activities, and achievements never leave your device
You have full control over your data — it belongs to you alone.
',
+ category: 'privacy',
+ order: 5,
+ language: isDE ? 'de' : 'en',
+ tags: ['privacy', 'offline', 'indexeddb', 'local', 'data'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-branches',
+ title: isDE ? 'Skill-Bereiche (6 Typen)' : 'Skill Branches (6 Types)',
+ description: isDE
+ ? 'Verfolge deinen Fortschritt in 6 Lebensbereichen: Wissen, Fitness, Kreativität, Sozial, Technik und Achtsamkeit.'
+ : 'Track your progress across 6 life areas: Knowledge, Fitness, Creativity, Social, Tech, and Mindfulness.',
+ icon: '🌳',
+ category: 'core',
+ highlights: isDE
+ ? ['6 Lebensbereiche', 'Individueller Fortschritt', 'Visueller Skill-Baum']
+ : ['6 life areas', 'Individual progress', 'Visual skill tree'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-xp',
+ title: isDE ? 'XP-Levelsystem' : 'XP Leveling',
+ description: isDE
+ ? 'Sammle Erfahrungspunkte und steige Level auf — gamifizierte persönliche Entwicklung im RPG-Stil.'
+ : 'Earn experience points and level up — gamified personal development in RPG style.',
+ icon: '⭐',
+ category: 'core',
+ highlights: isDE
+ ? ['RPG-Levelsystem', 'Automatische XP-Berechnung', 'Gesamtlevel']
+ : ['RPG level system', 'Automatic XP calculation', 'Total level'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-logging',
+ title: isDE ? 'Aktivitäten-Protokoll' : 'Activity Logging',
+ description: isDE
+ ? 'Protokolliere Aktivitäten schnell und einfach, um XP zu sammeln und deinen Fortschritt zu verfolgen.'
+ : 'Log activities quickly and easily to earn XP and track your progress.',
+ icon: '📝',
+ category: 'core',
+ highlights: isDE
+ ? ['Schnelle Eingabe', 'Rückwirkende Einträge', 'Automatische XP']
+ : ['Quick entry', 'Retroactive logging', 'Automatic XP'],
+ content: '',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-achievements',
+ title: isDE ? 'Erfolge' : 'Achievements',
+ description: isDE
+ ? 'Schalte Erfolge frei für Streaks, Level-Meilensteine und besondere Herausforderungen.'
+ : 'Unlock achievements for streaks, level milestones, and special challenges.',
+ icon: '🏆',
+ category: 'advanced',
+ highlights: isDE
+ ? ['Streak-Belohnungen', 'Level-Meilensteine', 'Spezial-Herausforderungen']
+ : ['Streak rewards', 'Level milestones', 'Special challenges'],
+ content: '',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ },
+ ],
+ shortcuts: [],
+ gettingStarted: [],
+ changelog: [],
+ contact: {
+ id: 'contact-support',
+ title: isDE ? 'Support kontaktieren' : 'Contact Support',
+ content: isDE
+ ? 'Unser Support-Team hilft dir bei allen Fragen rund um SkillTree.
'
+ : 'Our support team is here to help you with any questions about SkillTree.
',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ supportEmail: 'support@mana.how',
+ documentationUrl: 'https://mana.how/docs',
+ responseTime: isDE ? 'Normalerweise innerhalb von 24 Stunden' : 'Usually within 24 hours',
+ },
+ };
+}
diff --git a/apps/skilltree/apps/web/src/routes/help/+page.svelte b/apps/skilltree/apps/web/src/routes/help/+page.svelte
new file mode 100644
index 000000000..39ab71c4c
--- /dev/null
+++ b/apps/skilltree/apps/web/src/routes/help/+page.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {translations.title} | SkillTree
+
+
+ goto('/')}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>