Skip to content

feat: Add responsive chat header options menu for small screens#55

Merged
rodrigogs merged 5 commits into
mainfrom
feat/chat-header-options-menu
Jan 5, 2026
Merged

feat: Add responsive chat header options menu for small screens#55
rodrigogs merged 5 commits into
mainfrom
feat/chat-header-options-menu

Conversation

@rodrigogs

Copy link
Copy Markdown
Owner

Changes

This PR adds a responsive options menu to the chat header that improves the mobile experience by consolidating action buttons on small screens.

What Changed

Small screens (< 768px):

  • Added a 3-dot vertical menu button that opens a dropdown containing:
    • 🧑 See as user (Perspective selector with nested view)
    • 🖼️ Media Gallery
    • 🔖 Bookmarks
    • 📊 Statistics
  • Language selector and dark mode toggle remain always visible

Large screens (>= 768px):

  • No changes - individual icon buttons shown as before

How It Works

  • The dropdown uses a content-switching pattern for the perspective selector
  • When "View as user" is clicked, the menu content switches to show the participant list
  • Menu stays open during the interaction (no reopening required)
  • Search functionality preserved in perspective selector

Benefits

Cleaner mobile UI - Reduces header button clutter on small devices
Consistent patterns - Uses same dropdown components as MediaGallery options
No functionality lost - All features remain accessible
Smooth UX - Single-tap interaction, no menu reopening needed

Testing

  • ✅ TypeScript/Svelte checks pass
  • ✅ Build succeeds
  • ✅ Perspective dropdown works on small screens
  • ✅ All buttons functional on large screens
  • ✅ No breaking changes

Screenshots

Note: Test on mobile viewport or resize browser to < 768px to see the options menu.


Closes #[issue-number] (if applicable)

- Add options menu button (3-dot vertical) for screens < md breakpoint
- Group perspective, media gallery, bookmarks, and stats into dropdown menu
- Keep locale switcher and theme toggle always visible
- Maintain individual buttons on large screens (>= md breakpoint)
- Improve mobile UX by reducing header button clutter
- Switch dropdown content instead of opening second dropdown
- Keep options menu open while showing perspective selector
- Reset perspective search on menu close
- Smoother UX without menu reopening required

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enhances the mobile user experience by introducing a responsive options menu in the chat header. On small screens (< 768px), four action buttons are consolidated into a 3-dot dropdown menu, while on large screens (>= 768px), the original individual button layout is preserved.

Key Changes

  • Added a responsive options menu for mobile devices that uses a content-switching pattern for the perspective selector
  • Consolidated four action buttons (Perspective, Media Gallery, Bookmarks, Statistics) into a dropdown on small screens
  • Maintained backward compatibility with large screen layouts

Comment thread src/routes/+page.svelte Outdated
@rodrigogs

Copy link
Copy Markdown
Owner Author

@copilot open a new pull request to apply changes based on the comments in this thread

Copilot AI commented Jan 5, 2026

Copy link
Copy Markdown
Contributor

@rodrigogs I've opened a new pull request, #56, to work on those changes. Once the pull request is ready, I'll request review from you.

…et (#56)

* Initial plan

* refactor: extract duplicated perspective selector UI into reusable snippet

Co-authored-by: rodrigogs <2362425+rodrigogs@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: rodrigogs <2362425+rodrigogs@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comment thread src/routes/+page.svelte
- Extract duplicate perspective selector UI into reusable snippet
- Close chat options menu after selecting a perspective
- Reduce code duplication from 2 instances to 1 snippet
- Improve consistency and maintainability

Addresses Copilot PR review comments
- Remove duplicate perspectiveSelectorContent snippet
- Keep only the top-level snippet declaration
- Fix build error: Identifier already declared
@rodrigogs rodrigogs merged commit 4932bd2 into main Jan 5, 2026
4 checks passed
@rodrigogs rodrigogs deleted the feat/chat-header-options-menu branch January 5, 2026 07:11
github-actions Bot pushed a commit that referenced this pull request Jan 5, 2026
# [1.26.0](v1.25.1...v1.26.0) (2026-01-05)

### Features

* Add responsive chat header options menu for small screens ([#55](#55)) ([4932bd2](4932bd2)), closes [#56](#56)
@github-actions

github-actions Bot commented Jan 5, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.26.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@rodrigogs rodrigogs removed the request for review from Copilot March 23, 2026 22:11
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.

3 participants