import Button from "@moduletrace/twui/layout/Button"; import Stack from "@moduletrace/twui/layout/Stack"; import { useState } from "react"; import SettingsList from "@/src/pages/admin/settings/(partials)/settings-list"; import type { BotHookEventStatus } from "@/src/dict/bot-hook-dict"; import useHookEvents from "@/src/hooks/use-hook-events"; import HookCallsFilters from "./hook-calls-filters"; import HookEventRow from "./hook-event-row"; type Props = { hook_id: number; }; /** * A hook's calls, newest first, loaded when shown: searchable by what * they sent and what their run answered, a page at a time. */ export default function HookCalls({ hook_id }: Props) { const [query, set_query] = useState(""); const [status, set_status] = useState(""); const { events, loading, error, more, loadOlder } = useHookEvents({ hook_id, query, status }); const filtered = Boolean(query || status); return ( {events.map((event) => ( ))} {more && events.length ? ( ) : null} ); }