managarten/apps/todo/apps/web/vite.config.ts
Till JS 3f2e6a3ee5 feat(todo): unify view modes into single route with Fokus/Übersicht/Matrix layouts
Consolidate the two separate view systems (homepage paper pages + /kanban board)
into one unified system on `/`. All three layout modes (Fokus, Übersicht, Matrix)
share the same LocalBoardView data model and BoardViewRenderer, with layout
switching via PillNav tabs instead of route navigation.

- Add FokusLayout component (scroll-snap paper sheets with DnD)
- Add activeLayoutMode setting (fokus/uebersicht/matrix)
- Add layoutOverride prop to BoardViewRenderer
- Rewrite homepage to use BoardViewRenderer + ViewSelector
- Unify DnD type to 'task-dnd' across all layouts
- Convert PillNav from route-based to state-based view switching
- Delete /kanban route (redirect to / with uebersicht mode)
- Update PWA shortcuts, settings, onboarding, help content

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 12:03:58 +02:00

55 lines
1.3 KiB
TypeScript

/// <reference types="vitest/config" />
import { sveltekit } from '@sveltejs/kit/vite';
import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
tailwindcss(),
sveltekit(),
SvelteKitPWA(
createPWAConfig({
name: 'Todo - Aufgabenverwaltung',
shortName: 'Todo',
description: 'Aufgaben und Projekte verwalten mit Kanban-Board, Subtasks und mehr',
themeColor: '#8b5cf6',
devEnabled: false,
shortcuts: [
{
name: 'Neue Aufgabe',
short_name: 'Neu',
description: 'Neue Aufgabe erstellen',
url: '/?action=new',
},
{
name: 'Einstellungen',
short_name: 'Settings',
description: 'App-Einstellungen öffnen',
url: '/settings',
},
],
})
),
],
server: {
port: 5188,
strictPort: true,
},
ssr: {
noExternal: [...MANACORE_SHARED_PACKAGES, '@todo/shared'],
},
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES, '@todo/shared'],
},
test: {
environment: 'jsdom',
include: ['src/**/*.test.ts'],
globals: true,
},
define: {
...getBuildDefines(),
},
});