Skip to content

Vue 3 migration: Phase 6 — show configuration foundation#1043

Merged
Tim020 merged 1 commit into
feature/vue3-migrationfrom
claude/refine-local-plan-J3Je0
May 17, 2026
Merged

Vue 3 migration: Phase 6 — show configuration foundation#1043
Tim020 merged 1 commit into
feature/vue3-migrationfrom
claude/refine-local-plan-J3Je0

Conversation

@Tim020
Copy link
Copy Markdown
Contributor

@Tim020 Tim020 commented May 17, 2026

Summary

  • stores/show.ts — full Pinia port of V2's 850-line Vuex show module: cast, characters, character groups, acts, scenes, cue types, sessions, microphones, mic allocations, script modes, session tags; stageManagerMode persisted via pinia-plugin-persistedstate
  • js/micConflictUtils.ts — mic conflict detection utilities (verbatim copy from V2 client/src/js/micConflictUtils.ts)
  • views/show/ShowConfigView.vue — sticky vertical <BButtonGroup> nav sidebar (col-1) + <RouterView> (col-11); permission-based button disabling; redirect logic for role-restricted users (fixes V2 double-redirect bug by redirecting only to show-config-script-revisions)
  • router/index.ts — wire /show-config parent route to ShowConfigView.vue (was PlaceholderView)
  • stores/system.ts — remove scriptModes state/action (moved to show.ts)
  • components/config/ConfigShows.vue — update scriptModes source to useShowStore()
  • composables/useWebSocket.ts — fill in GET_CAST_LIST, ELECTED_LEADER, NO_LEADER, SCRIPT_SCROLL WS action handlers

All child routes under /show-config remain as PlaceholderView — individual config sections are implemented in Phases 7–11.

Test plan

  • npm run build — no errors
  • npm run typecheck — passes
  • npm run ci-lint — passes
  • Navigate to /ui-new/show-config as admin with a show loaded → sticky sidebar renders with 10 buttons; active route highlighted; content area shows PlaceholderView
  • Admin without show loaded → redirected to / with toast
  • User with cue-only access → redirected to cues section
  • Admin config → Shows tab still creates shows correctly (scriptModes now from show store)
  • Resize window → sticky sidebar top value updates correctly

🤖 Generated with Claude Code

- Add stores/show.ts: full Pinia port of V2 show Vuex module (cast, characters,
  character groups, acts, scenes, cue types, sessions, microphones, mic allocations,
  script modes, session tags, stageManagerMode persisted via pinia-plugin-persistedstate)
- Add js/micConflictUtils.ts: mic conflict detection utilities (ported from V2)
- Add views/show/ShowConfigView.vue: sticky vertical nav sidebar + RouterView shell
- Wire /show-config parent route to ShowConfigView.vue (was PlaceholderView)
- Move scriptModes state/action from system.ts to show.ts; update ConfigShows.vue
- Fill in GET_CAST_LIST, ELECTED_LEADER, NO_LEADER, SCRIPT_SCROLL WS action handlers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Client V3 Test Results

0 tests  ±0   0 ✅ ±0   0s ⏱️ ±0s
0 suites ±0   0 💤 ±0 
1 files   ±0   0 ❌ ±0 

Results for commit 040192c. ± Comparison against base commit e69a7a9.

@github-actions
Copy link
Copy Markdown

Client Test Results

128 tests  ±0   128 ✅ ±0   0s ⏱️ ±0s
  6 suites ±0     0 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit 040192c. ± Comparison against base commit e69a7a9.

@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
15.1% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@github-actions
Copy link
Copy Markdown

Python Test Results

  1 files  ±0    1 suites  ±0   1m 28s ⏱️ -6s
603 tests ±0  603 ✅ ±0  0 💤 ±0  0 ❌ ±0 
608 runs  ±0  608 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 040192c. ± Comparison against base commit e69a7a9.

@Tim020 Tim020 merged commit 5bbc5b1 into feature/vue3-migration May 17, 2026
16 of 17 checks passed
@Tim020 Tim020 deleted the claude/refine-local-plan-J3Je0 branch May 17, 2026 17:32
@Tim020 Tim020 linked an issue May 17, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate front end to Vue.js 3.x

1 participant