"use client"; import { ActionButton } from "@/components/ui/action-button"; import { toast } from "@/components/ui/use-toast"; import { useTranslation } from "@/lib/i18n/client"; import { api } from "@/lib/trpc"; export default function AdminActions() { const { t } = useTranslation(); 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 (
{t("common.actions")}
recrawlLinks({ crawlStatus: "failure", runInference: true }) } > {t("admin.actions.recrawl_failed_links_only")} recrawlLinks({ crawlStatus: "all", runInference: true }) } > {t("admin.actions.recrawl_all_links")} recrawlLinks({ crawlStatus: "all", runInference: false }) } > {t("admin.actions.recrawl_all_links")} ( {t("admin.actions.without_inference")}) reRunInferenceOnAllBookmarks({ taggingStatus: "failure" }) } > {t("admin.actions.regenerate_ai_tags_for_failed_bookmarks_only")} reRunInferenceOnAllBookmarks({ taggingStatus: "all" })} > {t("admin.actions.regenerate_ai_tags_for_all_bookmarks")} reindexBookmarks()} > {t("admin.actions.reindex_all_bookmarks")} tidyAssets()} > {t("admin.actions.compact_assets")}
); }