Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

feat(dashboard-switcher): slide-in sidebar with 3 sections#59

Merged
rubenvdlinde merged 1 commit into
developmentfrom
feature/impl-dashboard-switcher-sidebar
Apr 30, 2026
Merged

feat(dashboard-switcher): slide-in sidebar with 3 sections#59
rubenvdlinde merged 1 commit into
developmentfrom
feature/impl-dashboard-switcher-sidebar

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Implements REQ-SWITCH-001..007 per spec on development. New DashboardSwitcherSidebar.vue with 3 conditional sections (matched group / default / personal), hover-reveal delete on personal items, +New Dashboard gated on allowUserDashboards, slide-in animation. Uses IconRenderer for icons (no inline branching). Vitest covers all 7 REQs. Will be wired into runtime-shell (later).

@rubenvdlinde rubenvdlinde added the ready-for-code-review Build complete — awaiting code reviewer label Apr 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/mydash @ 24b584e

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 103/103
npm ✅ 342/342
PHPUnit ⏭️
Newman ⏭️
Playwright ⏭️

Quality workflow — 2026-04-30 19:09 UTC

Download the full PDF report from the workflow artifacts.

…ITCH-001..007

- Add DashboardSwitcherSidebar.vue with three conditional sections (matched group / default / personal)
- Render via IconRenderer for all icons, no inline branching
- Click semantics: emit update:open(false) then switch(id, source) where source discriminates by section
- Active-item highlight with --color-primary-element-light background
- Personal rows show hover-revealed delete button (CSS display toggle) emitting delete-dashboard(id)
- + New Dashboard button gated on allowUserDashboards, emits update:open(false) then create-dashboard
- Slide-in animation via transform: translateX(-100%→0) over 0.25s ease
- Add SidebarBackdrop.vue for click-to-close surface
- Vitest tests cover all 7 REQs: section visibility, emit order, active highlight, delete no-switch, create button gating, icon rendering
- Add i18n keys: My Dashboards, + New Dashboard
@rubenvdlinde rubenvdlinde force-pushed the feature/impl-dashboard-switcher-sidebar branch from 2854483 to 105e5ca Compare April 30, 2026 19:12
@rubenvdlinde rubenvdlinde merged commit b7ee764 into development Apr 30, 2026
15 of 16 checks passed
@rubenvdlinde rubenvdlinde deleted the feature/impl-dashboard-switcher-sidebar branch April 30, 2026 19:12
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/mydash @ afce6ae

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 103/103
npm ✅ 342/342
PHPUnit ⏭️
Newman ⏭️
Playwright ⏭️

Quality workflow — 2026-04-30 19:13 UTC

Download the full PDF report from the workflow artifacts.

rubenvdlinde added a commit that referenced this pull request May 3, 2026
…ITCH-001..007 (#59)

- Add DashboardSwitcherSidebar.vue with three conditional sections (matched group / default / personal)
- Render via IconRenderer for all icons, no inline branching
- Click semantics: emit update:open(false) then switch(id, source) where source discriminates by section
- Active-item highlight with --color-primary-element-light background
- Personal rows show hover-revealed delete button (CSS display toggle) emitting delete-dashboard(id)
- + New Dashboard button gated on allowUserDashboards, emits update:open(false) then create-dashboard
- Slide-in animation via transform: translateX(-100%→0) over 0.25s ease
- Add SidebarBackdrop.vue for click-to-close surface
- Vitest tests cover all 7 REQs: section visibility, emit order, active highlight, delete no-switch, create button gating, icon rendering
- Add i18n keys: My Dashboards, + New Dashboard
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

ready-for-code-review Build complete — awaiting code reviewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant