import { A } from "@solidjs/router" import Fuse from "fuse.js" import { createMemo, createResource, createSignal, For, Show } from "solid-js" import { listTenantRelays } from "../../lib/api" import PageContainer from "../../components/PageContainer" import ResourceState from "../../components/ResourceState" import useMinLoading from "../../components/useMinLoading" export default function RelayList() { const [relays] = createResource(listTenantRelays) const [query, setQuery] = createSignal("") const [status, setStatus] = createSignal("all") const loading = useMinLoading(() => relays.loading) const filtered = createMemo(() => { const list = relays() ?? [] const q = query().trim() const searched = q ? new Fuse(list, { keys: ["name", "subdomain"], threshold: 0.35, ignoreLocation: true, }).search(q).map((result) => result.item) : list return searched.filter((relay) => { const matchesStatus = status() === "all" || relay.status === status() return matchesStatus }) }) return (

My Relays

Add Relay
setQuery(e.currentTarget.value)} placeholder="Search by name or subdomain" class="w-full border border-gray-300 rounded-lg py-2 pl-10 pr-3" />
0} fallback={

No relays match your filters.

}>
) }