Vue 3 migration: Phase 8 — Cues & Sessions config tabs#1045
Merged
Conversation
Port ConfigCues (cue types CRUD + import + counts stats) and ConfigSessions (session list with start/stop + session tag CRUD + import) to Vue 3. Adds useCueDisplay composable, scriptRevisions state + getter + action to show store, and contrast-color type declarations. Cue Configuration tab deferred to Phase 11. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
getScriptRevisions was storing the raw API response object instead of response.revisions. The contrast-color library's standalone function uses `this.namedColors` internally which is undefined in strict ESM — replaced with an inline YIQ formula in utils.ts used by all session + cue components. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
WS ACTION names (SCREAMING_SNAKE_CASE) are automatically routed to the matching camelCase action on any instantiated Pinia store, so adding a new store action is all that's needed to handle the corresponding WS event — no registration or map entries required. Only four special cases remain for actions that can't follow the naming convention: TOKEN_REFRESH, SHOW_CHANGED, USER_LOGOUT, WS_SETTINGS_CHANGED. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
useCueDisplaycomposable (port of V2cueDisplayMixin) —cuePrefix,cueLabel,cueBackgroundColourscriptRevisionsstate,scriptRevisionByIdgetter, andgetScriptRevisions()action tostores/show.tscontrast-colortype declarations toshims-vue.d.tsPlaceholderViewshow-config-cuesandshow-sessionsroutes (replacingPlaceholderView)Test plan
/ui-new/show-config/cues→ Cue Types tab renders; add/edit/delete/import cue types work; colour swatch displays; Cue Counts tab shows per-scene stats table; Cue Configuration tab shows placeholder/ui-new/show-config/sessions→ Sessions tab: session list renders with start time, run time, revision label, tag pills; Start Session / Stop Session buttons visible for executors; Tags tab: new/edit/delete/import session tags worknpm run build,npm run typecheck,npm run ci-lintall pass🤖 Generated with Claude Code