Descarga de archivos implementada
This commit is contained in:
@@ -2,20 +2,20 @@
|
||||
import { onMount } from 'svelte';
|
||||
import { auth } from '$lib/stores/auth.js';
|
||||
import Icon from './Icon.svelte';
|
||||
|
||||
|
||||
export let showLogo = true;
|
||||
export let showNavigation = true;
|
||||
|
||||
|
||||
let isMenuOpen = false;
|
||||
|
||||
|
||||
onMount(() => {
|
||||
auth.init();
|
||||
});
|
||||
|
||||
|
||||
function toggleMenu() {
|
||||
isMenuOpen = !isMenuOpen;
|
||||
}
|
||||
|
||||
|
||||
function handleLogout() {
|
||||
auth.logout();
|
||||
isMenuOpen = false;
|
||||
@@ -43,10 +43,16 @@
|
||||
<!-- Navigation -->
|
||||
{#if showNavigation && $auth.isAuthenticated}
|
||||
<nav class="hidden md:flex space-x-8">
|
||||
<a href="/tickets" class="text-gray-700 hover:text-primary-600 px-3 py-2 text-sm font-medium">
|
||||
<a
|
||||
href="/tickets"
|
||||
class="text-gray-700 hover:text-primary-600 px-3 py-2 text-sm font-medium"
|
||||
>
|
||||
Mis Tickets
|
||||
</a>
|
||||
<a href="/tickets/new" class="text-gray-700 hover:text-primary-600 px-3 py-2 text-sm font-medium">
|
||||
<a
|
||||
href="/tickets/new"
|
||||
class="text-gray-700 hover:text-primary-600 px-3 py-2 text-sm font-medium"
|
||||
>
|
||||
Crear Ticket
|
||||
</a>
|
||||
</nav>
|
||||
@@ -60,7 +66,7 @@
|
||||
on:click={toggleMenu}
|
||||
class="flex items-center space-x-2 text-gray-700 hover:text-primary-600 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 rounded-md p-2"
|
||||
tabindex="0"
|
||||
on:keydown={(e) => e.key === 'Enter' && toggleMenu()}
|
||||
on:keydown={e => e.key === 'Enter' && toggleMenu()}
|
||||
>
|
||||
<div class="w-8 h-8 bg-primary-100 rounded-full flex items-center justify-center">
|
||||
<span class="text-primary-600 text-sm font-medium">
|
||||
@@ -68,13 +74,16 @@
|
||||
</span>
|
||||
</div>
|
||||
<span class="hidden sm:block text-sm">
|
||||
{$auth.user?.first_name} {$auth.user?.last_name}
|
||||
{$auth.user?.first_name}
|
||||
{$auth.user?.last_name}
|
||||
</span>
|
||||
<Icon name="chevronDown" size="w-4 h-4" />
|
||||
</button>
|
||||
|
||||
{#if isMenuOpen}
|
||||
<div class="absolute right-0 mt-2 w-48 bg-white rounded-md shadow-lg border border-gray-200 z-50">
|
||||
<div
|
||||
class="absolute right-0 mt-2 w-48 bg-white rounded-md shadow-lg border border-gray-200 z-50"
|
||||
>
|
||||
<div class="py-1">
|
||||
<div class="px-4 py-2 text-xs text-gray-500 border-b border-gray-200">
|
||||
{$auth.user?.email}
|
||||
@@ -82,7 +91,7 @@
|
||||
<a
|
||||
href="/profile"
|
||||
class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100"
|
||||
on:click={() => isMenuOpen = false}
|
||||
on:click={() => (isMenuOpen = false)}
|
||||
>
|
||||
Mi Perfil
|
||||
</a>
|
||||
@@ -91,7 +100,7 @@
|
||||
class="block w-full text-left px-4 py-2 text-sm text-gray-700 hover:bg-gray-100"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
on:keydown={(e) => e.key === 'Enter' && handleLogout()}
|
||||
on:keydown={e => e.key === 'Enter' && handleLogout()}
|
||||
>
|
||||
Cerrar Sesión
|
||||
</button>
|
||||
@@ -100,10 +109,7 @@
|
||||
{/if}
|
||||
</div>
|
||||
{:else}
|
||||
<a
|
||||
href="/login"
|
||||
class="text-gray-700 hover:text-primary-600 text-sm font-medium"
|
||||
>
|
||||
<a href="/login" class="text-gray-700 hover:text-primary-600 text-sm font-medium">
|
||||
Iniciar Sesión
|
||||
</a>
|
||||
{/if}
|
||||
@@ -114,10 +120,16 @@
|
||||
{#if showNavigation && $auth.isAuthenticated}
|
||||
<div class="md:hidden border-t border-gray-200 py-2">
|
||||
<nav class="flex space-x-4">
|
||||
<a href="/tickets" class="text-gray-700 hover:text-primary-600 px-3 py-2 text-sm font-medium">
|
||||
<a
|
||||
href="/tickets"
|
||||
class="text-gray-700 hover:text-primary-600 px-3 py-2 text-sm font-medium"
|
||||
>
|
||||
Mis Tickets
|
||||
</a>
|
||||
<a href="/tickets/new" class="text-gray-700 hover:text-primary-600 px-3 py-2 text-sm font-medium">
|
||||
<a
|
||||
href="/tickets/new"
|
||||
class="text-gray-700 hover:text-primary-600 px-3 py-2 text-sm font-medium"
|
||||
>
|
||||
Crear Ticket
|
||||
</a>
|
||||
</nav>
|
||||
@@ -128,8 +140,5 @@
|
||||
|
||||
<!-- Backdrop for mobile menu -->
|
||||
{#if isMenuOpen}
|
||||
<div
|
||||
class="fixed inset-0 z-40 md:hidden"
|
||||
on:click={() => isMenuOpen = false}
|
||||
></div>
|
||||
{/if}
|
||||
<div class="fixed inset-0 z-40 md:hidden" on:click={() => (isMenuOpen = false)} />
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user