Skip to content

Fix frame duplicate naming, language input layout, and layer export formatting#26

Open
afffe18 wants to merge 1 commit intocodex/2026-05-04_19-08-26-add-language-input-boxes-for-plot-itemsfrom
codex/2026-05-04_20-40-55-fix-duplicate-frame-naming-sequence
Open

Fix frame duplicate naming, language input layout, and layer export formatting#26
afffe18 wants to merge 1 commit intocodex/2026-05-04_19-08-26-add-language-input-boxes-for-plot-itemsfrom
codex/2026-05-04_20-40-55-fix-duplicate-frame-naming-sequence

Conversation

@afffe18
Copy link
Copy Markdown
Collaborator

@afffe18 afffe18 commented May 4, 2026

Motivation

  • Ensure duplicated dataframes/frames get sequential numeric names (Dataframe N / Frame N) instead of propagating chained names like Frame 1 1.
  • Make multi-select expand/collapse behavior reflect its button label (visible state must match Expand/Collapse).
  • Improve JSON editor readability on light backgrounds and avoid conditional dark styling for that overlay.
  • Emit a consistent, compact layer shape from the config export so regular layers contain only the primary fields while special trailing layers contain only alpha_points/alpha_areas.

Description

  • Always call getNextTabName(..., 'Frame') / getNextTabName(..., 'Dataframe') when duplicating frames/dataframes so generated names follow numeric sequencing; adjusted duplicateFrame and duplicateDataframe in src/App.tsx.
  • In MultiSelectInput reversed the height class logic so the DOM state matches the Expand/Collapse label.
  • Replaced per-language toggle inputs with a stacked single-column layout for Title / Legend / Axis-label inputs showing language codes at the left, removing the now-unused expanded-per-language state variables in src/App.tsx.
  • Made the JSON editor overlay use a white background + dark text and set the textarea caret to a dark color, and removed the conditional resolvedDarkMode usage for that area in src/App.tsx.
  • Updated toExternalConfig in src/utils/configIo.ts to export layer objects conditionally: if a layer has no primary fields emit only alpha_points/alpha_areas, otherwise emit only the primary fields (name, whitelist_flag, whitelist, alpha, linewidth).

Testing

  • Ran npm run build (which runs tsc -b && vite build); an initial build failed due to unused-state TypeScript errors, those were removed and the final build completed successfully.
  • Verified the production build artifacts were produced by vite build as part of the npm run build step (build succeeded).

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant