DanielS
b978a6bc64
feat(auth): add 10-minute inactivity auto-logout
Staging Build / build (push) Successful in 2m59s
2026-07-28 11:50:27 +02:00
DanielS
a43d598f54
chore(merge): integrate origin/staging into local staging
...
Staging Build / build (push) Successful in 2m57s
Resolved conflict in customer-accordion-list.tsx by keeping
the per-device flattening (DeviceCard) implementation.
2026-07-23 09:47:37 +02:00
DanielS
0e4495292d
feat(my-customers): flatten orders into per-device cards
...
- split orders by device_name into FlattenedDevice entries
- strip device prefixes from product and module names
- render one DeviceCard per Kasse in the customer accordion
- add targeted upgrade URL with orderId, customer_id, device_id
- wizard starts at step 3 in upgrade mode with locked customer
- mark existing licensed modules as read-only with badge
2026-07-23 09:45:14 +02:00
DanielS
c6190b34a8
fix(shop): display Backoffice for Zusatzleistung group in OrderSuccessPage
Staging Build / build (push) Successful in 2m51s
2026-07-22 17:36:51 +02:00
DanielS
623dab192b
feat(shop): display device_name for items in CustomerAccordionList
Staging Build / build (push) Has been cancelled
2026-07-22 17:36:11 +02:00
DanielS
c5285dc907
feat(shop): list order items individually by device name in orders view
Staging Build / build (push) Successful in 2m54s
2026-07-22 17:32:02 +02:00
DanielS
6cd5eb917c
feat(shop): display company address instead of id in partner selection
Staging Build / build (push) Successful in 2m53s
2026-07-22 17:25:08 +02:00
DanielS
061147701e
style(shop): rename linked fee section to Backoffice in StepSummary
Staging Build / build (push) Has been cancelled
2026-07-22 17:23:49 +02:00
DanielS
dfdb5d9024
feat(shop): reset customer on partner change and enforce customer selection
Staging Build / build (push) Has been cancelled
2026-07-22 17:23:19 +02:00
DanielS
66d5d8fc98
fix(shop): map correct orderSnapshot and labels in InvoicePDF and routes
Staging Build / build (push) Successful in 2m51s
2026-07-22 17:20:16 +02:00
DanielS
f130f24c86
feat(shop): move linked fee configuration to product level
Staging Build / build (push) Successful in 2m52s
2026-07-22 17:04:38 +02:00
DanielS
06cba405f3
fix(shop): resolve postgrest join ambiguity for product_modules
Staging Build / build (push) Successful in 2m54s
2026-07-22 15:27:38 +02:00
DanielS
b8820f59b7
style(shop): resolve merge conflict in license lookup placeholder
Staging Build / build (push) Successful in 2m59s
2026-07-22 15:12:36 +02:00
DanielS
1c31918768
feat(shop): add dynamic linked fees to modules
2026-07-22 15:09:05 +02:00
DanielS
086a893e19
docs(dashboard): clarify calendar popup info for workshops and partners
...
Staging Build / build (push) Successful in 2m50s
Update calendar modal description to specify workshops (online/onsite),
trainings, and Blue Wednesday partner registrations.
2026-07-22 12:54:26 +02:00
DanielS
61adf76da5
feat(dashboard): align quick access buttons in 3 columns with calendar popup
...
Staging Build / build (push) Successful in 2m59s
Convert quick access grid to 3 columns and open in-app dialog modal for calendar button.
2026-07-22 12:45:15 +02:00
DanielS
2497063e82
fix(dashboard): import Calendar icon in HomeClient
...
Staging Build / build (push) Successful in 2m59s
Add missing Calendar import from lucide-react.
2026-07-22 12:39:53 +02:00
DanielS
0a60526800
feat(dashboard): mark calendar button as planned in quick access
...
Staging Build / build (push) Failing after 31s
Add planned status badge to appointment calendar quick access button.
2026-07-22 12:33:04 +02:00
DanielS
fef1ccd0f5
style(wizard): rename CAS references to CASPOS
...
Staging Build / build (push) Successful in 2m49s
Replace all occurrences of 'CAS-Lizenz' and related strings
with 'CASPOS' across license-lookup-panel, step-billing,
and order-wizard. Update mock key to 995502-00 (GASTRO edition).
2026-07-22 11:07:30 +02:00
DanielS
3200784c51
style(wizard): remove aligned spacing in license-lookup-panel
...
Staging Build / build (push) Successful in 2m57s
Update mock license keys to CASPOS format and normalize
object property alignment to standard single-space style.
2026-07-22 09:13:31 +02:00
DanielS
acd8d6575c
chore(wizard): update demo license keys in lookup panel
2026-07-21 11:32:30 +02:00
DanielS
3db3606f17
style(wizard): align partner and customer list color scheme
Staging Build / build (push) Successful in 2m53s
2026-07-21 11:17:56 +02:00
DanielS
f1877cf893
feat(wizard): unify partner and customer selection list UI
Staging Build / build (push) Successful in 2m57s
2026-07-21 11:07:48 +02:00
DanielS
ac60995c1d
feat(wizard): add search filter to admin partner select
Staging Build / build (push) Successful in 2m56s
2026-07-21 10:58:17 +02:00
DanielS
07208fcad0
feat(wizard): add partner filter and pagination to customer step
Staging Build / build (push) Successful in 2m52s
2026-07-21 10:43:21 +02:00
DanielS
8b4fd5f02e
feat(dashboard): add customer accordion view and extension flow
Staging Build / build (push) Successful in 3m1s
2026-07-21 08:43:00 +02:00
DanielS
86b63ce77e
feat(checkout): implement wizard and admin actions
Staging Build / build (push) Successful in 3m11s
2026-07-20 23:18:40 +02:00
DanielS
2b372be228
feat(orders): support active status and update RLS
Staging Build / build (push) Has been cancelled
2026-07-20 23:00:02 +02:00
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
3a090b7664
docs: document licserver management api
Staging Build / build (push) Successful in 2m59s
2026-07-15 16:18:30 +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
92eb7454dc
docs: update database schema documentation in second brain and grand functions
2026-07-15 00:27:03 +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