feat: enhance admin layout with navigation and return link; add name field for sign-up in login

This commit is contained in:
2026-03-01 23:08:28 +01:00
parent b849e6c4dc
commit b4aa5e1a73
2 changed files with 32 additions and 2 deletions

View File

@@ -23,11 +23,11 @@
<div class="flex min-h-screen bg-slate-900"> <div class="flex min-h-screen bg-slate-900">
<!-- Sidebar --> <!-- Sidebar -->
<aside class="w-64 border-r border-white/5 bg-slate-950"> <aside class="flex flex-col w-64 border-r border-white/5 bg-slate-950">
<div class="p-6"> <div class="p-6">
<h2 class="text-lg font-black uppercase tracking-[0.15em] text-amber-50">Admin</h2> <h2 class="text-lg font-black uppercase tracking-[0.15em] text-amber-50">Admin</h2>
</div> </div>
<nav class="space-y-2 px-3"> <nav class="flex-1 space-y-2 px-3">
{#each navItems as item} {#each navItems as item}
<a <a
href={item.href} href={item.href}
@@ -42,6 +42,16 @@
</a> </a>
{/each} {/each}
</nav> </nav>
<div class="border-t border-white/5 p-3">
<a
href="/"
class="flex items-center gap-2 rounded-lg px-4 py-3 text-sm font-medium text-gray-300 transition-colors hover:bg-slate-800 hover:text-white"
title="Return to site"
>
<span></span>
<span>Retour au site</span>
</a>
</div>
</aside> </aside>
<!-- Main content --> <!-- Main content -->

View File

@@ -5,6 +5,7 @@
export let form: ActionData; export let form: ActionData;
let isSignUp = false; let isSignUp = false;
let name = '';
let email = ''; let email = '';
let password = ''; let password = '';
let confirmPassword = ''; let confirmPassword = '';
@@ -12,6 +13,7 @@
const handleToggle = () => { const handleToggle = () => {
isSignUp = !isSignUp; isSignUp = !isSignUp;
name = '';
email = ''; email = '';
password = ''; password = '';
confirmPassword = ''; confirmPassword = '';
@@ -55,6 +57,24 @@
}} }}
class="space-y-6" class="space-y-6"
> >
<!-- Name Field (Sign Up Only) -->
{#if isSignUp}
<div>
<label for="name" class="block text-sm font-semibold uppercase tracking-[0.2em] text-amber-100">
Nom
</label>
<input
id="name"
type="text"
name="name"
bind:value={name}
required
placeholder="Votre nom"
class="mt-3 w-full rounded-lg border border-white/10 bg-white/5 px-4 py-3 text-white placeholder-slate-500 transition focus:border-amber-300 focus:outline-none focus:ring-2 focus:ring-amber-300/30"
/>
</div>
{/if}
<!-- Email Field --> <!-- Email Field -->
<div> <div>
<label for="email" class="block text-sm font-semibold uppercase tracking-[0.2em] text-amber-100"> <label for="email" class="block text-sm font-semibold uppercase tracking-[0.2em] text-amber-100">