bug fixing

This commit is contained in:
Tom Trappmann
2026-02-02 23:00:18 +01:00
parent 84467c42c7
commit b3685e2048
3 changed files with 25 additions and 23 deletions

View File

@@ -204,14 +204,13 @@ For every logical change:
1. Make the change 1. Make the change
2. `git status` must be clean after commit 2. `git status` must be clean after commit
3. Commit with a concise imperative message 3. Commit with a concise imperative message
4. Push the commit
Rules: Rules:
- One logical change per commit - One logical change per commit
- Do not mix unrelated changes - Do not mix unrelated changes
- Do not leave uncommitted changes - Do not leave uncommitted changes
If commit or push cannot be completed: If commit cannot be completed:
- Stop - Stop
- Explain why - Explain why
- Ask one concise question - Ask one concise question
@@ -242,4 +241,4 @@ You are a deterministic Nuxt 3 frontend coding agent.
Build against mock data when the API is not available. Build against mock data when the API is not available.
Integrate with FastAPI via runtime-configured base URLs. Integrate with FastAPI via runtime-configured base URLs.
Use JWT auth via Bearer tokens when endpoints are defined. Use JWT auth via Bearer tokens when endpoints are defined.
Maintain clean git history with commit+push for each change. Maintain clean git history with commit for each change.

View File

@@ -0,0 +1,5 @@
<template>
<div>
<slot />
</div>
</template>

View File

@@ -7,9 +7,11 @@
<div class="absolute inset-0 bg-[radial-gradient(circle_at_top,_rgba(15,23,42,0.2),_rgba(2,6,23,0.9))]" /> <div class="absolute inset-0 bg-[radial-gradient(circle_at_top,_rgba(15,23,42,0.2),_rgba(2,6,23,0.9))]" />
</div> </div>
<div class="relative mx-auto flex min-h-screen max-w-6xl flex-col justify-center gap-12 px-6 py-12 lg:flex-row lg:items-center"> <div
class="relative mx-auto flex min-h-screen max-w-6xl flex-col justify-center gap-12 px-6 py-12 lg:flex-row lg:items-center">
<section class="flex-1 space-y-6 animate-rise"> <section class="flex-1 space-y-6 animate-rise">
<div class="inline-flex items-center gap-3 rounded-full border border-white/10 bg-white/5 px-4 py-2 text-xs uppercase tracking-[0.2em] text-white/70"> <div
class="inline-flex items-center gap-3 rounded-full border border-white/10 bg-white/5 px-4 py-2 text-xs uppercase tracking-[0.2em] text-white/70">
<span class="h-2 w-2 rounded-full bg-emerald-400 shadow-[0_0_16px_rgba(52,211,153,0.9)]" /> <span class="h-2 w-2 rounded-full bg-emerald-400 shadow-[0_0_16px_rgba(52,211,153,0.9)]" />
Shift-Ready Shift-Ready
</div> </div>
@@ -17,7 +19,8 @@
Keep every shift aligned, effortless, and on time. Keep every shift aligned, effortless, and on time.
</h1> </h1>
<p class="max-w-xl text-base text-white/70"> <p class="max-w-xl text-base text-white/70">
Nautilus DeskTime is the calm command center for employee schedules. Secure access keeps the crew in sync while the app does the heavy lifting. Nautilus DeskTime is the calm command center for employee schedules. Secure access keeps the crew in
sync while the app does the heavy lifting.
</p> </p>
<div class="flex flex-wrap items-center gap-4 text-sm text-white/70"> <div class="flex flex-wrap items-center gap-4 text-sm text-white/70">
<div class="flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-3 py-1"> <div class="flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-3 py-1">
@@ -36,7 +39,8 @@
</section> </section>
<section class="flex w-full max-w-md flex-1 items-center justify-center"> <section class="flex w-full max-w-md flex-1 items-center justify-center">
<div class="w-full rounded-3xl border border-white/10 bg-white/10 p-8 shadow-[0_30px_60px_rgba(2,6,23,0.6)] backdrop-blur animate-rise-delayed"> <div
class="w-full rounded-3xl border border-white/10 bg-white/10 p-8 shadow-[0_30px_60px_rgba(2,6,23,0.6)] backdrop-blur animate-rise-delayed">
<div class="space-y-2"> <div class="space-y-2">
<p class="text-sm uppercase tracking-[0.3em] text-white/60">Welcome back</p> <p class="text-sm uppercase tracking-[0.3em] text-white/60">Welcome back</p>
<h2 class="text-2xl font-semibold">Log in to your shift hub</h2> <h2 class="text-2xl font-semibold">Log in to your shift hub</h2>
@@ -48,28 +52,21 @@
<span>Email address</span> <span>Email address</span>
<input <input
class="w-full rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-base text-white placeholder:text-white/40 focus:border-emerald-300 focus:outline-none focus:ring-2 focus:ring-emerald-300/40" class="w-full rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-base text-white placeholder:text-white/40 focus:border-emerald-300 focus:outline-none focus:ring-2 focus:ring-emerald-300/40"
type="email" type="email" name="email" placeholder="you@company.com" autocomplete="email" required />
name="email"
placeholder="you@company.com"
autocomplete="email"
required
/>
</label> </label>
<label class="block space-y-2 text-sm text-white/70"> <label class="block space-y-2 text-sm text-white/70">
<span>Password</span> <span>Password</span>
<input <input
class="w-full rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-base text-white placeholder:text-white/40 focus:border-cyan-300 focus:outline-none focus:ring-2 focus:ring-cyan-300/40" class="w-full rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-base text-white placeholder:text-white/40 focus:border-cyan-300 focus:outline-none focus:ring-2 focus:ring-cyan-300/40"
type="password" type="password" name="password" placeholder="••••••••" autocomplete="current-password"
name="password" required />
placeholder="••••••••"
autocomplete="current-password"
required
/>
</label> </label>
<div class="flex items-center justify-between text-sm text-white/60"> <div class="flex items-center justify-between text-sm text-white/60">
<label class="inline-flex items-center gap-2"> <label class="inline-flex items-center gap-2">
<input class="h-4 w-4 rounded border-white/20 bg-white/10 text-emerald-300 focus:ring-emerald-300/40" type="checkbox" /> <input
class="h-4 w-4 rounded border-white/20 bg-white/10 text-emerald-300 focus:ring-emerald-300/40"
type="checkbox" />
Remember me Remember me
</label> </label>
<button class="text-sm font-medium text-emerald-200 hover:text-emerald-100" type="button"> <button class="text-sm font-medium text-emerald-200 hover:text-emerald-100" type="button">
@@ -79,10 +76,10 @@
<button <button
class="group flex w-full items-center justify-center gap-3 rounded-2xl bg-emerald-300 px-4 py-3 text-sm font-semibold uppercase tracking-[0.25em] text-slate-900 transition hover:bg-emerald-200" class="group flex w-full items-center justify-center gap-3 rounded-2xl bg-emerald-300 px-4 py-3 text-sm font-semibold uppercase tracking-[0.25em] text-slate-900 transition hover:bg-emerald-200"
type="submit" type="submit">
>
Log in Log in
<span class="inline-flex h-7 w-7 items-center justify-center rounded-full bg-slate-900/10 text-slate-900 transition group-hover:translate-x-1"> <span
class="inline-flex h-7 w-7 items-center justify-center rounded-full bg-slate-900/10 text-slate-900 transition group-hover:translate-x-1">
</span> </span>
</button> </button>
@@ -104,6 +101,7 @@
opacity: 0; opacity: 0;
transform: translateY(18px); transform: translateY(18px);
} }
to { to {
opacity: 1; opacity: 1;
transform: translateY(0); transform: translateY(0);