Commit Graph

11 Commits

Author SHA1 Message Date
3b505d231a Restructure dashboard into sidebar navigation with grouped sections
20 flat scrolling sections replaced with a 10-item sidebar nav (Übersicht,
Mieter, Tickets & Handwerker, Putzplan, WG-Kasse, Inventar & Übergabe,
Zugang, Küche & Müll, Dokumente, Verträge & Abrechnung). One page visible
at a time, collapsible off-canvas menu on mobile. No backend/API changes.
2026-08-13 08:45:25 +00:00
791b9bb01e Add peer rating system for tenants
Implements the previously-deferred "Bewertungssystem für Zwischenmieter"
requirement, which existed only as a vague idea with no model, route, or
UI. Design (confirmed with user): any authenticated user can rate any
tenant (1-5 + optional comment), freestanding (not tied to a contract,
creatable any time), visible only to LANDLORD/ADMIN — tenants can submit
ratings but not view them, to keep WG-internal friction out of the open.

- prisma: TenantRating model + User relations. Also pins the Prisma
  Client `output` path explicitly: since schema.prisma lives at the repo
  root (no package.json there) while node_modules only exists under
  backend/, `prisma generate`'s root-inference walked up past the repo
  and wrote into an unrelated ancestor directory when invoked from a
  fresh checkout. The explicit relative output keeps repo-root schema +
  backend-only deps working the same locally and in Docker.
- backend: GET/POST /v1/ratings (role-gated read), GET /v1/ratings/tenants
  (name+room only, any authenticated user, for the picker).
- dashboard: rating form for everyone, landlord-only ratings/summary view.
2026-08-13 07:39:32 +00:00
4ba0100d31 Add 1-click PDF export for tickets (craftsman handoff)
Implements the "1-Klick-PDF-Export für Handwerker" requirement from
the ticketing module spec, which existed only as a schema stub
(HandoverProtocol.pdfUrl) with no actual generator anywhere in the
codebase. Adds a server-side PDF endpoint (pdfkit, no headless
browser needed) summarizing a ticket's category, priority, status,
room, reporter and description, plus a "PDF" button in the landlord
cockpit that downloads it via an authenticated blob fetch (the API
uses a Bearer token, not cookies, so a plain <a href> wouldn't carry
auth).
2026-08-13 07:27:01 +00:00
c8a5984f8b Dateien nach "web-dashboard" hochladen 2026-08-12 21:56:12 +00:00
007ed74527 index.html final korrigiert (byte-exact reupload) 2026-08-12 21:28:30 +00:00
7bfa45a400 Add Putzplan calendar/absences UI 2026-08-12 19:57:54 +00:00
544eb4d745 Add Putzplan UI section 2026-08-12 19:11:21 +00:00
e3ac1e9c4a Add ticket reporting UI and role-scoped rendering (tenant privacy) 2026-08-12 18:39:17 +00:00
6d8cbd7f42 add login + invite UI to web dashboard 2026-08-12 18:03:24 +00:00
35b887d954 add web-dashboard/Dockerfile 2026-08-12 16:46:21 +00:00
1a2701576f add web-dashboard/index.html 2026-08-12 16:46:20 +00:00