"use client"; import { ActionButton } from "@/components/ui/action-button"; import { toast } from "@/components/ui/use-toast"; import { api } from "@/lib/trpc"; export default function AdminActions() { const { mutate: recrawlLinks, isPending: isRecrawlPending } = api.admin.recrawlLinks.useMutation({ onSuccess: () => { toast({ description: "Recrawl enqueued", }); }, onError: (e) => { toast({ variant: "destructive", description: e.message, }); }, }); const { mutate: reindexBookmarks, isPending: isReindexPending } = api.admin.reindexAllBookmarks.useMutation({ onSuccess: () => { toast({ description: "Reindex enqueued", }); }, onError: (e) => { toast({ variant: "destructive", description: e.message, }); }, }); const { mutate: reRunInferenceOnAllBookmarks, isPending: isInferencePending, } = api.admin.reRunInferenceOnAllBookmarks.useMutation({ onSuccess: () => { toast({ description: "Inference jobs enqueued", }); }, onError: (e) => { toast({ variant: "destructive", description: e.message, }); }, }); const { mutateAsync: tidyAssets, isPending: isTidyAssetsPending } = api.admin.tidyAssets.useMutation({ onSuccess: () => { toast({ description: "Tidy assets request has been enqueued!", }); }, onError: (e) => { toast({ variant: "destructive", description: e.message, }); }, }); return (