diff --git a/apps-archived/maerchenzauber/apps/web/src/lib/api/feedback.ts b/apps-archived/maerchenzauber/apps/web/src/lib/api/feedback.ts
new file mode 100644
index 000000000..4b887ab09
--- /dev/null
+++ b/apps-archived/maerchenzauber/apps/web/src/lib/api/feedback.ts
@@ -0,0 +1,15 @@
+/**
+ * Feedback Service Instance for Maerchenzauber Web App
+ */
+
+import { createFeedbackService } from '@manacore/shared-feedback-service';
+import { authStore } from '$lib/stores/authStore.svelte';
+import { PUBLIC_MANA_CORE_AUTH_URL } from '$env/static/public';
+
+const MANA_AUTH_URL = PUBLIC_MANA_CORE_AUTH_URL || 'http://localhost:3001';
+
+export const feedbackService = createFeedbackService({
+ apiUrl: MANA_AUTH_URL,
+ appId: 'maerchenzauber',
+ getAuthToken: async () => authStore.getAccessToken(),
+});
diff --git a/apps-archived/maerchenzauber/apps/web/src/routes/(protected)/+layout.svelte b/apps-archived/maerchenzauber/apps/web/src/routes/(protected)/+layout.svelte
index c08917976..b51012de7 100644
--- a/apps-archived/maerchenzauber/apps/web/src/routes/(protected)/+layout.svelte
+++ b/apps-archived/maerchenzauber/apps/web/src/routes/(protected)/+layout.svelte
@@ -3,9 +3,25 @@
import { page } from '$app/stores';
import { authStore } from '$lib/stores/authStore.svelte';
import { onMount } from 'svelte';
- import Sidebar from '$lib/components/layout/Sidebar.svelte';
- import Header from '$lib/components/layout/Header.svelte';
import ToastContainer from '$lib/components/ui/ToastContainer.svelte';
+ import { PillNavigation } from '@manacore/shared-ui';
+ import type { PillNavItem } from '@manacore/shared-ui';
+ import { getPillAppItems } from '@manacore/shared-branding';
+
+ // App switcher items
+ const appItems = getPillAppItems('maerchenzauber');
+
+ // User email for dropdown
+ let userEmail = $derived(authStore.user?.email);
+
+ // Navigation items for Märchenzauber
+ const navItems: PillNavItem[] = [
+ { href: '/dashboard', label: 'Dashboard', icon: 'home' },
+ { href: '/stories', label: 'Geschichten', icon: 'document' },
+ { href: '/characters', label: 'Charaktere', icon: 'users' },
+ { href: '/discover', label: 'Entdecken', icon: 'compass' },
+ { href: '/settings', label: 'Einstellungen', icon: 'settings' },
+ ];
let { children } = $props();
let loading = $state(true);
diff --git a/apps-archived/maerchenzauber/apps/web/src/routes/(protected)/feedback/+page.svelte b/apps-archived/maerchenzauber/apps/web/src/routes/(protected)/feedback/+page.svelte
index dadae419c..c236760a7 100644
--- a/apps-archived/maerchenzauber/apps/web/src/routes/(protected)/feedback/+page.svelte
+++ b/apps-archived/maerchenzauber/apps/web/src/routes/(protected)/feedback/+page.svelte
@@ -1,425 +1,11 @@
-
- Feedback | Märchenzauber
-
-
-
-
-
-
-
Feedback & Ideen
-
- Stimme für Features ab und teile deine Ideen
-
-
-
-
-
-
-
-
-
- {#each ['all', 'feature', 'bug', 'improvement'] as filter}
-
- {/each}
-
-
-
-
-
-
-
- {#if loading}
-
- {#each Array(5) as _}
-
- {/each}
-
- {:else if filteredItems.length === 0}
-
-
-
Noch kein Feedback
-
- Sei der Erste, der eine Idee teilt!
-
-
- {:else}
-
- {#each filteredItems as item (item.id)}
-
-
-
-
-
-
-
-
- {item.title}
-
-
- {statusLabels[item.status]}
-
-
-
- {item.description}
-
-
-
- {categoryLabels[item.category]}
-
-
- {new Date(item.createdAt).toLocaleDateString('de-DE')}
-
-
-
-
- {/each}
-
- {/if}
-
-
- {#if showForm}
-
(showForm = false)}
- onkeydown={(e) => e.key === 'Escape' && (showForm = false)}
- role="button"
- tabindex="0"
- >
-
e.stopPropagation()}
- onkeydown={(e) => e.stopPropagation()}
- role="dialog"
- >
-
-
Neue Idee einreichen
-
-
-
-
-
-
- {/if}
-
+
diff --git a/apps-archived/memoro/apps/web/src/lib/api/feedback.ts b/apps-archived/memoro/apps/web/src/lib/api/feedback.ts
new file mode 100644
index 000000000..2509dfc8f
--- /dev/null
+++ b/apps-archived/memoro/apps/web/src/lib/api/feedback.ts
@@ -0,0 +1,15 @@
+/**
+ * Feedback Service Instance for Memoro Web App
+ */
+
+import { createFeedbackService } from '@manacore/shared-feedback-service';
+import { authStore } from '$lib/stores/auth';
+import { PUBLIC_MANA_CORE_AUTH_URL } from '$env/static/public';
+
+const MANA_AUTH_URL = PUBLIC_MANA_CORE_AUTH_URL || 'http://localhost:3001';
+
+export const feedbackService = createFeedbackService({
+ apiUrl: MANA_AUTH_URL,
+ appId: 'memoro',
+ getAuthToken: async () => authStore.getAccessToken(),
+});
diff --git a/apps-archived/memoro/apps/web/src/routes/(protected)/+layout.svelte b/apps-archived/memoro/apps/web/src/routes/(protected)/+layout.svelte
index ae9268453..51bf6abc3 100644
--- a/apps-archived/memoro/apps/web/src/routes/(protected)/+layout.svelte
+++ b/apps-archived/memoro/apps/web/src/routes/(protected)/+layout.svelte
@@ -11,6 +11,13 @@
import { onMount } from 'svelte';
import { PillNavigation } from '@manacore/shared-ui';
import type { PillNavItem, PillDropdownItem } from '@manacore/shared-ui';
+ import { getPillAppItems } from '@manacore/shared-branding';
+
+ // App switcher items
+ const appItems = getPillAppItems('memoro');
+
+ // User email for dropdown
+ let userEmail = $derived(auth.user?.email);
// Navigation shortcuts (Ctrl+1-9)
const navRoutes = [
@@ -179,6 +186,13 @@
{languageItems}
{currentLanguageLabel}
primaryColor="#F7D44C"
+ showAppSwitcher={true}
+ {appItems}
+ {userEmail}
+ settingsHref="/settings"
+ manaHref="/subscription"
+ profileHref="/profile"
+ allAppsHref="/apps"
>
{#snippet logo()}