d3abdb7ed9
feat: add Weeztix OAuth, coupon codes, and Mailwizz mapping
...
Implement Weeztix integration per documentation: database config and
subscriber coupon_code, OAuth redirect/callback, admin setup UI with
company/coupon selection via AJAX, synchronous coupon creation on public
subscribe with duplicate and rate-limit handling, Mailwizz field mapping
for coupon codes, subscriber table and CSV export, and connection hint
on the pages list.
Made-with: Cursor
2026-04-04 14:52:41 +02:00
17e784fee7
feat: E.164 phone validation and storage with libphonenumber
...
- Add giggsey/libphonenumber-for-php, PhoneNumberNormalizer, ValidPhoneNumber rule
- Store subscribers as E.164; mutator normalizes on save; optional phone required from form block
- Migration to normalize legacy subscriber phones; Mailwizz/search/UI/tests updated
- Add run-deploy-from-local.sh and PREREGISTER_DEFAULT_PHONE_REGION in .env.example
Made-with: Cursor
2026-04-04 14:25:52 +02:00
5a67827c23
feat: optional fixed viewport background on public pages
...
Adds background_fixed column, admin checkbox, fixed-position layers on the public layout, Dutch strings, and store tests.
Made-with: Cursor
2026-04-04 13:36:26 +02:00
2603288881
chore: load fnm in deploy script for Node/npm
...
Export PATH and eval fnm env so npm run build uses the intended Node version on the VPS.
Made-with: Cursor
2026-04-04 13:27:31 +02:00
26258c5f8b
fix: avoid visible leading space in whitespace-pre-line blocks
...
Render hero subheadline and expired message on one line so Blade indentation is not preserved by whitespace-pre-line.
Made-with: Cursor
2026-04-04 10:34:45 +02:00
6791c8349a
chore: update deploy script for VPS paths and PHP 8.4
...
Point APP_DIR at /home/hausdesign/preregister and run artisan/composer via explicit PHP and Composer binaries.
Made-with: Cursor
2026-04-04 09:51:54 +02:00
ed85e5c537
feat: delete subscribers from page subscriber list
...
Adds DELETE route, form request authorization, admin UI with confirm, Dutch strings, and feature tests.
Made-with: Cursor
2026-04-04 01:29:32 +02:00
3c9b1d9810
Add visual improvements
2026-04-04 01:20:01 +02:00
ff58e82497
Implemented a block editor for changing the layout of the page
2026-04-04 01:17:05 +02:00
0800f7664f
fix: resolve UserFactory fake() under Database\Factories namespace
...
Use $this->faker so seeding works on PHP 8.4 where unqualified fake()
resolves to Database\Factories\fake().
Made-with: Cursor
2026-04-04 00:39:31 +02:00
4f3fefca5c
chore: checkpoint before block builder refactor
v1.0.0
2026-04-03 23:03:09 +02:00
330950cc6e
feat: Phase 5 - polish, validation, rate limiting, Dutch translations
2026-04-03 22:13:59 +02:00
83e2158383
feat: Phase 4 - Mailwizz integration with subscriber sync and retry
2026-04-03 22:03:53 +02:00
a1d570254e
feat: Phase 3 - public registration pages and Mailwizz config
2026-04-03 21:42:19 +02:00
cf026f46b0
feat: Phase 2 - page CRUD, subscriber management, user management
2026-04-03 21:15:40 +02:00
78e1be3e3b
feat: Phase 2 - admin layout, dashboard, page CRUD, subscribers, user management
2026-04-03 20:09:20 +02:00
904cf1241b
feat: initial project with Phase 1 complete
2026-04-03 19:56:38 +02:00