generated from Dicken/dickendock
Fix: visible-Flag für Scan-Müll, editierbare Hostname/Port/HTTPS, Sidebar fixiert, Suche nur bei Eingabe
This commit is contained in:
@@ -31,6 +31,7 @@ export function HomePage() {
|
||||
const { data: services, isLoading, isError } = useServices();
|
||||
const inputRef = useRef<HTMLInputElement>(null);
|
||||
const queryClient = useQueryClient();
|
||||
const isSearching = query.trim().length > 0;
|
||||
|
||||
const toggleFavorite = useMutation({
|
||||
mutationFn: toggleServiceFavorite,
|
||||
@@ -39,9 +40,16 @@ export function HomePage() {
|
||||
},
|
||||
});
|
||||
|
||||
// Ausgeblendete Dienste (z. B. Fehlerseiten/nicht erreichbare Scan-Treffer,
|
||||
// siehe Admin -> Dienste) tauchen in der Suche nicht auf.
|
||||
const visibleServices = useMemo(
|
||||
() => (services ?? []).filter((s) => s.visible),
|
||||
[services]
|
||||
);
|
||||
|
||||
const results = useMemo(
|
||||
() => rankServices(services ?? [], query),
|
||||
[services, query]
|
||||
() => rankServices(visibleServices, query),
|
||||
[visibleServices, query]
|
||||
);
|
||||
|
||||
// Auswahl zurücksetzen, sobald sich die Trefferliste ändert
|
||||
@@ -61,6 +69,7 @@ export function HomePage() {
|
||||
}
|
||||
|
||||
if (document.activeElement !== inputRef.current) return;
|
||||
if (query.trim().length === 0) return; // keine sichtbare Liste, nichts zu steuern
|
||||
|
||||
if (e.key === "ArrowDown") {
|
||||
e.preventDefault();
|
||||
@@ -80,7 +89,7 @@ export function HomePage() {
|
||||
|
||||
window.addEventListener("keydown", onKeyDown);
|
||||
return () => window.removeEventListener("keydown", onKeyDown);
|
||||
}, [results, selectedIndex]);
|
||||
}, [results, selectedIndex, query]);
|
||||
|
||||
const isOnline = !healthError && health?.status === "ok";
|
||||
|
||||
@@ -124,7 +133,7 @@ export function HomePage() {
|
||||
autoFocus
|
||||
/>
|
||||
|
||||
{isLoading ? (
|
||||
{!isSearching ? null : isLoading ? (
|
||||
<p className="mt-4 text-center text-sm text-black/40 dark:text-white/40">
|
||||
Lade Dienste …
|
||||
</p>
|
||||
@@ -140,7 +149,7 @@ export function HomePage() {
|
||||
onOpen={openService}
|
||||
onToggleFavorite={(service) => toggleFavorite.mutate(service)}
|
||||
emptyLabel={
|
||||
(services?.length ?? 0) === 0
|
||||
(visibleServices?.length ?? 0) === 0
|
||||
? "Noch keine Dienste angelegt. Füge welche im Adminbereich hinzu."
|
||||
: "Keine Treffer für deine Suche."
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user