Hersteller-Auto-Erkennung ueber MAC (verifiziert), Geraete-Tabelle Hersteller/Modell-Spalten, Dropdown-Klick-Bug, Kategorie-Farbe als Hintergrund

This commit is contained in:
2026-07-20 14:02:19 +02:00
parent cc4b285aea
commit 0580d46000
5 changed files with 129 additions and 17 deletions

View File

@@ -97,6 +97,7 @@ export function HomePage() {
const { data: readLaterItems } = useReadLater();
const inputRef = useRef<HTMLInputElement>(null);
const searchContainerRef = useRef<HTMLDivElement>(null);
const resultsContainerRef = useRef<HTMLDivElement>(null);
const queryClient = useQueryClient();
const isSearching = query.trim().length > 0;
const isLoading = servicesLoading || bookmarksLoading;
@@ -175,11 +176,16 @@ export function HomePage() {
}, [isSearching]);
// Klick außerhalb von Suchfeld+Trefferliste klappt das Dropdown wieder ein
// (Desktop-Verhalten, Text bleibt erhalten).
// (Desktop-Verhalten, Text bleibt erhalten). Trefferliste liegt als
// eigener Scroll-Container außerhalb von searchContainerRef, daher beide
// prüfen - sonst schließt ein Klick auf einen Treffer das Dropdown, bevor
// dessen eigener onClick überhaupt feuert.
useEffect(() => {
function onPointerDown(e: MouseEvent) {
if (!searchContainerRef.current) return;
if (!searchContainerRef.current.contains(e.target as Node)) {
const target = e.target as Node;
const insideSearch = searchContainerRef.current?.contains(target);
const insideResults = resultsContainerRef.current?.contains(target);
if (!insideSearch && !insideResults) {
setResultsVisible(false);
}
}
@@ -340,7 +346,7 @@ export function HomePage() {
{/* Scrollender Bereich: NUR die Trefferliste scrollt, nicht die ganze Seite */}
{isSearching && resultsVisible ? (
<div className="min-h-0 flex-1 px-6 pb-4">
<div ref={resultsContainerRef} className="min-h-0 flex-1 px-6 pb-4">
<div className="mx-auto h-full max-w-xl">
{isLoading ? (
<p className="text-center text-sm text-black/40 dark:text-white/40">Lade </p>