diff --git a/surfsense_web/app/globals.css b/surfsense_web/app/globals.css index 4f4ab6de1..7324ffeb3 100644 --- a/surfsense_web/app/globals.css +++ b/surfsense_web/app/globals.css @@ -157,5 +157,33 @@ button { cursor: pointer; } +/* Custom scrollbar styles */ +.scrollbar-thin { + scrollbar-width: thin; + scrollbar-color: hsl(var(--muted-foreground) / 0.2) transparent; +} + +.scrollbar-thin:hover { + scrollbar-color: hsl(var(--muted-foreground) / 0.4) transparent; +} + +/* Webkit scrollbar styles */ +.scrollbar-thin::-webkit-scrollbar { + width: 6px; +} + +.scrollbar-thin::-webkit-scrollbar-track { + background: transparent; +} + +.scrollbar-thin::-webkit-scrollbar-thumb { + background-color: hsl(var(--muted-foreground) / 0.2); + border-radius: 3px; +} + +.scrollbar-thin::-webkit-scrollbar-thumb:hover { + background-color: hsl(var(--muted-foreground) / 0.4); +} + @source '../node_modules/@llamaindex/chat-ui/**/*.{ts,tsx}'; @source '../node_modules/streamdown/dist/*.js'; diff --git a/surfsense_web/components/chat-comments/comment-panel-container/comment-panel-container.tsx b/surfsense_web/components/chat-comments/comment-panel-container/comment-panel-container.tsx index f8c2fd2ed..36c634082 100644 --- a/surfsense_web/components/chat-comments/comment-panel-container/comment-panel-container.tsx +++ b/surfsense_web/components/chat-comments/comment-panel-container/comment-panel-container.tsx @@ -18,7 +18,7 @@ import { transformComment, transformMember } from "./utils"; export function CommentPanelContainer({ messageId, isOpen, - maxHeight = 400, + maxHeight, }: CommentPanelContainerProps) { const { data: commentsData, isLoading: isCommentsLoading } = useComments({ messageId, @@ -70,7 +70,6 @@ export function CommentPanelContainer({ return ( ); } - diff --git a/surfsense_web/components/chat-comments/comment-panel-container/types.ts b/surfsense_web/components/chat-comments/comment-panel-container/types.ts index 12d701309..dcc10cba9 100644 --- a/surfsense_web/components/chat-comments/comment-panel-container/types.ts +++ b/surfsense_web/components/chat-comments/comment-panel-container/types.ts @@ -1,8 +1,5 @@ export interface CommentPanelContainerProps { messageId: number; - searchSpaceId: number; isOpen: boolean; - onClose?: () => void; maxHeight?: number; } - diff --git a/surfsense_web/components/chat-comments/comment-panel-container/utils.ts b/surfsense_web/components/chat-comments/comment-panel-container/utils.ts index a612ad4e6..c3bfda68c 100644 --- a/surfsense_web/components/chat-comments/comment-panel-container/utils.ts +++ b/surfsense_web/components/chat-comments/comment-panel-container/utils.ts @@ -53,4 +53,3 @@ export function transformMember(membership: Membership): MemberOption { avatarUrl: membership.user_avatar_url ?? null, }; } - diff --git a/surfsense_web/components/chat-comments/comment-panel/comment-panel.tsx b/surfsense_web/components/chat-comments/comment-panel/comment-panel.tsx index 54d60bcd6..8b6c8efa9 100644 --- a/surfsense_web/components/chat-comments/comment-panel/comment-panel.tsx +++ b/surfsense_web/components/chat-comments/comment-panel/comment-panel.tsx @@ -17,7 +17,7 @@ export function CommentPanel({ onEditComment, onDeleteComment, isSubmitting = false, - maxHeight = 400, + maxHeight, }: CommentPanelProps) { const [isComposerOpen, setIsComposerOpen] = useState(false); @@ -44,13 +44,17 @@ export function CommentPanel({ const hasThreads = threads.length > 0; const showEmptyState = !hasThreads && !isComposerOpen; + // Ensure minimum usable height for empty state + composer button + const minHeight = 180; + const effectiveMaxHeight = maxHeight ? Math.max(maxHeight, minHeight) : undefined; + return ( -
+
{hasThreads && ( -
+
{threads.map((thread) => ( 0; return ( ); } - diff --git a/surfsense_web/components/chat-comments/comment-trigger/types.ts b/surfsense_web/components/chat-comments/comment-trigger/types.ts index b9c33b2e9..0985da9ed 100644 --- a/surfsense_web/components/chat-comments/comment-trigger/types.ts +++ b/surfsense_web/components/chat-comments/comment-trigger/types.ts @@ -2,5 +2,5 @@ export interface CommentTriggerProps { commentCount: number; isOpen: boolean; onClick: () => void; + disabled?: boolean; } -