Skip to content

Refactor UI into feature modules (templates, generation/history split, server formatting helpers)#1

Merged
danohn merged 8 commits intomainfrom
modularise
Feb 17, 2026
Merged

Refactor UI into feature modules (templates, generation/history split, server formatting helpers)#1
danohn merged 8 commits intomainfrom
modularise

Conversation

@danohn
Copy link
Owner

@danohn danohn commented Feb 17, 2026

Summary

This PR continues the modularization plan with no intended behavior changes.

Included in this PR

  1. Split template modals into dedicated components:
  • src/features/templates/TemplateDetailsModal.jsx
  • src/features/templates/TemplatePrerequisitesModal.jsx
  • src/features/templates/TemplateModals.jsx now composes both
  1. Extracted server formatting utilities from settings UI into:
  • src/lib/serverFormatting.js
  1. Added unit tests for extracted server formatting logic:
  • src/lib/serverFormatting.test.js
  1. Split HomePage internals into feature components:
  • src/features/generation/GenerationPanel.jsx
  • src/features/history/RecentJobsPanel.jsx
  • src/features/home/HomePage.jsx now composes these
  1. Added architecture notes and updated structure docs:
  • README.md

Not included

  • Integration tests (intentionally parked for later)

Validation

  • npm test passes (18 tests)
  • npm run build passes

Notes

  • App.jsx remains orchestration-focused at ~584 lines.
  • Refactor is intended to preserve existing runtime behavior while improving maintainability and separation of concerns.

@danohn danohn changed the title Summarise App.jsx responsibilities Refactor UI into feature modules (templates, generation/history split, server formatting helpers) Feb 17, 2026
@danohn danohn merged commit 0ef26ca into main Feb 17, 2026
2 checks passed
@danohn danohn deleted the modularise branch February 17, 2026 04:41
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.

1 participant