feat: ST-006-ST-008 auth pages, middleware, nav shell en dashboard
- Login/register pages met AuthForm (useActionState + useFormStatus) - Server Actions voor login, register, logout met Zod validatie - Middleware checkt session cookie zonder iron-session op Edge runtime - AppLayout met auth-check en NavBar met demo badge en actieve links - Dashboard toont productenlijst via ProductList Client Component - Fix: a-in-a hydration error opgelost door div plus useRouter te gebruiken Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
24924c9b79
commit
8017968e60
9 changed files with 375 additions and 2 deletions
|
|
@ -17,7 +17,7 @@ const loginSchema = z.object({
|
|||
password: z.string().min(1),
|
||||
})
|
||||
|
||||
export async function registerAction(formData: FormData) {
|
||||
export async function registerAction(_prevState: unknown, formData: FormData) {
|
||||
const parsed = registerSchema.safeParse({
|
||||
username: formData.get('username'),
|
||||
password: formData.get('password'),
|
||||
|
|
@ -38,7 +38,7 @@ export async function registerAction(formData: FormData) {
|
|||
redirect('/dashboard')
|
||||
}
|
||||
|
||||
export async function loginAction(formData: FormData) {
|
||||
export async function loginAction(_prevState: unknown, formData: FormData) {
|
||||
const parsed = loginSchema.safeParse({
|
||||
username: formData.get('username'),
|
||||
password: formData.get('password'),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue