fix: Umlaute, Foto-404, Account-Menu responsive
Bugs: - nginx: /uploads/ wurde von der .jpg/.png-Regex-Location geschluckt -> ^~ Prefix gibt /uploads/ und /api/ Vorrang vor Regex -> Fotos werden jetzt korrekt vom Backend ausgeliefert - TopNav menu-item Klasse war via <style>@apply definiert - Tailwind verarbeitet @apply nur in .css-Dateien, nicht in JSX-style-Tags -> alle Klassen direkt am Element + neuer responsive Aufbau - TopNav mobile-friendlier: Brand-Truncate, Demo-Badge erst ab sm, Dropdown max-w fuer Viewport, Touch-Outside-Close, groessere Touch-Targets Umlaute: - Alle ASCII-Substitutionen (fuer, ueber, aendern, loeschen, Stueck, Geraete, Ruecknahme, Hintertuer, Schluessel, Kuehlschrank, Pruefe, gueltig, etc.) konsequent auf Unicode (für, über, ä, ö, ü, ß) umgestellt. - 26 Dateien betroffen, SQL-Identifier + Import-Pfade + API-Routen ASCII gelassen. - seed.js: Baeckerei -> Baeckerei.. ah Baeckerei -> Bäckerei
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
import crypto from 'crypto';
|
||||
|
||||
// Befuellt einen frischen Demo-Tenant mit Beispieldaten
|
||||
// (5 Kunden, 3 Artikel, 6 Lieferungen, 2 Geraete).
|
||||
// Befüllt einen frischen Demo-Tenant mit Beispieldaten
|
||||
// (5 Kunden, 3 Artikel, 6 Lieferungen, 2 Geräte).
|
||||
export async function seedDemoTenant(conn, tenantId) {
|
||||
// Artikel
|
||||
const artikel = [
|
||||
{ id: crypto.randomUUID(), name: 'Brotkorb klein', pfand: 2.50 },
|
||||
{ id: crypto.randomUUID(), name: 'Brotkorb gross', pfand: 5.00 },
|
||||
{ id: crypto.randomUUID(), name: 'Brotkorb groß', pfand: 5.00 },
|
||||
{ id: crypto.randomUUID(), name: 'Transportbox', pfand: 10.00 }
|
||||
];
|
||||
for (const a of artikel) {
|
||||
@@ -18,11 +18,11 @@ export async function seedDemoTenant(conn, tenantId) {
|
||||
|
||||
// Kunden
|
||||
const kunden = [
|
||||
{ name: 'Cafe Sonnenschein', adresse: 'Bahnhofstr. 12, 10115 Berlin', zeit: '05:00', hinweis: 'Anlieferung Hintertuer. Code 1234#.' },
|
||||
{ name: 'Restaurant Roma', adresse: 'Hauptstr. 88, 10117 Berlin', zeit: '06:30', hinweis: 'Schluesselkasten links neben Eingang.' },
|
||||
{ name: 'Hotel Adlerhorst', adresse: 'Seestrasse 5, 14193 Berlin', zeit: '05:30', hinweis: 'Anlieferung Tiefgarage Ebene -1, Tor 3.' },
|
||||
{ name: 'Cafe Sonnenschein', adresse: 'Bahnhofstr. 12, 10115 Berlin', zeit: '05:00', hinweis: 'Anlieferung Hintertür. Code 1234#.' },
|
||||
{ name: 'Restaurant Roma', adresse: 'Hauptstr. 88, 10117 Berlin', zeit: '06:30', hinweis: 'Schlüsselkasten links neben Eingang.' },
|
||||
{ name: 'Hotel Adlerhorst', adresse: 'Seestraße 5, 14193 Berlin', zeit: '05:30', hinweis: 'Anlieferung Tiefgarage Ebene -1, Tor 3.' },
|
||||
{ name: 'Kantine Werk Nord', adresse: 'Industriestr. 200, 13407 Berlin', zeit: '06:00', hinweis: 'Werkschutz Bescheid geben, Tor B.' },
|
||||
{ name: 'Baeckerei Schmitt', adresse: 'Marktplatz 4, 10178 Berlin', zeit: '04:45', hinweis: 'Direkt in den Verkaufsraum stellen.' }
|
||||
{ name: 'Bäckerei Schmitt', adresse: 'Marktplatz 4, 10178 Berlin', zeit: '04:45', hinweis: 'Direkt in den Verkaufsraum stellen.' }
|
||||
];
|
||||
const kundenIds = [];
|
||||
for (const k of kunden) {
|
||||
@@ -35,7 +35,7 @@ export async function seedDemoTenant(conn, tenantId) {
|
||||
);
|
||||
}
|
||||
|
||||
// Lieferungen (verteilt ueber die letzten 14 Tage)
|
||||
// Lieferungen (verteilt über die letzten 14 Tage)
|
||||
for (let i = 0; i < 6; i++) {
|
||||
const kid = kundenIds[i % kundenIds.length];
|
||||
const aid = artikel[i % artikel.length].id;
|
||||
@@ -47,12 +47,12 @@ export async function seedDemoTenant(conn, tenantId) {
|
||||
);
|
||||
}
|
||||
|
||||
// Geraete
|
||||
const geraete = [
|
||||
// Geräte
|
||||
const geraeteList = [
|
||||
{ sn: 'OF-2024-001', typ: 'Ofen', bez: 'Miwe Condo 3-Etagen', kid: kundenIds[0] },
|
||||
{ sn: 'KS-2024-007', typ: 'Kuehlschrank', bez: 'Liebherr GKv 5710', kid: kundenIds[2] }
|
||||
{ sn: 'KS-2024-007', typ: 'Kühlschrank', bez: 'Liebherr GKv 5710', kid: kundenIds[2] }
|
||||
];
|
||||
for (const g of geraete) {
|
||||
for (const g of geraeteList) {
|
||||
await conn.query(
|
||||
`INSERT INTO geraete (id, tenant_id, seriennummer, typ, bezeichnung, kunde_id, status)
|
||||
VALUES (UUID(), ?, ?, ?, ?, ?, 'aktiv')`,
|
||||
|
||||
Reference in New Issue
Block a user