mirror of
https://github.com/formbricks/formbricks.git
synced 2026-02-20 05:49:07 -06:00
Merge pull request #442 from formbricks/lp/concierge
Add Concierge Page to Landing Page
This commit is contained in:
@@ -23,10 +23,10 @@ export const GitHubSponsorship: React.FC = () => {
|
||||
/>
|
||||
</div>
|
||||
<h2 className="mt-4 text-2xl font-bold tracking-tight text-slate-800 dark:text-slate-200 lg:text-2xl">
|
||||
Sponsored by GitHub
|
||||
Proudly Open-Source 🤍
|
||||
</h2>
|
||||
<p className="lg:text-md mt-4 max-w-3xl text-slate-500 dark:text-slate-400">
|
||||
We're proud to join the first accelerator program by GitHub!{" "}
|
||||
We're proud to to be supported by GitHubs Open-Source Program!{" "}
|
||||
<span>
|
||||
<Link
|
||||
href="/blog/inaugural-batch-github-accelerator"
|
||||
|
||||
@@ -21,20 +21,15 @@ export const Hero: React.FC = ({}) => {
|
||||
<div className="relative">
|
||||
<div className="px-4 py-20 text-center sm:px-6 lg:px-8 lg:py-28">
|
||||
<h1 className="text-3xl font-bold tracking-tight text-slate-800 dark:text-slate-200 sm:text-4xl md:text-5xl">
|
||||
<span className="xl:inline">Survey any segment.</span>{" "}
|
||||
<span
|
||||
className="font-extralight" /* className="from-brand-light to-brand-dark bg-gradient-to-b bg-clip-text text-transparent xl:inline" */
|
||||
>
|
||||
No coding required.
|
||||
</span>
|
||||
<span className="xl:inline">Create Products People Remember</span>
|
||||
</h1>
|
||||
|
||||
<p className="xs:max-w-none mx-auto mt-3 max-w-xs text-base text-slate-500 dark:text-slate-400 sm:text-lg md:mt-5 md:text-xl">
|
||||
Survey granular user segments at any point in the user journey.
|
||||
Understand what customers think & feel about your product.
|
||||
<br />
|
||||
<span className="hidden md:block">
|
||||
Gather up to 6x more insights with targeted micro-surveys.{" "}
|
||||
<span className="decoration-brand-dark underline underline-offset-4">All open-source.</span>
|
||||
Continuously gather deep user insights,{" "}
|
||||
<span className="decoration-brand-dark underline underline-offset-4">all privacy-first.</span>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
|
||||
@@ -48,9 +48,7 @@ export default function Footer() {
|
||||
<span className="sr-only">Formbricks</span>
|
||||
<FooterLogo className="mx-auto h-8 w-auto sm:h-10" />
|
||||
</Link>
|
||||
<p className="text-base text-slate-500 dark:text-slate-400">
|
||||
Make customer-centric decisions based on data.
|
||||
</p>
|
||||
<p className="text-base text-slate-500 dark:text-slate-400">Privacy-first Experience Management</p>
|
||||
<div className="border-slate-500">
|
||||
<p className="text-sm text-slate-400 dark:text-slate-500">
|
||||
© 2022. All rights reserved.
|
||||
|
||||
@@ -269,9 +269,9 @@ export default function Header() {
|
||||
</Link> */}
|
||||
|
||||
<Link
|
||||
href="/community"
|
||||
href="/concierge"
|
||||
className="text-base font-medium text-slate-400 hover:text-slate-700 dark:hover:text-slate-300">
|
||||
Community
|
||||
Concierge
|
||||
</Link>
|
||||
</Popover.Group>
|
||||
<div className="hidden flex-1 items-center justify-end md:flex">
|
||||
@@ -363,7 +363,7 @@ export default function Header() {
|
||||
<hr className="mx-20 my-6 opacity-25" />
|
||||
</div>
|
||||
)}
|
||||
<Link href="/community">Community</Link>
|
||||
<Link href="/concierge">Concierge</Link>
|
||||
<Link href="#pricing">Pricing</Link>
|
||||
<Link href="/docs">Docs</Link>
|
||||
<Link href="/blog">Blog</Link>
|
||||
|
||||
@@ -11,10 +11,11 @@
|
||||
"lint": "next lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"@calcom/embed-react": "^1.1.1",
|
||||
"@docsearch/react": "^3.3.3",
|
||||
"@formbricks/ui": "workspace:*",
|
||||
"@formbricks/types": "workspace:*",
|
||||
"@formbricks/lib": "workspace:*",
|
||||
"@formbricks/types": "workspace:*",
|
||||
"@formbricks/ui": "workspace:*",
|
||||
"@headlessui/react": "^1.7.14",
|
||||
"@heroicons/react": "^2.0.17",
|
||||
"@mapbox/rehype-prism": "^0.8.0",
|
||||
|
||||
108
apps/formbricks-com/pages/concierge.tsx
Normal file
108
apps/formbricks-com/pages/concierge.tsx
Normal file
@@ -0,0 +1,108 @@
|
||||
import HeroTitle from "@/components/shared/HeroTitle";
|
||||
import Layout from "@/components/shared/Layout";
|
||||
import Cal, { getCalApi } from "@calcom/embed-react";
|
||||
import { useEffect } from "react";
|
||||
import { CheckBadgeIcon } from "@heroicons/react/24/solid";
|
||||
|
||||
const XMOffer = [
|
||||
{
|
||||
step: "1",
|
||||
header: "Kick-off call",
|
||||
description: "You share with our seasoned PMs which areas of your customer experience need improvement.",
|
||||
},
|
||||
{
|
||||
step: "2",
|
||||
header: "In-depth analysis",
|
||||
description: "With a fresh pair of eyes, we analyze your customer experience to uncover potential.",
|
||||
},
|
||||
{
|
||||
step: "3",
|
||||
header: "Research design",
|
||||
description: "We set up systems for continuous discovery. Benefit from an ongoing stream of insights.",
|
||||
},
|
||||
{
|
||||
step: "4",
|
||||
header: "Setup assistance",
|
||||
description: "Our core developers help you get Formbricks up and running in no more than 60 minutes.",
|
||||
},
|
||||
{
|
||||
step: "5",
|
||||
header: "Actionable insights",
|
||||
description:
|
||||
"Once the results are in, we perform a thorough analysis and derive concrete Next Action Steps to retain your customers better.",
|
||||
},
|
||||
];
|
||||
|
||||
const ConciergePage = () => {
|
||||
useEffect(() => {
|
||||
(async function () {
|
||||
const cal = await getCalApi();
|
||||
cal("ui", {
|
||||
theme: "light",
|
||||
styles: { branding: { brandColor: "#000000" } },
|
||||
hideEventTypeDetails: false,
|
||||
});
|
||||
})();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<Layout
|
||||
title="Community | Formbricks Open Source Forms & Surveys"
|
||||
description="You're building open source forms and surveys? So are we! Get support for anything your building - or just say hi!">
|
||||
<HeroTitle
|
||||
headingPt1="XM"
|
||||
headingTeal="Concierge"
|
||||
headingPt2="Service"
|
||||
subheading="Let's set up your system for continuous user discovery together."
|
||||
/>
|
||||
<div className="-mt-16 grid grid-cols-1 space-y-4 px-4 md:grid-cols-2 md:gap-8 md:px-16">
|
||||
<div className="rounded-xl bg-slate-100 p-12">
|
||||
{XMOffer.map((offer) => (
|
||||
<div key={offer.step} className="mb-8 flex items-center gap-x-4">
|
||||
<div className=" flex items-center justify-center rounded-full bg-emerald-50 p-4 text-2xl font-bold text-emerald-700">
|
||||
{offer.step}
|
||||
</div>
|
||||
<div>
|
||||
<h4 className="font-semibold text-slate-700">{offer.header}</h4>
|
||||
<p className="text-sm text-slate-800">{offer.description}</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
<div className="border-b border-t border-slate-300 p-6 text-4xl font-semibold text-slate-800">
|
||||
<p className="mr-2 font-light line-through">$2.990</p>
|
||||
<div className="xs:flex items-center gap-x-2">
|
||||
<p>$990</p>
|
||||
<p className="whitespace-nowrap rounded-full bg-indigo-200 px-4 text-base font-normal text-indigo-800">
|
||||
24h GitHub Demo Offer 🔥
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="p-6 text-sm text-slate-800">
|
||||
<p>
|
||||
<CheckBadgeIcon className="mr-1 inline h-5 w-5 text-slate-800" />
|
||||
100% Risk-free: Pay after the kick-off call.
|
||||
</p>
|
||||
<p>
|
||||
<CheckBadgeIcon className="mr-1 inline h-5 w-5 text-slate-800" />
|
||||
Money-back: If you're not happy, get a full refund.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="rounded-xl">
|
||||
<Cal
|
||||
calLink="johannes/concierge-kick-off"
|
||||
style={{
|
||||
width: "100%",
|
||||
height: "100%",
|
||||
overflow: "scroll",
|
||||
borderRadius: "0.5rem",
|
||||
}}
|
||||
config={{ layout: "month_view" }}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
);
|
||||
};
|
||||
|
||||
export default ConciergePage;
|
||||
@@ -10,7 +10,7 @@ import BestPractices from "@/components/shared/BestPractices";
|
||||
|
||||
const IndexPage = () => (
|
||||
<Layout
|
||||
title="Formbricks | Embedded User Research"
|
||||
title="Formbricks | Privacy-first user research"
|
||||
description="Build qualitative user research into your product. Leverage Best practices to increase Product-Market Fit.">
|
||||
<Hero />
|
||||
<div className="hidden lg:block">
|
||||
|
||||
69
pnpm-lock.yaml
generated
69
pnpm-lock.yaml
generated
@@ -18,7 +18,7 @@ importers:
|
||||
version: 3.12.6
|
||||
turbo:
|
||||
specifier: latest
|
||||
version: 1.10.3
|
||||
version: 1.10.6
|
||||
|
||||
apps/demo:
|
||||
dependencies:
|
||||
@@ -77,6 +77,9 @@ importers:
|
||||
|
||||
apps/formbricks-com:
|
||||
dependencies:
|
||||
'@calcom/embed-react':
|
||||
specifier: ^1.1.1
|
||||
version: 1.1.1(react-dom@18.2.0)(react@18.2.0)
|
||||
'@docsearch/react':
|
||||
specifier: ^3.3.3
|
||||
version: 3.3.3(@algolia/client-search@4.14.2)(@types/react@18.0.35)(react-dom@18.2.0)(react@18.2.0)
|
||||
@@ -2256,6 +2259,28 @@ packages:
|
||||
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
|
||||
dev: true
|
||||
|
||||
/@calcom/embed-core@1.2.1:
|
||||
resolution: {integrity: sha512-KDL1gjWiixDmaLRT/Ps7Y2MgXfe1NPkVr9UG/VkkJnIVxBz8M0tLBdGTRZpLzwVpsN7VsK/Wb1p9dZ8SYTKitw==}
|
||||
dev: false
|
||||
|
||||
/@calcom/embed-react@1.1.1(react-dom@18.2.0)(react@18.2.0):
|
||||
resolution: {integrity: sha512-K27CYyrHKzkc7kWNhLnrZPh0+uJy2VAab9Z8e6jKylYNWBraiAb9zyx8hOFcAMpHHOHXb1XBN76HLm3Ug7Js3A==}
|
||||
peerDependencies:
|
||||
react: ^18.2.0
|
||||
react-dom: ^18.2.0
|
||||
dependencies:
|
||||
'@calcom/embed-core': 1.2.1
|
||||
'@calcom/embed-snippet': 1.0.9
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0(react@18.2.0)
|
||||
dev: false
|
||||
|
||||
/@calcom/embed-snippet@1.0.9:
|
||||
resolution: {integrity: sha512-x8/RZxYUQ3uPZButjHWiZ5Kz00+Y9v+NK2XEklnKC2JslDEzRU+KV/g8Lk5aF/xweHSioKwVLa5xBmrfR9deKg==}
|
||||
dependencies:
|
||||
'@calcom/embed-core': 1.2.1
|
||||
dev: false
|
||||
|
||||
/@changesets/apply-release-plan@6.1.3:
|
||||
resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==}
|
||||
dependencies:
|
||||
@@ -5776,7 +5801,7 @@ packages:
|
||||
tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1'
|
||||
dependencies:
|
||||
mini-svg-data-uri: 1.4.4
|
||||
tailwindcss: 3.3.1(postcss@8.4.21)
|
||||
tailwindcss: 3.3.1(postcss@8.4.22)
|
||||
dev: true
|
||||
|
||||
/@tailwindcss/forms@0.5.3(tailwindcss@3.3.2):
|
||||
@@ -20614,65 +20639,65 @@ packages:
|
||||
dependencies:
|
||||
safe-buffer: 5.2.1
|
||||
|
||||
/turbo-darwin-64@1.10.3:
|
||||
resolution: {integrity: sha512-IIB9IomJGyD3EdpSscm7Ip1xVWtYb7D0x7oH3vad3gjFcjHJzDz9xZ/iw/qItFEW+wGFcLSRPd+1BNnuLM8AsA==}
|
||||
/turbo-darwin-64@1.10.6:
|
||||
resolution: {integrity: sha512-s2Gc7i9Ud+H9GDcrGJjPIyscJfzDGQ6il4Sl2snfvwngJs4/TaqKuBoX3HNt/7F4NiFRs7ZhlLV1/Yu9zGBRhw==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/turbo-darwin-arm64@1.10.3:
|
||||
resolution: {integrity: sha512-SBNmOZU9YEB0eyNIxeeQ+Wi0Ufd+nprEVp41rgUSRXEIpXjsDjyBnKnF+sQQj3+FLb4yyi/yZQckB+55qXWEsw==}
|
||||
/turbo-darwin-arm64@1.10.6:
|
||||
resolution: {integrity: sha512-tgl70t5PBLyRcNTdP9N6NjvdvQ5LUk8Z60JGUhBhnc+oCOdA4pltrDJNPyel3tQAXXt1dDpl8pp9vUrbwoVyGg==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/turbo-linux-64@1.10.3:
|
||||
resolution: {integrity: sha512-kvAisGKE7xHJdyMxZLvg53zvHxjqPK1UVj4757PQqtx9dnjYHSc8epmivE6niPgDHon5YqImzArCjVZJYpIGHQ==}
|
||||
/turbo-linux-64@1.10.6:
|
||||
resolution: {integrity: sha512-h7eyAA3xtAVpamcYJYUwe0xm0LWdbv7/I7QiM09AZ67TTNpyUgqW8giFN3h793BHEQ2Rcnk9FNkpIbjWBbyamg==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/turbo-linux-arm64@1.10.3:
|
||||
resolution: {integrity: sha512-Qgaqln0IYRgyL0SowJOi+PNxejv1I2xhzXOI+D+z4YHbgSx87ox1IsALYBlK8VRVYY8VCXl+PN12r1ioV09j7A==}
|
||||
/turbo-linux-arm64@1.10.6:
|
||||
resolution: {integrity: sha512-8cZhOeLqu3QZ27yLd6bw4FNaB8y5pLdWeRLJeiWHkIb/cptKnRKJFP+keBJzJi8ovaMqdBpabrxiBRN2lhau5Q==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/turbo-windows-64@1.10.3:
|
||||
resolution: {integrity: sha512-rbH9wManURNN8mBnN/ZdkpUuTvyVVEMiUwFUX4GVE5qmV15iHtZfDLUSGGCP2UFBazHcpNHG1OJzgc55GFFrUw==}
|
||||
/turbo-windows-64@1.10.6:
|
||||
resolution: {integrity: sha512-qx5jcfCJodN1Mh0KtSVQau7pK8CxDvtif7+joPHI2HbQPAADgdUl0LHfA5tFHh6aWgfvhxbvIXqJd6v7Mqkj9g==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/turbo-windows-arm64@1.10.3:
|
||||
resolution: {integrity: sha512-ThlkqxhcGZX39CaTjsHqJnqVe+WImjX13pmjnpChz6q5HHbeRxaJSFzgrHIOt0sUUVx90W/WrNRyoIt/aafniw==}
|
||||
/turbo-windows-arm64@1.10.6:
|
||||
resolution: {integrity: sha512-vTQaRG3/s2XTreOBr6J9HKFtjzusvwGQg0GtuW2+9Z7fizdzP8MuhaDbN6FhKHcWC81PQPD61TBIKTVTsYOEZg==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/turbo@1.10.3:
|
||||
resolution: {integrity: sha512-U4gKCWcKgLcCjQd4Pl8KJdfEKumpyWbzRu75A6FCj6Ctea1PIm58W6Ltw1QXKqHrl2pF9e1raAskf/h6dlrPCA==}
|
||||
/turbo@1.10.6:
|
||||
resolution: {integrity: sha512-0/wbjw4HvmPP1abVWHTdeFRfCA9cn5oxCPP5bDixagLzvDgGWE3xfdlsyGmq779Ekr9vjtDPgC2Y4JlXEhyryw==}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
optionalDependencies:
|
||||
turbo-darwin-64: 1.10.3
|
||||
turbo-darwin-arm64: 1.10.3
|
||||
turbo-linux-64: 1.10.3
|
||||
turbo-linux-arm64: 1.10.3
|
||||
turbo-windows-64: 1.10.3
|
||||
turbo-windows-arm64: 1.10.3
|
||||
turbo-darwin-64: 1.10.6
|
||||
turbo-darwin-arm64: 1.10.6
|
||||
turbo-linux-64: 1.10.6
|
||||
turbo-linux-arm64: 1.10.6
|
||||
turbo-windows-64: 1.10.6
|
||||
turbo-windows-arm64: 1.10.6
|
||||
dev: true
|
||||
|
||||
/tween-functions@1.2.0:
|
||||
|
||||
Reference in New Issue
Block a user