diff --git a/packages/builder/src/components/beta/BetaTab.svelte b/packages/builder/src/components/beta/BetaTab.svelte
new file mode 100644
index 0000000000..145fcf9b68
--- /dev/null
+++ b/packages/builder/src/components/beta/BetaTab.svelte
@@ -0,0 +1,26 @@
+
+
+
+ Beta Builder
+
+ Your account has been given access to the budibase beta program. We would
+ love to hear what you think and get your feedback and suggestions on the new
+ Design UI.
+
+
+
+
diff --git a/packages/builder/src/pages/builder/app/[application]/beta/_layout.svelte b/packages/builder/src/pages/builder/app/[application]/beta/_layout.svelte
new file mode 100644
index 0000000000..8d61c96488
--- /dev/null
+++ b/packages/builder/src/pages/builder/app/[application]/beta/_layout.svelte
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/packages/builder/src/pages/builder/app/[application]/beta/index.svelte b/packages/builder/src/pages/builder/app/[application]/beta/index.svelte
new file mode 100644
index 0000000000..79125ea2c2
--- /dev/null
+++ b/packages/builder/src/pages/builder/app/[application]/beta/index.svelte
@@ -0,0 +1,5 @@
+
+
+
diff --git a/packages/builder/src/pages/builder/portal/overview/[application]/index.svelte b/packages/builder/src/pages/builder/portal/overview/[application]/index.svelte
index 01d4095a3f..5549d32053 100644
--- a/packages/builder/src/pages/builder/portal/overview/[application]/index.svelte
+++ b/packages/builder/src/pages/builder/portal/overview/[application]/index.svelte
@@ -27,6 +27,7 @@
import AppLockModal from "components/common/AppLockModal.svelte"
import EditableIcon from "components/common/EditableIcon.svelte"
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
+ import BetaTab from "components/beta/BetaTab.svelte"
import { checkIncomingDeploymentStatus } from "components/deploy/utils"
import { onDestroy, onMount } from "svelte"
@@ -313,6 +314,9 @@
+
+
+
{
+ await API.toggleUiFeature({ value: feature })
+ },
}
return {
diff --git a/packages/frontend-core/src/api/flags.js b/packages/frontend-core/src/api/flags.js
index bb545e83b9..16adeb7b5d 100644
--- a/packages/frontend-core/src/api/flags.js
+++ b/packages/frontend-core/src/api/flags.js
@@ -22,4 +22,13 @@ export const buildFlagEndpoints = API => ({
},
})
},
+ /**
+ * Allows us to experimentally toggle a beta UI feature through a cookie.
+ * @param value the feature to toggle
+ */
+ toggleUiFeature: async ({ value }) => {
+ return await API.post({
+ url: `/api/beta/${value}`,
+ })
+ },
})