From 3ba620277068b580eca09aec7bf5a62ddb8991dc Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Fri, 6 Mar 2026 20:09:59 +0100 Subject: [PATCH] feat: Enhance InPost service selection and handling in Allegro settings - Added a check for available InPost services and display a message if none are found. - Updated the InPost service selection dropdown to include additional data attributes for better handling in JavaScript. - Improved JavaScript event handling for InPost service selection to correctly populate hidden fields with selected service data. feat: Introduce Cash on Delivery (COD) functionality in shipment preparation - Added a new input field for specifying the COD amount and currency in the shipment preparation view. - Updated the shipment creation logic to handle COD amounts correctly when creating shipments. refactor: Update OrdersController to include shipment package repository - Modified the OrdersController to accept a ShipmentPackageRepository for better management of shipment-related data. - Enhanced order details to include shipment package information. fix: Ensure internal order numbers are generated upon order creation - Updated the OrderImportRepository to generate and store internal order numbers when a new order is created. feat: Implement status synchronization for Allegro orders - Introduced a new service for syncing order statuses from Allegro to the internal system. - Added logic to fetch and process orders needing status updates, handling errors gracefully. chore: Clean up InPost service definitions in AllegroIntegrationController - Removed hardcoded InPost service definitions and replaced them with dynamic fetching based on available services. feat: Add activity logging for shipment actions - Implemented activity logging for various shipment actions, including creation, label downloads, and errors, to improve traceability and auditing. --- .vscode/ftp-kr.sync.cache.json | 1042 ++++++++++++++++- DOCS/DB_SCHEMA.md | 1 + DOCS/TECH_CHANGELOG.md | 9 + public/assets/css/app.css | 189 ++- resources/lang/pl.php | 3 + resources/scss/app.scss | 207 +++- resources/views/layouts/app.php | 77 +- resources/views/orders/list.php | 14 - resources/views/orders/show.php | 194 ++- resources/views/settings/allegro.php | 35 +- resources/views/shipments/prepare.php | 56 +- routes/web.php | 3 +- src/Core/Application.php | 3 +- src/Modules/Orders/OrderImportRepository.php | 7 +- src/Modules/Orders/OrdersController.php | 22 +- src/Modules/Orders/OrdersRepository.php | 4 + .../Settings/AllegroIntegrationController.php | 55 +- .../Settings/AllegroOrderImportService.php | 15 +- .../Settings/AllegroStatusSyncService.php | 66 +- .../Shipments/AllegroShipmentService.php | 34 +- src/Modules/Shipments/ShipmentController.php | 78 +- 21 files changed, 1888 insertions(+), 226 deletions(-) diff --git a/.vscode/ftp-kr.sync.cache.json b/.vscode/ftp-kr.sync.cache.json index 8e280d4..60ad5bb 100644 --- a/.vscode/ftp-kr.sync.cache.json +++ b/.vscode/ftp-kr.sync.cache.json @@ -374,9 +374,9 @@ }, "cron.php": { "type": "-", - "size": 2398, + "size": 2477, "lmtime": 1772661752605, - "modified": false + "modified": true }, "debug_allegro_offer_image.php": { "type": "-", @@ -390,6 +390,12 @@ "lmtime": 1772659291974, "modified": false }, + "debug_order_delivery.php": { + "type": "-", + "size": 2031, + "lmtime": 1772662252283, + "modified": false + }, "deploy_and_seed_orders.php": { "type": "-", "size": 34248, @@ -432,10 +438,16 @@ "lmtime": 1771964550467, "modified": false }, - "debug_order_delivery.php": { + "_tmp_check.php": { "type": "-", - "size": 2031, - "lmtime": 1772662252283, + "size": 641, + "lmtime": 1772752627511, + "modified": false + }, + "_tmp_debug.php": { + "type": "-", + "size": 1109, + "lmtime": 1772752935681, "modified": false } }, @@ -450,9 +462,9 @@ ".claude": {}, "CLAUDE.md": { "type": "-", - "size": 109, + "size": 3460, "lmtime": 1771943170048, - "modified": false + "modified": true }, "composer.json": { "type": "-", @@ -655,6 +667,54 @@ "size": 852, "lmtime": 1772661760885, "modified": false + }, + "20260305_000029_create_apaczka_integration_settings_table.sql": { + "type": "-", + "size": 479, + "lmtime": 0, + "modified": false + }, + "20260305_000030_create_order_activity_log_table.sql": { + "type": "-", + "size": 770, + "lmtime": 0, + "modified": false + }, + "20260305_000031_allegro_per_environment_credentials.sql": { + "type": "-", + "size": 1299, + "lmtime": 1772746415638, + "modified": false + }, + "20260305_000032_create_company_settings_table.sql": { + "type": "-", + "size": 1142, + "lmtime": 1772746641421, + "modified": false + }, + "20260305_000033_create_shipment_packages_table.sql": { + "type": "-", + "size": 1652, + "lmtime": 1772746647320, + "modified": false + }, + "20260305_000034_create_allegro_delivery_method_mappings_table.sql": { + "type": "-", + "size": 637, + "lmtime": 1772748182041, + "modified": false + }, + "20260305_000035_create_inpost_integration_settings_table.sql": { + "type": "-", + "size": 1300, + "lmtime": 1772750295904, + "modified": false + }, + "20260306_000036_add_carrier_to_delivery_method_mappings.sql": { + "type": "-", + "size": 144, + "lmtime": 1772751692833, + "modified": false } }, "seeders": {}, @@ -682,14 +742,14 @@ "DOCS": { "ARCHITECTURE.md": { "type": "-", - "size": 15120, - "lmtime": 1772664180594, + "size": 18239, + "lmtime": 1772750423629, "modified": false }, "DB_SCHEMA.md": { "type": "-", - "size": 7164, - "lmtime": 1772664186202, + "size": 9585, + "lmtime": 1772751841787, "modified": false }, "ORDERS_SCHEMA_APILO_DRAFT.md": { @@ -706,21 +766,21 @@ }, "TECH_CHANGELOG.md": { "type": "-", - "size": 18096, - "lmtime": 1772664195563, + "size": 21813, + "lmtime": 1772751847189, "modified": false }, "todo.md": { "type": "-", - "size": 858, - "lmtime": 1772664322782, + "size": 1267, + "lmtime": 1772747764182, "modified": false } }, ".env": { "type": "-", "size": 393, - "lmtime": 1772654691844, + "lmtime": 1772752435680, "modified": false }, ".env.codex.bak": { @@ -1936,8 +1996,8 @@ "css": { "app.css": { "type": "-", - "size": 25757, - "lmtime": 1772654371834, + "size": 36227, + "lmtime": 1772754863778, "modified": false }, "app.css.map": { @@ -1997,8 +2057,8 @@ "lang": { "pl.php": { "type": "-", - "size": 41962, - "lmtime": 1772661591586, + "size": 49807, + "lmtime": 1772751834546, "modified": false } }, @@ -2021,8 +2081,8 @@ "scss": { "app.scss": { "type": "-", - "size": 28929, - "lmtime": 1772654341335, + "size": 33686, + "lmtime": 1772754857493, "modified": false }, "login.scss": { @@ -2034,8 +2094,8 @@ "shared": { "_ui-components.scss": { "type": "-", - "size": 3420, - "lmtime": 1772493048183, + "size": 4276, + "lmtime": 1772754851900, "modified": false } } @@ -2074,8 +2134,8 @@ "layouts": { "app.php": { "type": "-", - "size": 3970, - "lmtime": 1772655168615, + "size": 4656, + "lmtime": 1772750360759, "modified": false }, "auth.php": { @@ -2108,14 +2168,14 @@ }, "list.php": { "type": "-", - "size": 3035, + "size": 2344, "lmtime": 1772497374098, - "modified": false + "modified": true }, "show.php": { "type": "-", - "size": 12663, - "lmtime": 1772497562866, + "size": 17387, + "lmtime": 1772747158454, "modified": false } }, @@ -2154,8 +2214,20 @@ "settings": { "allegro.php": { "type": "-", - "size": 16587, - "lmtime": 1772661581724, + "size": 31284, + "lmtime": 1772754778803, + "modified": false + }, + "apaczka.php": { + "type": "-", + "size": 1489, + "lmtime": 0, + "modified": false + }, + "company.php": { + "type": "-", + "size": 6259, + "lmtime": 1772747466335, "modified": false }, "cron.php": { @@ -2176,6 +2248,12 @@ "lmtime": 1772395799007, "modified": true }, + "inpost.php": { + "type": "-", + "size": 7237, + "lmtime": 1772750606535, + "modified": false + }, "integrations.php": { "type": "-", "size": 11056, @@ -2208,14 +2286,22 @@ "lmtime": 1772491504461, "modified": false } + }, + "shipments": { + "prepare.php": { + "type": "-", + "size": 26553, + "lmtime": 1772754107648, + "modified": false + } } } }, "routes": { "web.php": { "type": "-", - "size": 6986, - "lmtime": 1772661209733, + "size": 10727, + "lmtime": 1772750372002, "modified": false } }, @@ -2492,14 +2578,14 @@ }, "OrdersController.php": { "type": "-", - "size": 22423, - "lmtime": 1772658312572, + "size": 26496, + "lmtime": 1772752037320, "modified": false }, "OrdersRepository.php": { "type": "-", - "size": 25388, - "lmtime": 1772664174219, + "size": 30133, + "lmtime": 1772752022929, "modified": false }, "OrderStatusSyncService.php": { @@ -2588,32 +2674,38 @@ "Settings": { "AllegroApiClient.php": { "type": "-", - "size": 3449, - "lmtime": 1772659378931, + "size": 11015, + "lmtime": 1772746725988, + "modified": false + }, + "AllegroDeliveryMethodMappingRepository.php": { + "type": "-", + "size": 3523, + "lmtime": 1772752708559, "modified": false }, "AllegroIntegrationController.php": { "type": "-", - "size": 29116, - "lmtime": 1772661726470, + "size": 36725, + "lmtime": 1772751733083, "modified": false }, "AllegroIntegrationRepository.php": { "type": "-", - "size": 10965, - "lmtime": 1772655846785, + "size": 13133, + "lmtime": 1772746310685, "modified": false }, "AllegroOAuthClient.php": { "type": "-", - "size": 5988, - "lmtime": 1772660267587, + "size": 6130, + "lmtime": 1772746387780, "modified": false }, "AllegroOrderImportService.php": { "type": "-", - "size": 31721, - "lmtime": 1772662304371, + "size": 32629, + "lmtime": 1772743953928, "modified": false }, "AllegroOrdersSyncService.php": { @@ -2646,18 +2738,54 @@ "lmtime": 1772661706942, "modified": false }, + "ApaczkaIntegrationController.php": { + "type": "-", + "size": 2454, + "lmtime": 0, + "modified": false + }, + "ApaczkaIntegrationRepository.php": { + "type": "-", + "size": 3594, + "lmtime": 0, + "modified": false + }, "AppSettingsRepository.php": { "type": "-", "size": 1905, "lmtime": 1771954924419, "modified": false }, + "CompanySettingsController.php": { + "type": "-", + "size": 3394, + "lmtime": 1772746678607, + "modified": false + }, + "CompanySettingsRepository.php": { + "type": "-", + "size": 6725, + "lmtime": 1772746669383, + "modified": false + }, "CronSettingsController.php": { "type": "-", "size": 3345, "lmtime": 1772655129538, "modified": false }, + "InpostIntegrationController.php": { + "type": "-", + "size": 3383, + "lmtime": 1772750330965, + "modified": false + }, + "InpostIntegrationRepository.php": { + "type": "-", + "size": 9234, + "lmtime": 1772750321715, + "modified": false + }, "IntegrationRepository.php": { "type": "-", "size": 25754, @@ -2702,6 +2830,26 @@ "lmtime": 1772491357326, "modified": false } + }, + "Shipments": { + "AllegroShipmentService.php": { + "type": "-", + "size": 17565, + "lmtime": 1772753969008, + "modified": false + }, + "ShipmentController.php": { + "type": "-", + "size": 10999, + "lmtime": 1772753068348, + "modified": false + }, + "ShipmentPackageRepository.php": { + "type": "-", + "size": 5725, + "lmtime": 1772746693527, + "modified": false + } } } }, @@ -2733,6 +2881,12 @@ } }, "sessions": { + "sess_001cf277d65322e5454bd5d63d8de05e": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_02f48b200eb829fd8a2340d7ecc080f3": { "type": "-", "size": 0, @@ -2751,6 +2905,12 @@ "lmtime": 1771951455909, "modified": false }, + "sess_0601a3d5b380a3a4d55074b45d1ee1d4": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_07a2866535cb72a0a5e0434ae5dba80c": { "type": "-", "size": 0, @@ -2763,6 +2923,12 @@ "lmtime": 1771951456048, "modified": false }, + "sess_08c47e1c2360f75356b1d1209924ef2f": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_09a1ef717242b47ee420aa889ee47a60": { "type": "-", "size": 84, @@ -2781,36 +2947,114 @@ "lmtime": 1771951456256, "modified": false }, + "sess_0dcbe24f8b53c0773aa1fb25f7f9a7fe": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_0ddec8c49c4e86d29ffa0068fdfa955e": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_0e51ffe16f9329a4a99e16b6eb807f66": { "type": "-", "size": 84, "lmtime": 1771951456328, "modified": false }, + "sess_0e689e439714525eef451512587210d0": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_0e6de8d71c1bce53d66521a68bfca7b8": { "type": "-", "size": 0, "lmtime": 1771951456402, "modified": false }, + "sess_0e8f647a001f5ca10af6c7ac448f2e9c": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_0ead125206dfdd32646d4dd923953f29": { "type": "-", "size": 0, "lmtime": 1771951456472, "modified": false }, + "sess_0f62de00c64337032ac5dcb0fe58ce6a": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_10d4a114a186b3f53403ecac22b43e0b": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_10d79648c46e68bbf543cce7baae55d8": { "type": "-", "size": 84, "lmtime": 1771951456543, "modified": false }, + "sess_1166f0f641e65cbb544bd1f4562a8d53": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_11d2dcd733a193a6181f46a1c9cb7234": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_121bbfde07745e67e108d346d3afe732": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_1231621c39e4be33883a9f98e4e65dcc": { "type": "-", "size": 0, "lmtime": 1771951456625, "modified": false }, + "sess_133bb95aa82adef547fff87b9f111165": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_153854232b6abb01b0ebea63fc7b2e8f": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_1650ac39dbd69c111db5b48c77005dd2": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_17d59b15c2edfecaf164b88d77beb304": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_1a02d65c6d444701e5aa777fa3350b02": { "type": "-", "size": 0, @@ -2823,12 +3067,36 @@ "lmtime": 1771951456778, "modified": false }, + "sess_1b66880cbed0e6f65a1f3a910ad1c8b5": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_1c2c02f74a595cf0164f43dad60a73b3": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_1c3cb1bc306f28d43869bb330c343d36": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_1dc258040e0ef869bccc02a7f675e35b": { "type": "-", "size": 84, "lmtime": 1771951456854, "modified": false }, + "sess_1def6932b76a93ec4dbb7ddb7ebb1ee6": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, "sess_1e8272aee19c4e1273ffd89d201d28e9": { "type": "-", "size": 84, @@ -2847,6 +3115,12 @@ "lmtime": 1771951457067, "modified": false }, + "sess_2019dd82c2cbf281e6a9faee9435512b": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_208003ffcbae1f7d6d9349011d6d1ee6": { "type": "-", "size": 84, @@ -2871,6 +3145,12 @@ "lmtime": 1771951457355, "modified": false }, + "sess_219460ba61d35f08eb4268fff44da8cf": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_225dd98643950e6ef10a7ccb80b5d0fc": { "type": "-", "size": 84, @@ -2883,12 +3163,30 @@ "lmtime": 1771951457498, "modified": false }, + "sess_26410dbdcee996d5ada643860c965743": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_27f0c0f3219137b3b55995d72410f16c": { "type": "-", "size": 84, "lmtime": 1771951457573, "modified": false }, + "sess_27fa950cb062bff95d7300db788b1a68": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_2820a31cbc4607c208216e94a7f68176": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_28390340745925f528eab342affa8802": { "type": "-", "size": 84, @@ -2907,24 +3205,48 @@ "lmtime": 1771951457774, "modified": false }, + "sess_2b07cca96ef0c1f5ac0a5e029aec1b0a": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_2b3c2840bd1352e72d552ca06ad8aadf": { "type": "-", "size": 0, "lmtime": 1771951457849, "modified": false }, + "sess_2c0aa1c009131d1e64684af394efdc57": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_2d36fb26c2071e7dcf8e070385c772d0": { "type": "-", "size": 0, "lmtime": 1771951457918, "modified": false }, + "sess_2d736441e5198741f21be55426ebd604": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_2d7c48eebde8a80fac1d9fd655aac9fd": { "type": "-", "size": 84, "lmtime": 1771951457992, "modified": false }, + "sess_2f70c49a2a355e7cef18b052c06bf9d2": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_2f70dacfc666777c014747c021749018": { "type": "-", "size": 84, @@ -2955,6 +3277,24 @@ "lmtime": 1771951458346, "modified": false }, + "sess_32d9049a59ff234876aef77a725e1401": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_34da57de48705d0a500cf3e290a8e959": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_375d088feae78385c0b8344ff7e7cc1a": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, "sess_37a347656366cda54bffe7adc7c6cb21": { "type": "-", "size": 84, @@ -2967,6 +3307,12 @@ "lmtime": 1771951458522, "modified": false }, + "sess_3a54e1664c49bb250355e56963df9653": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_3c5a1a7db2821c351896df33e46546c2": { "type": "-", "size": 84, @@ -3021,12 +3367,24 @@ "lmtime": 1771951459156, "modified": false }, + "sess_4229664d7154983006733eaad0ca37c1": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_44a075a46c5eba3ab48f3bc7fc53eb68": { "type": "-", "size": 84, "lmtime": 1771951459226, "modified": false }, + "sess_45738e16033a3ceec5ee7c8d01edae52": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, "sess_45a1f70413aea2b83f9b665f02d8ba84": { "type": "-", "size": 84, @@ -3039,6 +3397,24 @@ "lmtime": 1771951459373, "modified": false }, + "sess_49c3372c0a628788e03ca55ce5d9671f": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_4a3f74f3e96bc1c23a661adf863e6d8b": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_4b40cb9c0f5b35509b36121fd3f06131": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_4b78c6dd1cd43d5236b360d4a41174ea": { "type": "-", "size": 0, @@ -3063,6 +3439,30 @@ "lmtime": 1771951459647, "modified": false }, + "sess_5064c0ea026354a0eeca647f70ec244a": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_50bb6489e1203847718c8fd6ebf4214f": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_528fca1ddfd20ed625e6921c034a82c8": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_5394c302774982a69eec01ddc7acb55c": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_5593fde34fd1a5997a8b96451961b0d6": { "type": "-", "size": 84, @@ -3075,6 +3475,18 @@ "lmtime": 1771951459791, "modified": false }, + "sess_5803eae0514315fca72dabf646507157": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_58105fbf34b2ea49ad52e559e145431d": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_5876213d76b132b50d60aaee65ff516d": { "type": "-", "size": 84, @@ -3093,6 +3505,12 @@ "lmtime": 1771951460002, "modified": false }, + "sess_5a6dca6381c74d9f490d4d86e0c28fb9": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_5ab2ff7c8cae71d9fcca9c76d1c70da3": { "type": "-", "size": 0, @@ -3123,12 +3541,30 @@ "lmtime": 1771951460401, "modified": false }, + "sess_5e46eedd3882c345619e18d2f9e882ff": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_60c54ace856592e9c7dab7d173c95c11": { "type": "-", "size": 0, "lmtime": 1771951460471, "modified": false }, + "sess_61088b8e264603dda5e46ebec623237b": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_622280e54b4f257c50c79fccec0670bc": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_6351a387a4de2678c0666902c55a54cb": { "type": "-", "size": 0, @@ -3159,6 +3595,12 @@ "lmtime": 1771951460815, "modified": false }, + "sess_6553f4d80547fd898f4b16b625fca063": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_6699b40a770c76a132d4f05554600d7b": { "type": "-", "size": 84, @@ -3177,6 +3619,18 @@ "lmtime": 1771951461029, "modified": false }, + "sess_68a692bafa5ba1c04b8c89b858998722": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_6b91ae0b95d917aa1084a0663ee586c9": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, "sess_6bc113e2a0b33d6849959138482dc598": { "type": "-", "size": 84, @@ -3207,22 +3661,70 @@ "lmtime": 1771951461379, "modified": false }, + "sess_6f28737e6aa9c57b9fc1aab5baead429": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_720cf685eef5b3d55f0d77528873b992": { "type": "-", "size": 0, "lmtime": 1771951461454, "modified": false }, + "sess_72f01c8573b0ed08ee9d56795ab54872": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_73734f0c4e876cc2551bf5a69688b287": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_741004feb0262f20247eb35edbc30a42": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, "sess_76ae54rsc2nm1kea4shv8d7rnn": { "type": "-", "size": 188, "lmtime": 1771951461523, "modified": false }, + "sess_790835428b8198cdc7af28b7df8a4016": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_7bb9b82d98c11b1b431a91055ef9eafc": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_7be878df02428b288e89c14d524436c6": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_7d8e12f1ec430d307beed810d45d9962": { "type": "-", - "size": 239, + "size": 273, "lmtime": 1771951461597, + "modified": true + }, + "sess_7dcfcbc7ea0f7009463a79c3656fa23d": { + "type": "-", + "size": 34, + "lmtime": 0, "modified": false }, "sess_7e0a91a31fecdffc2099662df9d8e473": { @@ -3237,30 +3739,90 @@ "lmtime": 1771951461738, "modified": false }, + "sess_812fa06c06ccab30fddd74988ff2d821": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_829c1c8b828a1a9c27511de2a9ca54d5": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_84df7e5f480244f40a0faf063693359b": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, "sess_854dbe080ec8bdc086892b3d0e9adfba": { "type": "-", "size": 0, "lmtime": 1771951461807, "modified": false }, + "sess_865717818b177748e54e706dae18c449": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_87778d19cd15d41c60e2107205a0b6d6": { "type": "-", "size": 84, "lmtime": 1771951461876, "modified": false }, + "sess_89de26141ae48a06247cac49f1925bea": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_89deaebb321a073e31dad7accf2097b7": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, + "sess_8bdc0a7bb2eb7463b63220e303e95932": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_8c00e6f4622b798ef31988d886dc2e56": { "type": "-", "size": 84, "lmtime": 1771951461946, "modified": false }, + "sess_8cfece01e9876a5bc965d8c6452c2218": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_8d118c110fdbca65c8ea2f461e4b54e1": { "type": "-", "size": 84, "lmtime": 1771951462026, "modified": false }, + "sess_8d4e4ebefe72e180c12e859c3db05b14": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_8ed70b8ae638acebe7a8316e6820b606": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_8f23314b6edefb8aa1d1b404e6f80a65": { "type": "-", "size": 0, @@ -3281,8 +3843,14 @@ }, "sess_915da19bba34f9a8e32f0d6b8419a5b6": { "type": "-", - "size": 239, + "size": 273, "lmtime": 1771951462304, + "modified": true + }, + "sess_91a36cce40a107faa111e303167fcdc5": { + "type": "-", + "size": 118, + "lmtime": 0, "modified": false }, "sess_926fa3d6608fc99e9c4d804a240522c3": { @@ -3291,6 +3859,12 @@ "lmtime": 1771951462379, "modified": false }, + "sess_9386c580b9f5f3f91c59f88e38e319bc": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_946b3b4e4bcabf0a8222ddb523cea981": { "type": "-", "size": 84, @@ -3315,6 +3889,18 @@ "lmtime": 1771951462702, "modified": false }, + "sess_9611a2aacbb3270be10050fdd80319aa": { + "type": "-", + "size": 273, + "lmtime": 0, + "modified": false + }, + "sess_96e1cc30f97423909a478f99bf4f6768": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_979f253f5982d6248e308e25c5a81331": { "type": "-", "size": 84, @@ -3327,18 +3913,42 @@ "lmtime": 1771951462871, "modified": false }, + "sess_99660bf96c692f6aee8e5d1279d44e86": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_9a1dd26d2925008330b21aeb552ab377": { "type": "-", "size": 84, "lmtime": 1771951462940, "modified": false }, + "sess_9a224209aa45226c565ed49e55569469": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_9aa184d56546b591aac03c96a9b18204": { "type": "-", "size": 84, "lmtime": 1771951463021, "modified": false }, + "sess_9b61e26ecab563ba5ee32d599edd8565": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, + "sess_9be7d5d6e15344c4f9cdef76f13053d6": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_9e624933406fb1cd80cadc8655245ca2": { "type": "-", "size": 84, @@ -3351,6 +3961,24 @@ "lmtime": 1771951463225, "modified": false }, + "sess_9k55d1uv5etlviqoi38d1ur9gg": { + "type": "-", + "size": 0, + "lmtime": 1772752382113, + "modified": false + }, + "sess_a00f7dad9e22a5974f6f71be4752230b": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_a45cc7f195a835a0427a2bac2e9f73f2": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_a517d8ddd6cce8f9e193f91080f2a3d5": { "type": "-", "size": 84, @@ -3369,6 +3997,12 @@ "lmtime": 1771951463499, "modified": false }, + "sess_a7bd523ff8ccb74cd2acd9d84d5c761b": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_a7cf283a18fbbaca955c104cf5b4e2fb": { "type": "-", "size": 0, @@ -3381,12 +4015,24 @@ "lmtime": 1771951463662, "modified": false }, + "sess_aaf20582b86822a26633b02624d9ca23": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, "sess_ab812a4c1327e3420f90a409bc343475": { "type": "-", "size": 0, "lmtime": 1771951463741, "modified": false }, + "sess_ac1b1f5ac05c4f1050286354af8dfbc7": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_ac21391ef46b927b94baf5528e2722d0": { "type": "-", "size": 0, @@ -3399,18 +4045,36 @@ "lmtime": 1771951463921, "modified": false }, + "sess_adb7b6b94016bbed88307e5d763dc580": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_ae170f3d304dc4ac36d3eabffbb54e85": { "type": "-", "size": 0, "lmtime": 1771951464004, "modified": false }, + "sess_ae1f4a6f1094baac4100eda9a47223a1": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_ae989998cbcd99eecfa73ef468aef345": { "type": "-", "size": 84, "lmtime": 1771951464084, "modified": false }, + "sess_aecc90d5d3425da6237454b47e77fe57": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_af07c7eac0ec591d17a7133ddfb0fb1c": { "type": "-", "size": 0, @@ -3459,18 +4123,42 @@ "lmtime": 1771951464714, "modified": false }, + "sess_b40701320eca0718a96db9927b0dd20e": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_b40d1bbc7c30a7bc80f9075bb9b24469": { "type": "-", "size": 0, "lmtime": 1771951464782, "modified": false }, + "sess_b45aba2f118afa9e1dc5b99bdc3d2dc8": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_b4dc8ebd43c00908390b9e6c4b722032": { "type": "-", "size": 84, "lmtime": 1771951464852, "modified": false }, + "sess_b5fb94b9206fea93eaa74c3458dd7cbd": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_b6eaae50853dd9ace1f3d9b66cd4feec": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_b78562f081b628259babb86c6a69756e": { "type": "-", "size": 84, @@ -3483,6 +4171,18 @@ "lmtime": 1771951465005, "modified": false }, + "sess_b8432c0ccf0b81ec4e487e4d84b66f74": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_b8f0e121180c3bdac5edca91915b4456": { + "type": "-", + "size": 273, + "lmtime": 0, + "modified": false + }, "sess_b96e63ef958afb6c7b1a67f2fab1b45f": { "type": "-", "size": 84, @@ -3495,12 +4195,30 @@ "lmtime": 1771951465142, "modified": false }, + "sess_bb61d013e777f32ef3bdc4de11bac2f8": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, + "sess_bbe26b29d46f32baecf12ed5178c8f1b": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_c1199a1c3d90f1da1bdb23923ca0d7ec": { "type": "-", "size": 0, "lmtime": 1771951465213, "modified": false }, + "sess_c180d0830ff28444a62a9196636668f0": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_c233a273877d0f13f622044c10ec7a27": { "type": "-", "size": 84, @@ -3519,18 +4237,72 @@ "lmtime": 1771951465426, "modified": false }, + "sess_c3b144ea0beab98880bc92dc411ddadc": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, "sess_c3e1bd69936be92470ab8516d1196128": { "type": "-", "size": 84, "lmtime": 1771951465495, "modified": false }, + "sess_c48af1ce083897ee6a16f8f3f70571f2": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_c548455ef7fc40120dfa469680b95fb3": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_c5975afbaa4472bfa46c7a9a18d7ecc0": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_c63faa2381d1b925b436c321ed281de9": { "type": "-", "size": 84, "lmtime": 1771951465565, "modified": false }, + "sess_c79668161d531d1a31e94792705c2276": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_c8271f8d0b5aa940c47796c12d1ff94d": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_c9c285bafd8d7b04ad3d728c35df3634": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_cbba59ce46b4b678ffb3e96e6c190bde": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_cc38a599ce6ecb8a6899297ec9d5cbe6": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_cd2572bc0c9d203b80e9e4b923bbb169": { "type": "-", "size": 84, @@ -3555,6 +4327,24 @@ "lmtime": 1771951465848, "modified": false }, + "sess_d22be43d432b0a38a19e60ccb1da970a": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_d25d4cb33a526f557cb46a33ccf7c02c": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_d2761b5d8046d1a3b502d61d65e58d3c": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_d338628cbad5111a9fa8d4041bdb49ce": { "type": "-", "size": 0, @@ -3567,6 +4357,12 @@ "lmtime": 1771951465985, "modified": false }, + "sess_d48ba90667333457aecec470e57e337a": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_d57c89d3193958c0ba8c71e7dba02b94": { "type": "-", "size": 84, @@ -3579,6 +4375,12 @@ "lmtime": 1771951466124, "modified": false }, + "sess_d825390d6cea1ca8e86ab844ae3d50ce": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_d8e30d59d4def2eb1c2ce0f6626740d5": { "type": "-", "size": 84, @@ -3591,18 +4393,42 @@ "lmtime": 1771951466260, "modified": false }, + "sess_dab6abac6d25e59a8440ece3e72abf69": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_dd39256bd99c630bf237443d65ec34d1": { "type": "-", "size": 84, "lmtime": 1771951466327, "modified": false }, + "sess_ddd56ceaaefe95a07e95c3a7ca3f8037": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_de3caa7f664b4dcd4850d4f4ed97e80a": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_de5da3d74ef4d2be86b2b8a648330ee4": { "type": "-", "size": 0, "lmtime": 1771951466403, "modified": false }, + "sess_de86e92e44a1bd4e38d1c889b2031cc3": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, "sess_dedab89dd090ed903e4709c5a741fd58": { "type": "-", "size": 84, @@ -3611,8 +4437,14 @@ }, "sess_df9a21339eb15201d4b3c521cb490c7e": { "type": "-", - "size": 239, + "size": 273, "lmtime": 1771951466561, + "modified": true + }, + "sess_e031b9df1fb4cbf0c077798aafb3cf32": { + "type": "-", + "size": 118, + "lmtime": 0, "modified": false }, "sess_e0d9ccad56e75d18f2465dd090772ef2": { @@ -3627,12 +4459,54 @@ "lmtime": 1771951466702, "modified": false }, + "sess_e28c4e959fe49d5cfbe950416e73e1db": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_e2c827617f77b44f45d87e3ecfdb7313": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_e2e0b41f887b08921c0446ef261dd075": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, "sess_e4690de68d4822f9c798558a9044bc38": { "type": "-", "size": 84, "lmtime": 1771951466770, "modified": false }, + "sess_e4e93c78c15cba554f7324fc08abe7fd": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_e53342933be3bb600abd6b1227814d98": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_e5e84d88b094da45bbed4ac44493af86": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, + "sess_e6a8e9e1f1e7ea89325cb8e4ea2c36ce": { + "type": "-", + "size": 351, + "lmtime": 0, + "modified": false + }, "sess_e700d0c47b2ebf7a0f42263e1c6264a2": { "type": "-", "size": 84, @@ -3645,6 +4519,12 @@ "lmtime": 1771951466911, "modified": false }, + "sess_e7b708655382d86663a0b15b589e5a4d": { + "type": "-", + "size": 273, + "lmtime": 0, + "modified": false + }, "sess_eac1f4e587a35c774c194076362bd53e": { "type": "-", "size": 0, @@ -3657,6 +4537,12 @@ "lmtime": 1771951467050, "modified": false }, + "sess_ebb75230ed08e90bf2833b26250d22f2": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, "sess_ebe71f457c8cb8fa7abb2dcd15bed8b0": { "type": "-", "size": 84, @@ -3687,6 +4573,36 @@ "lmtime": 1771951467416, "modified": false }, + "sess_f1331f9c58185582c29d720d2e007e52": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_f137efac35e374703f2afb2ed6fad0f5": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, + "sess_f4abee00afe0e53e9b179b21514acea4": { + "type": "-", + "size": 118, + "lmtime": 0, + "modified": false + }, + "sess_f5f4ac4d2559aa44156e8a0a28cdeb62": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_f5f964c9441f9d070b6eb9f9c6002107": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_f6c84466922d260b8665bacde3898680": { "type": "-", "size": 84, @@ -3711,12 +4627,30 @@ "lmtime": 1771951467712, "modified": false }, + "sess_fba665a95d1db218488f58c0110c3171": { + "type": "-", + "size": 34, + "lmtime": 0, + "modified": false + }, + "sess_fc5bc595d0726d4c936bcae302024085": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_fce25fc00f20e34930f545640a7f5476": { "type": "-", "size": 84, "lmtime": 1771951467784, "modified": false }, + "sess_fe42e88aa124e778eccf728d8d7d49d7": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + }, "sess_ffc694af573cd0d40e16c05bf80bb94b": { "type": "-", "size": 84, @@ -3740,6 +4674,12 @@ "size": 0, "lmtime": 1771951468075, "modified": false + }, + "sess_d2hlum6ckgak99kddhn5crt7mt": { + "type": "-", + "size": 0, + "lmtime": 1772752395624, + "modified": false } }, "tmp": { diff --git a/DOCS/DB_SCHEMA.md b/DOCS/DB_SCHEMA.md index f640a20..28071b5 100644 --- a/DOCS/DB_SCHEMA.md +++ b/DOCS/DB_SCHEMA.md @@ -25,6 +25,7 @@ - 2026-03-05: Dodano tabele `apaczka_integration_settings` pod konfiguracje klucza API Apaczka. - 2026-03-05: Dodano tabele `inpost_integration_settings` pod konfiguracje integracji InPost ShipX. - 2026-03-06: Dodano kolumne `carrier` do tabeli `allegro_delivery_method_mappings` (default 'allegro') - umozliwia mapowanie na roznych przewoznikow (Allegro, InPost). +- 2026-03-06: Wdrozono migracje `20260302_000019_add_internal_order_number_to_orders.sql` - kolumna `internal_order_number` VARCHAR(11) UNIQUE w tabeli `orders`, format `OPXXXXXXXXX` (np. `OP000000001`); backfill istniejacych rekordow; UI: lista i szczegoly zamowien wyswietlaja numer wewnetrzny jako glowny identyfikator. - 2026-03-04: Poprawiono prezentacje daty zamowienia na liscie (`fallback ordered_at -> source_created_at -> source_updated_at -> fetched_at`) - bez zmian schematu. ## Tabele diff --git a/DOCS/TECH_CHANGELOG.md b/DOCS/TECH_CHANGELOG.md index 2f01dc2..2b9e54b 100644 --- a/DOCS/TECH_CHANGELOG.md +++ b/DOCS/TECH_CHANGELOG.md @@ -1,6 +1,15 @@ # Tech Changelog ## 2026-03-06 +- Fix: synchronizacja statusow Allegro nie aktualizowala zamowien. + - Przyczyna: Allegro API nie zmienia `updatedAt` przy zmianie `fulfillment.status`. + Cursor-based sync (`AllegroOrdersSyncService`) pomijal takie zamowienia. + - Rozwiazanie: `AllegroStatusSyncService` przepisany na podejscie direct-query: + odpytuje baze o zamowienia Allegro w nie-finalnych statusach i re-importuje je + przez `AllegroOrderImportService::importSingleOrder()`. + - `AllegroStatusSyncService` nie zalezy juz od `AllegroOrdersSyncService`. + - Dodano `ensureDefaultSchedulesExist()` w `AllegroIntegrationController`, + aby harmonogramy cron byly tworzone automatycznie. - Rozszerzono zakladke `Formy dostawy` o wybor przewoznika (Allegro / InPost) per wiersz: - nowa kolumna `carrier` w tabeli `allegro_delivery_method_mappings`, - select przewoznika determinuje dostepne uslugi (Allegro z API, InPost statyczna lista), diff --git a/public/assets/css/app.css b/public/assets/css/app.css index 5614c71..b65572b 100644 --- a/public/assets/css/app.css +++ b/public/assets/css/app.css @@ -262,32 +262,83 @@ a { .app-shell { min-height: 100vh; - display: grid; - grid-template-columns: 260px 1fr; + display: flex; } .sidebar { - border-right: 1px solid var(--c-border); - border-right-color: #243041; + width: 260px; + min-width: 260px; + flex-shrink: 0; + overflow: hidden; + transition: width 0.22s ease, min-width 0.22s ease; + border-right: 1px solid #243041; background: #111a28; - padding: 18px 14px; + padding: 18px 10px; + display: flex; + flex-direction: column; +} + +.sidebar.is-collapsed { + width: 52px; + min-width: 52px; } .sidebar__brand { - margin: 4px 10px 16px; + display: flex; + align-items: center; + justify-content: space-between; + margin: 4px 4px 16px; + gap: 6px; + min-width: 0; +} + +.sidebar__brand-text { color: #e9f0ff; font-size: 24px; font-weight: 300; letter-spacing: -0.02em; + white-space: nowrap; + overflow: hidden; + flex: 1; + min-width: 0; +} +.sidebar__brand-text strong { + font-weight: 700; } -.sidebar__brand strong { - font-weight: 700; +.sidebar__collapse-btn { + flex-shrink: 0; + width: 28px; + height: 28px; + display: flex; + align-items: center; + justify-content: center; + background: transparent; + border: 1px solid #2a3a54; + border-radius: 6px; + color: #64748b; + cursor: pointer; + padding: 0; + transition: background 0.15s, color 0.15s; +} +.sidebar__collapse-btn:hover { + background: #1b2a3f; + color: #cbd5e1; +} + +.sidebar__collapse-icon { + display: block; + transition: transform 0.22s ease; + flex-shrink: 0; +} + +.sidebar.is-collapsed .sidebar__collapse-icon { + transform: rotate(180deg); } .sidebar__nav { display: grid; - gap: 6px; + gap: 4px; } .sidebar__link { @@ -310,23 +361,29 @@ a { .sidebar__group { display: grid; - gap: 6px; + gap: 2px; } .sidebar__group-toggle { list-style: none; border-radius: 8px; - padding: 10px 12px; + padding: 9px 10px; color: #cbd5e1; font-weight: 600; cursor: pointer; + display: flex; + align-items: center; + gap: 9px; + white-space: nowrap; + user-select: none; } .sidebar__group-toggle::-webkit-details-marker { display: none; } -.sidebar__group:hover .sidebar__group-toggle { +.sidebar__group:hover .sidebar__group-toggle, +.sidebar__group-toggle:hover { color: #f8fafc; background: #1b2a3f; } @@ -336,32 +393,78 @@ a { background: #2e4f93; } +.sidebar__icon { + flex-shrink: 0; + width: 18px; + height: 18px; + display: flex; + align-items: center; + justify-content: center; + opacity: 0.85; +} + +.sidebar__label { + flex: 1; + min-width: 0; + overflow: hidden; +} + +.sidebar__toggle-arrow { + flex-shrink: 0; + margin-left: auto; + opacity: 0.5; + transition: transform 0.18s ease; +} + +details[open] > .sidebar__group-toggle .sidebar__toggle-arrow { + transform: rotate(180deg); +} + .sidebar__group-links { display: grid; - gap: 4px; - padding-left: 8px; + gap: 2px; + padding-left: 12px; + overflow: hidden; } .sidebar__sublink { - border-radius: 8px; - padding: 8px 10px; + border-radius: 6px; + padding: 7px 10px 7px 8px; text-decoration: none; - color: #cbd5e1; - font-size: 13px; + color: #94a3b8; + font-size: 12.5px; font-weight: 500; + display: flex; + align-items: center; + gap: 8px; + white-space: nowrap; +} +.sidebar__sublink::before { + content: ""; + flex-shrink: 0; + width: 5px; + height: 5px; + border-radius: 50%; + background: rgba(148, 163, 184, 0.3); + transition: background 0.15s; } - .sidebar__sublink:hover { - color: #f8fafc; + color: #e2e8f0; background: #1b2a3f; } - +.sidebar__sublink:hover::before { + background: rgba(148, 163, 184, 0.65); +} .sidebar__sublink.is-active { color: #ffffff; - background: #2e4f93; + background: rgba(46, 79, 147, 0.55); +} +.sidebar__sublink.is-active::before { + background: #93c5fd; } .app-main { + flex: 1; min-width: 0; } @@ -1165,6 +1268,16 @@ a { background: #fffbeb; color: #92400e; } +.order-tag.is-cod { + border-color: #f9a8d4; + background: #fdf2f8; + color: #9d174d; +} +.order-tag.is-unpaid { + border-color: #fca5a5; + background: #fef2f2; + color: #b91c1c; +} .orders-mini { font-size: 14px; @@ -1541,6 +1654,30 @@ a { font-size: 12px; } +.payment-summary { + display: grid; + gap: 6px; + max-width: 420px; +} + +.payment-summary__row { + display: flex; + align-items: center; + gap: 10px; + font-size: 12px; +} + +.payment-summary__label { + width: 150px; + flex-shrink: 0; + color: #64748b; +} + +.payment-summary__value { + font-weight: 600; + color: #0f172a; +} + .order-kv dt { color: #64748b; } @@ -2052,17 +2189,23 @@ a { @media (max-width: 768px) { .app-shell { - grid-template-columns: 1fr; + flex-direction: column; } .sidebar { + width: 100% !important; + min-width: 0 !important; border-right: 0; border-bottom: 1px solid #243041; padding: 14px; + overflow-x: auto; } .sidebar__brand { margin: 0 0 10px; font-size: 22px; } + .sidebar__collapse-btn { + display: none; + } .sidebar__nav { display: flex; gap: 8px; diff --git a/resources/lang/pl.php b/resources/lang/pl.php index f56a9b4..c1b31de 100644 --- a/resources/lang/pl.php +++ b/resources/lang/pl.php @@ -184,6 +184,9 @@ return [ 'document' => 'Dokument', 'import' => 'Import', 'note' => 'Notatka', + 'shipment_created' => 'Przesylka WZA', + 'shipment_label_downloaded' => 'Etykieta pobrana', + 'shipment_error' => 'Blad przesylki', ], 'actors' => [ 'system' => 'System', diff --git a/resources/scss/app.scss b/resources/scss/app.scss index 2a08f38..394e8e8 100644 --- a/resources/scss/app.scss +++ b/resources/scss/app.scss @@ -23,32 +23,85 @@ a { .app-shell { min-height: 100vh; - display: grid; - grid-template-columns: 260px 1fr; + display: flex; } .sidebar { - border-right: 1px solid var(--c-border); - border-right-color: #243041; + width: 260px; + min-width: 260px; + flex-shrink: 0; + overflow: hidden; + transition: width 0.22s ease, min-width 0.22s ease; + border-right: 1px solid #243041; background: #111a28; - padding: 18px 14px; + padding: 18px 10px; + display: flex; + flex-direction: column; +} + +.sidebar.is-collapsed { + width: 52px; + min-width: 52px; } .sidebar__brand { - margin: 4px 10px 16px; + display: flex; + align-items: center; + justify-content: space-between; + margin: 4px 4px 16px; + gap: 6px; + min-width: 0; +} + +.sidebar__brand-text { color: #e9f0ff; font-size: 24px; font-weight: 300; letter-spacing: -0.02em; + white-space: nowrap; + overflow: hidden; + flex: 1; + min-width: 0; + + strong { + font-weight: 700; + } } -.sidebar__brand strong { - font-weight: 700; +.sidebar__collapse-btn { + flex-shrink: 0; + width: 28px; + height: 28px; + display: flex; + align-items: center; + justify-content: center; + background: transparent; + border: 1px solid #2a3a54; + border-radius: 6px; + color: #64748b; + cursor: pointer; + padding: 0; + transition: background 0.15s, color 0.15s; + + &:hover { + background: #1b2a3f; + color: #cbd5e1; + } +} + +.sidebar__collapse-icon { + display: block; + transition: transform 0.22s ease; + flex-shrink: 0; +} + +.sidebar.is-collapsed .sidebar__collapse-icon { + transform: rotate(180deg); } .sidebar__nav { display: grid; - gap: 6px; + gap: 4px; } .sidebar__link { @@ -71,23 +124,29 @@ a { .sidebar__group { display: grid; - gap: 6px; + gap: 2px; } .sidebar__group-toggle { list-style: none; border-radius: 8px; - padding: 10px 12px; + padding: 9px 10px; color: #cbd5e1; font-weight: 600; cursor: pointer; + display: flex; + align-items: center; + gap: 9px; + white-space: nowrap; + user-select: none; } .sidebar__group-toggle::-webkit-details-marker { display: none; } -.sidebar__group:hover .sidebar__group-toggle { +.sidebar__group:hover .sidebar__group-toggle, +.sidebar__group-toggle:hover { color: #f8fafc; background: #1b2a3f; } @@ -97,32 +156,83 @@ a { background: #2e4f93; } +.sidebar__icon { + flex-shrink: 0; + width: 18px; + height: 18px; + display: flex; + align-items: center; + justify-content: center; + opacity: 0.85; +} + +.sidebar__label { + flex: 1; + min-width: 0; + overflow: hidden; +} + +.sidebar__toggle-arrow { + flex-shrink: 0; + margin-left: auto; + opacity: 0.5; + transition: transform 0.18s ease; +} + +details[open] > .sidebar__group-toggle .sidebar__toggle-arrow { + transform: rotate(180deg); +} + .sidebar__group-links { display: grid; - gap: 4px; - padding-left: 8px; + gap: 2px; + padding-left: 12px; + overflow: hidden; } .sidebar__sublink { - border-radius: 8px; - padding: 8px 10px; + border-radius: 6px; + padding: 7px 10px 7px 8px; text-decoration: none; - color: #cbd5e1; - font-size: 13px; + color: #94a3b8; + font-size: 12.5px; font-weight: 500; -} + display: flex; + align-items: center; + gap: 8px; + white-space: nowrap; -.sidebar__sublink:hover { - color: #f8fafc; - background: #1b2a3f; -} + &::before { + content: ''; + flex-shrink: 0; + width: 5px; + height: 5px; + border-radius: 50%; + background: rgba(148, 163, 184, 0.3); + transition: background 0.15s; + } -.sidebar__sublink.is-active { - color: #ffffff; - background: #2e4f93; + &:hover { + color: #e2e8f0; + background: #1b2a3f; + + &::before { + background: rgba(148, 163, 184, 0.65); + } + } + + &.is-active { + color: #ffffff; + background: rgba(46, 79, 147, 0.55); + + &::before { + background: #93c5fd; + } + } } .app-main { + flex: 1; min-width: 0; } @@ -944,6 +1054,18 @@ a { background: #fffbeb; color: #92400e; } + + &.is-cod { + border-color: #f9a8d4; + background: #fdf2f8; + color: #9d174d; + } + + &.is-unpaid { + border-color: #fca5a5; + background: #fef2f2; + color: #b91c1c; + } } .orders-mini { @@ -1316,6 +1438,30 @@ a { font-size: 12px; } +.payment-summary { + display: grid; + gap: 6px; + max-width: 420px; +} + +.payment-summary__row { + display: flex; + align-items: center; + gap: 10px; + font-size: 12px; +} + +.payment-summary__label { + width: 150px; + flex-shrink: 0; + color: #64748b; +} + +.payment-summary__value { + font-weight: 600; + color: #0f172a; +} + .order-kv dt { color: #64748b; } @@ -1853,13 +1999,16 @@ a { @media (max-width: 768px) { .app-shell { - grid-template-columns: 1fr; + flex-direction: column; } .sidebar { + width: 100% !important; + min-width: 0 !important; border-right: 0; border-bottom: 1px solid #243041; padding: 14px; + overflow-x: auto; } .sidebar__brand { @@ -1867,6 +2016,10 @@ a { font-size: 22px; } + .sidebar__collapse-btn { + display: none; + } + .sidebar__nav { display: flex; gap: 8px; diff --git a/resources/views/layouts/app.php b/resources/views/layouts/app.php index 15c4abb..0b5c4e9 100644 --- a/resources/views/layouts/app.php +++ b/resources/views/layouts/app.php @@ -14,13 +14,32 @@ -
-
-
-
- - -
-
- - -
-
- - -
-
+
+ +
+