Skip to content

feat: hierarchical codeplug projects + revamped import/export UI #31

Description

@pskillen

Problem

The initial genericise-import work (#7) introduces internal data models, a central store, and a multi-file/directory import UI, but it still treats the working state as a single, implicit codeplug. As the toolset grows (map, report, export #8, CRUD), users will want to keep several codeplugs side by side — e.g. "home repeaters", "contest weekend", "travel" — and switch between them without re-importing each time.

Intended outcome

Make the codeplug a first-class, switchable project. The app maintains multiple codeplug projects; one is active at a time, and all tools operate within the context of the active project.

  • Project lifecycle: start a new (empty) codeplug, or start by importing an existing CPS export (files or whole directory) into a new project.
  • Project switcher: UI to list, select, rename, duplicate, and delete codeplug projects; clearly show which project is active.
  • Active-project context: the map (and future report/export/CRUD tools) read and write the active project's models only.
  • Revamped import/export UI: a coherent, hierarchical surface where import (feat: genericise CPS import via internal data models #7) and export (feat: CPS export support (internal models → vendor format) #8) live per-project, rather than ad-hoc dropzones in a single tool's sidebar.

Affected tool(s)

  • Shared state/storage layer and a new project-management UI consumed by all tools/ (map first; report/export/CRUD later).

Notes / dependencies

Out of scope

  • Cloud sync / multi-device sharing of projects.
  • CRUD editing of codeplug contents (separate tickets).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions