bd7b1fc67145db779d29e2f45a92355937b1941c
In der installierten App auf dem iPhone hing die Tab-Leiste auf kurzen Seiten (z. B. leere Tabs Projekte, Rechnungen, Fortschritt) 59 px ueber dem unteren Rand, darunter ein schwarzer Streifen; im Chat nicht. Das ist ein bekannter WebKit-Fehler bei black-translucent: Der Layout-Bereich ist um die Hoehe der Statusleiste kuerzer als der Bildschirm, und auf Seiten, die kuerzer als der Bildschirm sind, docken fixierte Leisten an dieses zu kurze Ende. Der Chat ist hoeher als der Bildschirm und war deshalb nicht betroffen. - Installierte App auf iOS: Seite mindestens bildschirmhoch. Die Hoehe kommt aus screen.* (--kb-screen-h), weil innerHeight, 100svh und 100dvh in diesem Zustand selbst zu kurz sein koennen. Das gilt auch fuer den Login und die Chat-Hoehe. - Safari im Browser, Android und Desktop unveraendert (pixelgleich). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Webklar Kundenbereich
Kundenportal für Website-Projekte. Liest ausschließlich aus woms-database auf ticket.webklar.com (Ticketsystem). Es gibt keine eigene Portal-Datenbank mehr.
- Keine Kundenanlage im Portal
- Keine Admin-Funktionen
- Login über Appwrite Auth (ein User pro Kunde, verknüpft über
customers.appwriteUserId)
Verwaltung (Kunden, Passwörter, Projekte, Freischaltung): Ticketsystem.
Struktur
server/ Express-API, Appwrite, Gitea-Webhook
public/ Login & Dashboard (statisch)
Schnellstart
cp .env.example .env
# SESSION_SECRET (min. 32 Zeichen) und APPWRITE_API_KEY setzen
npm install
npm run dev
Öffnen: http://localhost:3000
API
| Methode | Pfad | Beschreibung |
|---|---|---|
| POST | /api/auth/login |
Appwrite Login + Portal-Prüfungen |
| POST | /api/auth/logout |
Session beenden |
| GET | /api/auth/me |
Aktueller Kunde |
| GET | /api/projects |
Eigene websiteProjects |
| GET | /api/features |
Eigene portalFeatures (enabled) |
| POST | /webhook/gitea?token=… |
Gitea Push → Deploy + DB-Update |
Appwrite
Schema und Collection-Anlage: siehe APPWRITE_SCHEMA.md.
Endpoint: https://ticket.webklar.com/v1
Project: 6a1058610003c5a13a05
Database: woms-database
Gitea / Preview
- Template: https://git.webklar.com/knso/webklar-preview-template.git
- Webhook-URL:
https://project.webklar.com/webhook/gitea - Secret:
GITEA_WEBHOOK_TOKENin.env - Vorschau:
https://<subdomain>.project.webklar.com
customerId wird im Ticketsystem am websiteProjects-Eintrag gesetzt, nicht im Webhook.
Deployment
npm start
# Reverse Proxy (nginx) → Port 3000
# PREVIEW_DEPLOY_ROOT für statische Vorschau-Dateien
Repositories
Languages
JavaScript
86.2%
HTML
11%
CSS
2.7%