feat(mobile): add Profiles button to bottom navigation - #265
Conversation
|
Confirmed ✅ On mobile, the bottom nav is the primary way to reach panels because the sidebar nav tabs are hidden. Without a Profiles entry there, switching/managing profiles is awkward (and breaks entirely when the topbar dropdown is unreliable on Android Chrome). This PR makes Profiles accessible from the bottom bar and works as expected in manual testing. |
|
Thanks for this — the feature itself is exactly right. Mobile users have no way to reach the Profiles panel through the bottom nav, and the SVG icon you chose (person silhouette) matches what the desktop sidebar uses for Profiles. The panel and Three things need fixing before it's ready to merge: 1. Wrong onclick handler The button uses: onclick="toggleMobileSidebar(); switchPanel('profiles');"This should be: onclick="mobileSwitchPanel('profiles')"
2. Missing All five existing bottom nav buttons have Add <button class="mobile-nav-btn" data-panel="profiles" onclick="mobileSwitchPanel('profiles')" title="Profiles">3. SVG sizing The other five buttons use Placement The button is currently inserted first (before Chat). Since Chat is the primary panel and the home tab, it makes more sense to put Profiles last — after Spaces — so the nav reads left-to-right as: Chat → Tasks → Skills → Memory → Spaces → Profiles. Tests A quick test in All of these are small edits to the single HTML file you've already touched. Once those are in place this should be straightforward to merge. |
Adds a Profiles button as the last item in the mobile bottom nav bar,
making the Profiles panel reachable on mobile without opening the sidebar.
Fixes from original PR:
- Uses mobileSwitchPanel('profiles') not the broken two-call approach
- data-panel='profiles' attribute present for active-highlight state
- SVG 20x20 stroke-width 1.5 matching all other mobile nav icons
- Placed last (Chat → Tasks → Skills → Memory → Spaces → Profiles)
- 3 new tests in test_mobile_layout.py covering presence, handler, and order
Tests: 700 passed (up from 697)
Co-authored-by: @gabogabucho
|
Closing — the feature has been implemented with all 5 review fixes applied in PR #297. Thanks @gabogabucho! Changes made on top of the original contribution:
|
Adds a Profiles button as the last item in the mobile bottom nav bar,
making the Profiles panel reachable on mobile without opening the sidebar.
Fixes from original PR:
- Uses mobileSwitchPanel('profiles') not the broken two-call approach
- data-panel='profiles' attribute present for active-highlight state
- SVG 20x20 stroke-width 1.5 matching all other mobile nav icons
- Placed last (Chat → Tasks → Skills → Memory → Spaces → Profiles)
- 3 new tests in test_mobile_layout.py covering presence, handler, and order
Tests: 700 passed (up from 697)
Co-authored-by: @gabogabucho
Co-authored-by: Nathan Esquenazi <nesquena@gmail.com>
- CHANGELOG: entries for #291 (Docker docs) and #265 (mobile Profiles button) - ROADMAP: sprint table row + header date/count updated to v0.49.1/700 - TESTING.md: test count 700 - SPRINTS.md: version v0.49.1 + test count 700 - static/index.html: version bumped to v0.49.1 Co-authored-by: Nathan Esquenazi <nesquena@gmail.com>
|
Thank you, @Bobby9228! Mobile Profiles button is live in v0.49.1! Small change, real UX improvement — profile switching on phones was a pain before. You're in the Contributors section. Thank you! |
…na#265) Adds a Profiles button as the last item in the mobile bottom nav bar, making the Profiles panel reachable on mobile without opening the sidebar. Fixes from original PR: - Uses mobileSwitchPanel('profiles') not the broken two-call approach - data-panel='profiles' attribute present for active-highlight state - SVG 20x20 stroke-width 1.5 matching all other mobile nav icons - Placed last (Chat → Tasks → Skills → Memory → Spaces → Profiles) - 3 new tests in test_mobile_layout.py covering presence, handler, and order Tests: 700 passed (up from 697) Co-authored-by: @gabogabucho Co-authored-by: Nathan Esquenazi <nesquena@gmail.com>
- CHANGELOG: entries for nesquena#291 (Docker docs) and nesquena#265 (mobile Profiles button) - ROADMAP: sprint table row + header date/count updated to v0.49.1/700 - TESTING.md: test count 700 - SPRINTS.md: version v0.49.1 + test count 700 - static/index.html: version bumped to v0.49.1 Co-authored-by: Nathan Esquenazi <nesquena@gmail.com>
…na#265) Adds a Profiles button as the last item in the mobile bottom nav bar, making the Profiles panel reachable on mobile without opening the sidebar. Fixes from original PR: - Uses mobileSwitchPanel('profiles') not the broken two-call approach - data-panel='profiles' attribute present for active-highlight state - SVG 20x20 stroke-width 1.5 matching all other mobile nav icons - Placed last (Chat → Tasks → Skills → Memory → Spaces → Profiles) - 3 new tests in test_mobile_layout.py covering presence, handler, and order Tests: 700 passed (up from 697) Co-authored-by: @gabogabucho Co-authored-by: Nathan Esquenazi <nesquena@gmail.com>
- CHANGELOG: entries for nesquena#291 (Docker docs) and nesquena#265 (mobile Profiles button) - ROADMAP: sprint table row + header date/count updated to v0.49.1/700 - TESTING.md: test count 700 - SPRINTS.md: version v0.49.1 + test count 700 - static/index.html: version bumped to v0.49.1 Co-authored-by: Nathan Esquenazi <nesquena@gmail.com>
Closes #264
On mobile the sidebar nav tabs are hidden and the bottom navigation is the primary way to reach panels. This adds a Profiles entry to the bottom bar that opens the sidebar and switches to the Profiles panel.