From a78704bca831f02764ebe4585949f931abf0152f Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Mon, 11 Mar 2024 16:55:02 +0000 Subject: [PATCH] Working on maintenance screen for app users. --- .../src/components/MaintenanceScreen.svelte | 70 +++++++++++++++++++ packages/client/src/index.js | 10 +++ 2 files changed, 80 insertions(+) create mode 100644 packages/client/src/components/MaintenanceScreen.svelte diff --git a/packages/client/src/components/MaintenanceScreen.svelte b/packages/client/src/components/MaintenanceScreen.svelte new file mode 100644 index 0000000000..b43525fdb6 --- /dev/null +++ b/packages/client/src/components/MaintenanceScreen.svelte @@ -0,0 +1,70 @@ + + +
+
+
+ {#each maintenanceList as maintenance} + {#if maintenance.type === MaintenanceType.SQS_MISSING} + + Please upgrade your Budibase installation + + We've detected that the version of Budibase you're using depends + on a more recent version of the CouchDB database than what you + have installed. + + + To resolve this, you can either rollback to a previous version of + Budibase, or follow the migration guide to update to a later + version of CouchDB. + + + + {/if} + {/each} +
+
+
+ + diff --git a/packages/client/src/index.js b/packages/client/src/index.js index 2c8d310619..9a2f0addbc 100644 --- a/packages/client/src/index.js +++ b/packages/client/src/index.js @@ -1,5 +1,6 @@ import ClientApp from "./components/ClientApp.svelte" import UpdatingApp from "./components/UpdatingApp.svelte" +import MaintenanceScreen from "./components/MaintenanceScreen.svelte" import { builderStore, appStore, @@ -65,6 +66,15 @@ const loadBudibase = async () => { await environmentStore.actions.fetchEnvironment() } + const maintenanceList = get(environmentStore)?.maintenance + if (maintenanceList?.length > 0) { + new MaintenanceScreen({ + target: window.document.body, + props: { maintenanceList }, + }) + return + } + // Register handler for runtime events from the builder window.handleBuilderRuntimeEvent = (type, data) => { if (!window["##BUDIBASE_IN_BUILDER##"]) {