Summary
Break the monolithic OptionsPageApp component into focused sub-components for maintainability and readability.
Problem
OptionsPageApp at ~637 lines handles routing, layout, dialogs, navigation, and state management all in one file. This makes it hard to reason about, test, and modify individual concerns.
Suggested approach
- Extract route/view switching into a dedicated router component
- Pull dialog management (delete, save, import) into separate components
- Separate the layout shell (sidebar + content area) from page-specific logic
- Keep
OptionsPageApp as a thin orchestrator
Notes
Can be done independently of the Redux modernization effort, but pairs well with it since touching components for hook conversion is a natural time to also decompose them.
Summary
Break the monolithic
OptionsPageAppcomponent into focused sub-components for maintainability and readability.Problem
OptionsPageAppat ~637 lines handles routing, layout, dialogs, navigation, and state management all in one file. This makes it hard to reason about, test, and modify individual concerns.Suggested approach
OptionsPageAppas a thin orchestratorNotes
Can be done independently of the Redux modernization effort, but pairs well with it since touching components for hook conversion is a natural time to also decompose them.