diff --git a/src/lib/head/Header.svelte b/src/lib/head/Header.svelte index 971aff4..774035e 100644 --- a/src/lib/head/Header.svelte +++ b/src/lib/head/Header.svelte @@ -4,9 +4,45 @@ import ButtonGroup from '@/components/ui/button-group/button-group.svelte'; import { page } from '$app/state'; import { slide } from 'svelte/transition'; + import { sesionStore } from '@/stores/usuario'; + import { onMount } from 'svelte'; + import { apiBase } from '@/stores/url'; let menuOpen = $state(false); const toggleMenu = () => (menuOpen = !menuOpen); + + let showCerrarSesion = $state(false); + + onMount(()=>{ + sesionStore.subscribe((value)=>{ + showCerrarSesion = !!value?.accessToken; + }) + + }); + + async function cerrarSesion(){ + try{ + const req = await fetch($apiBase+"/api/auth/logout", { + method: 'POST', + headers: { + "Content-Type": "application/json", + "Authorization": `Bearer ${$sesionStore?.accessToken}` + + }, + credentials: "include" + }); + if(req.ok){ + + sesionStore.reset(); + menuOpen = false; + } + }catch{ + console.log("fallo el lougout") + } finally{ + sesionStore.reset(); + } + + }
@@ -22,19 +58,24 @@ @@ -64,20 +105,25 @@ {#if menuOpen}
-
- - -
+
+ {#if showCerrarSesion} + + {:else} + + + {/if} +
{/if}