diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/baidu-search-api-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/baidu-search-api-connect-form.tsx index 044bb5565..a4f145e06 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/baidu-search-api-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/baidu-search-api-connect-form.tsx @@ -70,23 +70,21 @@ export const BaiduSearchApiConnectForm: FC = ({ onSubmit, isSu return (
- - -
- API Key Required - - You'll need a Baidu AppBuilder API key to use this connector. You can get one by signing - up at{" "} - - qianfan.cloud.baidu.com - - -
+ + + API Key Required + + You'll need a Baidu AppBuilder API key to use this connector. You can get one by signing + up at{" "} + + qianfan.cloud.baidu.com + +
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/bookstack-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/bookstack-connect-form.tsx index 65edb095c..b2a6b0b25 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/bookstack-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/bookstack-connect-form.tsx @@ -96,15 +96,13 @@ export const BookStackConnectForm: FC = ({ onSubmit, isSubmitt return (
- - -
- API Token Required - - You'll need a BookStack API Token to use this connector. You can create one from your - BookStack instance settings. - -
+ + + API Token Required + + You'll need a BookStack API Token to use this connector. You can create one from your + BookStack instance settings. +
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/circleback-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/circleback-connect-form.tsx index 625856e46..c23dfcf03 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/circleback-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/circleback-connect-form.tsx @@ -64,15 +64,13 @@ export const CirclebackConnectForm: FC = ({ onSubmit, isSubmit return (
- - -
- Webhook-Based Integration - - Circleback uses webhooks to automatically send meeting data. After connecting, you'll - receive a webhook URL to configure in your Circleback settings. - -
+ + + Webhook-Based Integration + + Circleback uses webhooks to automatically send meeting data. After connecting, you'll + receive a webhook URL to configure in your Circleback settings. +
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/elasticsearch-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/elasticsearch-connect-form.tsx index 95b93cd20..b3298cbe0 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/elasticsearch-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/elasticsearch-connect-form.tsx @@ -172,14 +172,12 @@ export const ElasticsearchConnectForm: FC = ({ onSubmit, isSub return (
- - -
- API Key Required - - Enter your Elasticsearch cluster endpoint URL and authentication credentials to connect. - -
+ + + API Key Required + + Enter your Elasticsearch cluster endpoint URL and authentication credentials to connect. +
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/github-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/github-connect-form.tsx index 9d0ef2c45..68d5ef5fb 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/github-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/github-connect-form.tsx @@ -105,24 +105,21 @@ export const GithubConnectForm: FC = ({ onSubmit, isSubmitting return (
- - -
- Personal Access Token (Optional) - - A GitHub PAT is only required for private repositories. Public repos work without a - token.{" "} - - Get your token - - {" "} - -
+ + + Personal Access Token (Optional) + + A GitHub PAT is only required for private repositories. Public repos work without a token.{" "} + + Get your token + + {" "} +
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linkup-api-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linkup-api-connect-form.tsx index 7c4ff0a46..b9771e95a 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linkup-api-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linkup-api-connect-form.tsx @@ -70,22 +70,20 @@ export const LinkupApiConnectForm: FC = ({ onSubmit, isSubmitt return (
- - -
- API Key Required - - You'll need a Linkup API key to use this connector. You can get one by signing up at{" "} - - linkup.so - - -
+ + + API Key Required + + You'll need a Linkup API key to use this connector. You can get one by signing up at{" "} + + linkup.so + +
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/luma-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/luma-connect-form.tsx index 63be3cc93..13cc7efe1 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/luma-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/luma-connect-form.tsx @@ -88,22 +88,20 @@ export const LumaConnectForm: FC = ({ onSubmit, isSubmitting } return (
- - -
- API Key Required - - You'll need a Luma API Key to use this connector. You can create one from{" "} - - Luma API Settings - - -
+ + + API Key Required + + You'll need a Luma API Key to use this connector. You can create one from{" "} + + Luma API Settings + +
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/mcp-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/mcp-connect-form.tsx index 9ece079f3..2a5bb2121 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/mcp-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/mcp-connect-form.tsx @@ -136,7 +136,7 @@ export const MCPConnectForm: FC = ({ onSubmit, isSubmitting }) return (
- + Connect to an MCP (Model Context Protocol) server. Each MCP server is added as a separate @@ -230,55 +230,51 @@ export const MCPConnectForm: FC = ({ onSubmit, isSubmitting }) ) : ( )} -
-
- - {testResult.status === "success" - ? "Connection Successful" - : "Connection Failed"} - - {testResult.tools.length > 0 && ( - - )} -
- - {testResult.message} - {showDetails && testResult.tools.length > 0 && ( -
-

Available tools:

-
    - {testResult.tools.map((tool, i) => ( -
  • {tool.name}
  • - ))} -
-
- )} -
+
+ + {testResult.status === "success" ? "Connection Successful" : "Connection Failed"} + + {testResult.tools.length > 0 && ( + + )}
+ + {testResult.message} + {showDetails && testResult.tools.length > 0 && ( +
+

Available tools:

+
    + {testResult.tools.map((tool, i) => ( +
  • {tool.name}
  • + ))} +
+
+ )} +
)}
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/obsidian-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/obsidian-connect-form.tsx index 3c4b64090..08c1dd30c 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/obsidian-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/obsidian-connect-form.tsx @@ -102,15 +102,13 @@ export const ObsidianConnectForm: FC = ({ onSubmit, isSubmitti return (
- - -
- Self-Hosted Only - - This connector requires direct file system access and only works with self-hosted - SurfSense installations. - -
+ + + Self-Hosted Only + + This connector requires direct file system access and only works with self-hosted + SurfSense installations. +
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/searxng-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/searxng-connect-form.tsx index ecf219924..5ff54fb9e 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/searxng-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/searxng-connect-form.tsx @@ -123,23 +123,21 @@ export const SearxngConnectForm: FC = ({ onSubmit, isSubmittin return (
- - -
- SearxNG Instance Required - - You need access to a running SearxNG instance. Refer to the{" "} - - SearxNG installation guide - {" "} - for setup instructions. If your instance requires an API key, include it below. - -
+ + + SearxNG Instance Required + + You need access to a running SearxNG instance. Refer to the{" "} + + SearxNG installation guide + {" "} + for setup instructions. If your instance requires an API key, include it below. +
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/tavily-api-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/tavily-api-connect-form.tsx index a8032e11a..57d183d44 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/tavily-api-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/tavily-api-connect-form.tsx @@ -70,22 +70,20 @@ export const TavilyApiConnectForm: FC = ({ onSubmit, isSubmitt return (
- - -
- API Key Required - - You'll need a Tavily API key to use this connector. You can get one by signing up at{" "} - - tavily.com - - -
+ + + API Key Required + + You'll need a Tavily API key to use this connector. You can get one by signing up at{" "} + + tavily.com + +
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/circleback-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/circleback-config.tsx index 568b47d09..3ab9cba53 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/circleback-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/circleback-config.tsx @@ -166,7 +166,7 @@ export const CirclebackConfig: FC = ({ connector, onNameC Configuration Instructions - + Configure this URL in Circleback Settings → Automations → Create automation → Send webhook request. The webhook will automatically send meeting notes, transcripts, and action items to this search space. diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/mcp-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/mcp-config.tsx index ac450677e..38d60d7bd 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/mcp-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/mcp-config.tsx @@ -235,55 +235,51 @@ export const MCPConfig: FC = ({ connector, onConfigChange, onNam ) : ( )} -
-
- - {testResult.status === "success" - ? "Connection Successful" - : "Connection Failed"} - - {testResult.tools.length > 0 && ( - - )} -
- - {testResult.message} - {showDetails && testResult.tools.length > 0 && ( -
-

Available tools:

-
    - {testResult.tools.map((tool) => ( -
  • {tool.name}
  • - ))} -
-
- )} -
+
+ + {testResult.status === "success" ? "Connection Successful" : "Connection Failed"} + + {testResult.tools.length > 0 && ( + + )}
+ + {testResult.message} + {showDetails && testResult.tools.length > 0 && ( +
+

Available tools:

+
    + {testResult.tools.map((tool) => ( +
  • {tool.name}
  • + ))} +
+
+ )} +
)}
diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/webcrawler-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/webcrawler-config.tsx index 446c08857..164d78e09 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/webcrawler-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/webcrawler-config.tsx @@ -124,9 +124,9 @@ export const WebcrawlerConfig: FC = ({ connector, onConfig
{/* Info Alert */} - - - + + + Configuration is saved when you start indexing. You can update these settings anytime from the connector management page. diff --git a/surfsense_web/components/settings/image-model-manager.tsx b/surfsense_web/components/settings/image-model-manager.tsx index cf7bb5671..456af05f2 100644 --- a/surfsense_web/components/settings/image-model-manager.tsx +++ b/surfsense_web/components/settings/image-model-manager.tsx @@ -348,7 +348,7 @@ export function ImageModelManager({ searchSpaceId }: ImageModelManagerProps) { {/* Global info */} {globalConfigs.filter((g) => !("is_auto_mode" in g && g.is_auto_mode)).length > 0 && ( - + diff --git a/surfsense_web/components/sources/DocumentUploadTab.tsx b/surfsense_web/components/sources/DocumentUploadTab.tsx index 30db47801..6817b19db 100644 --- a/surfsense_web/components/sources/DocumentUploadTab.tsx +++ b/surfsense_web/components/sources/DocumentUploadTab.tsx @@ -254,7 +254,7 @@ export function DocumentUploadTab({ return (
- + {t("file_size_limit")}{" "} diff --git a/surfsense_web/components/ui/alert.tsx b/surfsense_web/components/ui/alert.tsx index 21ee71c69..450b60285 100644 --- a/surfsense_web/components/ui/alert.tsx +++ b/surfsense_web/components/ui/alert.tsx @@ -1,15 +1,16 @@ import { cva, type VariantProps } from "class-variance-authority"; -import * as React from "react"; +import type * as React from "react"; + import { cn } from "@/lib/utils"; const alertVariants = cva( - "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground", + "relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", { variants: { variant: { - default: "bg-background text-foreground", + default: "bg-card text-card-foreground", destructive: - "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive", + "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current", }, }, defaultVariants: { @@ -18,31 +19,42 @@ const alertVariants = cva( } ); -const Alert = React.forwardRef< - HTMLDivElement, - React.HTMLAttributes & VariantProps ->(({ className, variant, ...props }, ref) => ( -
-)); -Alert.displayName = "Alert"; - -const AlertTitle = React.forwardRef>( - ({ className, ...props }, ref) => ( -
& VariantProps) { + return ( +
- ) -); -AlertTitle.displayName = "AlertTitle"; + ); +} -const AlertDescription = React.forwardRef< - HTMLParagraphElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( -
-)); -AlertDescription.displayName = "AlertDescription"; +function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ); +} + +function AlertDescription({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ); +} export { Alert, AlertTitle, AlertDescription };