import Fuse from "fuse.js" import { createMemo, createSignal, For, Show } from "solid-js" import PageContainer from "@/components/PageContainer" import RelayListItem from "@/components/RelayListItem" import ResourceState from "@/components/ResourceState" import SearchInput from "@/components/SearchInput" import useMinLoading from "@/components/useMinLoading" import { useAdminRelays } from "@/lib/hooks" export default function AdminRelayList() { const [query, setQuery] = createSignal("") const [relays] = useAdminRelays() const loading = useMinLoading(() => relays.loading) const filtered = createMemo(() => { const list = relays() ?? [] const q = query().trim() if (!q) return list return new Fuse(list, { keys: ["info_name", "subdomain", "tenant"], threshold: 0.35, ignoreLocation: true }).search(q).map(r => r.item) }) return (

Relays

0} fallback={

No relays found.

}>
    {(relay) => }
) }