From 7934a83cfd8f202239c75ed14cfd89cbd4bc3457 Mon Sep 17 00:00:00 2001 From: Spythere Date: Sat, 11 Oct 2025 23:42:27 +0200 Subject: [PATCH] chore: added alert about removal of deprecated orders --- src/components/Panels/OrderListPanel.vue | 17 +++++++++++++++-- src/locales/en.json | 3 ++- src/locales/pl.json | 3 ++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/components/Panels/OrderListPanel.vue b/src/components/Panels/OrderListPanel.vue index 2e27ff0..c3db7ee 100644 --- a/src/components/Panels/OrderListPanel.vue +++ b/src/components/Panels/OrderListPanel.vue @@ -114,16 +114,18 @@ const sortedOrderList = computed(() => { onActivated(() => { const localStorage = window.localStorage; - const orderList = []; + const orderList: IStorageOrderData[] = []; + let deprecatedOrders: string[] = []; for (let key in localStorage) { - if (!/^order-v3/g.test(key)) continue; + if (!/^order-/g.test(key)) continue; const orderObj: IStorageOrderData | LocalStorageOrderLegacy = JSON.parse(localStorage[key]); if (!orderObj) continue; if (isOrderDeprecated(orderObj)) { console.warn(`Deprecated order found with ID: ${orderObj.id}`); + deprecatedOrders.push(key); continue; } @@ -132,6 +134,15 @@ onActivated(() => { storageOrderList.length = 0; storageOrderList.push(...orderList); + + if (deprecatedOrders.length > 0) { + window.alert( + t('order-list.warning-removed-deprecated-orders', { count: deprecatedOrders.length }) + ); + + deprecatedOrders.forEach((orderKey) => StorageManager.removeValue(orderKey)); + StorageManager.removeValue('orderCount'); + } }); @@ -152,6 +163,7 @@ onActivated(() => { &-leave-active { position: absolute; + width: 100%; } } @@ -166,6 +178,7 @@ hr { ul { overflow: hidden; + position: relative; } h3 { diff --git a/src/locales/en.json b/src/locales/en.json index bdee259..0b63774 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -62,7 +62,8 @@ "order-updated": "Updated:", "button-order-select": "Select", "button-order-remove": "Remove", - "warning-deprecated-version": "Deprecated version of the order - may generate incorrect information!" + "warning-deprecated-version": "Deprecated version of the order - may generate incorrect information!", + "warning-removed-deprecated-orders": "Removed deprecated train orders ({count}) due to their replacement with a new format in Polish railway!" }, "order-train-picker": { "placeholder-scenery-name": "Scenery name", diff --git a/src/locales/pl.json b/src/locales/pl.json index faf6838..729f07d 100644 --- a/src/locales/pl.json +++ b/src/locales/pl.json @@ -62,7 +62,8 @@ "order-updated": "Zaktualizowano:", "button-order-select": "Wybierz", "button-order-remove": "Usuń", - "warning-deprecated-version": "Przestarzała wersja rozkazu! Może generować złe informacje!" + "warning-deprecated-version": "Przestarzała wersja rozkazu! Może generować złe informacje!", + "warning-removed-deprecated-orders": "Usunięto nieaktualne rozkazy pisemne ({count}) w związku z wejściem w życie ich nowego formatu!" }, "order-train-picker": { "placeholder-scenery-name": "Sceneria",