diff --git a/docs/backlog.md b/docs/backlog.md index 9864b68..672430f 100644 --- a/docs/backlog.md +++ b/docs/backlog.md @@ -4,7 +4,9 @@ - ~~ICS-Anhang/Link in E‑Mails (Kalendereintrag)~~ - Erinnerungsmails (24h/3h vor Termin) - ~~Umbuchen/Stornieren per sicherem Kundenlink (Token)~~ -- Pufferzeiten und Sperrtage/Feiertage konfigurierbar +- ~~Wiederkehrende Verfügbarkeitsregeln (z.B. "Montags 13-18 Uhr")~~ +- ~~Urlaubszeiten/Blockierungen konfigurierbar~~ +- Pufferzeiten zwischen Terminen konfigurierbar - ~~Slots dynamisch an Behandlungsdauer anpassen; Überschneidungen verhindern~~ ### Sicherheit & Qualität diff --git a/scripts/rebuild-dev.sh b/scripts/rebuild-dev.sh old mode 100644 new mode 100755 index 5082e5e..3778e0a --- a/scripts/rebuild-dev.sh +++ b/scripts/rebuild-dev.sh @@ -1,6 +1,5 @@ #! /bin/bash -sudo docker compose -f docker-compose.yml down -git pull -sudo docker compose -f docker-compose.yml build --no-cache -sudo docker compose -f docker-compose.yml up -d -sudo docker compose -f docker-compose.yml logs -f stargirlnails +docker compose -f docker-compose.yml down +docker compose -f docker-compose.yml build --no-cache +docker compose -f docker-compose.yml up -d +# docker compose -f docker-compose.yml logs -f stargirlnails diff --git a/src/client/app.tsx b/src/client/app.tsx index 47463a2..3fab87d 100644 --- a/src/client/app.tsx +++ b/src/client/app.tsx @@ -1,4 +1,4 @@ -import { useState } from "react"; +import { useState, useEffect } from "react"; import { useAuth } from "@/client/components/auth-provider"; import { LoginForm } from "@/client/components/login-form"; import { UserProfile } from "@/client/components/user-profile"; @@ -14,6 +14,13 @@ import LegalPage from "@/client/components/legal-page"; function App() { const { user, isLoading, isOwner } = useAuth(); const [activeTab, setActiveTab] = useState<"booking" | "admin-treatments" | "admin-bookings" | "admin-calendar" | "admin-availability" | "profile" | "legal">("booking"); + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); + + // Prevent background scroll when menu is open + useEffect(() => { + document.body.classList.toggle('overflow-hidden', isMobileMenuOpen); + return () => document.body.classList.remove('overflow-hidden'); + }, [isMobileMenuOpen]); // Handle booking status page const path = window.location.pathname; @@ -84,11 +91,26 @@ function App() { + {/* Hamburger Button für Mobile */} + + {user && (
- + Willkommen, {user.username} + + {user.username} + {isOwner && ( Inhaber @@ -100,8 +122,8 @@ function App() {
- {/* Navigation */} -