Files
smb-online/backoffice/app/templates/owner/dashboard.html
T
mivanchenko 528a13ca7c Owner calendar view + manual booking + owner cancel/reschedule (#20)
Adds an owner-authenticated weekly agenda (grouped by day, today highlighted)
with manual walk-in/phone booking creation, cancel, and reschedule -- all
routed through booking_api.py's create/cancel/reschedule logic (refactored
into shared helpers) so the EXCLUDE overlap constraint and confirmation
email stay on the single existing code path. Manual creation can skip the
opening-hours/min-notice/max-advance/buffer checks via an explicit override,
but never the overlap constraint itself.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-03 17:16:19 +02:00

32 lines
1.2 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="robots" content="noindex" />
<title>Mein Konto — {{ client.business_name if client else '' }}</title>
<style>
:root {
--brand: #0f8a7e;
--bg: #fff; --ink: #16302f; --muted: #5d716f; --line: #e3eae9;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
background: var(--bg); color: var(--ink); padding: 20px; max-width: 480px; }
h1 { font-size: 1.2rem; margin: 0 0 18px; }
.card { border: 1px solid var(--line); border-radius: 12px; padding: 20px; background: #f6faf9; }
.muted { color: var(--muted); font-size: .85rem; }
a { color: var(--brand); }
</style>
</head>
<body>
<h1>{{ client.business_name if client else 'Mein Konto' }}</h1>
<div class="card">
<p>Sie sind angemeldet.</p>
<p class="muted"><a href="{{ url_for('owner_booking.agenda') }}">Zum Kalender</a></p>
<p class="muted">Einstellungen folgen hier.</p>
</div>
<p class="muted"><a href="{{ url_for('owner_auth.logout') }}">Abmelden</a></p>
</body>
</html>