-
+
{showArchived
? t("no_archived_chats") || "No archived chats"
diff --git a/surfsense_web/components/new-chat/chat-share-button.tsx b/surfsense_web/components/new-chat/chat-share-button.tsx
index a40813e29..e0b28f2a1 100644
--- a/surfsense_web/components/new-chat/chat-share-button.tsx
+++ b/surfsense_web/components/new-chat/chat-share-button.tsx
@@ -2,7 +2,7 @@
import { useQueryClient } from "@tanstack/react-query";
import { useAtomValue, useSetAtom } from "jotai";
-import { Loader2, Lock, Users } from "lucide-react";
+import { Loader2, User, Users } from "lucide-react";
import { useCallback, useState } from "react";
import { toast } from "sonner";
import { currentThreadAtom, setThreadVisibilityAtom } from "@/atoms/chat/current-thread.atom";
@@ -25,13 +25,13 @@ const visibilityOptions: {
value: ChatVisibility;
label: string;
description: string;
- icon: typeof Lock;
+ icon: typeof User;
}[] = [
{
value: "PRIVATE",
label: "Private",
description: "Only you can access this chat",
- icon: Lock,
+ icon: User,
},
{
value: "SEARCH_SPACE",
@@ -95,7 +95,7 @@ export function ChatShareButton({ thread, onVisibilityChange, className }: ChatS
return null;
}
- const CurrentIcon = currentVisibility === "PRIVATE" ? Lock : Users;
+ const CurrentIcon = currentVisibility === "PRIVATE" ? User : Users;
return (
@@ -145,7 +145,7 @@ export function ChatShareButton({ thread, onVisibilityChange, className }: ChatS
onClick={() => handleVisibilityChange(option.value)}
disabled={isUpdating}
className={cn(
- "w-full flex items-start gap-2.5 px-2.5 py-2 rounded-md transition-all",
+ "w-full flex items-center gap-2.5 px-2.5 py-2 rounded-md transition-all",
"hover:bg-accent/50 cursor-pointer",
"focus:outline-none",
isSelected && "bg-accent/80"
@@ -153,13 +153,13 @@ export function ChatShareButton({ thread, onVisibilityChange, className }: ChatS
>
From 1f06794021d74d3b2c871c6fb58c492c13e91bd5 Mon Sep 17 00:00:00 2001
From: Anish Sarkar <104695310+AnishSarkar22@users.noreply.github.com>
Date: Tue, 20 Jan 2026 17:35:08 +0530
Subject: [PATCH 07/72] feat: enhance UI components with new border radius and
tooltip features
- Added new border radius options (2xl, 3xl) in Tailwind configuration and globals.css.
- Integrated Tooltip component in ChatShareButton and ModelSelector for improved user experience.
- Updated button styles for consistency across components, including NotificationButton and ModelSelector.
- Minor text adjustments for clarity in SourceDetailPanel.
---
surfsense_web/app/globals.css | 2 +
.../components/new-chat/chat-share-button.tsx | 48 +++++++++----------
.../components/new-chat/model-selector.tsx | 25 ++++------
.../new-chat/source-detail-panel.tsx | 3 +-
.../notifications/NotificationButton.tsx | 2 +-
surfsense_web/tailwind.config.js | 3 ++
6 files changed, 40 insertions(+), 43 deletions(-)
diff --git a/surfsense_web/app/globals.css b/surfsense_web/app/globals.css
index 7324ffeb3..cf6f48437 100644
--- a/surfsense_web/app/globals.css
+++ b/surfsense_web/app/globals.css
@@ -113,6 +113,8 @@
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
--radius-xl: calc(var(--radius) + 4px);
+ --radius-2xl: calc(var(--radius) + 8px);
+ --radius-3xl: calc(var(--radius) + 12px);
--color-sidebar: var(--sidebar);
--color-sidebar-foreground: var(--sidebar-foreground);
--color-sidebar-primary: var(--sidebar-primary);
diff --git a/surfsense_web/components/new-chat/chat-share-button.tsx b/surfsense_web/components/new-chat/chat-share-button.tsx
index e0b28f2a1..bcb1f324c 100644
--- a/surfsense_web/components/new-chat/chat-share-button.tsx
+++ b/surfsense_web/components/new-chat/chat-share-button.tsx
@@ -8,6 +8,7 @@ import { toast } from "sonner";
import { currentThreadAtom, setThreadVisibilityAtom } from "@/atoms/chat/current-thread.atom";
import { Button } from "@/components/ui/button";
import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover";
+import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip";
import {
type ChatVisibility,
type ThreadRecord,
@@ -99,34 +100,36 @@ export function ChatShareButton({ thread, onVisibilityChange, className }: ChatS
return (
-
-
-
+
+
+
+
+
+
+ Share settings
+
{/* Updating overlay */}
{isUpdating && (
-
+
Updating
@@ -169,11 +172,6 @@ export function ChatShareButton({ thread, onVisibilityChange, className }: ChatS
{option.label}
- {isSelected && (
-
- Current
-
- )}
{option.description}
diff --git a/surfsense_web/components/new-chat/model-selector.tsx b/surfsense_web/components/new-chat/model-selector.tsx
index 48141ed64..34abf251d 100644
--- a/surfsense_web/components/new-chat/model-selector.tsx
+++ b/surfsense_web/components/new-chat/model-selector.tsx
@@ -170,31 +170,27 @@ export function ModelSelector({ onEdit, onAddNew, className }: ModelSelectorProp
{/* Switching overlay */}
{isSwitching && (
-
+
Switching model...
diff --git a/surfsense_web/components/new-chat/source-detail-panel.tsx b/surfsense_web/components/new-chat/source-detail-panel.tsx
index df2809fdb..158a8ea63 100644
--- a/surfsense_web/components/new-chat/source-detail-panel.tsx
+++ b/surfsense_web/components/new-chat/source-detail-panel.tsx
@@ -4,7 +4,6 @@ import { useQuery } from "@tanstack/react-query";
import {
BookOpen,
ChevronDown,
- ChevronUp,
ExternalLink,
FileText,
Hash,
@@ -387,7 +386,7 @@ export function SourceDetailPanel({
-
Loading document...
+
Loading document
)}
diff --git a/surfsense_web/components/notifications/NotificationButton.tsx b/surfsense_web/components/notifications/NotificationButton.tsx
index acecc06af..8596c9148 100644
--- a/surfsense_web/components/notifications/NotificationButton.tsx
+++ b/surfsense_web/components/notifications/NotificationButton.tsx
@@ -31,7 +31,7 @@ export function NotificationButton() {
-