Skip to content

Fix: Improve chat and dashboard UX#220

Open
SaravanakumarR2018 wants to merge 1 commit into
mainfrom
fix/chat-dashboard-ux
Open

Fix: Improve chat and dashboard UX#220
SaravanakumarR2018 wants to merge 1 commit into
mainfrom
fix/chat-dashboard-ux

Conversation

@SaravanakumarR2018
Copy link
Copy Markdown
Owner

This commit addresses several UX issues in the chat and dashboard components:

Chat Page:

  • Fixed scrollbar jumping: Adjusted scroll logic in Chat.tsx to prevent the scrollbar from jumping when the first AI output is received. This was achieved by refining the usage of isAppendingRef and the timing of scrollIntoView calls.
  • Adaptive scrollbar visibility: Ensured the chat message container's scrollbar (#dashboard-scroll-container, when used for chat) only appears when content overflows and uses custom styling. Applied overflow-y: auto and the custom-scrollbar class dynamically.
  • Smooth streaming scroll: Implemented smoother scrolling that follows streaming input in Chat.tsx. Scrolling now stops if you manually scroll up and resumes if you scroll back to the bottom or send a new message.
  • Input bar positioning: Added padding to the bottom of the messages container in Chat.tsx to prevent the sticky input bar from obscuring the last message.
  • Initial load UX: Added a "Loading messages..." indicator for existing chats during their initial load, improving feedback.

Dashboard Page:

  • Scrollbar behavior: Modified DashboardLayoutContent.tsx to ensure the main browser scrollbar for the dashboard page only appears if the entire page content (header, sidebar, main content area) exceeds the viewport height. Removed redundant overflow-auto from the top-level layout container, allowing the inner #dashboard-scroll-container to manage its own content scroll.

These changes contribute to a more seamless and user-friendly experience on the chat and dashboard pages.

This commit addresses several UX issues in the chat and dashboard components:

Chat Page:
- Fixed scrollbar jumping: Adjusted scroll logic in Chat.tsx to prevent the scrollbar from jumping when the first AI output is received. This was achieved by refining the usage of `isAppendingRef` and the timing of scrollIntoView calls.
- Adaptive scrollbar visibility: Ensured the chat message container's scrollbar (#dashboard-scroll-container, when used for chat) only appears when content overflows and uses custom styling. Applied `overflow-y: auto` and the `custom-scrollbar` class dynamically.
- Smooth streaming scroll: Implemented smoother scrolling that follows streaming input in Chat.tsx. Scrolling now stops if you manually scroll up and resumes if you scroll back to the bottom or send a new message.
- Input bar positioning: Added padding to the bottom of the messages container in Chat.tsx to prevent the sticky input bar from obscuring the last message.
- Initial load UX: Added a "Loading messages..." indicator for existing chats during their initial load, improving feedback.

Dashboard Page:
- Scrollbar behavior: Modified DashboardLayoutContent.tsx to ensure the main browser scrollbar for the dashboard page only appears if the entire page content (header, sidebar, main content area) exceeds the viewport height. Removed redundant `overflow-auto` from the top-level layout container, allowing the inner `#dashboard-scroll-container` to manage its own content scroll.

These changes contribute to a more seamless and user-friendly experience on the chat and dashboard pages.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant