From 4e916d2812ce3a9388137d30712757fa533ee71f Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 11 Aug 2022 17:05:04 +0100 Subject: [PATCH] Reload app metadata when adding custom components --- packages/builder/src/builderStore/store/frontend.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/builder/src/builderStore/store/frontend.js b/packages/builder/src/builderStore/store/frontend.js index 16d16de8a2..359f287abe 100644 --- a/packages/builder/src/builderStore/store/frontend.js +++ b/packages/builder/src/builderStore/store/frontend.js @@ -227,9 +227,18 @@ export const getFrontendStore = () => { }) }, save: async screen => { + const state = get(store) const creatingNewScreen = screen._id === undefined const savedScreen = await API.saveScreen(screen) const routesResponse = await API.fetchAppRoutes() + let usedPlugins = state.usedPlugins + + // If plugins changed we need to fetch the latest app metadata + if (savedScreen.pluginAdded) { + const { application } = await API.fetchAppPackage(state.appId) + usedPlugins = application.usedPlugins || [] + } + store.update(state => { // Update screen object const idx = state.screens.findIndex(x => x._id === savedScreen._id) @@ -248,6 +257,9 @@ export const getFrontendStore = () => { // Update routes state.routes = routesResponse.routes + // Update used plugins + state.usedPlugins = usedPlugins + return state }) return savedScreen