diff --git a/src/lib/head/AvatarButton.svelte b/src/lib/head/AvatarButton.svelte index c1e4c31..1ae2328 100644 --- a/src/lib/head/AvatarButton.svelte +++ b/src/lib/head/AvatarButton.svelte @@ -27,8 +27,7 @@ goto('/' + $sesionStore?.username)} >Mi Perfil - - {#if true} + {#if $sesionStore?.isAdmin} goto('/admin')}>Menu Admin {/if} diff --git a/src/routes/(privado)/admin/+page.server.ts b/src/routes/(privado)/admin/+page.server.ts new file mode 100644 index 0000000..d431e79 --- /dev/null +++ b/src/routes/(privado)/admin/+page.server.ts @@ -0,0 +1,9 @@ +import { sesionStore } from '@/stores/usuario'; +import { redirect } from '@sveltejs/kit'; +import { get } from 'svelte/store'; + +export async function load({ params }) { + if (get(sesionStore)?.isAdmin !== true) { + redirect(302, '/'); + } +} diff --git a/src/types.d.ts b/src/types.d.ts index 9d79673..0fed13d 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -37,6 +37,7 @@ export interface Sesion { url: string; displayName: string; username: string; + isAdmin: boolean; } export interface LoginDto {