feat(mvp): phase 8 - integration, testing & deployment
Fix all build/type/lint errors (zod 3.25 compat wrapper, Svelte 5 fixes), write 115 unit tests across 10 test files, expand seed script with demo data, update Docker config with migration on startup.
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
<div class="mb-6 flex flex-wrap items-center gap-4 rounded-xl border border-border bg-card p-4 shadow-sm">
|
||||
<span class="text-sm font-semibold text-foreground">Admin Panel</span>
|
||||
<div class="flex gap-1">
|
||||
{#each navItems as item}
|
||||
{#each navItems as item (item.href)}
|
||||
<a
|
||||
href={item.href}
|
||||
class="rounded-lg px-3 py-1.5 text-sm font-medium transition-colors {isActive(item.href)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { Actions, PageServerLoad } from './$types.js';
|
||||
import { superValidate, setError } from 'sveltekit-superforms';
|
||||
import { zod } from 'sveltekit-superforms/adapters';
|
||||
import { zod } from '$lib/utils/zod-adapter.js';
|
||||
import { fail } from '@sveltejs/kit';
|
||||
import { requireAdmin } from '$lib/server/middleware/authorize.js';
|
||||
import * as groupService from '$lib/server/services/groupService.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { Actions, PageServerLoad } from './$types.js';
|
||||
import { superValidate, setError } from 'sveltekit-superforms';
|
||||
import { zod } from 'sveltekit-superforms/adapters';
|
||||
import { zod } from '$lib/utils/zod-adapter.js';
|
||||
import { fail } from '@sveltejs/kit';
|
||||
import { requireAdmin } from '$lib/server/middleware/authorize.js';
|
||||
import { prisma } from '$lib/server/prisma.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { Actions, PageServerLoad } from './$types.js';
|
||||
import { superValidate, setError } from 'sveltekit-superforms';
|
||||
import { zod } from 'sveltekit-superforms/adapters';
|
||||
import { zod } from '$lib/utils/zod-adapter.js';
|
||||
import { fail } from '@sveltejs/kit';
|
||||
import { requireAdmin } from '$lib/server/middleware/authorize.js';
|
||||
import * as userService from '$lib/server/services/userService.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { Actions, PageServerLoad } from './$types.js';
|
||||
import { superValidate, setError } from 'sveltekit-superforms';
|
||||
import { zod } from 'sveltekit-superforms/adapters';
|
||||
import { zod } from '$lib/utils/zod-adapter.js';
|
||||
import { fail } from '@sveltejs/kit';
|
||||
import { requireAuth } from '$lib/server/middleware/authenticate.js';
|
||||
import * as appService from '$lib/server/services/appService.js';
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
import type { PageData } from './$types.js';
|
||||
import AppCard from '$lib/components/app/AppCard.svelte';
|
||||
import AppForm from '$lib/components/app/AppForm.svelte';
|
||||
import CardSkeleton from '$lib/components/skeleton/CardSkeleton.svelte';
|
||||
|
||||
let { data }: { data: PageData } = $props();
|
||||
|
||||
@@ -46,7 +45,7 @@
|
||||
>
|
||||
All
|
||||
</a>
|
||||
{#each data.categories as category}
|
||||
{#each data.categories as category (category)}
|
||||
<a
|
||||
href="/apps?category={encodeURIComponent(category)}"
|
||||
class="rounded-full border border-border px-3 py-1 text-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { error, redirect } from '@sveltejs/kit';
|
||||
import { error } from '@sveltejs/kit';
|
||||
import type { PageServerLoad, Actions } from './$types.js';
|
||||
import * as boardService from '$lib/server/services/boardService.js';
|
||||
import * as appService from '$lib/server/services/appService.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { Actions, PageServerLoad } from './$types.js';
|
||||
import { superValidate, setError } from 'sveltekit-superforms';
|
||||
import { zod } from 'sveltekit-superforms/adapters';
|
||||
import { zod } from '$lib/utils/zod-adapter.js';
|
||||
import { fail, redirect } from '@sveltejs/kit';
|
||||
import { loginSchema } from '$lib/utils/validators.js';
|
||||
import * as userService from '$lib/server/services/userService.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { Actions, PageServerLoad } from './$types.js';
|
||||
import { superValidate, setError } from 'sveltekit-superforms';
|
||||
import { zod } from 'sveltekit-superforms/adapters';
|
||||
import { zod } from '$lib/utils/zod-adapter.js';
|
||||
import { fail, redirect, error } from '@sveltejs/kit';
|
||||
import { registerSchema } from '$lib/utils/validators.js';
|
||||
import { prisma } from '$lib/server/prisma.js';
|
||||
|
||||
Reference in New Issue
Block a user