Skip to content

fix: resolve pi-bars icon mapping and dynamic aria-label in mobile nav - #13

Open
cbulock with Copilot wants to merge 2 commits into
mainfrom
copilot/fix-review-comments
Open

fix: resolve pi-bars icon mapping and dynamic aria-label in mobile nav#13
cbulock with Copilot wants to merge 2 commits into
mainfrom
copilot/fix-review-comments

Conversation

Copilot AI commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Two bugs in the mobile navigation introduced by PR #9: pi-bars was missing from the PRIME_TO_CINDOR_ICON lookup, causing the hamburger icon to fail silently, and the toggle button's aria-label was hardcoded to "Open navigation menu" regardless of drawer state.

Changes

AppIcon.vue

  • Added PRIME_TO_CINDOR_ICON map to translate Prime icon names → Lucide names before passing to CindorIcon
  • Added missing 'pi-bars': 'menu' entry; without it, the raw string pi-bars was forwarded to CindorIcon which doesn't recognize Prime naming
const PRIME_TO_CINDOR_ICON = {
  // ...
  'pi-bars': 'menu',   // was missing — hamburger icon failed to render
  'pi-times': 'x',
  // ...
}
const resolvedName = computed(() => PRIME_TO_CINDOR_ICON[props.name] || props.name)

NavBar.vue

  • Applied full mobile navigation overhaul (sticky header, slide-out drawer, backdrop, quick-nav chips, auto-close on route change)
  • Fixed aria-label on toggle button to reflect actual state:
:aria-label="mobileMenuOpen ? 'Close navigation menu' : 'Open navigation menu'"

- Add PRIME_TO_CINDOR_ICON map to AppIcon.vue with pi-bars → menu entry
- Add dynamic aria-label to mobile nav toggle button reflecting open/closed state
- Apply full mobile navigation improvements from PR #9"
Copilot AI changed the title [WIP] Fix code based on review comments fix: resolve pi-bars icon mapping and dynamic aria-label in mobile nav Jul 16, 2026
Copilot AI requested a review from cbulock July 16, 2026 01:07
@cbulock
cbulock marked this pull request as ready for review July 16, 2026 01:29
Copilot AI review requested due to automatic review settings July 16, 2026 01:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Fixes regressions in the mobile navigation introduced by PR #9 by ensuring PrimeIcons names resolve correctly in AppIcon (including pi-bars for the hamburger icon) and by making the mobile nav toggle button’s aria-label reflect the current open/closed state.

Changes:

  • Added a PrimeIcons → Lucide name translation layer in AppIcon.vue and included a missing pi-bars mapping.
  • Updated NavBar.vue to use PrimeIcons names for navigation items and improved mobile nav behavior (drawer, backdrop, auto-close on route change) with a dynamic toggle aria-label.

Reviewed changes

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

File Description
frontend/src/components/NavBar.vue Updates mobile navigation structure/behavior and switches nav item icons to PrimeIcons names.
frontend/src/components/AppIcon.vue Adds PrimeIcons-to-Cindor/Lucide name resolution so Prime icon names render correctly.

Comment on lines 56 to 59
:label="label || undefined"
:name="name"
:name="resolvedName"
:size="size"
:stroke-width="strokeWidth"
Comment on lines +293 to +306
transform: translateY(-8px) scale(0.98);
opacity: 0;
pointer-events: none;
transition:
transform var(--duration-fast) var(--ease-out),
opacity var(--duration-fast) var(--ease-out);
overflow: hidden;
}

.app-nav--mobile-open {
transform: translateY(0) scale(1);
opacity: 1;
pointer-events: auto;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants