DanielS
13f647409f
fix(sync): query customers by vowels to avoid crash
Staging Build / build (push) Successful in 2m56s
2026-07-15 23:50:13 +02:00
DanielS
5d3eed874c
feat(sync): add customer synchronization from lic server
Staging Build / build (push) Successful in 3m0s
2026-07-15 22:48:10 +02:00
DanielS
e2d92a031f
feat(licserver): add partner customers proxy API
2026-07-15 16:14:31 +02:00
DanielS
6b9023c871
feat(wizard): connect license lookup panel to real lic server api endpoint
Staging Build / build (push) Successful in 2m48s
2026-07-15 01:01:01 +02:00
DanielS
f783a98392
docs: add lic server api spec and index in second brain
2026-07-15 00:58:13 +02:00
DanielS
d5593900fb
feat(cron): add automated sync endpoint and vercel cron configuration for partners
Staging Build / build (push) Successful in 2m57s
2026-07-15 00:30:13 +02:00
DanielS
cb4787e595
style(admin): replace browser alert and confirm with dialog modals
Staging Build / build (push) Successful in 2m55s
2026-07-15 00:21:38 +02:00
DanielS
3fb80e6404
feat(admin): add manual partner import from lic server
Staging Build / build (push) Successful in 2m48s
2026-07-15 00:07:31 +02:00
DanielS
a318a5e225
fix(admin): wrap access check in try-catch to prevent loader hanging
Staging Build / build (push) Successful in 2m57s
2026-07-14 23:52:04 +02:00
DanielS
1b49348577
style: simplify home page layout and fix navbar link
2026-07-14 23:44:21 +02:00
DanielS
fb61f5f396
style: remove text gradients and centered badges
2026-07-14 23:42:28 +02:00
DanielS
7119383139
fix(security): harden licserver config access controls
...
Staging Build / build (push) Successful in 2m50s
- Add auth guard to getLicServerConfig() - unauthenticated callers
now receive null config instead of DB values
- Remove non-existent 'superadmin' role from saveLicServerConfig()
check (only 'admin' exists per project schema)
- New migration: restrict settings table WRITE to admins only
(previously any authenticated user could overwrite licserver_api_key)
2026-07-14 17:35:12 +02:00
DanielS
fa93e060c2
feat(admin): LicServer config manageable via admin settings UI
...
Staging Build / build (push) Has been cancelled
- Migration: add licserver_base_url/api_key cols to settings table
- New: lib/actions/licserver-config.ts (read/write/test server actions)
- Updated: proxy routes read config from DB with env-var fallback
- Updated: admin/einstellungen adds LicServer card with URL + API key
input, show/hide toggle, Save and Connection Test buttons
2026-07-14 17:30:37 +02:00
DanielS
be4e9204a3
feat(licserver): add partner API proxy routes and types
...
Staging Build / build (push) Successful in 2m54s
- New: lib/types/licserver.ts (PartnerDto, paged result, problem)
- New: app/api/licserver/partners/route.ts (GET search/list)
- New: app/api/licserver/partners/[id]/route.ts (GET by UUID)
- Updated: .env.example with LICSERVER_BASE_URL + LICSERVER_API_KEY
Auth-guarded via Supabase session. API key is server-side only.
Upstream: http://192.168.178.174:9980 (internal container network)
2026-07-14 17:24:00 +02:00
DanielS
2e30974aed
fix(wizard): give summary sidebar equal 2/6 col width
Staging Build / build (push) Successful in 2m34s
2026-07-14 16:55:45 +02:00
DanielS
c30505de05
feat(wizard): expand step 3 container to max-w-screen-2xl
Staging Build / build (push) Failing after 16m18s
2026-07-14 15:24:29 +02:00
DanielS
5a2afd8600
feat(wizard): widen license lookup panel to 2 cols
Staging Build / build (push) Successful in 2m55s
2026-07-14 14:35:00 +02:00
DanielS
72b906779c
feat(wizard): add license lookup panel (UI mockup)
...
Staging Build / build (push) Successful in 2m55s
Add collapsible LicenseLookupPanel component to step 3
of the order wizard (left column). Panel queries mock
LicServer data by license key and displays product,
customer, dates, status badge and licensed modules.
Real API endpoint can replace mock in lookupLicense().
- New: components/wizard/license-lookup-panel.tsx
- Modified: components/order-wizard.tsx (4-col grid)
2026-07-14 12:57:46 +02:00
DanielS
0b4755d438
feat: split step-3 into independent left/right grid columns with sticky local stepper
Staging Build / build (push) Successful in 2m51s
2026-07-10 16:10:25 +02:00
DanielS
d37a6b4348
feat: sticky header with stepper for step 3, sidebar aligns under header
Staging Build / build (push) Successful in 2m49s
2026-07-10 15:58:14 +02:00
DanielS
21550f1389
fix: sidebar top-[24vh] prevents stepper overlap, reduce max-h to 70vh
Staging Build / build (push) Successful in 2m49s
2026-07-10 15:43:24 +02:00
DanielS
43e6a92663
feat: implement category flags, drop global tables, fix sidebar sticky layout
Staging Build / build (push) Successful in 2m48s
2026-07-10 15:27:55 +02:00
DanielS
305671acc6
fix: stepper circles always blue, replace bg-primary with bg-blue-600
2026-07-10 15:23:43 +02:00
DanielS
17d76f55e6
refactor: subdivide monolithic order wizard into clean modular step components
Staging Build / build (push) Successful in 2m54s
2026-07-10 15:11:03 +02:00
DanielS
4e82146ab7
feat(wizard): replace browser alerts with modern custom UI toasts
2026-07-10 15:03:55 +02:00
DanielS
83a019785b
style(wizard): change add-to-basket button label dynamically to Kasse speichern and Kasse anlegen
2026-07-10 15:01:46 +02:00
DanielS
f091b97ca0
fix(wizard): prevent duplicate device names in the shopping cart
2026-07-10 14:59:10 +02:00
DanielS
6d6bb4dfe6
style(css): remove text-gradient in favor of solid blue color
Staging Build / build (push) Successful in 2m53s
2026-07-10 14:54:24 +02:00
DanielS
e59039dd4e
style(wizard): show checkmark icon for past completed steps in stepper
2026-07-10 14:51:14 +02:00
DanielS
f80866218b
style(wizard): highlight edited item, improve sidebar styling, and add cart count badge to stepper
2026-07-10 14:49:47 +02:00
DanielS
545b5e93bf
style(admin): change wizard next button text to black
Staging Build / build (push) Successful in 3m2s
2026-07-10 14:43:36 +02:00
DanielS
e9117d34a0
style(admin): set category grouping to true by default and color button blue when active
2026-07-10 14:43:11 +02:00
DanielS
d72830412e
refactor(wizard): improve basket CRUD and submit lifecycle with editingIdx state
2026-07-10 14:40:49 +02:00
DanielS
0a9997e98a
style(wizard): show numbers instead of check icons in progress stepper
2026-07-10 11:18:40 +02:00
DanielS
0b268881a1
style(wizard): dock stepper in step 3 and make summary card sticky top-[20vh]
Staging Build / build (push) Successful in 2m50s
2026-07-10 10:52:07 +02:00
DanielS
993c817dff
fix(checkout): correct import path for buildEmailItemsSection
Staging Build / build (push) Successful in 2m43s
2026-07-10 10:02:52 +02:00
DanielS
4da386f693
fix(build): move buildEmailItemsSection to email-templates.ts to fix Turbopack build failure
Staging Build / build (push) Failing after 25s
2026-07-10 10:00:49 +02:00
DanielS
c252fa11d0
fix(checkout): scope fileName correctly in checkout route
Staging Build / build (push) Failing after 25s
2026-07-10 09:55:49 +02:00
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