Files
portfolio-generator-app/components/BrandBar.vue
Valentin Le Moign ef1f14335d Textes projet éditables suivant Grav + écriture atomique du store
- Champ Présentation prérempli avec le texte Grav, suivi modifié/synchro
  (textOverride undefined = suit Grav, sinon figé ; bouton Réinitialiser)
- Fix génération PDF : savePortfolio écrit en atomique (temp+rename) pour
  éviter la corruption de lecture par l'autosave concurrent du rendu print
- Toast d'échec de génération explicite (message serveur)
- Refonte architecture visuelle, fond unifié white/tint/full, dispositions
  couverture bandeau/colonne, instantané public complet, index 3 lignes
2026-07-06 13:26:06 +02:00

27 lines
851 B
Vue

<script setup lang="ts">
// En-tête de la colonne gauche : logo « Portfolios » + déconnexion (petite icône
// à droite). Header à part entière (fond + filet bas), commun index/éditeur.
async function logout() {
await $fetch('/api/auth/logout', { method: 'POST' })
navigateTo('/login')
}
</script>
<template>
<div class="flex h-14 items-center justify-between gap-2 border-b border-neutral-200 bg-white px-4 dark:border-neutral-800 dark:bg-neutral-900">
<NuxtLink to="/" class="font-bold text-[var(--fl-ink)] hover:opacity-80 dark:text-white">
Portfolios
</NuxtLink>
<UTooltip text="Déconnexion">
<UButton
icon="i-lucide-log-out"
size="xs"
variant="ghost"
color="neutral"
aria-label="Se déconnecter"
@click="logout"
/>
</UTooltip>
</div>
</template>