From f87e00ebf3254aac46417f07d2dfae2f90b695a1 Mon Sep 17 00:00:00 2001 From: Linrador <68631622+Linrador@users.noreply.github.com> Date: Mon, 10 Nov 2025 07:39:43 +0100 Subject: [PATCH] updated --- .gitignore | 1 + backend/prisma/dev.db | Bin 110592 -> 0 bytes frontend/data/changelog.xml | 11 +++++--- frontend/src/app/(protected)/results/page.tsx | 16 ++++++++--- .../src/app/components/RecognitionDetails.tsx | 26 ++++++++++++++++-- 5 files changed, 43 insertions(+), 11 deletions(-) delete mode 100644 backend/prisma/dev.db diff --git a/.gitignore b/.gitignore index 0839ccb..96ce051 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ backend/node_modules +backend/prisma/dev.db diff --git a/backend/prisma/dev.db b/backend/prisma/dev.db deleted file mode 100644 index 38e5b32915566f384492de8a4f3da3f55e7d7fd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110592 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 diff --git a/frontend/data/changelog.xml b/frontend/data/changelog.xml index f0759ae..3672c85 100644 --- a/frontend/data/changelog.xml +++ b/frontend/data/changelog.xml @@ -1,8 +1,11 @@ - Layoutanpassung in Administration - Problem behoben, bei dem die Abmelde-Links der Benachrichtigungen nicht richtig funktioniert haben + Darstellung der Ergebnistabelle wurde verbessert + Kleine Anpassungen im hellen und dunklen Theme vorgenommen + Aktualisierung des Dashboards + Problem behoben, bei dem der Export eines PDFs mit sehr vielen Seiten nicht richtig funktionierte + @@ -15,7 +18,7 @@ - Problem behoben, bei der Suchanfragen mit einem Leerzeichen im Suchbegriff kein Ergebnis geliefert hat + Problem behoben, bei der Suchanfragen mit einem Leerzeichen im Suchbegriff kein Ergebnis lieferten Filter für Fahrtrichtung des Fahrzeugs hinzugefügt Farbe der Treffsicherheit für bessere Lesbarkeit angepasst Treffsicherheit für Marke & Modell in Details hinzugefügt @@ -49,7 +52,7 @@ - Problem behoben, bei der Suchanfragen mit einem Leerzeichen im Suchbegriff kein Ergebnis geliefert hat + Problem behoben, bei der Suchanfragen mit einem Leerzeichen im Suchbegriff kein Ergebnis lieferte diff --git a/frontend/src/app/(protected)/results/page.tsx b/frontend/src/app/(protected)/results/page.tsx index c316ef5..cc14d06 100644 --- a/frontend/src/app/(protected)/results/page.tsx +++ b/frontend/src/app/(protected)/results/page.tsx @@ -30,18 +30,26 @@ export default function ResultsPage() { onChange(); // Initialzustand setzen + // Typ für MediaQueryList mit Legacy-API-Unterstützung + type MediaQueryListWithLegacy = MediaQueryList & { + addListener?: (listener: () => void) => void; + removeListener?: (listener: () => void) => void; + }; + + const mqWithLegacy = mq as MediaQueryListWithLegacy; + if (typeof mq.addEventListener === 'function') { mq.addEventListener('change', onChange); - } else if (typeof (mq as any).addListener === 'function') { + } else if (typeof mqWithLegacy.addListener === 'function') { // Fallback für ältere Browser - (mq as any).addListener(onChange); + mqWithLegacy.addListener(onChange); } return () => { if (typeof mq.removeEventListener === 'function') { mq.removeEventListener('change', onChange); - } else if (typeof (mq as any).removeListener === 'function') { - (mq as any).removeListener(onChange); + } else if (typeof mqWithLegacy.removeListener === 'function') { + mqWithLegacy.removeListener(onChange); } }; }, []); diff --git a/frontend/src/app/components/RecognitionDetails.tsx b/frontend/src/app/components/RecognitionDetails.tsx index 76789e6..03af7b2 100644 --- a/frontend/src/app/components/RecognitionDetails.tsx +++ b/frontend/src/app/components/RecognitionDetails.tsx @@ -25,10 +25,30 @@ export default function RecognitionDetails({ useEffect(() => { const mq = window.matchMedia('(min-width: 1280px)'); const onChange = () => setIsXL(mq.matches); - onChange(); - mq.addEventListener ? mq.addEventListener('change', onChange) : mq.addListener(onChange); + + onChange(); // Initialzustand setzen + + // Typ für MediaQueryList mit Legacy-API-Unterstützung + type MediaQueryListWithLegacy = MediaQueryList & { + addListener?: (listener: () => void) => void; + removeListener?: (listener: () => void) => void; + }; + + const mqWithLegacy = mq as MediaQueryListWithLegacy; + + if (typeof mq.addEventListener === 'function') { + mq.addEventListener('change', onChange); + } else if (typeof mqWithLegacy.addListener === 'function') { + // Fallback für ältere Browser + mqWithLegacy.addListener(onChange); + } + return () => { - mq.removeEventListener ? mq.removeEventListener('change', onChange) : mq.removeListener(onChange); + if (typeof mq.removeEventListener === 'function') { + mq.removeEventListener('change', onChange); + } else if (typeof mqWithLegacy.removeListener === 'function') { + mqWithLegacy.removeListener(onChange); + } }; }, []);