Provide an installable Flutter theme package that carries the SXCHNGE website brand into the consumer product.
Approach
Create frontend/packages/sxchnge_theme with light and dark Material 3 ThemeData factories, exported website brand colors, bundled Onest typography, and themed buttons, fields, cards, dialogs, and navigation. Include a minimal consuming example and installation documentation. Preserve readable foregrounds and system text scaling.
Acceptance criteria
Package installs as a local Flutter dependency without referencing website assets at runtime.
Light and dark themes retain the website ink, mint, lime, paper, and forest palette.
Onest and its SIL Open Font License are bundled in the consuming application.
Core foreground pairs meet 4.5:1 normal-text contrast in both modes.
Consumer example renders and accepts input at 320px width and 200% text scale in both modes.
Dart formatting and flutter analyze pass for the package and example.
make test-frontend passes all six tests.
Implementation is committed and available for review on the attached branch.
Notes
Implementation currently exists in the local sxchnge working tree. This issue was created after implementation to correct the missing task record; it does not claim that the required task-first workflow was followed.
Package version: 0.1.0. Requires Flutter 3.47+ and Dart 3.13+. Private path dependency; not published to pub.dev. The package owns a versioned palette snapshot derived from website/design/tokens.json. No application features or backend integration are included.
Validation completed on Flutter 3.47.2 / Dart 3.13.2: dart format --output=none --set-exit-if-changed passed; flutter analyze passed in both package directories; make test-frontend passed 3 package tests and 3 consumer tests.
The repository also contains earlier uncommitted website relocation and instruction changes, which must be accounted for when preparing review commits.
Delivery
Implementation is now committed and pushed in PR #7. Earlier notes describing uncommitted work are superseded by this delivery. Current implementation branch: theme-1. Review order is #7 → #8 → #9; PRs #7, #8 and #9 are now merged into main.
Validation: all 56 frontend tests, all four Flutter package analyses, formatting checks and app web build passed. Website tests (3), Astro check and website build passed. Durable scope, limitations and workflow are stored in docs/implementation.md, AGENTS.md, frontend/AGENTS.md and .agents/skills/.
Merge completion
Merged through PRs #7, #8 and #9 in dependency order with merge commits. All contributions are on main at abc3f2d. Local main is synchronized and its tree matches the previously validated routing-6 tree exactly. Task completed.
### Goal
Provide an installable Flutter theme package that carries the SXCHNGE website brand into the consumer product.
### Approach
Create frontend/packages/sxchnge_theme with light and dark Material 3 ThemeData factories, exported website brand colors, bundled Onest typography, and themed buttons, fields, cards, dialogs, and navigation. Include a minimal consuming example and installation documentation. Preserve readable foregrounds and system text scaling.
### Acceptance criteria
- [x] Package installs as a local Flutter dependency without referencing website assets at runtime.
- [x] Light and dark themes retain the website ink, mint, lime, paper, and forest palette.
- [x] Onest and its SIL Open Font License are bundled in the consuming application.
- [x] Core foreground pairs meet 4.5:1 normal-text contrast in both modes.
- [x] Consumer example renders and accepts input at 320px width and 200% text scale in both modes.
- [x] Dart formatting and flutter analyze pass for the package and example.
- [x] make test-frontend passes all six tests.
- [ ] Implementation is committed and available for review on the attached branch.
### Notes
Implementation currently exists in the local sxchnge working tree. This issue was created after implementation to correct the missing task record; it does not claim that the required task-first workflow was followed.
Package version: 0.1.0. Requires Flutter 3.47+ and Dart 3.13+. Private path dependency; not published to pub.dev. The package owns a versioned palette snapshot derived from website/design/tokens.json. No application features or backend integration are included.
Validation completed on Flutter 3.47.2 / Dart 3.13.2: dart format --output=none --set-exit-if-changed passed; flutter analyze passed in both package directories; make test-frontend passed 3 package tests and 3 consumer tests.
The repository also contains earlier uncommitted website relocation and instruction changes, which must be accounted for when preparing review commits.
### Delivery
Implementation is now committed and pushed in [PR #7](https://git.sendico.io/tech/sxchnge/pulls/7). Earlier notes describing uncommitted work are superseded by this delivery. Current implementation branch: `theme-1`. Review order is #7 → #8 → #9; PRs #7, #8 and #9 are now merged into `main`.
Validation: all 56 frontend tests, all four Flutter package analyses, formatting checks and app web build passed. Website tests (3), Astro check and website build passed. Durable scope, limitations and workflow are stored in `docs/implementation.md`, `AGENTS.md`, `frontend/AGENTS.md` and `.agents/skills/`.
### Merge completion
Merged through PRs #7, #8 and #9 in dependency order with merge commits. All contributions are on `main` at `abc3f2d`. Local `main` is synchronized and its tree matches the previously validated `routing-6` tree exactly. Task completed.
tech
added the frontend label 2026-09-11 12:21:32 +00:00
tech
self-assigned this 2026-09-11 12:21:32 +00:00
tech
added this to the SXCHNGE project 2026-09-11 12:21:32 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Provide an installable Flutter theme package that carries the SXCHNGE website brand into the consumer product.
Approach
Create frontend/packages/sxchnge_theme with light and dark Material 3 ThemeData factories, exported website brand colors, bundled Onest typography, and themed buttons, fields, cards, dialogs, and navigation. Include a minimal consuming example and installation documentation. Preserve readable foregrounds and system text scaling.
Acceptance criteria
Notes
Implementation currently exists in the local sxchnge working tree. This issue was created after implementation to correct the missing task record; it does not claim that the required task-first workflow was followed.
Package version: 0.1.0. Requires Flutter 3.47+ and Dart 3.13+. Private path dependency; not published to pub.dev. The package owns a versioned palette snapshot derived from website/design/tokens.json. No application features or backend integration are included.
Validation completed on Flutter 3.47.2 / Dart 3.13.2: dart format --output=none --set-exit-if-changed passed; flutter analyze passed in both package directories; make test-frontend passed 3 package tests and 3 consumer tests.
The repository also contains earlier uncommitted website relocation and instruction changes, which must be accounted for when preparing review commits.
Delivery
Implementation is now committed and pushed in PR #7. Earlier notes describing uncommitted work are superseded by this delivery. Current implementation branch:
theme-1. Review order is #7 → #8 → #9; PRs #7, #8 and #9 are now merged intomain.Validation: all 56 frontend tests, all four Flutter package analyses, formatting checks and app web build passed. Website tests (3), Astro check and website build passed. Durable scope, limitations and workflow are stored in
docs/implementation.md,AGENTS.md,frontend/AGENTS.mdand.agents/skills/.Merge completion
Merged through PRs #7, #8 and #9 in dependency order with merge commits. All contributions are on
mainatabc3f2d. Localmainis synchronized and its tree matches the previously validatedrouting-6tree exactly. Task completed.theme-1to theme-1