"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 (
Actions
recrawlLinks({ crawlStatus: "failure", runInference: true }) } > Recrawl Failed Links Only recrawlLinks({ crawlStatus: "all", runInference: true }) } > Recrawl All Links recrawlLinks({ crawlStatus: "all", runInference: false }) } > Recrawl All Links (Without Inference) reRunInferenceOnAllBookmarks({ taggingStatus: "failure" }) } > Regenerate AI Tags for Failed Bookmarks Only reRunInferenceOnAllBookmarks({ taggingStatus: "all" })} > Regenerate AI Tags for All Bookmarks reindexBookmarks()} > Reindex All Bookmarks tidyAssets()} > Compact Assets
); }