- Hierarchische Anzeige der Lagerorte im Verschieben-Dropdown
- Neuer Lagerort-Filter für Artikel
- Lösch-Bestätigung durch Bootstrap-Modal ersetzt
- Größenanpassung und Rahmen für QR-Code Druck
- Hierarchische Artikel-Anzeige in der öffentlichen Box-Ansicht
- Changelog aktualisiert
- Created ToDo list functionality (CRUD) with household support.
- Linked ToDo lists to packing lists and displayed them on the packing list overview page.
- Added 'display_name' to users table, allowing separation of login name and display name.
- Fixed the irregular '+' click bug in Phase 1 by completely decoupling the local UI state updates from the backend sync latency, relying purely on DOM syncing.
- Reverted Phase 1 Lager card heights back to 200px as originally requested.
- Fixed print view empty first page by removing page-break-inside: avoid from carrier-section.
- Added backpack manufacturer and model to the print view table.
- Reverted adjust_single to use UPDATE when an item is already on the table, fixing the first-click bug and preventing duplicate rows in Phase 1.
- Added a modal 'Move' button to items in Phase 2 allowing them to be moved between backpacks and compartments directly.
- Further reduced the height of Lager cards to remove empty space below buttons.
- Fixed the print view by updating the SQL query and adding manufacturer + product designation to the rows.
- Reverted Phase 1 table addition to increment quantity of a single row rather than creating multiple rows.
- Added a modal in Phase 2 that triggers when dragging an item with quantity > 1 into a backpack, asking how many items to move.
- The remaining items are kept on the table.
- Updated the 'return to table' functionality when deleting from a backpack to correctly merge quantities back onto the virtual table without affecting other compartments.
- Modified API handler so adding items from Phase 1 always creates distinct rows on the Table. This allows splitting and dragging identical items into different backpack compartments.
- Added a modal prompt when removing an item from a backpack, asking the user whether to delete it completely or just move it back to the virtual table.
- Changed Phase 1 layout to 2/3 (Lager) and 1/3 (Table) split.
- Added an interactive, draggable resizer handle between the two panes.
- Made Lager cards ~10% wider and enforced a strict uniform height (200px).
- Added manufacturer name to cards and applied text-overflow: ellipsis to prevent line breaks.
- Reduced font sizes for metadata to fit compactly.
- Safely removed SortableJS destroy() logic to prevent JS crash.
- Fixed missing thumbnails in Phase 2 after drag & drop (SQL query was missing image_url field during sync).
- Removed flex-grow from Phase 1 cards and added align-items: start to grid to prevent empty bottom spaces.
- Forced image wrapper to 120px height to ensure images appear large while keeping cards short.
- Added 30x30 image thumbnail with tooltip to list items in Phase 2 (Table & Backpack).
- Set default Group By to Category and Sort By to Weight (Asc) in Phase 1.
- Reverted Phase 1 Lager cards to a squarish layout but retained the large image sizing.
- Removed the tooltip hover effect from the Phase 1 Lager images.
- Added product designation (model/type) to the Lager cards in Phase 1.
- Added product designation to the item rows on the Table and in the Backpacks (Phase 1 & 2).