Commit Graph

61 Commits

Author SHA1 Message Date
seb
b165f86811 u 2026-10-08 18:48:28 +02:00
seb
14318cd9c6 u 2026-10-08 13:02:04 +02:00
seb
b01ebccf90 u 2026-10-08 04:41:27 +02:00
seb
243eba5fc6 u 2026-10-08 01:44:40 +02:00
seb
d49ec77043 u 2026-10-07 21:28:26 +02:00
seb
6c0b1503e8 u 2026-10-07 13:10:23 +02:00
seb
81b59fd309 u 2026-10-04 23:38:46 +02:00
seb
a90069d340 u 2026-10-04 22:47:26 +02:00
seb
f765b87336 u 2026-10-04 21:04:40 +02:00
seb
f2fce9097b u 2026-10-04 02:13:50 +02:00
seb
c79ece307c u 2026-10-03 07:32:29 +02:00
seb
359efc6481 u 2026-09-30 22:41:35 +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
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