TidyLinker.com
TypeScript
Pull Request Merged
PR #155 merged: feat: add Handyman service
Summary
- Adds Handyman as a new service type alongside the existing cleaning categories. Slots into a new
handymancategory on the post-job picker (separate from cleaning groupings) so it doesn't get lumped under "Specialist Services". Requested by Adele. - Adds a
scratch/dir convention for throwaway artifacts (screenshots, draft plans, Playwright MCP snapshots) — gitignored, documented inCLAUDE.md.
Changes
Handyman service (feat: add Handyman service)
app/Enums/ServiceType.php— newHandymancase + label +wrenchicondatabase/seeders/ServiceSeeder.php— new row inhandymancategoryresources/js/pages/Client/post-job/step-one.tsx— newhandymanentry incategoryConfig+ appended tocategoryOrder
Scratch dir (chore: add scratch/ dir for throwaway artifacts)
.gitignore—/scratchand/.playwright-mcpCLAUDE.md— documents what goes inscratch/
Post-merge action required
After Coolify deploys, SSH to prod and run:
php artisan seed:base-data
This is idempotent (uses updateOrCreate keyed on slug) — safe to re-run on every deploy.
Test plan
-
php artisan test --compact tests/Feature/Client/PostJobWizardTest.php— 21 passed -
php artisan seed:base-datalocally — Handyman row created (id 16) - Pint clean, Prettier clean, ESLint clean
- Verify Handyman appears in the homepage search-bar service picker after deploy
- Verify Handyman appears in its own group on
/post-jobstep 1 after deploy - Optional: assign Handyman to a few demo cleaners in
DevelopmentSeederso it shows up in dev quote/match flows
+41
additions
-2
deletions
5
files changed