generated from Dicken/dickendock
Hersteller-Auto-Erkennung ueber MAC (verifiziert), Geraete-Tabelle Hersteller/Modell-Spalten, Dropdown-Klick-Bug, Kategorie-Farbe als Hintergrund
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user