Misaka_Company
c2d9f5fd56
refactor: extract boxing logic into dedicated modules with tests
...
- boxing_models.dart: add BoxingMode, BoxingPhase, BoxingPageArguments
- boxing_box_mutations.dart: box item add/replace/remove operations
- boxing_calculations.dart: pure calculation helpers (quantities, validation)
- boxing_status_presenter.dart: status bar text/dot determination
- dialogs/cross_paichan_dialog.dart: cross-paichan confirmation dialog
- widgets/boxing_notice_banners.dart: notice banner widgets
- Add unit tests for mutations, calculations, and status presenter
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-21 09:02:56 +08:00
Misaka_Company
deb038404a
feat: link transit registration to boxing
2026-05-15 12:40:10 +08:00
Misaka_Company
b2f2c536cb
feat(registration): merge shelf overview into registration
2026-05-15 08:45:22 +08:00
Misaka_Company
a165bfeabe
feat(boxing): handle multi-code paichan switches
2026-05-14 14:04:25 +08:00
Misaka_Company
28871eb21f
feat(boxing): support v2.5 dual modes
2026-05-14 12:29:33 +08:00
Misaka_Company
396a19ff43
feat(boxing): update many-to-one packing flow
2026-05-13 15:14:14 +08:00
Misaka_Company
b32c9c5aad
feat: handle off-shelf registration results
2026-05-13 12:43:22 +08:00
Misaka_Company
3f70049292
test: add unit tests for ApiService.registerLocation
...
Cover success (200), duplicate (409), validation error (400), and
network failure paths using a MockClient.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-11 12:58:33 +08:00
Misaka_Company
b129ed9714
feat: improve scan UX — case normalization, lock-mode list, layout swap
...
- CodeParser: normalize scanned barcode to uppercase and trim whitespace
to handle scanner hardware outputting lowercase or trailing characters
- RegistrationPage: swap layout so location field is above zongpai field
- Lock mode: zongpai display changes to scrollable list supporting
multiple entries with swipe-to-delete and per-item delete buttons
- Lock mode: batch submit when multiple zongpai numbers are queued
- Show scanned barcode content in invalid code error messages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-09 17:02:21 +08:00
Misaka_Company
d136dbf947
chore: remove obsolete tests, add design docs and PRD
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-09 14:32:24 +08:00
Misaka_Company
f030fb2476
feat: add CodeParser for barcode classification per PRD §4
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-09 14:20:35 +08:00
Misaka
7853c5ce59
chore: remove obsolete widget test
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-07 19:59:22 +08:00
Misaka
ef4dd51fc1
feat: add ApiService for HTTP POST
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-07 19:54:22 +08:00
Misaka
2693c13133
feat: add ScanRecord model with toJson
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-07 19:53:48 +08:00
Misaka
752bc404d3
Initial commit: Flutter project setup
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-06 21:43:56 +08:00