fix quote form state loss, admin errors, UI polish; add seed data and playwright tests

Quote wizard _accumulated hidden inputs used double-quote attribute delimiters
which broke on tojson output containing literal " characters — all step data was
lost by step 9. Admin dashboard crashed on credit_ledger queries referencing
wrong column names (amount/entry_type vs delta/event_type). Also: opaque nav bar,
pricing card button alignment, newsletter boost replaced with card color boost,
admin CRUD for suppliers/leads, dev seed data script, and playwright quote wizard
tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Deeman
2026-02-18 09:37:13 +01:00
parent 7d3aa3141d
commit b99cd3c7d8
26 changed files with 1083 additions and 31 deletions

View File

@@ -6,6 +6,38 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [Unreleased]
### Fixed
- **Quote wizard state loss** — `_accumulated` hidden input used `"` attribute
delimiters which broke on `tojson` output containing literal `"` characters;
switched all 8 step templates to single-quote delimiters (`value='...'`)
- **Admin dashboard crash** — `no such column: amount` in credit ledger query;
corrected to `delta` (the actual column name)
- **Admin supplier detail** — credit ledger table referenced `entry.entry_type`
and `entry.amount` instead of `entry.event_type` and `entry.delta`
- **Nav bar semi-transparent** — replaced `rgba(255,255,255,0.85)` +
`backdrop-filter: blur()` with opaque `#ffffff` background
- **Supplier pricing card buttons misaligned** — added flexbox to `.pricing-card`
with `flex-grow: 1` on feature list and `margin-top: auto` on buttons
### Changed
- **Newsletter boost removed** — replaced with "Custom Card Color" boost
(€19/mo) across supplier pricing page, `setup_paddle.py`, and supplier
dashboard; directory cards with active `card_color` boost render a custom
border color from `supplier_boosts.metadata` JSON
- Removed "Zillow-style" comments from `base.html` and `input.css`
### Added
- **Migration 0009** — adds `metadata TEXT` column to `supplier_boosts` for
card color boost configuration
- **Admin supplier/lead CRUD** — `GET/POST /admin/suppliers/new` and
`GET/POST /admin/leads/new` routes with form templates; "New Supplier" and
"New Lead" buttons on admin list pages
- **Dev seed data script** (`scripts/seed_dev_data.py`) — creates 5 suppliers
(mix of tiers), 10 leads (mix of heat scores), 1 dev user, credit ledger
entries, and lead forwards for local testing
- **Playwright quote wizard tests** (`tests/test_quote_wizard.py`) — full
9-step flow, back-navigation data preservation, and validation error tests
### Added — Phase 2: Scale the Marketplace — Supplier Dashboard + Business Plan PDF
- **Paddle.js overlay checkout** — migrated all checkout flows (billing,