Commit Graph

47 Commits

Author SHA1 Message Date
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
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
d87047bfe3 u 2026-08-05 07:15:18 +02:00
seb
dc956c4e60 export 2026-08-04 01:24:34 +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
seb
8577a63b06 u 2026-08-03 00:22:46 +02:00
seb
2dd14bac91 Add category rename and drag-and-drop reordering in edit mode
- Edit toggle behind the "Kategorien" title enables an edit mode.
- In edit mode all category tiles become inline rename fields (no outline,
  distinct background, small margins); articles and "new article" are hidden.
- Rename via PATCH /api/category/:id; reorder via PUT /api/category/order
  (parentId + categoryIds) with SortableJS.
- Only call backend when order actually changed; revert DOM order on error
  so further dragging keeps working.
- Redux: renameCategory + reorderCategories thunks, renameMode state.
2026-08-02 19:43:38 +02:00
seb
5309b1174b u 2026-08-02 19:21:21 +02:00
seb
b787549a85 u 2026-08-02 18:54:25 +02:00
seb
80f093649a Add article pack units with Redux-cached company unit list.
Edit amount/unit on the price tile (pc×1 = no pack unit), manage units in a dialog, and keep the default pc unit non-deletable.
2026-08-01 06:37:47 +02:00
seb
335f808421 Add editable article prices with gross input and staffel tiers.
Wire PUT /prices, de-DE formatting, tax/staffel pills, and keep the category list cache in sync after photo/price updates.
2026-08-01 05:44:34 +02:00
seb
09fb1da335 Enhance article photo handling and API documentation.
- Updated API documentation to reflect changes in article data structure.
- Improved ArticlePhoto component to support dynamic sizing and object fit options.
- Added performance logging for image upload in ArticlePhotosDialog and ArticlePhotoTile components.
- Enhanced ArticleTile to conditionally render photos and adjusted styling for better layout.
- Optimized image preparation process with configurable AVIF encoding speed.
2026-08-01 04:32:49 +02:00
seb
6141e71e2f Remove deleted articles from the category list cache.
After DELETE, the category view kept showing the article until a full reload because Redux still held it.
2026-08-01 03:49:41 +02:00
seb
41bc76303a u 2026-08-01 03:37:40 +02:00
seb
4ea593a0c8 u 2026-08-01 02:08:39 +02:00
seb
6d720d34ed u 2026-08-01 01:36:44 +02:00
seb
9582370b0b u 2026-07-31 20:37:43 +02:00
seb
d5d30fb286 u 2026-07-31 20:10:23 +02:00
seb
ce8d7d04da u 2026-07-31 18:20:46 +02:00
seb
a6a9777f31 u 2026-07-31 17:51:57 +02:00
seb
797ea59bed u 2026-07-31 08:34:51 +02:00
seb
9dac151854 u 2026-07-31 07:00:04 +02:00
seb
c5b2f06919 login for RN app 2026-07-19 23:42:17 +02:00
seb
af9e072427 article and relayout 2026-07-19 19:39:07 +02:00
seb
9c20672e26 pwa 2026-07-19 16:37:45 +02:00
seb
24f68c94f3 Genesis 2026-06-23 11:04:28 +02:00