import { fail, redirect } from '@sveltejs/kit'; import type { Actions, PageServerLoad } from './$types'; import { profileSchema } from '$lib/schemas/profile'; export const actions: Actions = { default: async ({ request, fetch }) => { console.log('hello'); const formData = await request.formData(); const data = Object.fromEntries(formData); const result = profileSchema.safeParse(data); if (!result.success) { return fail(400, { errors: result.error.flatten().fieldErrors, data: data as Record, }); } const response = await fetch(`/api/check-username?u=${result.data.username}`); const { available } = await response.json(); if (!available) { return fail(400, { errors: { username: ['This username is already taken'] }, data: data as Record, }); } // 3. Success: Send to backend to create profile // await fetch('...', { method: 'POST', body: JSON.stringify(result.data) }); throw redirect(303, '/dashboard'); }, }; export const load = async ({ fetch, request }) => { const res = await fetch('http://localhost:2210/me', { headers: { cookie: request.headers.get('cookie') || '', }, }); if (res.status === 401) throw redirect(302, '/login'); const userData = await res.json(); // if (userData.is_onboarded) { // throw redirect(302, '/dashboard'); // } // return { user: userData, }; };