diff --git a/packages/builder/src/api.js b/packages/builder/src/api.js index 89caa5b33f..f3db05307a 100644 --- a/packages/builder/src/api.js +++ b/packages/builder/src/api.js @@ -10,11 +10,10 @@ import { auth, overview } from "./stores/portal" export const API = createAPIClient({ attachHeaders: headers => { // Attach app ID header from store - let appId = get(store).appId - if (!appId) { - appId = get(overview).selectedAppId + let appId = get(store).appId || get(overview).selectedAppId + if (appId) { + headers["x-budibase-app-id"] = appId } - headers["x-budibase-app-id"] = appId // Add csrf token if authenticated const user = get(auth).user diff --git a/packages/builder/src/pages/builder/portal/overview/[appId]/_layout.svelte b/packages/builder/src/pages/builder/portal/overview/[appId]/_layout.svelte index 74649ff3fd..56d76d3a4c 100644 --- a/packages/builder/src/pages/builder/portal/overview/[appId]/_layout.svelte +++ b/packages/builder/src/pages/builder/portal/overview/[appId]/_layout.svelte @@ -33,7 +33,7 @@ import * as routify from "@roxi/routify" import { onDestroy } from "svelte" - // Keep URL and state in sync for selected screen ID + // Keep URL and state in sync for selected app ID const stopSyncing = syncURLToState({ urlParam: "appId", stateKey: "selectedAppId", @@ -111,6 +111,10 @@ onDestroy(() => { stopSyncing() store.actions.reset() + overview.update(state => ({ + ...state, + selectedAppId: null, + })) })