fix(inventar): import FeedbackPage from @manacore/feedback, not shared-ui

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-30 21:56:19 +02:00
parent b737240ec1
commit 0d6005dbcc
23 changed files with 213 additions and 42 deletions

View file

@ -24,7 +24,7 @@
import { filterHiddenNavItems } from '@manacore/shared-theme';
import { isNavCollapsed as collapsedStore } from '$lib/stores/navigation';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { setLocale, supportedLocales } from '$lib/i18n';
import { calcOnboarding } from '$lib/stores/app-onboarding.svelte';
import { MiniOnboardingModal } from '@manacore/shared-app-onboarding';
@ -276,7 +276,14 @@
<svelte:window onkeydown={handleKeydown} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('calc')?.requiredTier}
appName={getManaApp('calc')?.name}
>
<div class="layout-container">
<PillNavigation
items={navItems}

View file

@ -42,7 +42,7 @@
import type { ThemeVariant } from '@manacore/shared-theme';
import { filterHiddenNavItems } from '@manacore/shared-theme';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { setLocale, supportedLocales } from '$lib/i18n';
import { searchEvents } from '$lib/api/events';
import { searchStore } from '$lib/stores/search.svelte';
@ -492,7 +492,14 @@
<svelte:window onkeydown={handleKeydown} onresize={updateMobileState} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('calendar')?.requiredTier}
appName={getManaApp('calendar')?.name}
>
<SplitPaneContainer>
<div class="layout-container">
<a

View file

@ -23,7 +23,7 @@
tagMutations,
useAllTags as useAllSharedTags,
} from '@manacore/shared-stores';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { setLocale, supportedLocales } from '$lib/i18n';
import type { LayoutData } from './$types';
@ -213,7 +213,14 @@
<svelte:window onkeydown={handleKeydown} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('chat')?.requiredTier}
appName={getManaApp('chat')?.name}
>
<!-- Navigation Layout -->
<div class="layout-container">
<!-- Floating Pill Navigation -->

View file

@ -19,7 +19,7 @@
import { citycornersStore } from '$lib/data/local-store';
import { THEME_DEFINITIONS, DEFAULT_THEME_VARIANTS } from '@manacore/shared-theme';
import type { ThemeVariant } from '@manacore/shared-theme';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { setLocale, supportedLocales } from '$lib/i18n';
import { api } from '$lib/api';
@ -221,7 +221,14 @@
}
</script>
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('citycorners')?.requiredTier}
appName={getManaApp('citycorners')?.name}
>
<div class="layout-container">
{#if showNav}
<PillNavigation

View file

@ -24,7 +24,7 @@
import { filterHiddenNavItems } from '@manacore/shared-theme';
import { isNavCollapsed as collapsedStore } from '$lib/stores/navigation';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { setLocale, supportedLocales } from '$lib/i18n';
import { clockOnboarding } from '$lib/stores/app-onboarding.svelte';
import { MiniOnboardingModal } from '@manacore/shared-app-onboarding';
@ -300,7 +300,14 @@
<svelte:window onkeydown={handleKeydown} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('clock')?.requiredTier}
appName={getManaApp('clock')?.name}
>
<div class="layout-container">
<PillNavigation
items={navItems}

View file

@ -31,7 +31,7 @@
import type { ThemeVariant } from '@manacore/shared-theme';
import { filterHiddenNavItems } from '@manacore/shared-theme';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { setLocale, supportedLocales } from '$lib/i18n';
import ContactDetailModal from '$lib/components/ContactDetailModal.svelte';
import NewContactModal from '$lib/components/NewContactModal.svelte';
@ -340,7 +340,14 @@
<svelte:window onkeydown={handleKeydown} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('contacts')?.requiredTier}
appName={getManaApp('contacts')?.name}
>
<SplitPaneContainer>
<!-- Navigation Layout -->
<div class="layout-container">

View file

@ -26,7 +26,7 @@
import { filterHiddenNavItems } from '@manacore/shared-theme';
import { isNavCollapsed as collapsedStore } from '$lib/stores/navigation';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { setLocale, supportedLocales } from '$lib/i18n';
import { contextOnboarding } from '$lib/stores/app-onboarding.svelte';
import { MiniOnboardingModal } from '@manacore/shared-app-onboarding';
@ -255,7 +255,14 @@
<svelte:window onkeydown={handleKeydown} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('context')?.requiredTier}
appName={getManaApp('context')?.name}
>
<div class="layout-container">
<PillNavigation
items={navItems}

View file

@ -9,7 +9,7 @@
import { setLocale, supportedLocales } from '$lib/i18n';
import { PillNavigation } from '@manacore/shared-ui';
import { SyncIndicator } from '@manacore/shared-ui';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { AuthGate, GuestWelcomeModal } from '@manacore/shared-auth-ui';
import { shouldShowGuestWelcome } from '@manacore/shared-auth-ui';
import { inventarStore } from '$lib/data/local-store';
@ -74,7 +74,14 @@
}
</script>
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('inventory')?.requiredTier}
appName={getManaApp('inventory')?.name}
>
<div class="flex min-h-screen flex-col">
<!-- Top Navigation -->
{#if showNav}

View file

@ -1,5 +1,5 @@
<script lang="ts">
import { FeedbackPage } from '@manacore/shared-ui';
import { FeedbackPage } from '@manacore/feedback';
import { authStore } from '$lib/stores/auth.svelte';
import { feedbackService } from '$lib/services/feedback';
</script>

View file

@ -23,7 +23,7 @@
import type { ThemeVariant } from '@manacore/shared-theme';
import { filterHiddenNavItems } from '@manacore/shared-theme';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { setLocale, supportedLocales } from '$lib/i18n';
import { useAllDecks } from '$lib/data/queries';
import { manadeckOnboarding } from '$lib/stores/app-onboarding.svelte';
@ -228,7 +228,14 @@
<svelte:window onkeydown={handleKeydown} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('manadeck')?.requiredTier}
appName={getManaApp('manadeck')?.name}
>
<div class="min-h-screen bg-background">
<!-- Pill Navigation -->
<PillNavigation

View file

@ -3,7 +3,7 @@
import { page } from '$app/stores';
import { PillNavigation } from '@manacore/shared-ui';
import type { PillNavItem } from '@manacore/shared-ui';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { AuthGate, GuestWelcomeModal, SessionExpiredBanner } from '@manacore/shared-auth-ui';
import { shouldShowGuestWelcome } from '@manacore/shared-auth-ui';
import { authStore } from '$lib/stores/auth.svelte';
@ -45,7 +45,14 @@
}
</script>
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('moodlit')?.requiredTier}
appName={getManaApp('moodlit')?.name}
>
<div class="flex min-h-screen flex-col">
<PillNavigation
items={navItems}

View file

@ -4,7 +4,7 @@
import { onMount } from 'svelte';
import { PillNavigation } from '@manacore/shared-ui';
import type { PillNavItem } from '@manacore/shared-ui';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { AuthGate, GuestWelcomeModal, SessionExpiredBanner } from '@manacore/shared-auth-ui';
import { shouldShowGuestWelcome } from '@manacore/shared-auth-ui';
import { authStore } from '$lib/stores/auth.svelte';
@ -73,7 +73,14 @@
<svelte:window onkeydown={handleKeydown} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('news')?.requiredTier}
appName={getManaApp('news')?.name}
>
<div class="flex min-h-screen flex-col">
<PillNavigation
items={navItems}

View file

@ -9,6 +9,7 @@
import { authStore } from '$lib/stores/auth.svelte';
import { useAllMeals, searchMeals } from '$lib/data/queries';
import { parseMealInput, formatParsedMealPreview } from '$lib/utils/meal-parser';
import { getManaApp } from '@manacore/shared-branding';
import { SessionExpiredBanner, AuthGate, GuestWelcomeModal } from '@manacore/shared-auth-ui';
import { shouldShowGuestWelcome } from '@manacore/shared-auth-ui';
import { nutriphiStore } from '$lib/data/local-store';
@ -76,7 +77,14 @@
{/if}
</svelte:head>
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('nutriphi')?.requiredTier}
appName={getManaApp('nutriphi')?.name}
>
{#if $i18nLoading}
<div class="flex min-h-screen items-center justify-center bg-background">
<div

View file

@ -14,7 +14,7 @@
import type { ThemeVariant } from '@manacore/shared-theme';
import { filterHiddenNavItems } from '@manacore/shared-theme';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { setLocale, supportedLocales } from '$lib/i18n';
import KeyboardShortcutsModal from '$lib/components/ui/KeyboardShortcutsModal.svelte';
import { theme } from '$lib/stores/theme';
@ -301,7 +301,15 @@
<svelte:window on:keydown={handleKeyDown} />
<AuthGate {authStore} {goto} loginHref="/auth/login" allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
loginHref="/auth/login"
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('picture')?.requiredTier}
appName={getManaApp('picture')?.name}
>
<div class="min-h-screen" style="background-color: hsl(var(--color-background));">
<!-- PillNavigation (conditionally visible) -->
{#if $isUIVisible}

View file

@ -17,7 +17,7 @@
import { THEME_DEFINITIONS } from '@manacore/shared-theme';
import { isNavCollapsed as collapsedStore } from '$lib/stores/navigation';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { setLocale, supportedLocales } from '$lib/i18n';
import { decksStore } from '$lib/stores/decks.svelte';
import { useAllDecks } from '$lib/data/queries';
@ -200,7 +200,14 @@
{@render children()}
</main>
{:else}
<AuthGate authStore={auth} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
authStore={auth}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('presi')?.requiredTier}
appName={getManaApp('presi')?.name}
>
<!-- Navigation Layout -->
<div class="layout-container">
<!-- Floating Pill Navigation -->

View file

@ -23,7 +23,7 @@
QuickInputItem,
CreatePreview,
} from '@manacore/shared-ui';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import {
tagLocalStore,
tagMutations,
@ -189,7 +189,14 @@
<svelte:window onresize={updateMobileState} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('questions')?.requiredTier}
appName={getManaApp('questions')?.name}
>
<div class="layout-container">
<!-- TagStrip (above PillNav, toggled via Tags pill) -->
{#if isTagStripVisible}

View file

@ -18,7 +18,7 @@
import { THEME_DEFINITIONS } from '@manacore/shared-theme';
import { isNavCollapsed as collapsedStore } from '$lib/stores/navigation';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { setLocale, supportedLocales } from '$lib/i18n';
import { ToastContainer } from '@manacore/shared-ui';
import { storageOnboarding } from '$lib/stores/app-onboarding.svelte';
@ -216,7 +216,14 @@
<ToastContainer />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('storage')?.requiredTier}
appName={getManaApp('storage')?.name}
>
{#if isAuthPage}
<!-- Auth pages without navigation -->
{@render children()}

View file

@ -10,7 +10,7 @@
import { theme } from '$lib/stores/theme';
import { setLocale, supportedLocales } from '$lib/i18n';
import { SyncIndicator } from '@manacore/shared-ui';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { AuthGate, GuestWelcomeModal } from '@manacore/shared-auth-ui';
import { shouldShowGuestWelcome } from '@manacore/shared-auth-ui';
import { timesStore } from '$lib/data/local-store';
@ -83,7 +83,14 @@
}
</script>
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('times')?.requiredTier}
appName={getManaApp('times')?.name}
>
<div class="flex min-h-screen flex-col">
<!-- Top Navigation -->
{#if showNav}

View file

@ -44,7 +44,7 @@
import type { ThemeVariant } from '@manacore/shared-theme';
import { filterHiddenNavItems } from '@manacore/shared-theme';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { parseTaskInput, resolveTaskIds, formatParsedTaskPreview } from '$lib/utils/task-parser';
import { todoOnboarding } from '$lib/stores/app-onboarding.svelte';
import { MiniOnboardingModal } from '@manacore/shared-app-onboarding';
@ -374,7 +374,14 @@
<svelte:window onkeydown={handleKeydown} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('todo')?.requiredTier}
appName={getManaApp('todo')?.name}
>
<SplitPaneContainer>
<div class="layout-container">
<a

View file

@ -4,7 +4,7 @@
import { onMount } from 'svelte';
import { PillNavigation } from '@manacore/shared-ui';
import type { PillNavItem } from '@manacore/shared-ui';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { AuthGate, GuestWelcomeModal, SessionExpiredBanner } from '@manacore/shared-auth-ui';
import { shouldShowGuestWelcome } from '@manacore/shared-auth-ui';
import { authStore } from '$lib/stores/auth.svelte';
@ -93,7 +93,14 @@
<svelte:window onkeydown={handleKeydown} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('uload')?.requiredTier}
appName={getManaApp('uload')?.name}
>
<div class="flex min-h-screen flex-col">
<PillNavigation
items={navItems}

View file

@ -3,7 +3,7 @@
import { page } from '$app/stores';
import { PillNavigation } from '@manacore/shared-ui';
import type { PillNavItem } from '@manacore/shared-ui';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { AuthGate, GuestWelcomeModal, SessionExpiredBanner } from '@manacore/shared-auth-ui';
import { shouldShowGuestWelcome } from '@manacore/shared-auth-ui';
import { authStore } from '$lib/stores/auth.svelte';
@ -50,7 +50,14 @@
}
</script>
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('wisekeep')?.requiredTier}
appName={getManaApp('wisekeep')?.name}
>
<div class="flex min-h-screen flex-col">
<PillNavigation
items={navItems}

View file

@ -34,7 +34,7 @@
} from '@manacore/shared-theme';
import type { ThemeVariant } from '@manacore/shared-theme';
import { getLanguageDropdownItems, getCurrentLanguageLabel } from '@manacore/shared-i18n';
import { getPillAppItems } from '@manacore/shared-branding';
import { getPillAppItems, getManaApp } from '@manacore/shared-branding';
import { setLocale, supportedLocales } from '$lib/i18n';
import { setContext } from 'svelte';
import { SessionExpiredBanner, AuthGate, GuestWelcomeModal } from '@manacore/shared-auth-ui';
@ -266,7 +266,14 @@
<svelte:window onkeydown={handleKeydown} />
<AuthGate {authStore} {goto} allowGuest={true} onReady={handleAuthReady}>
<AuthGate
{authStore}
{goto}
allowGuest={true}
onReady={handleAuthReady}
requiredTier={getManaApp('zitare')?.requiredTier}
appName={getManaApp('zitare')?.name}
>
<div class="layout-container">
{#if !zitareSettings.immersiveModeEnabled}
<!-- PillNav (shown/hidden via FAB) -->

View file

@ -0,0 +1,22 @@
-- Migration: Add access_tier to users table
-- Run this on production before deploying the new mana-auth version.
-- After this migration, run `drizzle-kit push` or redeploy mana-auth.
--
-- Alternatively, just run `pnpm db:push` from services/mana-auth/ which
-- will apply the schema change automatically via Drizzle Kit.
-- Step 1: Create the enum type (if not exists)
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'access_tier') THEN
CREATE TYPE public.access_tier AS ENUM ('guest', 'public', 'beta', 'alpha', 'founder');
END IF;
END
$$;
-- Step 2: Add the column with default 'public'
ALTER TABLE auth.users
ADD COLUMN IF NOT EXISTS access_tier public.access_tier NOT NULL DEFAULT 'public';
-- Step 3: Set yourself (founder) — replace with your actual email
-- UPDATE auth.users SET access_tier = 'founder' WHERE email = 'your@email.com';