@@ -180,7 +25,7 @@
appId="contacts"
{translations}
showBackButton
- onBack={handleBack}
+ onBack={() => goto('/')}
showGettingStarted={false}
showChangelog={false}
defaultSection="faq"
diff --git a/apps/mukke/apps/web/package.json b/apps/mukke/apps/web/package.json
index 88b2a33db..f70c139d6 100644
--- a/apps/mukke/apps/web/package.json
+++ b/apps/mukke/apps/web/package.json
@@ -44,6 +44,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-splitscreen": "workspace:^",
"@manacore/shared-stores": "workspace:*",
diff --git a/apps/mukke/apps/web/src/lib/content/help/index.ts b/apps/mukke/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..31731ca79
--- /dev/null
+++ b/apps/mukke/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,153 @@
+/**
+ * Help content for Mukke app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getMukkeHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-upload',
+ question: isDE
+ ? 'Welche Audioformate werden unterstützt?'
+ : 'Which audio formats are supported?',
+ answer: isDE
+ ? 'Mukke unterstützt eine Vielzahl von Formaten:
- Volle Unterstützung: MP3, WAV, FLAC, AAC/M4A, OGG, OPUS
- Upload & Metadaten: AIFF, WMA, APE, WavPack, DSF/DFF
Metadaten (ID3-Tags) werden automatisch beim Upload extrahiert — Titel, Künstler, Album, Cover-Art und mehr.
'
+ : 'Mukke supports a wide range of formats:
- Full support: MP3, WAV, FLAC, AAC/M4A, OGG, OPUS
- Upload & metadata: AIFF, WMA, APE, WavPack, DSF/DFF
Metadata (ID3 tags) is automatically extracted on upload — title, artist, album, cover art, and more.
',
+ category: 'features',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['upload', 'formate', 'audio', 'mp3'] : ['upload', 'formats', 'audio', 'mp3'],
+ },
+ {
+ id: 'faq-editor',
+ question: isDE ? 'Wie funktioniert der Lyrics-Editor?' : 'How does the lyrics editor work?',
+ answer: isDE
+ ? 'Der Editor ermöglicht synchronisierte Lyrics:
- Erstelle ein Projekt aus einem Song deiner Bibliothek
- Sieh die Wellenform und setze Beat-Marker
- Gib Lyrics ein und synchronisiere sie mit den Zeitstempeln
- Exportiere als LRC, SRT oder JSON
'
+ : 'The editor enables synchronized lyrics:
- Create a project from a song in your library
- View the waveform and set beat markers
- Enter lyrics and sync them with timestamps
- Export as LRC, SRT, or JSON
',
+ category: 'features',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ featured: true,
+ tags: isDE
+ ? ['editor', 'lyrics', 'sync', 'wellenform']
+ : ['editor', 'lyrics', 'sync', 'waveform'],
+ },
+ {
+ id: 'faq-playlists',
+ question: isDE ? 'Wie erstelle ich Playlists?' : 'How do I create playlists?',
+ answer: isDE
+ ? 'Gehe zu Playlists und klicke auf das + Symbol. Füge Songs per Drag & Drop oder über das Kontextmenü hinzu. Die Reihenfolge lässt sich ebenfalls per Drag & Drop anpassen.
'
+ : 'Go to Playlists and click the + icon. Add songs via drag & drop or the context menu. The order can also be adjusted via drag & drop.
',
+ category: 'features',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['playlist', 'erstellen', 'sortieren'] : ['playlist', 'create', 'sort'],
+ },
+ {
+ id: 'faq-privacy',
+ question: isDE ? 'Wie werden meine Daten geschützt?' : 'How is my data protected?',
+ answer: isDE
+ ? 'Deine Musik ist sicher:
- Privat: Nur du hast Zugriff auf deine Bibliothek
- Verschlüsselung: Alle Daten werden bei der Übertragung (TLS) verschlüsselt
- DSGVO-konform: Wir halten uns an die EU-Datenschutzverordnung
'
+ : 'Your music is secure:
- Private: Only you have access to your library
- Encryption: All data is encrypted in transit (TLS)
- GDPR Compliant: We follow EU data protection regulations
',
+ category: 'privacy',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ featured: true,
+ tags: isDE ? ['datenschutz', 'dsgvo', 'sicherheit'] : ['privacy', 'gdpr', 'security'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-library',
+ title: isDE ? 'Musikbibliothek' : 'Music Library',
+ description: isDE
+ ? 'Verwalte deine Sammlung nach Künstler, Album und Genre'
+ : 'Manage your collection by artist, album, and genre',
+ icon: '🎵',
+ category: 'core',
+ highlights: isDE
+ ? ['Auto-Metadaten', 'Cover-Art', 'Künstler/Alben/Genres']
+ : ['Auto metadata', 'Cover art', 'Artists/Albums/Genres'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-player',
+ title: 'Player',
+ description: isDE
+ ? 'Integrierter Musikplayer mit Wiedergabesteuerung'
+ : 'Built-in music player with playback controls',
+ icon: '▶️',
+ category: 'core',
+ highlights: isDE
+ ? ['Streaming', 'Playlists', 'Play-Count']
+ : ['Streaming', 'Playlists', 'Play count'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-editor',
+ title: isDE ? 'Lyrics-Editor' : 'Lyrics Editor',
+ description: isDE
+ ? 'Synchronisiere Lyrics mit Wellenform-Visualisierung'
+ : 'Sync lyrics with waveform visualization',
+ icon: '🎤',
+ category: 'advanced',
+ highlights: isDE
+ ? ['Wellenform', 'Beat-Marker', 'LRC/SRT Export']
+ : ['Waveform', 'Beat markers', 'LRC/SRT export'],
+ content: '',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-visualizer',
+ title: 'Visualizer',
+ description: isDE
+ ? 'Audio-Visualisierungen mit verschiedenen Themes'
+ : 'Audio visualizations with various themes',
+ icon: '🌈',
+ category: 'advanced',
+ highlights: isDE
+ ? ['Butterchurn-Presets', 'WebGL', 'Theme-Auswahl']
+ : ['Butterchurn presets', 'WebGL', 'Theme selection'],
+ content: '',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ },
+ ],
+ shortcuts: [
+ {
+ id: 'shortcuts-nav',
+ category: 'navigation',
+ title: 'Navigation',
+ language: isDE ? 'de' : 'en',
+ order: 1,
+ shortcuts: [
+ { shortcut: 'Ctrl + 1-5', action: 'Navigation' },
+ { shortcut: 'Space', action: isDE ? 'Wiedergabe/Pause' : 'Play/Pause' },
+ ],
+ },
+ ],
+ gettingStarted: [],
+ changelog: [],
+ contact: {
+ id: 'contact-support',
+ title: isDE ? 'Support kontaktieren' : 'Contact Support',
+ content: isDE
+ ? 'Unser Support-Team hilft dir bei allen Fragen rund um Mukke.
'
+ : 'Our support team is here to help you with any questions about Mukke.
',
+ 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/mukke/apps/web/src/routes/(app)/help/+page.svelte b/apps/mukke/apps/web/src/routes/(app)/help/+page.svelte
index bed75c520..6f6f8efae 100644
--- a/apps/mukke/apps/web/src/routes/(app)/help/+page.svelte
+++ b/apps/mukke/apps/web/src/routes/(app)/help/+page.svelte
@@ -1,59 +1,32 @@
- Help - Mukke
+ {translations.title} | Mukke
-
-
- {#snippet icon()}{/snippet}
-
-
-
-
-
-
-
-
-
-
- {#snippet icon()}{/snippet}
-
-
-
-
-
-
-
- {#snippet icon()}{/snippet}
-
-
-
-
-
+ goto('/dashboard')}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>
diff --git a/apps/picture/apps/web/src/routes/app/help/+page.svelte b/apps/picture/apps/web/src/routes/app/help/+page.svelte
index 1302d0e6f..436bcdd1f 100644
--- a/apps/picture/apps/web/src/routes/app/help/+page.svelte
+++ b/apps/picture/apps/web/src/routes/app/help/+page.svelte
@@ -1,142 +1,17 @@
diff --git a/apps/storage/apps/web/src/routes/help/+page.svelte b/apps/storage/apps/web/src/routes/help/+page.svelte
index 03cf75d04..6cf87bd96 100644
--- a/apps/storage/apps/web/src/routes/help/+page.svelte
+++ b/apps/storage/apps/web/src/routes/help/+page.svelte
@@ -1,142 +1,17 @@
diff --git a/apps/todo/apps/web/src/routes/(app)/help/+page.svelte b/apps/todo/apps/web/src/routes/(app)/help/+page.svelte
index de666398e..2d9c31235 100644
--- a/apps/todo/apps/web/src/routes/(app)/help/+page.svelte
+++ b/apps/todo/apps/web/src/routes/(app)/help/+page.svelte
@@ -1,163 +1,18 @@
@@ -170,7 +25,7 @@
appId="todo"
{translations}
showBackButton
- onBack={handleBack}
+ onBack={() => goto('/')}
showGettingStarted={false}
showChangelog={false}
defaultSection="faq"
diff --git a/apps/zitare/apps/web/package.json b/apps/zitare/apps/web/package.json
index 1c1cf76ed..8667c5adc 100644
--- a/apps/zitare/apps/web/package.json
+++ b/apps/zitare/apps/web/package.json
@@ -40,6 +40,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/zitare/apps/web/src/lib/content/help/index.ts b/apps/zitare/apps/web/src/lib/content/help/index.ts
new file mode 100644
index 000000000..1c7b264eb
--- /dev/null
+++ b/apps/zitare/apps/web/src/lib/content/help/index.ts
@@ -0,0 +1,121 @@
+/**
+ * Help content for Zitare app
+ */
+
+import type { HelpContent } from '@manacore/shared-help-types';
+
+export function getZitareHelpContent(locale: string): HelpContent {
+ const isDE = locale === 'de';
+
+ return {
+ faq: [
+ {
+ id: 'faq-browse',
+ question: isDE ? 'Wie finde ich Zitate?' : 'How do I find quotes?',
+ answer: isDE
+ ? 'Es gibt mehrere Wege, Zitate zu entdecken:
- Kategorien: Durchstöbere Zitate nach Themen wie Motivation, Liebe, Weisheit
- Suche: Suche nach Stichwörtern, Autoren oder Inhalten
- Startseite: Entdecke das tägliche Zitat und Empfehlungen
- Spiral-Ansicht: Eine einzigartige visuelle Art, Zitate zu erkunden
'
+ : 'There are several ways to discover quotes:
- Categories: Browse quotes by topics like motivation, love, wisdom
- Search: Search by keywords, authors, or content
- Home: Discover the daily quote and recommendations
- Spiral view: A unique visual way to explore quotes
',
+ category: 'features',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['suche', 'kategorien', 'entdecken'] : ['search', 'categories', 'discover'],
+ },
+ {
+ id: 'faq-favorites',
+ question: isDE ? 'Wie speichere ich Lieblingszitate?' : 'How do I save favorite quotes?',
+ answer: isDE
+ ? 'Tippe auf das Herz-Symbol neben einem Zitat, um es als Favorit zu speichern. Alle Favoriten findest du unter Favoriten in der Navigation.
'
+ : 'Tap the heart icon next to a quote to save it as a favorite. Find all your favorites under Favorites in the navigation.
',
+ category: 'features',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['favoriten', 'speichern', 'herz'] : ['favorites', 'save', 'heart'],
+ },
+ {
+ id: 'faq-lists',
+ question: isDE ? 'Was sind Listen?' : 'What are lists?',
+ answer: isDE
+ ? 'Listen ermöglichen es dir, Zitate thematisch zu sammeln:
- Erstelle eigene Listen für verschiedene Anlässe
- Füge Zitate zu bestehenden Listen hinzu
- Organisiere deine Lieblingszitate nach Themen
'
+ : 'Lists allow you to collect quotes by theme:
- Create custom lists for different occasions
- Add quotes to existing lists
- Organize your favorite quotes by topic
',
+ category: 'features',
+ order: 3,
+ language: isDE ? 'de' : 'en',
+ tags: isDE ? ['listen', 'sammlung', 'organisieren'] : ['lists', 'collection', 'organize'],
+ },
+ {
+ 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
- Privat: Deine Favoriten und Listen sind nur für dich sichtbar
- DSGVO-konform: Wir halten uns an die EU-Datenschutzverordnung
'
+ : 'Your data is secure:
- Encryption: All data is encrypted in transit (TLS)
- Private: Your favorites and lists are only visible to you
- GDPR Compliant: We follow EU data protection regulations
',
+ category: 'privacy',
+ order: 4,
+ language: isDE ? 'de' : 'en',
+ featured: true,
+ tags: isDE ? ['datenschutz', 'dsgvo', 'sicherheit'] : ['privacy', 'gdpr', 'security'],
+ },
+ ],
+ features: [
+ {
+ id: 'feature-daily',
+ title: isDE ? 'Tägliche Inspiration' : 'Daily Inspiration',
+ description: isDE
+ ? 'Jeden Tag ein neues inspirierendes Zitat'
+ : 'A new inspiring quote every day',
+ icon: '✨',
+ category: 'core',
+ highlights: isDE
+ ? ['Tägliches Zitat', 'Empfehlungen', 'Kategorien']
+ : ['Daily quote', 'Recommendations', 'Categories'],
+ content: '',
+ order: 1,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-collections',
+ title: isDE ? 'Sammlungen' : 'Collections',
+ description: isDE
+ ? 'Speichere und organisiere deine Lieblingszitate'
+ : 'Save and organize your favorite quotes',
+ icon: '📚',
+ category: 'core',
+ highlights: isDE
+ ? ['Favoriten', 'Eigene Listen', 'Thematisch sortiert']
+ : ['Favorites', 'Custom lists', 'Sorted by theme'],
+ content: '',
+ order: 2,
+ language: isDE ? 'de' : 'en',
+ },
+ {
+ id: 'feature-spiral',
+ title: isDE ? 'Spiral-Ansicht' : 'Spiral View',
+ description: isDE
+ ? 'Entdecke Zitate in einer einzigartigen visuellen Darstellung'
+ : 'Discover quotes in a unique visual presentation',
+ icon: '🌀',
+ category: 'advanced',
+ highlights: isDE
+ ? ['Visuelle Exploration', 'Interaktiv', 'Einzigartig']
+ : ['Visual exploration', 'Interactive', 'Unique'],
+ content: '',
+ order: 3,
+ 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 Zitare.
'
+ : 'Our support team is here to help you with any questions about Zitare.
',
+ 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/zitare/apps/web/src/routes/(app)/help/+page.svelte b/apps/zitare/apps/web/src/routes/(app)/help/+page.svelte
new file mode 100644
index 000000000..666cc6c40
--- /dev/null
+++ b/apps/zitare/apps/web/src/routes/(app)/help/+page.svelte
@@ -0,0 +1,33 @@
+
+
+
+ {translations.title} | Zitare
+
+
+ goto('/')}
+ showShortcuts={false}
+ showGettingStarted={false}
+ showChangelog={false}
+ defaultSection="faq"
+/>
diff --git a/packages/shared-help-ui/src/index.ts b/packages/shared-help-ui/src/index.ts
index 55b97330c..cc565e012 100644
--- a/packages/shared-help-ui/src/index.ts
+++ b/packages/shared-help-ui/src/index.ts
@@ -18,6 +18,13 @@ export { default as ChangelogEntry } from './components/ChangelogEntry.svelte';
export { default as ContactSection } from './components/ContactSection.svelte';
export { default as HelpSearch } from './components/HelpSearch.svelte';
+// Default translations
+export {
+ defaultTranslationsDE,
+ defaultTranslationsEN,
+ getHelpTranslations,
+} from './translations.js';
+
// Types
export type {
HelpPageProps,
diff --git a/packages/shared-help-ui/src/translations.ts b/packages/shared-help-ui/src/translations.ts
new file mode 100644
index 000000000..e6c116852
--- /dev/null
+++ b/packages/shared-help-ui/src/translations.ts
@@ -0,0 +1,175 @@
+/**
+ * Default translations for the HelpPage component.
+ * Apps can use these directly or override individual fields.
+ */
+
+import type { HelpPageTranslations } from './types.js';
+
+export const defaultTranslationsDE: HelpPageTranslations = {
+ title: 'Hilfe & Support',
+ subtitle: 'Finde Antworten und lerne die App kennen',
+ searchPlaceholder: 'Hilfe durchsuchen...',
+ sections: {
+ faq: 'FAQ',
+ features: 'Features',
+ shortcuts: 'Tastenkürzel',
+ gettingStarted: 'Erste Schritte',
+ changelog: 'Änderungen',
+ contact: 'Kontakt',
+ },
+ search: {
+ noResults: 'Keine Ergebnisse für "{query}"',
+ resultsCount: '{count} Ergebnisse',
+ searching: 'Suche...',
+ },
+ faq: {
+ noItems: 'Keine häufigen Fragen verfügbar.',
+ allCategories: 'Alle',
+ categories: {
+ general: 'Allgemein',
+ account: 'Konto',
+ billing: 'Abrechnung',
+ features: 'Funktionen',
+ technical: 'Technisch',
+ privacy: 'Datenschutz',
+ },
+ },
+ features: {
+ noItems: 'Keine Features verfügbar.',
+ comingSoon: 'Demnächst',
+ learnMore: 'Mehr erfahren',
+ },
+ shortcuts: {
+ noItems: 'Keine Tastenkürzel verfügbar.',
+ columns: {
+ shortcut: 'Kürzel',
+ action: 'Aktion',
+ description: 'Beschreibung',
+ },
+ },
+ gettingStarted: {
+ noItems: 'Keine Anleitungen verfügbar.',
+ estimatedTime: 'Geschätzte Zeit',
+ difficulty: {
+ beginner: 'Einsteiger',
+ intermediate: 'Fortgeschritten',
+ advanced: 'Experte',
+ },
+ },
+ changelog: {
+ noItems: 'Keine Änderungen verfügbar.',
+ showAll: 'Alle Versionen anzeigen',
+ types: {
+ major: 'Hauptversion',
+ minor: 'Nebenversion',
+ patch: 'Patch',
+ beta: 'Beta',
+ },
+ labels: {
+ features: 'Neue Funktionen',
+ improvements: 'Verbesserungen',
+ bugFixes: 'Fehlerbehebungen',
+ },
+ },
+ contact: {
+ noInfo: 'Keine Kontaktinformationen verfügbar.',
+ email: 'E-Mail senden',
+ responseTime: 'Antwortzeit',
+ },
+ common: {
+ back: 'Zurück',
+ showMore: 'Mehr anzeigen',
+ showLess: 'Weniger anzeigen',
+ },
+};
+
+export const defaultTranslationsEN: HelpPageTranslations = {
+ title: 'Help & Support',
+ subtitle: 'Find answers and learn how to use the app',
+ searchPlaceholder: 'Search help...',
+ sections: {
+ faq: 'FAQ',
+ features: 'Features',
+ shortcuts: 'Shortcuts',
+ gettingStarted: 'Getting Started',
+ changelog: 'Changelog',
+ contact: 'Contact',
+ },
+ search: {
+ noResults: 'No results for "{query}"',
+ resultsCount: '{count} results',
+ searching: 'Searching...',
+ },
+ faq: {
+ noItems: 'No frequently asked questions available.',
+ allCategories: 'All',
+ categories: {
+ general: 'General',
+ account: 'Account',
+ billing: 'Billing',
+ features: 'Features',
+ technical: 'Technical',
+ privacy: 'Privacy',
+ },
+ },
+ features: {
+ noItems: 'No features available.',
+ comingSoon: 'Coming Soon',
+ learnMore: 'Learn More',
+ },
+ shortcuts: {
+ noItems: 'No keyboard shortcuts available.',
+ columns: {
+ shortcut: 'Shortcut',
+ action: 'Action',
+ description: 'Description',
+ },
+ },
+ gettingStarted: {
+ noItems: 'No guides available.',
+ estimatedTime: 'Estimated time',
+ difficulty: {
+ beginner: 'Beginner',
+ intermediate: 'Intermediate',
+ advanced: 'Advanced',
+ },
+ },
+ changelog: {
+ noItems: 'No changelog available.',
+ showAll: 'Show all releases',
+ types: {
+ major: 'Major',
+ minor: 'Minor',
+ patch: 'Patch',
+ beta: 'Beta',
+ },
+ labels: {
+ features: 'New Features',
+ improvements: 'Improvements',
+ bugFixes: 'Bug Fixes',
+ },
+ },
+ contact: {
+ noInfo: 'No contact information available.',
+ email: 'Send email',
+ responseTime: 'Response time',
+ },
+ common: {
+ back: 'Back',
+ showMore: 'Show more',
+ showLess: 'Show less',
+ },
+};
+
+/**
+ * Get default translations for a locale, with optional overrides.
+ * Use this to customize only the fields that differ per app (e.g. subtitle).
+ */
+export function getHelpTranslations(
+ locale: string,
+ overrides?: Partial
+): HelpPageTranslations {
+ const base = locale === 'de' ? defaultTranslationsDE : defaultTranslationsEN;
+ if (!overrides) return base;
+ return { ...base, ...overrides };
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b0aefc8e7..165cb6a46 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -3197,6 +3197,12 @@ importers:
'@manacore/shared-feedback-ui':
specifier: workspace:^
version: link:../../../../packages/shared-feedback-ui
+ '@manacore/shared-help-types':
+ specifier: workspace:*
+ version: link:../../../../packages/shared-help-types
+ '@manacore/shared-help-ui':
+ specifier: workspace:*
+ version: link:../../../../packages/shared-help-ui
'@manacore/shared-i18n':
specifier: workspace:*
version: link:../../../../packages/shared-i18n
@@ -6261,6 +6267,12 @@ importers:
'@manacore/shared-feedback-ui':
specifier: workspace:*
version: link:../../../../packages/shared-feedback-ui
+ '@manacore/shared-help-types':
+ specifier: workspace:*
+ version: link:../../../../packages/shared-help-types
+ '@manacore/shared-help-ui':
+ specifier: workspace:*
+ version: link:../../../../packages/shared-help-ui
'@manacore/shared-i18n':
specifier: workspace:*
version: link:../../../../packages/shared-i18n