Skip to content

Fix UnifiedEditor prop binding in App.vue#267

Merged
netkeep80 merged 3 commits intonetkeep80:mainfrom
konard:issue-266-1aeb1ec4d873
Feb 6, 2026
Merged

Fix UnifiedEditor prop binding in App.vue#267
netkeep80 merged 3 commits intonetkeep80:mainfrom
konard:issue-266-1aeb1ec4d873

Conversation

@konard
Copy link
Contributor

@konard konard commented Feb 6, 2026

Summary

  • Root Cause: In App.vue, the UnifiedEditor component was receiving :cube="currentCube" instead of :current-cube="currentCube". Since the component defines its prop as currentCube (Vue kebab-case: current-cube), the mismatched :cube prop was silently ignored, causing the component to always have currentCube = null.
  • Effect: The editor showed "No content selected" and all quick action buttons (Reset, Duplicate, Copy, Export) were disabled because hasContent was always false.
  • Fix: Changed :cube to :current-cube in all three layout variants (desktop, tablet, mobile) in App.vue (lines 553, 667, 788).

Details

The UnifiedEditor component (src/components/UnifiedEditor.vue) defines:

export interface UnifiedEditorProps {
  currentCube?: SpectralCube | null  // Vue kebab-case: :current-cube
  ...
}

But App.vue was passing:

<UnifiedEditor :cube="currentCube" @update:cube="updateCube" />

The correct binding (matching UnifiedEditorWindow.vue line 26) is:

<UnifiedEditor :current-cube="currentCube" @update:cube="updateCube" />

Test plan

  • TypeScript type checking passes (vue-tsc --noEmit)
  • ESLint passes
  • Prettier formatting passes
  • All 3585 tests pass (vitest run)
  • Verify that UnifiedEditor now shows cube parameters in Spectral mode
  • Verify quick action buttons (Reset, Duplicate, Randomize, Copy, Export) work
  • Verify mode switching (Spectral, FFT, Stack) functions correctly

Fixes #266

🤖 Generated with Claude Code

konard and others added 2 commits February 6, 2026 16:37
Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: netkeep80#266
The UnifiedEditor component defines its prop as `currentCube` (Vue kebab-case:
`:current-cube`), but App.vue was passing `:cube` which doesn't match any prop.
This caused the component to always receive `null` for `currentCube`, resulting
in the "No content selected" empty state and all quick action buttons being
disabled.

Fixed all three layout variants (desktop, tablet, mobile) in App.vue.

Fixes netkeep80#266

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@konard konard changed the title [WIP] Анализ текущей реализации UnifiedEditor и планирование доработок Fix UnifiedEditor prop binding in App.vue Feb 6, 2026
@konard konard marked this pull request as ready for review February 6, 2026 15:49
@konard
Copy link
Contributor Author

konard commented Feb 6, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $5.119724 USD
  • Calculated by Anthropic: $3.607532 USD
  • Difference: $-1.512192 (-29.54%)
    📎 Log file uploaded as Gist (1389KB)
    🔗 View complete solution draft log

Now working session is ended, feel free to review and add any feedback on the solution draft.

@netkeep80 netkeep80 merged commit 85db0cd into netkeep80:main Feb 6, 2026
7 checks passed
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.

Анализ текущей реализации UnifiedEditor и планирование доработок

2 participants