From fc0b730652365b459979bb4e690c1337a459305b Mon Sep 17 00:00:00 2001 From: Matthias Nannt Date: Wed, 4 Jan 2023 17:31:54 +0100 Subject: [PATCH] move feedback widget on formbricks.com to own component, add plausible tracking on feedback click --- .../components/shared/FeedbackButton.tsx | 42 +++++++++++++++++++ .../components/shared/Layout.tsx | 2 + .../components/shared/LayoutMdx.tsx | 2 + apps/formbricks-com/pages/_app.tsx | 28 +------------ 4 files changed, 47 insertions(+), 27 deletions(-) create mode 100644 apps/formbricks-com/components/shared/FeedbackButton.tsx diff --git a/apps/formbricks-com/components/shared/FeedbackButton.tsx b/apps/formbricks-com/components/shared/FeedbackButton.tsx new file mode 100644 index 0000000000..3cd720442b --- /dev/null +++ b/apps/formbricks-com/components/shared/FeedbackButton.tsx @@ -0,0 +1,42 @@ +import { usePlausible } from "next-plausible"; +import Script from "next/script"; +import { useState } from "react"; + +declare global { + interface Window { + formbricks: any; + } +} + +export default function FeedbackButton() { + const plausible = usePlausible(); + const [scriptReady, setScriptReady] = useState(false); + return ( + <> + + {scriptReady && ( + + )} + + ); +} diff --git a/apps/formbricks-com/components/shared/Layout.tsx b/apps/formbricks-com/components/shared/Layout.tsx index a99e473aa9..c36136eb89 100644 --- a/apps/formbricks-com/components/shared/Layout.tsx +++ b/apps/formbricks-com/components/shared/Layout.tsx @@ -1,3 +1,4 @@ +import FeedbackButton from "./FeedbackButton"; import Footer from "./Footer"; import Header from "./Header"; import MetaInformation from "./MetaInformation"; @@ -13,6 +14,7 @@ export default function Layout({ title, description, children }: LayoutProps) {
+
{children}
diff --git a/apps/formbricks-com/components/shared/LayoutMdx.tsx b/apps/formbricks-com/components/shared/LayoutMdx.tsx index 9fb0d63600..852db2897c 100644 --- a/apps/formbricks-com/components/shared/LayoutMdx.tsx +++ b/apps/formbricks-com/components/shared/LayoutMdx.tsx @@ -1,3 +1,4 @@ +import FeedbackButton from "./FeedbackButton"; import Footer from "./Footer"; import Header from "./Header"; import Layout from "./Layout"; @@ -17,6 +18,7 @@ export default function LayoutMdx({ meta, children }: Props) {
+
{meta.title && ( diff --git a/apps/formbricks-com/pages/_app.tsx b/apps/formbricks-com/pages/_app.tsx index 72bf915aa1..3734ed4566 100644 --- a/apps/formbricks-com/pages/_app.tsx +++ b/apps/formbricks-com/pages/_app.tsx @@ -1,36 +1,10 @@ -import type { AppProps } from "next/app"; import PlausibleProvider from "next-plausible"; +import type { AppProps } from "next/app"; import "../styles/globals.css"; -import Script from "next/script"; - -declare global { - interface Window { - formbricks: any; - } -} export default function App({ Component, pageProps }: AppProps) { return ( - - );