From ce053a5a82d3398b08c403f7a642475c49687bd8 Mon Sep 17 00:00:00 2001 From: Spythere Date: Thu, 11 Dec 2025 01:37:16 +0100 Subject: [PATCH] chore(app): added card with information about scheduled migration to new hosting --- public/images/icon-loading.svg | 60 ++++++++++++++ src/App.vue | 21 +++++ src/components/App/MigrateInfoCard.vue | 108 +++++++++++++++++++++++++ src/components/Global/Card.vue | 1 + 4 files changed, 190 insertions(+) create mode 100755 public/images/icon-loading.svg create mode 100644 src/components/App/MigrateInfoCard.vue diff --git a/public/images/icon-loading.svg b/public/images/icon-loading.svg new file mode 100755 index 0000000..b0f7e8d --- /dev/null +++ b/public/images/icon-loading.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/App.vue b/src/App.vue index a550561..29c48dc 100644 --- a/src/App.vue +++ b/src/App.vue @@ -7,6 +7,11 @@ + + @@ -47,9 +52,11 @@ import UpdateCard from './components/App/UpdateCard.vue'; import StorageManager from './managers/storageManager'; import AppFooter from './components/App/AppFooter.vue'; import AppWelcomeCard from './components/App/AppWelcomeCard.vue'; +import MigrateInfoCard from './components/App/MigrateInfoCard.vue'; const STORAGE_VERSION_KEY = 'app_version'; const WELCOME_CARD_SEEN_KEY = 'welcome_card_seen'; +const MIGRATE_INFO_CARD_SEEN_KEY = 'migrate_info_card_seen'; export default defineComponent({ components: { @@ -59,6 +66,7 @@ export default defineComponent({ AppFooter, UpdateCard, AppWelcomeCard, + MigrateInfoCard, Tooltip }, @@ -70,6 +78,7 @@ export default defineComponent({ isUpdateCardOpen: false, isWelcomeCardOpen: false, + isMigrateInfoCardOpen: false, isOnProductionHost: /(stacjownik-td2)(\.web\.app|\.spythere\.eu)/.test(location.hostname) }), @@ -91,6 +100,7 @@ export default defineComponent({ this.setupOfflineHandling(); this.checkAppVersion(); this.handleQueries(); + this.handleMigrateInfo(); this.apiStore.setupAPIData(); }, @@ -159,6 +169,12 @@ export default defineComponent({ this.apiStore.connectToAPI(); }, + handleMigrateInfo() { + if (StorageManager.getBooleanValue(MIGRATE_INFO_CARD_SEEN_KEY) === true) return; + + this.isMigrateInfoCardOpen = true; + }, + loadLang() { const storageLang = StorageManager.getStringValue('lang'); @@ -180,6 +196,11 @@ export default defineComponent({ closeWelcomeCard() { this.isWelcomeCardOpen = false; StorageManager.setBooleanValue(WELCOME_CARD_SEEN_KEY, true); + }, + + closeMigrateInfoCard() { + this.isMigrateInfoCardOpen = false; + // StorageManager.setBooleanValue(MIGRATE_INFO_CARD_SEEN_KEY, true); } } }); diff --git a/src/components/App/MigrateInfoCard.vue b/src/components/App/MigrateInfoCard.vue new file mode 100644 index 0000000..39aff53 --- /dev/null +++ b/src/components/App/MigrateInfoCard.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/components/Global/Card.vue b/src/components/Global/Card.vue index 1244ab7..820624e 100644 --- a/src/components/Global/Card.vue +++ b/src/components/Global/Card.vue @@ -81,6 +81,7 @@ export default defineComponent({ background-color: #1a1a1a; box-shadow: 0 0 15px 10px #0e0e0e; + border-radius: 1em; overflow: auto; }