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;
}
-