popertots and Sisyphus
6e901690fd
chore: apply project-wide formatting and UI library updates
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 20:23:14 +01:00
popertots
ef650e013a
feat: implement patch test management and validation improvements
2026-05-29 20:21:26 +01:00
popertots
ddaa468a3e
fix: correctly validate number inputs against null/NaN bypass in admin modals
2026-05-29 18:35:11 +01:00
popertots
cf81916278
fix: safely enforce validation onblur for HolidayHours modal without dropping code
2026-05-29 18:28:13 +01:00
popertots
6625a3a699
fix: enforce derived validation onblur in patch tests modal to block invalid submissions
2026-05-29 18:24:03 +01:00
popertots
20bd3e3310
fix: add inputmode to number inputs across admin modals to enforce numeric keyboard on mobile
2026-05-29 18:20:30 +01:00
popertots
c21a59d61d
fix: validate Patch Test modal inputs
2026-05-29 18:12:39 +01:00
popertots
0750c7ac0e
fix: deduplicate service list in PatchTestsManagement to prevent each_key_duplicate
2026-05-29 18:10:40 +01:00
popertots
eda4b6d865
fix: deduplicate service list to prevent each_key_duplicate
2026-05-29 18:09:35 +01:00
popertots
94f3f77985
fix: restore ServicesManagement.svelte component
2026-05-29 18:09:06 +01:00
popertots
7d1266707c
refactor: use shadcn Checkbox in PatchTestsManagement
2026-05-29 18:06:05 +01:00
popertots
db4c3aa076
feat: complete PatchTestsManagement UI and modal logic
2026-05-29 18:04:27 +01:00
popertots
df32f5518c
fix: resolve svelte syntax error and cleanup ServicesManagement.svelte
2026-05-29 17:57:33 +01:00
popertots
a22ddb7a0f
fix: remove duplicate and deprecated createService implementation
2026-05-29 17:55:23 +01:00
popertots
e1c0d3a03f
fix: remove duplicate validateMinimumAgeField
2026-05-29 17:54:00 +01:00
popertots
10bb1b4e9e
fix: remove duplicate validation functions
2026-05-29 17:52:25 +01:00
popertots
dec3e1023e
fix: remove duplicated validation functions in ServicesManagement.svelte
2026-05-29 17:51:36 +01:00
popertots
f5c2c26fe4
fix: resolve compilation errors in frontend and backend
2026-05-29 17:46:15 +01:00
popertots
f36497090a
feat: migrate to dedicated patch test management
2026-05-29 17:19:02 +01:00
popertots and Sisyphus
ec097af0f6
refactor: route pages with shared formatting and layout updates
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:10:29 +01:00
popertots and Sisyphus
5705ef71b8
refactor: dialog and alert-dialog UI primitives
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:10:07 +01:00
popertots and Sisyphus
3aa0814b1a
fix: navbar layout and styling improvements
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:09:46 +01:00
popertots and Sisyphus
040a47401e
refactor: user payment modal
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:09:25 +01:00
popertots and Sisyphus
91999d8244
refactor: account modals with auto-select and formatting
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:09:05 +01:00
popertots and Sisyphus
fc69fec361
refactor: today page components with calendar grid and stats
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:08:44 +01:00
popertots and Sisyphus
18d8822c47
refactor: admin user modal, image upload, and new schedule page
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:08:25 +01:00
popertots and Sisyphus
a44972fbc6
refactor: admin edit and approval modals
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:08:05 +01:00
popertots and Sisyphus
b2788b2269
refactor: admin management components (discounts, holidays, schedule, time blockers)
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:07:44 +01:00
popertots and Sisyphus
96ab71a579
refactor: admin booking modals with shared formatting and auto-select
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:07:26 +01:00
popertots and Sisyphus
0b3d26914b
refactor: booking flow wizard with step indicator improvements
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:07:02 +01:00
popertots and Sisyphus
0f118205d6
feat: add created_by_name field to Booking type
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:05:56 +01:00
popertots and Sisyphus
e8c03d6c30
refactor: extract shared formatting utilities (duration, date, age)
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:05:35 +01:00
popertots and Sisyphus
91d20d474b
refactor: lunch protection to find all gaps instead of largest
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
72270649b6
fix: UI polish across navbar, payment modal, calendar, and dialog
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
fff8afcbe9
feat: account edit request modal with auto-select and responsive improvements
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
f69750da82
feat: today calendar with time blockers, stats, and pending approvals improvements
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
db5f6ff135
fix: admin booking modals and schedule components polish
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
329eb28ec7
feat: admin reschedule modal and time blockers for schedule management
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
6cf1f12442
refactor: admin BookingCreateModal to use shared time slot utilities
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:30:32 +01:00
popertots and Sisyphus
efbcfbaaf0
refactor: booking flow components with shared utilities and auto-select
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:30:07 +01:00
popertots and Sisyphus
7ee77d6bff
feat: shared time slot utility module for booking and admin components
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:29:41 +01:00
popertots
8574bf2221
feat: enriched edit request system with side-by-side snapshots, calendar preloading, and admin review UI
...
Backend:
- Add enriched response types (EditSnapshot, EnrichedEditRequest) with original vs proposed snapshots
- Add 4 new GET endpoints for viewing edit requests (user and admin scoped)
- Remove github.com/lib/pq dependency — use native PostgreSQL array scanning
- Clean up edit requests, time blockers, and notifications on booking cancellation
- Validate exceptional closed hours on admin approve (409 Conflict)
- Notification upsert on edit request replace (no duplicate admin notifications)
Frontend:
- New user EditRequestModal with time/services/both modes and lunch protection
- New admin EditRequestModal with side-by-side diff (date/time, services, notes)
- Integrate edit requests into PendingApprovals card and notifications page
- Preload 3 months of availability to prevent calendar snap-back
- Apply lunch protection to isDateUnavailable in BookingFlow and BookingCreateModal
- Fix accessibility: card list items use <button> instead of <div>
Dev & Docs:
- Seed edit requests in local-dev-2.sh
- Update all Obsidian manuals with enriched edit request documentation
- 42 new tests (438/441 passing)
2026-05-26 11:59:07 +01:00
popertots and Sisyphus
3ccc017716
feat: user payment modal and tip route for online payments
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-25 18:05:14 +01:00
popertots and Sisyphus
f553ebad99
fix: booking duration calculation, tip page auth, and UI polish across frontend
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-25 18:04:43 +01:00
popertots and Sisyphus
2a8f04e7b3
feat: saved cards management and account cards tab
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-25 18:04:21 +01:00
popertots and Sisyphus
785a6dbf6f
feat: multi-method payment modal with tip presets and price overrides
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-25 18:04:12 +01:00
popertots
2e1ab9d745
feat: Square payment integration, booking flow redesign, and timezone/weekday fixes
...
- Add Square payment integration (mock + handlers + UI): terminal/online payments,
refunds, tips, saved cards, webhooks. Build-tagged dev/prod clients.
- Redesign booking flow: Step 4 conditional (deposit only), Step 5 confirmation
screen with booking ID, auto-submit on transition.
- Redesign schedule modal: 2x3 button grid with Pay Deposit/Pay Early logic.
- Add deposit warning banner at Step 1 for users with outstanding deposits.
- Fix weekday conversion bug: Go 0=Sunday vs DB 0=Monday mismatch in 6 locations.
- Fix timezone bug: UTC vs London time in closing hours validation.
- Fix frontend error parsing: plain text backend errors now displayed correctly.
- Fix crypto.randomUUID fallback for environments without Web Crypto.
- Add 7 new regression tests: closing hours, advance check, active booking limit,
weekday conversion, UTC/London, deposit snapshot, exceptional hours.
- Fix 3 flaky tests: dynamic dates instead of fixed, no-show timing.
2026-05-23 11:29:34 +01:00
popertots
d0e82e7d79
style: fix indentation in notification preferences section and backlog table formatting
2026-05-17 00:37:21 +01:00
popertots
c91be086c1
fix: close unclosed div wrapping notification preferences section
2026-05-17 00:34:34 +01:00
popertots
5c84cd71b8
fix: hide notification preferences section from admin users
2026-05-17 00:28:55 +01:00