diff --git a/surfsense_web/components/settings/general-settings-manager.tsx b/surfsense_web/components/settings/general-settings-manager.tsx index 99fa02f0d..15d44906b 100644 --- a/surfsense_web/components/settings/general-settings-manager.tsx +++ b/surfsense_web/components/settings/general-settings-manager.tsx @@ -189,26 +189,28 @@ export function GeneralSettingsManager({ searchSpaceId }: GeneralSettingsManager -
+
+

Download all documents in this search space as a ZIP of markdown files.

-
+ +
); } diff --git a/surfsense_web/components/settings/image-model-manager.tsx b/surfsense_web/components/settings/image-model-manager.tsx index 831519aa2..1b92306d4 100644 --- a/surfsense_web/components/settings/image-model-manager.tsx +++ b/surfsense_web/components/settings/image-model-manager.tsx @@ -1,7 +1,7 @@ "use client"; import { useAtomValue } from "jotai"; -import { AlertCircle, Dot, Edit3, Info, RefreshCw, Trash2, Wand2 } from "lucide-react"; +import { AlertCircle, Dot, Edit3, Info, RefreshCw, Trash2 } from "lucide-react"; import { useMemo, useState } from "react"; import { deleteImageGenConfigMutationAtom } from "@/atoms/image-gen-config/image-gen-config-mutation.atoms"; import { @@ -209,20 +209,20 @@ export function ImageModelManager({ searchSpaceId }: ImageModelManagerProps) { {["skeleton-a", "skeleton-b", "skeleton-c"].map((key) => ( -
+
+
-
- - -
-
- - - +
+ + +
+ + +
@@ -255,20 +255,25 @@ export function ImageModelManager({ searchSpaceId }: ImageModelManagerProps) {
- {/* Header: Name + Actions */} -
-
-

- {config.name} -

- {config.description && ( -

- {config.description} -

- )} + {/* Header: Icon + Name + Actions */} +
+
+
+ {getProviderIcon(config.provider, { className: "size-4" })} +
+
+

+ {config.name} +

+ {config.description && ( +

+ {config.description} +

+ )} +
{(canUpdate || canDelete) && ( -
+
{canUpdate && ( @@ -277,7 +282,7 @@ export function ImageModelManager({ searchSpaceId }: ImageModelManagerProps) { variant="ghost" size="icon" onClick={() => openEditDialog(config)} - className="h-7 w-7 text-muted-foreground hover:text-foreground" + className="h-6 w-6 text-muted-foreground hover:text-foreground" > @@ -294,7 +299,7 @@ export function ImageModelManager({ searchSpaceId }: ImageModelManagerProps) { variant="ghost" size="icon" onClick={() => setConfigToDelete(config)} - className="h-7 w-7 text-muted-foreground hover:text-destructive" + className="h-6 w-6 text-muted-foreground hover:text-destructive" > @@ -307,17 +312,9 @@ export function ImageModelManager({ searchSpaceId }: ImageModelManagerProps) { )}
- {/* Provider + Model */} -
- {getProviderIcon(config.provider, { className: "size-3.5 shrink-0" })} - - {config.model_name} - -
- {/* Footer: Date + Creator */} -
- +
+ {new Date(config.created_at).toLocaleDateString(undefined, { year: "numeric", month: "short", @@ -326,11 +323,11 @@ export function ImageModelManager({ searchSpaceId }: ImageModelManagerProps) { {member && ( <> - + -
+
{member.avatarUrl && ( @@ -339,7 +336,7 @@ export function ImageModelManager({ searchSpaceId }: ImageModelManagerProps) { {getInitials(member.name)} - + {member.name}
diff --git a/surfsense_web/components/settings/model-config-manager.tsx b/surfsense_web/components/settings/model-config-manager.tsx index f83251426..cee115ea2 100644 --- a/surfsense_web/components/settings/model-config-manager.tsx +++ b/surfsense_web/components/settings/model-config-manager.tsx @@ -10,7 +10,6 @@ import { MessageSquareQuote, RefreshCw, Trash2, - Wand2, } from "lucide-react"; import { useMemo, useState } from "react"; import { membersAtom, myAccessAtom } from "@/atoms/members/members-query.atoms"; @@ -208,28 +207,26 @@ export function ModelConfigManager({ searchSpaceId }: ModelConfigManagerProps) { {["skeleton-a", "skeleton-b", "skeleton-c"].map((key) => ( - {/* Header */} -
+ {/* Header: Icon + Name */} +
+
- {/* Provider + Model */} -
- - -
{/* Feature badges */}
-
{/* Footer */} -
- - - +
+ + +
+ + +
@@ -262,20 +259,25 @@ export function ModelConfigManager({ searchSpaceId }: ModelConfigManagerProps) {
- {/* Header: Name + Actions */} -
-
-

- {config.name} -

- {config.description && ( -

- {config.description} -

- )} + {/* Header: Icon + Name + Actions */} +
+
+
+ {getProviderIcon(config.provider, { className: "size-4" })} +
+
+

+ {config.name} +

+ {config.description && ( +

+ {config.description} +

+ )} +
{(canUpdate || canDelete) && ( -
+
{canUpdate && ( @@ -284,7 +286,7 @@ export function ModelConfigManager({ searchSpaceId }: ModelConfigManagerProps) { variant="ghost" size="icon" onClick={() => openEditDialog(config)} - className="h-7 w-7 text-muted-foreground hover:text-foreground" + className="h-6 w-6 text-muted-foreground hover:text-foreground" > @@ -301,7 +303,7 @@ export function ModelConfigManager({ searchSpaceId }: ModelConfigManagerProps) { variant="ghost" size="icon" onClick={() => setConfigToDelete(config)} - className="h-7 w-7 text-muted-foreground hover:text-destructive" + className="h-6 w-6 text-muted-foreground hover:text-destructive" > @@ -314,20 +316,12 @@ export function ModelConfigManager({ searchSpaceId }: ModelConfigManagerProps) { )}
- {/* Provider + Model */} -
- {getProviderIcon(config.provider, { className: "size-3.5 shrink-0" })} - - {config.model_name} - -
- {/* Feature badges */}
{config.citations_enabled && ( Citations @@ -336,8 +330,8 @@ export function ModelConfigManager({ searchSpaceId }: ModelConfigManagerProps) { {!config.use_default_system_instructions && config.system_instructions && ( Custom @@ -346,8 +340,8 @@ export function ModelConfigManager({ searchSpaceId }: ModelConfigManagerProps) {
{/* Footer: Date + Creator */} -
- +
+ {new Date(config.created_at).toLocaleDateString(undefined, { year: "numeric", month: "short", @@ -356,11 +350,11 @@ export function ModelConfigManager({ searchSpaceId }: ModelConfigManagerProps) { {member && ( <> - + -
+
{member.avatarUrl && ( @@ -369,7 +363,7 @@ export function ModelConfigManager({ searchSpaceId }: ModelConfigManagerProps) { {getInitials(member.name)} - + {member.name}
diff --git a/surfsense_web/components/settings/vision-model-manager.tsx b/surfsense_web/components/settings/vision-model-manager.tsx index 57ea8c205..ce79ac351 100644 --- a/surfsense_web/components/settings/vision-model-manager.tsx +++ b/surfsense_web/components/settings/vision-model-manager.tsx @@ -208,20 +208,20 @@ export function VisionModelManager({ searchSpaceId }: VisionModelManagerProps) { {["skeleton-a", "skeleton-b", "skeleton-c"].map((key) => ( -
+
+
-
- - -
-
- - - +
+ + +
+ + +
@@ -253,19 +253,25 @@ export function VisionModelManager({ searchSpaceId }: VisionModelManagerProps) {
-
-
-

- {config.name} -

- {config.description && ( -

- {config.description} -

- )} + {/* Header: Icon + Name + Actions */} +
+
+
+ {getProviderIcon(config.provider, { className: "size-4" })} +
+
+

+ {config.name} +

+ {config.description && ( +

+ {config.description} +

+ )} +
{(canUpdate || canDelete) && ( -
+
{canUpdate && ( @@ -274,7 +280,7 @@ export function VisionModelManager({ searchSpaceId }: VisionModelManagerProps) { variant="ghost" size="icon" onClick={() => openEditDialog(config)} - className="h-7 w-7 text-muted-foreground hover:text-foreground" + className="h-6 w-6 text-muted-foreground hover:text-foreground" > @@ -291,7 +297,7 @@ export function VisionModelManager({ searchSpaceId }: VisionModelManagerProps) { variant="ghost" size="icon" onClick={() => setConfigToDelete(config)} - className="h-7 w-7 text-muted-foreground hover:text-destructive" + className="h-6 w-6 text-muted-foreground hover:text-destructive" > @@ -304,17 +310,9 @@ export function VisionModelManager({ searchSpaceId }: VisionModelManagerProps) { )}
-
- {getProviderIcon(config.provider, { - className: "size-3.5 shrink-0", - })} - - {config.model_name} - -
- -
- + {/* Footer: Date + Creator */} +
+ {new Date(config.created_at).toLocaleDateString(undefined, { year: "numeric", month: "short", @@ -323,11 +321,11 @@ export function VisionModelManager({ searchSpaceId }: VisionModelManagerProps) { {member && ( <> - + -
+
{member.avatarUrl && ( @@ -336,7 +334,7 @@ export function VisionModelManager({ searchSpaceId }: VisionModelManagerProps) { {getInitials(member.name)} - + {member.name}