diff --git a/packages/builder/src/components/deploy/DeployModal.svelte b/packages/builder/src/components/deploy/DeployModal.svelte
index 6e1b5f76e9..4daa16c7c4 100644
--- a/packages/builder/src/components/deploy/DeployModal.svelte
+++ b/packages/builder/src/components/deploy/DeployModal.svelte
@@ -1,8 +1,6 @@
-
-
-
-
diff --git a/packages/builder/src/components/feedback/FeedbackNavLink.svelte b/packages/builder/src/components/feedback/FeedbackNavLink.svelte
deleted file mode 100644
index 0c7786aa44..0000000000
--- a/packages/builder/src/components/feedback/FeedbackNavLink.svelte
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/packages/builder/src/components/feedback/NPSFeedbackForm.svelte b/packages/builder/src/components/feedback/NPSFeedbackForm.svelte
new file mode 100644
index 0000000000..e0ba0e7525
--- /dev/null
+++ b/packages/builder/src/components/feedback/NPSFeedbackForm.svelte
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
+ {#if step === 0}
+ How likely are you to recommend Budibase to a colleague?
+
+
+ {#each ratings as number}
+
selectNumber(number)}
+ >
+ {number}
+
+ {/each}
+
+
+ {:else if step === 1}
+ What could be improved most in Budibase?
+
+
+
+ {:else}
+ How can we improve your experience?
+
+
+
+ {/if}
+
+
+
+
+
diff --git a/packages/builder/src/pages/builder/app/[application]/_layout.svelte b/packages/builder/src/pages/builder/app/[application]/_layout.svelte
index f3ae6e7c8e..7b0d09844f 100644
--- a/packages/builder/src/pages/builder/app/[application]/_layout.svelte
+++ b/packages/builder/src/pages/builder/app/[application]/_layout.svelte
@@ -5,7 +5,9 @@
import DeployModal from "components/deploy/DeployModal.svelte"
import RevertModal from "components/deploy/RevertModal.svelte"
import VersionModal from "components/deploy/VersionModal.svelte"
+ import NPSFeedbackForm from "components/feedback/NPSFeedbackForm.svelte"
import { get } from "builderStore/api"
+ import { auth } from "stores/portal"
import { isActive, goto, layout } from "@roxi/routify"
import Logo from "assets/bb-emblem.svg"
import { capitalise } from "helpers"
@@ -18,6 +20,15 @@
$layout.children.find(layout => $isActive(layout.path))?.title ?? "data"
)
+ let userShouldPostFeedback = false
+
+ function previewApp() {
+ if (!$auth?.user?.flags?.feedbackSubmitted) {
+ userShouldPostFeedback = true
+ }
+ window.open(`/${application}`)
+ }
+
async function getPackage() {
const res = await get(`/api/applications/${application}/appPackage`)
const pkg = await res.json()
@@ -83,13 +94,7 @@
- {
- window.open(`/${application}`)
- }}
- />
+
@@ -99,6 +104,10 @@
Something went wrong: {error.message}
{/await}
+{#if userShouldPostFeedback}
+ (userShouldPostFeedback = false)} />
+{/if}
+