Reset-Button, Service-Reorder, Port/HTTPS-Spalten, Healthcheck in Sidebar, Kategorien-Sync

This commit is contained in:
2026-07-19 15:14:44 +02:00
parent 20ea4d382d
commit fc1ea4fa70
16 changed files with 447 additions and 20 deletions

View File

@@ -1,7 +1,7 @@
import { useEffect, useMemo, useRef, useState } from "react";
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { Link } from "@tanstack/react-router";
import { SearchInput, StatusBadge, ResultsList } from "@launchpad/ui";
import { SearchInput, StatusBadge, ResultsList, FavoritesBar } from "@launchpad/ui";
import { rankServices, type Service } from "@launchpad/shared";
import { useServices } from "../hooks/useServices.js";
import { useBackendHealth } from "../hooks/useBackendHealth.js";
@@ -52,6 +52,14 @@ export function HomePage() {
[visibleServices, query]
);
const favoriteServices = useMemo(
() =>
visibleServices
.filter((s) => s.favorite)
.sort((a, b) => a.order - b.order),
[visibleServices]
);
// Auswahl zurücksetzen, sobald sich die Trefferliste ändert
useEffect(() => {
setSelectedIndex(0);
@@ -124,6 +132,12 @@ export function HomePage() {
</div>
<div className="w-full max-w-xl">
{favoriteServices.length > 0 ? (
<div className="mb-4">
<FavoritesBar services={favoriteServices} onOpen={openService} />
</div>
) : null}
<SearchInput
ref={inputRef}
value={query}