From 85929850dfd7b0a9a2269df7f739dffd108ab3bc Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sun, 18 May 2025 20:34:57 +0000 Subject: feat: Disable the AI summary button if AI is not configured. Fixes #649 --- apps/web/components/dashboard/bookmarks/SummarizeBookmarkArea.tsx | 4 ++++ apps/web/lib/clientConfig.tsx | 1 + packages/shared/config.ts | 3 +++ 3 files changed, 8 insertions(+) diff --git a/apps/web/components/dashboard/bookmarks/SummarizeBookmarkArea.tsx b/apps/web/components/dashboard/bookmarks/SummarizeBookmarkArea.tsx index 717c98a1..b5e89a01 100644 --- a/apps/web/components/dashboard/bookmarks/SummarizeBookmarkArea.tsx +++ b/apps/web/components/dashboard/bookmarks/SummarizeBookmarkArea.tsx @@ -2,6 +2,7 @@ import React from "react"; import { ActionButton } from "@/components/ui/action-button"; import LoadingSpinner from "@/components/ui/spinner"; import { toast } from "@/components/ui/use-toast"; +import { useClientConfig } from "@/lib/clientConfig"; import { useTranslation } from "@/lib/i18n/client"; import { cn } from "@/lib/utils"; import { ChevronUp, RefreshCw, Sparkles, Trash2 } from "lucide-react"; @@ -110,12 +111,15 @@ export default function SummarizeBookmarkArea({ }, }); + const clientConfig = useClientConfig(); if (bookmark.content.type !== BookmarkTypes.LINK) { return null; } if (bookmark.summary) { return ; + } else if (!clientConfig.inference.isConfigured) { + return null; } else { return (
diff --git a/apps/web/lib/clientConfig.tsx b/apps/web/lib/clientConfig.tsx index ef8e0815..2a66de37 100644 --- a/apps/web/lib/clientConfig.tsx +++ b/apps/web/lib/clientConfig.tsx @@ -9,6 +9,7 @@ export const ClientConfigCtx = createContext({ disablePasswordAuth: false, }, inference: { + isConfigured: false, inferredTagLang: "english", }, serverVersion: undefined, diff --git a/packages/shared/config.ts b/packages/shared/config.ts index a4548348..c355f9db 100644 --- a/packages/shared/config.ts +++ b/packages/shared/config.ts @@ -187,6 +187,9 @@ export const clientConfig = { disablePasswordAuth: serverConfig.auth.disablePasswordAuth, }, inference: { + isConfigured: + !!serverConfig.inference.openAIApiKey || + !!serverConfig.inference.ollamaBaseUrl, inferredTagLang: serverConfig.inference.inferredTagLang, }, serverVersion: serverConfig.serverVersion, -- cgit v1.2.3-70-g09d2