Commit Graph

139 Commits

Author SHA1 Message Date
seb
b331f8f535 u 2026-09-23 17:24:33 +02:00
seb
0391e845f0 u 2026-09-23 10:18:31 +02:00
seb
c21a951884 u 2026-09-23 09:49:55 +02:00
seb
b7fdbb3011 u 2026-09-23 09:47:19 +02:00
seb
ab65fb4776 routes bundle 2026-09-23 09:35:46 +02:00
seb
c94ce20b7a no redux 2026-09-23 08:16:14 +02:00
seb
49057dc0d6 u 2026-09-22 13:45:22 +02:00
seb
3ae840b2fe u 2026-09-22 08:50:19 +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
98080f0514 u 2026-09-21 07:43:15 +02:00
seb
1b6e3ec7e2 inspector 2026-09-21 04:30:11 +02:00
seb
366d2517d6 automat 2026-09-21 03:19:32 +02:00
seb
5594c59d88 upload stuff 2026-09-20 07:18:43 +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
02e9a555d6 do not use meta 2026-09-18 08:34:42 +02:00
seb
c0082cea65 fix 2026-09-18 08:24:35 +02:00
seb
dd13f736c0 mutipart 2026-09-18 07:37:25 +02:00
seb
a537c2f72d subnav 2026-09-18 06:44:12 +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
27f6dfdebf feat(delivery): replace deliveryEditorSlice with automat and add PDF/text attachment handling
- replace Redux deliveryEditorSlice with deliveryEditorAutomat using automat
- add Attachment and AttachmentList components in Kopfdaten
- extract PDF text via pdftotext-wasm and render PDF thumbnails with pdfjs-dist
- add TextEditorDialog to view and edit extracted text files (preformatted monospace, no wrap)
- configure Vite server.fs.allow for pdftotext.wasm
2026-09-18 01:49:59 +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
6e72ae84bd u 2026-09-17 11:00:57 +02:00
seb
3618dd6651 u 2026-09-16 15:06:06 +02:00
seb
6b9761351c u 2026-09-16 14:54:55 +02:00
seb
1f46cd551a u 2026-09-16 11:28:12 +02:00
seb
a5076a2c67 fix(ui): move alignItems and justifyContent on Stack components into sx prop 2026-09-16 10:19:14 +02:00
seb
adc3cd1239 fix(manifest): align buildLines validation with OpenAPI (require sku or name, parse pu) 2026-09-16 10:17:25 +02:00
seb
0130ee6516 feat(manifest): improve PDF extraction workflow and fix delivery lines rendering
- Fix SSE 'result' event handling in delivery creation and stop circular progress
- Directly populate deliveryEditorSlice with parsed header, line items, and notes
- Simplify ManifestPdfDialog to display LLM protocol log and status only
- Render PDF analysis notes at the bottom of the delivery page
- Keep article lines visible when imported items exist even if partyId is not yet selected
- Bind handleEdit and handleDelete in ManifestList constructor to fix row click TypeError
- Support delivery columns (name, pu, netprice, taxrate) in ManifestForm and lineFromApi
- Remove obsolete Unit column from delivery lines
2026-09-16 10:06:19 +02:00
seb
7135cdb5fe drop 2026-09-15 16:10:42 +02:00
seb
0217156d19 ncu 2026-09-15 09:33:37 +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
4df5110253 feat(artikel): fill results list viewport with FillSpace
Wrap the article search results list in FillSpace (from dashgui) so it
becomes a scrollable middle section that fills to the bottom of the
viewport. The pagination box is referenced via paginationRef as the
anchor above the spacer; measureElement is temporarily a debug unit to
visualize the repeating fill.
2026-08-12 02:44:32 +02:00
seb
b7f60d51fd u 2026-08-10 03:15:41 +02:00
seb
8bbd6fade1 u 2026-08-10 03:13:53 +02:00
seb
7a1c6e2d94 u 2026-08-09 03:46:50 +02:00
seb
54dfe10909 u 2026-08-08 17:18:42 +02:00
seb
5a7574f69a refactor(lists): use shared RecordList from dashgui
Replace duplicated table/list markup in the Kunde list page and Manifest
list with the shared dashgui RecordList component, and document dashgui/lists
in the README.
2026-08-08 17:00:42 +02:00
seb
156c53ecc8 fix(vite): dedupe shared deps to avoid duplicate React from dashgui
dashgui is a local symlinked package with its own nested node_modules
containing a second copy of react/@mui/@emotion. Vite bundled that nested
React into a dep chunk, causing 'Cannot read properties of null (reading
'useContext')' on routes rendering dashgui/MUI components. Dedupe forces
these shared packages to resolve from dashfront's single tree.
2026-08-08 16:51:58 +02:00
seb
57fff72f12 Outsource custom GUI class components to dashgui library
Move reusable GUI primitives (PanelTile, EditablePanelTile, base Tile,
ElevatedPill, SingleLineTextEdit) into the shared dashgui package and
consume them via a file: dependency. EditablePanelTile now accepts an
onError prop so error notification stays app-side.
2026-08-08 16:17: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
354f7e7466 Remove Auftrag Ausliefern/Retoure stubs and sort Kundengruppen by sort field.
Placeholder sub-pages are dropped from routing and nav until delivery/return flows exist; the new-customer group dropdown now matches the API sort order.
2026-08-07 06:24:21 +02:00
seb
83ac0efd00 reorder 2026-08-07 03:52:11 +02:00
seb
628980dc49 Fix manifest list create/edit navigation after Vite HMR.
Keep a single browser router across hot reloads and drive ManifestList/Form via withNavigate instead of a stale router.navigate singleton.
2026-08-06 22:47:51 +02:00