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 */}
-