DanielS
1a7a765d72
fix(checkout): use full email template with PDF attachment for checkout API route
Staging Build / build (push) Failing after 26s
2026-07-10 09:54:02 +02:00
DanielS
ec1ad4d444
fix(checkout): use full email template with PDF attachment for checkout confirmations
Staging Build / build (push) Failing after 24s
2026-07-10 09:45:21 +02:00
DanielS
0679fdfdd7
fix(admin): close DialogFooter tag in product dialog
Staging Build / build (push) Successful in 2m45s
2026-07-10 09:37:34 +02:00
DanielS
0ecb16daff
feat(admin): support full view in product edit and wizard steps in product create
2026-07-10 09:36:30 +02:00
DanielS
c8183abff7
fix(admin): close FormField and FormItem correctly in create product dialog
Staging Build / build (push) Successful in 2m44s
2026-07-10 09:29:57 +02:00
DanielS
0435984c82
feat(admin): make product dialog wider and improve module additions layout
Staging Build / build (push) Failing after 26s
2026-07-10 09:28:09 +02:00
DanielS
27fe6c6eef
feat(admin): move allow_update_discount option to product level
Staging Build / build (push) Successful in 2m50s
2026-07-10 09:15:34 +02:00
DanielS
bc6487bba4
feat(email): include order item configurations in confirmation email
Staging Build / build (push) Successful in 2m54s
2026-07-10 08:57:52 +02:00
DanielS
d8b7076e7e
feat(admin): add allow_update_discount option to category dialog
2026-07-10 08:55:53 +02:00
DanielS
2f92213594
feat: reconstruct multiple devices from initialOrder items into basketItems for editing
Staging Build / build (push) Successful in 2m47s
2026-07-10 01:10:39 +02:00
DanielS
4fa2daf212
fix: auto-save current uncommitted wizard state to basket before editing another item
Staging Build / build (push) Successful in 2m48s
2026-07-10 01:01:28 +02:00
DanielS
dc5465e289
chore: align device terminology to cash register across wizard and success pages
Staging Build / build (push) Successful in 2m46s
2026-07-10 00:55:12 +02:00
DanielS
99cbb11c5a
feat: add edit and delete actions to basket items for device configuration switching
Staging Build / build (push) Has been cancelled
2026-07-10 00:52:22 +02:00
DanielS
a95afbf443
fix: attach device_name to order items in API checkout route
Staging Build / build (push) Successful in 2m47s
2026-07-10 00:45:20 +02:00
DanielS
cd3fba2113
fix: add device_name to OrderItem type definition
Staging Build / build (push) Successful in 2m48s
2026-07-10 00:23:37 +02:00
DanielS
6821b4e8d9
fix: group success page order items by device name
Staging Build / build (push) Failing after 28s
2026-07-10 00:20:32 +02:00
DanielS
a3c5a66d3f
feat: check category eligibility for update discount in frontend and backend
Staging Build / build (push) Has been cancelled
2026-07-10 00:18:23 +02:00
DanielS
2038c4df3e
db: add allow_update_discount column to categories table
2026-07-10 00:18:18 +02:00
DanielS
90a5e17f2b
fix: design-beautify of device sections in quotation confirmation pdf
Staging Build / build (push) Successful in 2m49s
2026-07-10 00:10:45 +02:00
DanielS
3b16722fca
fix: correctly split and display one-time and monthly recurring items in purchase order pdf
Staging Build / build (push) Successful in 2m46s
2026-07-09 23:57:17 +02:00
DanielS
1e7112fa3c
feat: group items by device name in pdf quotation confirmation
Staging Build / build (push) Successful in 2m47s
2026-07-09 23:53:58 +02:00
DanielS
db95e435c2
fix: auto add configured device to basket on step 3 transition
Staging Build / build (push) Successful in 2m46s
2026-07-09 23:43:16 +02:00
DanielS
c3f97f8dca
fix: add missing type and payment_method columns to orders table
2026-07-09 23:43:12 +02:00
DanielS
98b1301e96
fix: resolve typescript implicit any type errors in order-wizard.tsx
Staging Build / build (push) Successful in 2m50s
2026-07-09 23:35:59 +02:00
DanielS
387ba19802
fix: loop and render all basket items in wizard summary screen
Staging Build / build (push) Failing after 29s
2026-07-09 23:33:16 +02:00
DanielS
2c572c5bd4
fix: add missing payment_method column to orders table
2026-07-09 23:33:13 +02:00
DanielS
ae4a8429c7
fix: rewrite auth middleware to prevent global login lock for partners and admins
Staging Build / build (push) Successful in 2m46s
2026-07-09 23:16:22 +02:00
DanielS
5cd78854e3
db: fix infinite RLS recursion on users table causing admin lockout
2026-07-09 23:15:16 +02:00
DanielS
fb9b522e74
chore: clean up order-wizard layout text and spacing
Staging Build / build (push) Successful in 2m32s
2026-07-09 23:08:10 +02:00
DanielS
5b03de6b7e
db: add strict rls policy to protect user roles from self-escalation
2026-07-09 23:06:03 +02:00
DanielS
100ad254cb
perf: decouple pdf and mail generation from synchronous checkout flow
2026-07-09 23:06:00 +02:00
DanielS
a93fb975c0
docs: finalize request terminology updates and clean up license transforms
Staging Build / build (push) Successful in 2m48s
2026-07-09 22:58:35 +02:00
DanielS
21c4aa859e
fix: rename invoice terminology to request and quotation confirmation across pdf and mail services
2026-07-09 22:58:29 +02:00
DanielS
20f7d5a05a
fix: resolve syntax error in invoice-pdf.tsx
2026-07-09 22:57:31 +02:00
DanielS
2b92626bf9
feat: add multi-device basket loop and add-another-device button to wizard
Staging Build / build (push) Successful in 2m46s
2026-07-09 22:48:31 +02:00
DanielS
8bd47905b0
fix: resolve bracket syntax error in order-wizard.tsx
Staging Build / build (push) Successful in 2m52s
2026-07-09 22:24:53 +02:00
DanielS
d1cc6b5d5f
fix: disable incompatible sub-products in wizard and prevent bottom-up reset
2026-07-09 22:22:04 +02:00
DanielS
8dd5fd3f44
fix: enforce top-down state cascade and prevent base product hiding
2026-07-09 22:04:10 +02:00
DanielS
992e726406
test: add unit tests for frontend top-down auto-reset and backend split logic
2026-07-09 21:56:13 +02:00
DanielS
988625ba42
chore: install vitest and configure test environment
2026-07-09 21:56:10 +02:00
DanielS
926650d3b6
feat: implement checkout server action with idempotency guard and split
2026-07-09 21:53:42 +02:00
DanielS
66039eb4cf
feat: implement pdf generation service based on jsonb snapshots
2026-07-09 21:51:23 +02:00
DanielS
f71fc7f88d
feat: create checkout API route with checkout split logic
2026-07-09 21:50:42 +02:00
DanielS
60e64c689d
feat: implement wizard top-down state management and auto-reset
2026-07-09 21:49:53 +02:00
DanielS
bd7d5dd1b2
db: create core schema for products, categories, global rules and orders
2026-07-09 21:49:50 +02:00
DanielS
6b35917a06
feat(category): add resets_others option
Staging Build / build (push) Successful in 2m46s
2026-07-09 17:27:16 +02:00
DanielS
567d1f226b
feat(admin): add product dependencies and clean up labels
...
Staging Build / build (push) Successful in 2m43s
- Add addProductDependency and removeProductDependency actions
- Create DependencyPopover and integrate in live editor UI
- Render green requirements and red exclusions badges
- Remove technical parentheses from category checkbox labels
2026-07-09 16:12:57 +02:00
DanielS
215da5f25b
style(admin): align sidebar link style
Staging Build / build (push) Successful in 2m46s
2026-07-09 15:57:37 +02:00
DanielS
d05274700a
feat(admin): extend wysiwyg live editor
...
Staging Build / build (push) Successful in 2m46s
- Add is_required and allow_multiselect category toggles
- Implement module-popover for product module assignment
- Add cascade-protected deletion for categories and products
- Add sidebar link with AdminNavLink active states
2026-07-09 15:52:47 +02:00
DanielS
16917bcbdc
feat(admin): add wysiwyg editor for order wizard
Staging Build / build (push) Successful in 2m49s
2026-07-09 15:39:14 +02:00