From 0535fbe72a3b76f7e91513ecc83c2a73cc4e75f0 Mon Sep 17 00:00:00 2001 From: christian Date: Tue, 26 May 2026 14:01:30 +0000 Subject: [PATCH] fix: Umlaute, Foto-404, Account-Menu responsive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 ); } @@ -104,8 +141,8 @@ export default function TopNav({ user, activeView, setActiveView, onLogout }) { function NavBtn({ icon: Icon, label, active, onClick }) { return ( ); diff --git a/src/components/Dashboard/VorgangsListe.jsx b/src/components/Dashboard/VorgangsListe.jsx index f0d9dff..3447781 100644 --- a/src/components/Dashboard/VorgangsListe.jsx +++ b/src/components/Dashboard/VorgangsListe.jsx @@ -77,7 +77,7 @@ export default function VorgangsListe({ refreshFlag, mode }) {
{item.anzahl}
-
Stueck
+
Stück
))} diff --git a/src/components/Eingabe/._VorgangForm.jsx b/src/components/Eingabe/._VorgangForm.jsx deleted file mode 100644 index 988359c9279f059c4482ef729a8498ce3d463719..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aUl?c_=|y<2;dkJ5(HHS(lG;wxzV&S nBE&_L^K { - if (!kundeId || !artikelId) return setMsg('Bitte Kunde und Artikel waehlen'); + if (!kundeId || !artikelId) return setMsg('Bitte Kunde und Artikel wählen'); setBusy(true); setMsg(''); try { const data = { kunde_id: kundeId, artikel_id: artikelId, anzahl: parseInt(anzahl) }; @@ -45,7 +45,7 @@ export default function VorgangForm({ onSubmit }) {
@@ -72,7 +72,7 @@ export default function VorgangForm({ onSubmit }) { setFoto(e.target.files?.[0] || null)} /> @@ -80,7 +80,7 @@ export default function VorgangForm({ onSubmit }) {
- +
{infoOpen && kundenDetail && ( diff --git a/src/components/Geraete.jsx b/src/components/Geraete.jsx index 211e84b..6a3c970 100644 --- a/src/components/Geraete.jsx +++ b/src/components/Geraete.jsx @@ -11,7 +11,7 @@ const STATUS = { const empty = { seriennummer: '', typ: '', bezeichnung: '', kunde_id: '', status: 'aktiv', notiz: '' }; -export default function Geraete() { +export default function Geräte() { const [list, setList] = useState([]); const [kunden, setKunden] = useState([]); const [form, setForm] = useState(empty); @@ -43,7 +43,7 @@ export default function Geraete() { cancel(); setError(''); load(); } catch (e) { setError(e.message); } }; - const del = async (id) => { if (!confirm('Geraet loeschen?')) return; await api.deleteGeraet(id); load(); }; + const del = async (id) => { if (!confirm('Gerät löschen?')) return; await api.deleteGeraet(id); load(); }; const typen = Array.from(new Set(list.map(g => g.typ))); const view = list.filter(g => @@ -53,19 +53,19 @@ export default function Geraete() { return (
-

Geraete

-
{list.length} Geraete
+

Geräte

+
{list.length} Geräte
{error &&
{error}
}
-

{editId ? 'Geraet bearbeiten' : 'Neues Geraet'}

+

{editId ? 'Gerät bearbeiten' : 'Neues Gerät'}

setForm(f => ({ ...f, seriennummer: e.target.value }))} /> - setForm(f => ({ ...f, typ: e.target.value }))} /> @@ -137,7 +137,7 @@ export default function Geraete() { ))} - {view.length === 0 && Keine Geraete.} + {view.length === 0 && Keine Geräte.} )} diff --git a/src/components/KundenVerwaltung.jsx b/src/components/KundenVerwaltung.jsx index 51ca48b..0f8e73c 100644 --- a/src/components/KundenVerwaltung.jsx +++ b/src/components/KundenVerwaltung.jsx @@ -46,7 +46,7 @@ export default function KundenVerwaltung() { }; const del = async (id) => { - if (!confirm('Kunde wirklich loeschen?')) return; + if (!confirm('Kunde wirklich löschen?')) return; try { await api.deleteKunde(id); load(); } catch (e) { setError(e.message); } }; @@ -91,7 +91,7 @@ export default function KundenVerwaltung() {