diff --git a/apps/chat/apps/web/package.json b/apps/chat/apps/web/package.json index c04145ad2..e7a518df7 100644 --- a/apps/chat/apps/web/package.json +++ b/apps/chat/apps/web/package.json @@ -42,6 +42,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/chat/apps/web/src/lib/content/help/index.ts b/apps/chat/apps/web/src/lib/content/help/index.ts new file mode 100644 index 000000000..3e48e2952 --- /dev/null +++ b/apps/chat/apps/web/src/lib/content/help/index.ts @@ -0,0 +1,166 @@ +/** + * Help content for Chat app + */ + +import type { HelpContent } from '@manacore/shared-help-types'; + +export function getChatHelpContent(locale: string): HelpContent { + const isDE = locale === 'de'; + + return { + faq: [ + { + id: 'faq-models', + question: isDE + ? 'Welche KI-Modelle stehen zur Verfügung?' + : 'Which AI models are available?', + answer: isDE + ? '

Es gibt zwei Kategorien von Modellen:

Lokale Modelle sind ideal für alltägliche Aufgaben. Cloud-Modelle bieten höhere Qualität für komplexe Anfragen.

' + : '

There are two categories of models:

Local models are ideal for everyday tasks. Cloud models offer higher quality for complex requests.

', + category: 'features', + order: 1, + language: isDE ? 'de' : 'en', + featured: true, + tags: isDE ? ['modelle', 'ki', 'lokal', 'cloud'] : ['models', 'ai', 'local', 'cloud'], + }, + { + id: 'faq-spaces', + question: isDE ? 'Was sind Spaces?' : 'What are Spaces?', + answer: isDE + ? '

Spaces sind Bereiche, um deine Chats thematisch zu organisieren:

' + : '

Spaces are areas to organize your chats by topic:

', + category: 'features', + order: 2, + language: isDE ? 'de' : 'en', + tags: isDE ? ['spaces', 'organisation', 'bereiche'] : ['spaces', 'organize', 'areas'], + }, + { + id: 'faq-templates', + question: isDE ? 'Wie nutze ich Templates?' : 'How do I use templates?', + answer: isDE + ? '

Templates sind vordefinierte Prompt-Vorlagen:

' + : '

Templates are predefined prompt presets:

', + category: 'features', + order: 3, + language: isDE ? 'de' : 'en', + tags: isDE ? ['templates', 'vorlagen', 'prompts'] : ['templates', 'presets', 'prompts'], + }, + { + id: 'faq-compare', + question: isDE ? 'Was ist der Modellvergleich?' : 'What is model comparison?', + answer: isDE + ? '

Mit dem Modellvergleich kannst du denselben Prompt an mehrere Modelle gleichzeitig senden und die Antworten nebeneinander vergleichen. So findest du das beste Modell für deine Aufgabe.

' + : '

Model comparison lets you send the same prompt to multiple models simultaneously and compare responses side by side. This helps you find the best model for your task.

', + category: 'features', + order: 4, + language: isDE ? 'de' : 'en', + tags: isDE ? ['vergleich', 'modelle', 'test'] : ['compare', 'models', 'test'], + }, + { + id: 'faq-privacy', + question: isDE ? 'Wie werden meine Chats geschützt?' : 'How are my chats protected?', + answer: isDE + ? '

Deine Unterhaltungen sind sicher:

' + : '

Your conversations are secure:

', + category: 'privacy', + order: 5, + language: isDE ? 'de' : 'en', + featured: true, + tags: isDE ? ['datenschutz', 'sicherheit', 'dsgvo'] : ['privacy', 'security', 'gdpr'], + }, + ], + features: [ + { + id: 'feature-models', + title: isDE ? 'Mehrere KI-Modelle' : 'Multiple AI Models', + description: isDE + ? 'Lokale und Cloud-Modelle für jede Aufgabe' + : 'Local and cloud models for every task', + icon: '🤖', + category: 'core', + highlights: isDE + ? ['7+ lokale Modelle (kostenlos)', 'Cloud-Modelle (Claude, GPT)', 'Vision-Modelle'] + : ['7+ local models (free)', 'Cloud models (Claude, GPT)', 'Vision models'], + content: '', + order: 1, + language: isDE ? 'de' : 'en', + }, + { + id: 'feature-spaces', + title: 'Spaces', + description: isDE + ? 'Organisiere Chats nach Themen und Projekten' + : 'Organize chats by topics and projects', + icon: '📂', + category: 'core', + highlights: isDE + ? ['Thematische Gruppierung', 'Schneller Kontextwechsel', 'Eigene Unterhaltungen'] + : ['Topic grouping', 'Quick context switch', 'Separate conversations'], + content: '', + order: 2, + language: isDE ? 'de' : 'en', + }, + { + id: 'feature-compare', + title: isDE ? 'Modellvergleich' : 'Model Comparison', + description: isDE + ? 'Vergleiche Antworten mehrerer Modelle nebeneinander' + : 'Compare responses from multiple models side by side', + icon: '⚖️', + category: 'advanced', + highlights: isDE + ? ['Parallele Anfragen', 'Qualitätsvergleich', 'Beste Modellwahl'] + : ['Parallel requests', 'Quality comparison', 'Best model selection'], + content: '', + order: 3, + language: isDE ? 'de' : 'en', + }, + { + id: 'feature-templates', + title: 'Templates', + description: isDE + ? 'Optimierte Prompts für wiederkehrende Aufgaben' + : 'Optimized prompts for recurring tasks', + icon: '📋', + category: 'core', + highlights: isDE + ? ['Prompt-Vorlagen', 'Ein-Klick-Start', 'Verschiedene Kategorien'] + : ['Prompt presets', 'One-click start', 'Various categories'], + content: '', + order: 4, + language: isDE ? 'de' : 'en', + }, + ], + shortcuts: [ + { + id: 'shortcuts-nav', + category: 'navigation', + title: 'Navigation', + language: isDE ? 'de' : 'en', + order: 1, + shortcuts: [ + { shortcut: 'Cmd/Ctrl + 1', action: 'Chat' }, + { shortcut: 'Cmd/Ctrl + 2', action: isDE ? 'Vergleich' : 'Compare' }, + { shortcut: 'Cmd/Ctrl + 3', action: 'Templates' }, + { shortcut: 'Cmd/Ctrl + 4', action: 'Spaces' }, + { shortcut: 'Cmd/Ctrl + 5', action: isDE ? 'Dokumente' : 'Documents' }, + { shortcut: 'Cmd/Ctrl + 6', action: isDE ? 'Archiv' : 'Archive' }, + ], + }, + ], + gettingStarted: [], + changelog: [], + contact: { + id: 'contact-support', + title: isDE ? 'Support kontaktieren' : 'Contact Support', + content: isDE + ? '

Unser Support-Team hilft dir bei allen Fragen rund um Chat.

' + : '

Our support team is here to help you with any chat-related 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/chat/apps/web/src/routes/(protected)/help/+page.svelte b/apps/chat/apps/web/src/routes/(protected)/help/+page.svelte new file mode 100644 index 000000000..4685558ae --- /dev/null +++ b/apps/chat/apps/web/src/routes/(protected)/help/+page.svelte @@ -0,0 +1,157 @@ + + + + {translations.title} | Chat + + + goto('/chat')} + showGettingStarted={false} + showChangelog={false} + defaultSection="faq" +/> diff --git a/apps/picture/apps/web/package.json b/apps/picture/apps/web/package.json index 738162e55..529a012e7 100644 --- a/apps/picture/apps/web/package.json +++ b/apps/picture/apps/web/package.json @@ -25,6 +25,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-types": "workspace:*", diff --git a/apps/picture/apps/web/src/lib/content/help/index.ts b/apps/picture/apps/web/src/lib/content/help/index.ts new file mode 100644 index 000000000..eba973558 --- /dev/null +++ b/apps/picture/apps/web/src/lib/content/help/index.ts @@ -0,0 +1,184 @@ +/** + * Help content for Picture app + */ + +import type { HelpContent } from '@manacore/shared-help-types'; + +export function getPictureHelpContent(locale: string): HelpContent { + const isDE = locale === 'de'; + + return { + faq: [ + { + id: 'faq-generate', + question: isDE ? 'Wie generiere ich ein Bild?' : 'How do I generate an image?', + answer: isDE + ? '

So erstellst du ein KI-Bild:

  1. Gehe zu Generieren (Taste N)
  2. Wähle ein Modell aus
  3. Beschreibe dein gewünschtes Bild im Prompt-Feld
  4. Klicke auf Generieren

Tipp: Je detaillierter dein Prompt, desto besser das Ergebnis.

' + : '

To create an AI image:

  1. Go to Generate (key N)
  2. Select a model
  3. Describe your desired image in the prompt field
  4. Click Generate

Tip: The more detailed your prompt, the better the result.

', + category: 'features', + order: 1, + language: isDE ? 'de' : 'en', + featured: true, + tags: isDE + ? ['generieren', 'bild', 'erstellen', 'prompt'] + : ['generate', 'image', 'create', 'prompt'], + }, + { + id: 'faq-credits', + question: isDE ? 'Wie funktioniert das Credit-System?' : 'How does the credit system work?', + answer: isDE + ? '

Picture nutzt ein Freemium-Modell:

' + : '

Picture uses a freemium model:

', + category: 'billing', + order: 2, + language: isDE ? 'de' : 'en', + tags: isDE ? ['credits', 'kosten', 'freemium'] : ['credits', 'cost', 'freemium'], + }, + { + id: 'faq-boards', + question: isDE ? 'Was sind Moodboards?' : 'What are Moodboards?', + answer: isDE + ? '

Moodboards sind Sammlungen, um deine Bilder zu organisieren:

Gehe zu Boards (Taste M) um loszulegen.

' + : '

Moodboards are collections to organize your images:

Go to Boards (key M) to get started.

', + category: 'features', + order: 3, + language: isDE ? 'de' : 'en', + tags: isDE + ? ['moodboard', 'sammlung', 'organisieren'] + : ['moodboard', 'collection', 'organize'], + }, + { + id: 'faq-explore', + question: isDE ? 'Was ist der Explore-Bereich?' : 'What is the Explore section?', + answer: isDE + ? '

Im Explore-Bereich kannst du Bilder anderer Nutzer entdecken, dich inspirieren lassen und Prompts als Vorlage verwenden.

' + : '

In the Explore section you can discover images from other users, get inspired, and use prompts as templates.

', + category: 'features', + order: 4, + language: isDE ? 'de' : 'en', + tags: isDE + ? ['explore', 'entdecken', 'inspiration'] + : ['explore', 'discover', 'inspiration'], + }, + { + id: 'faq-privacy', + question: isDE ? 'Wie werden meine Bilder geschützt?' : 'How are my images protected?', + answer: isDE + ? '

Deine Bilder sind sicher:

' + : '

Your images are secure:

', + category: 'privacy', + order: 5, + language: isDE ? 'de' : 'en', + featured: true, + tags: isDE ? ['datenschutz', 'sicherheit', 'dsgvo'] : ['privacy', 'security', 'gdpr'], + }, + ], + features: [ + { + id: 'feature-generate', + title: isDE ? 'KI-Bildgenerierung' : 'AI Image Generation', + description: isDE + ? 'Erstelle Bilder mit modernsten KI-Modellen' + : 'Create images with state-of-the-art AI models', + icon: '🎨', + category: 'core', + highlights: isDE + ? ['Replicate AI-Modelle', 'Prompt-basiert', '3 kostenlose Generierungen'] + : ['Replicate AI models', 'Prompt-based', '3 free generations'], + content: '', + order: 1, + language: isDE ? 'de' : 'en', + }, + { + id: 'feature-gallery', + title: isDE ? 'Galerie' : 'Gallery', + description: isDE + ? 'Verwalte und organisiere deine generierten Bilder' + : 'Manage and organize your generated images', + icon: '🖼️', + category: 'core', + highlights: isDE + ? ['Raster- & Listenansicht', 'Tags & Favoriten', 'Archiv'] + : ['Grid & list view', 'Tags & favorites', 'Archive'], + content: '', + order: 2, + language: isDE ? 'de' : 'en', + }, + { + id: 'feature-boards', + title: 'Moodboards', + description: isDE + ? 'Sammle und organisiere Bilder in thematischen Boards' + : 'Collect and organize images in themed boards', + icon: '📌', + category: 'core', + highlights: isDE + ? ['Drag & Drop', 'Boards teilen', 'Thematisch sortieren'] + : ['Drag & drop', 'Share boards', 'Sort by theme'], + content: '', + order: 3, + language: isDE ? 'de' : 'en', + }, + { + id: 'feature-explore', + title: 'Explore', + description: isDE + ? 'Entdecke Bilder und Prompts der Community' + : 'Discover images and prompts from the community', + icon: '🔍', + category: 'core', + highlights: isDE + ? ['Community-Feed', 'Prompt-Vorlagen', 'Inspiration'] + : ['Community feed', 'Prompt templates', 'Inspiration'], + content: '', + order: 4, + language: isDE ? 'de' : 'en', + }, + ], + shortcuts: [ + { + id: 'shortcuts-nav', + category: 'navigation', + title: 'Navigation', + language: isDE ? 'de' : 'en', + order: 1, + shortcuts: [ + { shortcut: 'G', action: isDE ? 'Galerie' : 'Gallery' }, + { shortcut: 'M', action: 'Moodboards' }, + { shortcut: 'E', action: 'Explore' }, + { shortcut: 'N', action: isDE ? 'Generieren' : 'Generate' }, + { shortcut: 'U', action: 'Upload' }, + { shortcut: 'A', action: isDE ? 'Archiv' : 'Archive' }, + ], + }, + { + id: 'shortcuts-view', + category: 'general', + title: isDE ? 'Ansicht' : 'View', + language: isDE ? 'de' : 'en', + order: 2, + shortcuts: [ + { shortcut: '1', action: isDE ? 'Listen-Ansicht' : 'List view' }, + { shortcut: '2', action: isDE ? 'Raster 3×3' : 'Grid 3×3' }, + { shortcut: '3', action: isDE ? 'Raster 5×5' : 'Grid 5×5' }, + { shortcut: 'Tab', action: isDE ? 'UI ein-/ausblenden' : 'Toggle UI' }, + { shortcut: '?', action: isDE ? 'Tastenkürzel anzeigen' : 'Show 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 Picture.

' + : '

Our support team is here to help you with any picture-related 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/picture/apps/web/src/routes/app/help/+page.svelte b/apps/picture/apps/web/src/routes/app/help/+page.svelte new file mode 100644 index 000000000..1302d0e6f --- /dev/null +++ b/apps/picture/apps/web/src/routes/app/help/+page.svelte @@ -0,0 +1,157 @@ + + + + {translations.title} | Picture + + + goto('/app/gallery')} + showGettingStarted={false} + showChangelog={false} + defaultSection="faq" +/> diff --git a/apps/storage/apps/web/package.json b/apps/storage/apps/web/package.json index 579a03673..56b7e110f 100644 --- a/apps/storage/apps/web/package.json +++ b/apps/storage/apps/web/package.json @@ -46,6 +46,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/storage/apps/web/src/lib/content/help/index.ts b/apps/storage/apps/web/src/lib/content/help/index.ts new file mode 100644 index 000000000..162d8fa5f --- /dev/null +++ b/apps/storage/apps/web/src/lib/content/help/index.ts @@ -0,0 +1,160 @@ +/** + * Help content for Storage app + */ + +import type { HelpContent } from '@manacore/shared-help-types'; + +export function getStorageHelpContent(locale: string): HelpContent { + const isDE = locale === 'de'; + + return { + faq: [ + { + id: 'faq-upload', + question: isDE ? 'Wie lade ich Dateien hoch?' : 'How do I upload files?', + answer: isDE + ? '

Du kannst Dateien auf verschiedene Arten hochladen:

' + : '

You can upload files in several ways:

', + category: 'features', + order: 1, + language: isDE ? 'de' : 'en', + tags: isDE ? ['hochladen', 'upload', 'dateien'] : ['upload', 'files', 'drag-drop'], + }, + { + id: 'faq-share', + question: isDE ? 'Wie teile ich Dateien mit anderen?' : 'How do I share files?', + answer: isDE + ? '

Um eine Datei oder einen Ordner zu teilen:

' + : '

To share a file or folder:

', + category: 'features', + order: 2, + language: isDE ? 'de' : 'en', + tags: isDE ? ['teilen', 'link', 'freigabe'] : ['share', 'link', 'access'], + }, + { + id: 'faq-versions', + question: isDE ? 'Wie funktioniert die Versionierung?' : 'How does versioning work?', + answer: isDE + ? '

Jede Datei unterstützt automatische Versionierung:

' + : '

Every file supports automatic versioning:

', + category: 'features', + order: 3, + language: isDE ? 'de' : 'en', + tags: isDE ? ['version', 'historie', 'aktualisieren'] : ['version', 'history', 'update'], + }, + { + id: 'faq-trash', + question: isDE ? 'Wie funktioniert der Papierkorb?' : 'How does the trash work?', + answer: isDE + ? '

Gelöschte Dateien landen zunächst im Papierkorb:

' + : '

Deleted files are moved to the trash first:

', + category: 'features', + order: 4, + language: isDE ? 'de' : 'en', + tags: isDE ? ['papierkorb', 'löschen', 'wiederherstellen'] : ['trash', 'delete', 'restore'], + }, + { + id: 'faq-privacy', + question: isDE ? 'Wie werden meine Dateien geschützt?' : 'How are my files protected?', + answer: isDE + ? '

Deine Dateien sind sicher:

' + : '

Your files are secure:

', + category: 'privacy', + order: 5, + language: isDE ? 'de' : 'en', + featured: true, + tags: isDE ? ['datenschutz', 'sicherheit', 'dsgvo'] : ['privacy', 'security', 'gdpr'], + }, + ], + features: [ + { + id: 'feature-storage', + title: isDE ? 'Cloud-Speicher' : 'Cloud Storage', + description: isDE + ? 'Sichere Dateiablage mit Ordnerstruktur' + : 'Secure file storage with folder structure', + icon: '☁️', + category: 'core', + highlights: isDE + ? ['Drag & Drop Upload', 'Ordner-Hierarchie', 'Datei-Tags'] + : ['Drag & drop upload', 'Folder hierarchy', 'File tags'], + content: '', + order: 1, + language: isDE ? 'de' : 'en', + }, + { + id: 'feature-sharing', + title: isDE ? 'Dateien teilen' : 'File Sharing', + description: isDE ? 'Teile Dateien sicher per Link' : 'Share files securely via link', + icon: '🔗', + category: 'core', + highlights: isDE + ? ['Passwortschutz', 'Ablaufdatum', 'Download-Limit'] + : ['Password protection', 'Expiration date', 'Download limit'], + content: '', + order: 2, + language: isDE ? 'de' : 'en', + }, + { + id: 'feature-versioning', + title: isDE ? 'Versionierung' : 'Versioning', + description: isDE + ? 'Automatische Versionskontrolle für alle Dateien' + : 'Automatic version control for all files', + icon: '📝', + category: 'advanced', + highlights: isDE + ? ['Versions-Historie', 'Kommentare', 'Ältere Versionen laden'] + : ['Version history', 'Comments', 'Download older versions'], + content: '', + order: 3, + language: isDE ? 'de' : 'en', + }, + { + id: 'feature-search', + title: isDE ? 'Suche' : 'Search', + description: isDE + ? 'Finde Dateien und Ordner blitzschnell' + : 'Find files and folders instantly', + icon: '🔍', + category: 'core', + highlights: isDE + ? ['Volltextsuche', 'Tag-Filter', 'Favoriten'] + : ['Full-text search', 'Tag filters', 'Favorites'], + content: '', + order: 4, + language: isDE ? 'de' : 'en', + }, + ], + shortcuts: [ + { + id: 'shortcuts-nav', + category: 'navigation', + title: 'Navigation', + language: isDE ? 'de' : 'en', + order: 1, + shortcuts: [ + { shortcut: 'Cmd/Ctrl + K', action: isDE ? 'Suche öffnen' : 'Open search' }, + { shortcut: 'Cmd/Ctrl + 1', action: isDE ? 'Dateien' : 'Files' }, + { shortcut: 'Cmd/Ctrl + 2', action: isDE ? 'Geteilt' : 'Shared' }, + { shortcut: 'Cmd/Ctrl + 3', action: isDE ? 'Favoriten' : 'Favorites' }, + { shortcut: 'Cmd/Ctrl + 4', action: isDE ? 'Papierkorb' : 'Trash' }, + ], + }, + ], + gettingStarted: [], + changelog: [], + contact: { + id: 'contact-support', + title: isDE ? 'Support kontaktieren' : 'Contact Support', + content: isDE + ? '

Unser Support-Team hilft dir bei allen Fragen rund um Storage.

' + : '

Our support team is here to help you with any storage-related 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/storage/apps/web/src/routes/help/+page.svelte b/apps/storage/apps/web/src/routes/help/+page.svelte new file mode 100644 index 000000000..03cf75d04 --- /dev/null +++ b/apps/storage/apps/web/src/routes/help/+page.svelte @@ -0,0 +1,157 @@ + + + + {translations.title} | Storage + + + goto('/files')} + showGettingStarted={false} + showChangelog={false} + defaultSection="faq" +/> diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2b3be822a..b0aefc8e7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -752,6 +752,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 @@ -4236,6 +4242,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 @@ -5477,6 +5489,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 @@ -6967,6 +6985,10 @@ importers: version: 5.9.3 packages/shared-nestjs-auth: + dependencies: + jose: + specifier: ^5.0.0 + version: 5.10.0 devDependencies: '@nestjs/common': specifier: ^10.0.0