Commit Graph

71 Commits

Author SHA1 Message Date
seb
d6dea21f22 u 2026-09-30 21:58:28 +02:00
seb
2f2906b8b5 u 2026-09-30 09:47:47 +02:00
seb
d8f4727f32 u 2026-09-29 18:50:27 +02:00
seb
1b9c39e975 u 2026-09-29 18:26:30 +02:00
seb
43e1ab98b7 u 2026-09-29 13:45:13 +02:00
seb
c4f8ebb41b u 2026-09-28 06:49:46 +02:00
seb
74e932c5cf u 2026-09-27 18:32:39 +02:00
seb
0f875f347e u 2026-09-27 16:19:08 +02:00
seb
559307675c u 2026-09-27 07:08:13 +02:00
seb
3ab9d904e6 u 2026-09-26 23:05:48 +02:00
seb
a3db1742e7 u 2026-09-25 07:27:37 +02:00
seb
c94ce20b7a no redux 2026-09-23 08:16:14 +02:00
seb
8aae27bb87 u 2026-09-22 08:45:14 +02:00
seb
51d01a502b but 2026-09-22 07:59:00 +02:00
seb
5e13b8f9cd no redux 2026-09-22 07:20:31 +02:00
seb
536e7b1e2a u 2026-09-21 20:21:57 +02:00
seb
2046f96768 supplierAutomat 2026-09-21 10:55:17 +02:00
seb
4011ebfc61 nav 2026-09-19 18:33:27 +02:00
seb
d3b4743b66 abort and search 2026-09-19 08:14:11 +02:00
seb
abe078ff05 file api 2026-09-19 06:37:42 +02:00
seb
dd13f736c0 mutipart 2026-09-18 07:37:25 +02:00
seb
d5ade4923d feat(delivery): add supplier article lookup, article creation, and unified parsing
- Unified PDF/TXT parsing to single POST /api/delivery/parse endpoint
- Added supplier article lookup with SKU/EAN matching in delivery lines
- Added "Artikel anlegen" button to create articles from missing SKUs
- Fixed delivery line taxrate field (was sending 'tax', now 'taxrate')
- Extended TXT file support for rescan functionality
- Updated ApiClient with getArticles method for supplier article lookup
- Added supplier article state management to deliveryEditorAutomat

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 04:39:07 +02:00
seb
795043fe99 feat(article): implement articlesupplier editor tab
- ApiClient: add getSuppliers, addSupplier, updateSupplier,
  orderSuppliers, deleteSupplier on article namespace
- api/index.js: expose same methods in legacy http client
- StorageManager: add #supplierWatchers Map and watchArticleSuppliers()
  backed by article-<sku> SSE signal; wired up as article.supplierWatch
- ArticleTileTab: pass article prop to ArticleSupplierTab
- ArticleSupplierDialog (new): dialog to assign / edit a supplier link
  (supplier autocomplete, Lief.-SKU, VPE, stock, EK Netto + MwSt.)
- ArticleSupplierTab: full supplier management table with reordering
  (up/down arrows → PUT /supplier/order), inline edit and delete,
  stock badge, purchase price display and empty state
2026-09-17 23:37:41 +02:00
seb
dbf978d015 feat(lieferung/neu): PDF upload with SSE streaming and result dialog
- Add PDF-Upload button to ManifestHeader (delivery forms only)
- New ManifestPdfDialog: live SSE event log, structured basedata,
  and line-items table streamed from POST /api/delivery/parsePDF
- ApiClient.delivery.parsePdfSse: multipart/form-data upload,
  async generator yielding typed SSE events (status, llm_call,
  tool_call, usage, progress, result, error)
- ManifestForm.handlePdfUpload: drives SSE generator, updates
  dialog state in real-time; dialog opens immediately on upload
- Fix MUI icon imports (CheckCircle, ErrorOutlined)
2026-09-15 08:50:16 +02:00
seb
2cbe5dabb2 Disable menu/popover animations; update manifest handling 2026-08-08 10:09:19 +02:00
seb
87acdd929e Add Kundennummer/Nummernkreise settings and settings dialog.
Add number & setting API endpoints, StorageManager caches, and a Settings
dialog (tabs for settings keys and number ranges) reachable from the user
menu. Show Kundennummer and creation date in the Kunde list, and refactor
Neuer Kunde to show an auto-generated number with group select.
2026-08-08 09:03:44 +02:00
seb
83ac0efd00 reorder 2026-08-07 03:52:11 +02:00
seb
4896b1dc36 Add shared Manifest UI for delivery, quote, and order.
Wire quote/order API clients and routes, then unify list/create/edit behind ManifestList/Form tiles so Lieferungen and Auftrag share one stack.
2026-08-06 20:08:56 +02:00
seb
27fd5d3e94 Add Kunde CRUD with addresses/contacts, delivery edit, and Auftrag sub-nav.
Wire customergroup/entity APIs, Lieferungen detail editing, and Angebot/Bestellung/Ausliefern/Retoure placeholders.
2026-08-06 07:38:23 +02:00
seb
1ee29399ff Add Lieferungen section with supplier CRUD and delivery create/list.
Wire /lieferung sub-nav (list, neu, lieferanten) to supplier and delivery APIs.
2026-08-06 05:32:59 +02:00
seb
d8b48d96e1 u 2026-08-06 00:32:22 +02:00
seb
caf08a3262 u 2026-08-05 20:15:39 +02:00
seb
bbec785d7c i 2026-08-05 19:11:12 +02:00
seb
4352a02d4e Gate article detail on a store-backed cache so the view paints once.
Sku page loads/caches the article before mounting ArticleView; the view reads sync from StorageManager instead of fetching again.
2026-08-05 17:31:12 +02:00
seb
198e800fd3 sotre 2026-08-05 17:01:42 +02:00
seb
c1545b6114 Have historyWatch report errors via notifyError instead of an onError callback. 2026-08-05 09:54:33 +02:00
seb
44d69e541c Watch article history over SSE so the tab stays current while open. 2026-08-05 09:48:30 +02:00
seb
60e6858fd5 Show article history in a table via GET /article/{sku}/history. 2026-08-05 09:35:47 +02:00
seb
debd246012 u 2026-08-05 08:48:12 +02:00
seb
a88a11224f u 2026-08-05 08:42:29 +02:00
seb
66f88e395b u 2026-08-05 08:40:12 +02:00
seb
a9e942df7a u 2026-08-05 08:19:13 +02:00
seb
d87047bfe3 u 2026-08-05 07:15:18 +02:00
seb
b720c6ee25 u 2026-08-05 07:07:18 +02:00
seb
dc956c4e60 export 2026-08-04 01:24:34 +02:00
seb
8f371749c6 u 2026-08-03 23:43:57 +02:00
seb
78be835388 Add category picker to article view with draft-based editing
- Add setCategories API method for PUT /api/article/:sku/categories
- Create CategoryPickerDialog component for selecting categories
- Add CategoryPills component with add/remove functionality
- Category changes are now draft-based (like name editing)
- Save button commits both name and category changes together
- Delete icons hidden when only one category remains
- Plus button only visible in edit mode

Implements category assignment flow similar to name editing pattern.
2026-08-03 08:57:32 +02:00
seb
404a7f4fce Add category image upload with thumbnail backdrop in category tiles
- Add category image API methods (upload/delete) to src/api/index.js
- Add uploadCategoryImage/deleteCategoryImage thunks and extraReducers in categorySlice
- Add CategoryBackdrop component showing ThumbHash placeholder with full thumb overlay
- Add photo upload/delete tab to CategoryEditTile settings cycle
- Category tile label band uses semi-transparent black overlay with white text
- Pass thumbHash/fullHash to both CategoryTile and CategoryEditTile
2026-08-03 07:57:44 +02:00
seb
f302eb9e67 u 2026-08-03 07:13:42 +02:00
seb
5b5c77f870 u 2026-08-03 03:57:12 +02:00