Compare commits

3 Commits

Author SHA1 Message Date
7d06f51740 fix: prevent stepper markers from overflowing on mobile
Remove min-width: 44px and vertical centering override from .progress-dot
in the mobile breakpoint, which caused 9 dots to overflow the viewport
(9x44px = 396px > 374px available). Also add a 480px breakpoint with
smaller 28px dots for narrow phones like iPhone SE.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:16:08 +09:00
cb74569c97 fix: correct checkbox_anzahl field name so Elektriker/Dübelarbeiten appear in email
The _anzahl suffix was placed outside the closing bracket in PHP array
notation (e.g. [e-herd]_anzahl), causing PHP to ignore it and overwrite
the checkbox value. Moved the suffix inside the bracket ([e-herd_anzahl])
so both checkbox and quantity values are stored as separate POST keys.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 01:01:02 +09:00
11cd74cac3 docs: update STATE.md with post-milestone work and update plugin author
- Document UI/UX modernization, email rewrite, and dev tooling in STATE.md
- Add post-milestone decisions table entries
- Update session continuity to 2026-02-13
- Update plugin author

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 00:43:58 +09:00
4 changed files with 56 additions and 17 deletions

View File

@@ -5,21 +5,43 @@
See: .planning/PROJECT.md (updated 2026-01-16)
**Core value:** Email format identical to legacy — office staff workflow depends on the exact HTML table structure.
**Current focus:** Post-v1.0 bug fixes (manual testing discoveries)
**Current focus:** Post-v1.0 polish — UI modernization, email format corrections, developer tooling
## Current Position
Phase: 10 of 10 (Post-Release Fixes)
Plan: 1 of 1 complete
Status: Phase complete ✓
Last activity: 2026-02-07 — Fixed form submit 404, handler timing, CPT meta box
Phase: 10 of 10 (all roadmap phases complete)
Status: Milestone v1.0 COMPLETE + post-milestone enhancements
Last activity: 2026-02-13 — Test email admin page, comprehensive form fill button
Progress: ██████████ 100% (11/11 plans)
## Post-Milestone Work (after v1.0 completion)
Work completed outside the GSD roadmap since milestone completion:
### UI/UX Modernization (feature/ui-ux-modernization branch, merged)
- Modernized wizard UX with smart rows, steppers, transitions, and edit links
- Redesigned Step 8 (additional work) with flat list layout matching room steps
- Added 3 switchable color palettes with Slate Blue & Amber as default
- Polished form UX and step 9 summary translations
- Fixed step navigation back-click bug, added shortcode lang attribute
### Email Generator Rewrite (`60f82f1`)
- Rewrote "Weitere Arbeiten" section as single 3-column table matching legacy format
- Moved grand totals into last room's table instead of standalone section
- Added Packarbeiten/Anfahrt sub-headers matching legacy HTML structure
- Added get_field_key/get_field_value/get_field_anzahl helper methods
### Developer Tooling (`f5ca452`)
- New `Umzugsliste_Test_Email` class with comprehensive test data generator
- Admin page (Moving List > Test Email) with inline email preview iframe + send button
- Upgraded dev "Fill" button to "Fill All" — populates every field across all 9 form steps
- Fixed getFieldVal crash when select has no selection (defensive coding)
## Performance Metrics
**Velocity:**
- Total plans completed: 11
- Total roadmap plans completed: 11
- Average duration: ~24 min per plan
- Total execution time: ~4.5 hours
@@ -35,13 +57,14 @@ Progress: ██████████ 100% (11/11 plans)
| 6 | 1 | Form handler, email generator, wp_mail() integration |
| 7 | 1 | Captcha verification and inline validation |
| 8 | 2/2 | Bug fixes & legacy parity (gap closure) |
| 9 | 2/2 | Internationalization (gap closure) |
| 10 | 1/1 | Post-release fixes (manual testing bugs) |
| 9 | 2/2 | Internationalization (gap closure) |
| 10 | 1/1 | Post-release fixes (manual testing bugs) |
**Overall Trend:**
- Phases 1-7 completed successfully
- Milestone audit found 4 gaps requiring phases 8-9
- Manual testing found 3 runtime bugs requiring phase 10
- Post-milestone: UI modernization, email format correction, dev tooling
- No blockers encountered
## Accumulated Context
@@ -72,6 +95,10 @@ Recent decisions affecting current work:
| 10 | Rename day/month/year fields to umzug_day/umzug_month/umzug_year | WordPress reserved query vars caused 404 on form POST |
| 10 | Move handler instantiation to init_hooks() | init callback too late for handler's own init hook |
| 10 | Add CPT submission details meta box | No way to view stored submission data in admin |
| Post | Weitere Arbeiten as single 3-column table | Matches legacy format exactly — one table with sub-section headers |
| Post | Grand totals in last room's table | Legacy places grand totals as final rows of last room table |
| Post | Test email admin page with iframe preview | Instant verification of email output without filling the full form |
| Post | Fill All dev button (WP_DEBUG only) | Populates every form field for rapid end-to-end testing |
### Deferred Issues
@@ -85,7 +112,7 @@ None.
## Session Continuity
Last session: 2026-02-07
Stopped at: Documented phase 10 post-release fixes - PHASE 10 COMPLETE ✓
Last session: 2026-02-13
Stopped at: Test email admin page + Fill All button complete and committed
Resume file: None
Next up: All phases complete! Plugin shipped and working end-to-end.
Next up: All roadmap phases complete. Plugin is functional and polished. Available for new milestone or ad-hoc work.

View File

@@ -1121,11 +1121,7 @@ body.umzugsliste-standalone:has(.palette-c) {
}
.progress-dot {
min-width: 44px;
min-height: 44px;
display: flex;
align-items: center;
justify-content: center;
}
.dot-label {
@@ -1156,3 +1152,19 @@ body.umzugsliste-standalone:has(.palette-c) {
display: block;
}
}
@media (max-width: 480px) {
.progress-bar {
padding: 0 4px;
}
.dot-number {
width: 28px;
height: 28px;
font-size: 0.65rem;
}
.progress-track {
top: 14px;
}
}

View File

@@ -564,7 +564,7 @@ class Umzugsliste_Form_Renderer {
<input type="checkbox" name="<?php echo esc_attr( $field_name ); ?>" value="ja">
<?php echo esc_html( $field['name'] ); ?>
</label>
<input type="text" name="<?php echo esc_attr( $field_name . '_anzahl' ); ?>" class="qty-small" placeholder="<?php echo esc_attr__( 'Qty.', 'siegel-umzugsliste' ); ?>">
<input type="text" name="<?php echo esc_attr( substr( $field_name, 0, -1 ) . '_anzahl]' ); ?>" class="qty-small" placeholder="<?php echo esc_attr__( 'Qty.', 'siegel-umzugsliste' ); ?>">
</div>
<?php
break;

View File

@@ -3,7 +3,7 @@
* Plugin Name: Umzugsliste
* Description: Email-basiertes Möbelauswahlsystem für Siegel Umzüge
* Version: 1.0.0
* Author: Siegel Umzüge
* Author: Viktor Miller
* Text Domain: siegel-umzugsliste
* Domain Path: /languages
*/