From d84fd9a7728f894e7721363808ca364b00ca137a Mon Sep 17 00:00:00 2001 From: brobert Date: Mon, 13 Oct 2025 00:49:57 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20cerrar=20sesi=C3=B3n=20por=20POST=20con?= =?UTF-8?q?=20redirecci=C3=B3n=20a=20/=20y=20formulario=20en=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: aider (openrouter/openai/gpt-5) --- apps/web/src/routes/api/logout/+server.ts | 5 ++++- apps/web/src/routes/app/+page.svelte | 10 +++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/apps/web/src/routes/api/logout/+server.ts b/apps/web/src/routes/api/logout/+server.ts index 52d84b0..abd444e 100644 --- a/apps/web/src/routes/api/logout/+server.ts +++ b/apps/web/src/routes/api/logout/+server.ts @@ -1,4 +1,5 @@ import type { RequestHandler } from './$types'; +import { redirect } from '@sveltejs/kit'; import { getDb } from '$lib/server/db'; import { sha256Hex } from '$lib/server/crypto'; import { isProd } from '$lib/server/env'; @@ -25,5 +26,7 @@ export const POST: RequestHandler = async (event) => { } // Limpiar cookie (asegurar mismos atributos que al crearla) event.cookies.delete('sid', { path: '/', httpOnly: true, sameSite: 'lax', secure: isProd() }); - return new Response(null, { status: 204 }); + + // Redirigir a home para que el navegador navegue sin depender de JS + throw redirect(303, '/'); }; diff --git a/apps/web/src/routes/app/+page.svelte b/apps/web/src/routes/app/+page.svelte index e1bfec9..f0283bd 100644 --- a/apps/web/src/routes/app/+page.svelte +++ b/apps/web/src/routes/app/+page.svelte @@ -11,19 +11,15 @@ }>; }; - async function logout() { - try { - await fetch('/api/logout', { method: 'POST' }); - } catch {} - location.href = '/'; - }

Panel

Sesión iniciada como: {data.userId}

- +
+ +

Mis tareas (abiertas)