From 41843691e807b59efe1dd3ac1fec2b34e80fd1df Mon Sep 17 00:00:00 2001 From: Catalin Pit <25515812+catalinpit@users.noreply.github.com> Date: Fri, 8 Mar 2024 13:44:25 +0200 Subject: [PATCH 1/5] feat: add website cta --- apps/marketing/contentlayer.config.ts | 1 + .../src/app/(marketing)/blog/[post]/page.tsx | 4 +++ .../src/components/(marketing)/CTA.tsx | 26 +++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 apps/marketing/src/components/(marketing)/CTA.tsx diff --git a/apps/marketing/contentlayer.config.ts b/apps/marketing/contentlayer.config.ts index f1ba82b89..10999a408 100644 --- a/apps/marketing/contentlayer.config.ts +++ b/apps/marketing/contentlayer.config.ts @@ -12,6 +12,7 @@ export const BlogPost = defineDocumentType(() => ({ authorName: { type: 'string', required: true }, authorImage: { type: 'string', required: false }, authorRole: { type: 'string', required: true }, + cta: { type: 'boolean', required: false, default: true }, }, computedFields: { href: { type: 'string', resolve: (post) => `/${post._raw.flattenedPath}` }, diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx index 14b8b2d8f..240e8576f 100644 --- a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx +++ b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx @@ -7,6 +7,8 @@ import { ChevronLeft } from 'lucide-react'; import type { MDXComponents } from 'mdx/types'; import { useMDXComponent } from 'next-contentlayer/hooks'; +import CTA from '~/components/(marketing)/CTA'; + export const dynamic = 'force-dynamic'; export const generateMetadata = ({ params }: { params: { post: string } }) => { @@ -89,6 +91,8 @@ export default function BlogPostPage({ params }: { params: { post: string } }) { Back to all posts + + {post.cta && } ); } diff --git a/apps/marketing/src/components/(marketing)/CTA.tsx b/apps/marketing/src/components/(marketing)/CTA.tsx new file mode 100644 index 000000000..b1b1e8603 --- /dev/null +++ b/apps/marketing/src/components/(marketing)/CTA.tsx @@ -0,0 +1,26 @@ +import Link from 'next/link'; + +import { Button } from '@documenso/ui/primitives/button'; + +// import { cn } from '@documenso/ui/lib/utils'; + +export default function CTA() { + return ( +
+

+ Join the Open Document Signing Movement +

+ +

+ Create your account and start using state-of-the-art document signing. Open and beautiful + signing is within your grasp. +

+ + +
+ ); +} From 61ca34eee17074d7025e00eea865d41f46c4686a Mon Sep 17 00:00:00 2001 From: Catalin Pit <25515812+catalinpit@users.noreply.github.com> Date: Fri, 8 Mar 2024 13:46:22 +0200 Subject: [PATCH 2/5] removed unused cn --- apps/marketing/src/components/(marketing)/CTA.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/marketing/src/components/(marketing)/CTA.tsx b/apps/marketing/src/components/(marketing)/CTA.tsx index b1b1e8603..92198a0f1 100644 --- a/apps/marketing/src/components/(marketing)/CTA.tsx +++ b/apps/marketing/src/components/(marketing)/CTA.tsx @@ -2,8 +2,6 @@ import Link from 'next/link'; import { Button } from '@documenso/ui/primitives/button'; -// import { cn } from '@documenso/ui/lib/utils'; - export default function CTA() { return (
From 0fdb7f7a8d6f80f74cada410c825b4bc000dc5fe Mon Sep 17 00:00:00 2001 From: Catalin Pit <25515812+catalinpit@users.noreply.github.com> Date: Fri, 8 Mar 2024 15:30:08 +0200 Subject: [PATCH 3/5] fix: changed to card component --- .../src/components/(marketing)/CTA.tsx | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/apps/marketing/src/components/(marketing)/CTA.tsx b/apps/marketing/src/components/(marketing)/CTA.tsx index 92198a0f1..d7ce572e1 100644 --- a/apps/marketing/src/components/(marketing)/CTA.tsx +++ b/apps/marketing/src/components/(marketing)/CTA.tsx @@ -1,24 +1,26 @@ import Link from 'next/link'; +import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app'; import { Button } from '@documenso/ui/primitives/button'; +import { Card, CardContent } from '@documenso/ui/primitives/card'; export default function CTA() { return ( -
-

- Join the Open Document Signing Movement -

+ + +

Join the Open Signing Movement

-

- Create your account and start using state-of-the-art document signing. Open and beautiful - signing is within your grasp. -

+

+ Create your account and start using state-of-the-art document signing. Open and beautiful + signing is within your grasp. +

- -
+ + + ); } From e8b209eb822e9c8280be689599f2ec1ec624adf1 Mon Sep 17 00:00:00 2001 From: Catalin Pit <25515812+catalinpit@users.noreply.github.com> Date: Fri, 8 Mar 2024 15:46:44 +0200 Subject: [PATCH 4/5] fix: fixed cta component --- .../src/app/(marketing)/blog/[post]/page.tsx | 81 +++---- .../src/app/(marketing)/open/page.tsx | 212 +++++++++--------- .../src/components/(marketing)/CTA.tsx | 8 +- 3 files changed, 153 insertions(+), 148 deletions(-) diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx index 240e8576f..917045e5a 100644 --- a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx +++ b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx @@ -44,55 +44,56 @@ export default function BlogPostPage({ params }: { params: { post: string } }) { const MDXContent = useMDXComponent(post.body.code); return ( -
-
- +
+
+
+ -

{post.title}

+

{post.title}

-
-
- {post.authorImage && ( - {`Image - )} -
+
+
+ {post.authorImage && ( + {`Image + )} +
-
-

{post.authorName}

-

{post.authorRole}

+
+

{post.authorName}

+

{post.authorRole}

+
-
- + - {post.tags.length > 0 && ( -
    - {post.tags.map((tag, i) => ( -
  • - {tag} -
  • - ))} -
- )} + {post.tags.length > 0 && ( +
    + {post.tags.map((tag, i) => ( +
  • + {tag} +
  • + ))} +
+ )} -
- - - - Back to all posts - +
+ + + Back to all posts + +
{post.cta && } -
+
); } diff --git a/apps/marketing/src/app/(marketing)/open/page.tsx b/apps/marketing/src/app/(marketing)/open/page.tsx index 8fef81134..842d91ff8 100644 --- a/apps/marketing/src/app/(marketing)/open/page.tsx +++ b/apps/marketing/src/app/(marketing)/open/page.tsx @@ -7,6 +7,7 @@ import { getUserMonthlyGrowth } from '@documenso/lib/server-only/user/get-user-m import { FUNDING_RAISED } from '~/app/(marketing)/open/data'; import { MetricCard } from '~/app/(marketing)/open/metric-card'; import { SalaryBands } from '~/app/(marketing)/open/salary-bands'; +import CTA from '~/components/(marketing)/CTA'; import { BarMetric } from './bar-metrics'; import { CapTable } from './cap-table'; @@ -141,114 +142,117 @@ export default async function OpenPage() { const MONTHLY_USERS = await getUserMonthlyGrowth(); return ( -
-
-

Open Startup

+
+
+
+

Open Startup

-

- All our metrics, finances, and learnings are public. We believe in transparency and want - to share our journey with you. You can read more about why here:{' '} - - Announcing Open Metrics - -

-
- -
-
- - - - -
- - - - - - - - - - - data={EARLY_ADOPTERS_DATA} - metricKey="earlyAdopters" - title="Early Adopters" - label="Early Adopters" - className="col-span-12 lg:col-span-6" - extraInfo={} - /> - - - data={STARGAZERS_DATA} - metricKey="stars" - title="Github: Total Stars" - label="Stars" - className="col-span-12 lg:col-span-6" - /> - - - data={STARGAZERS_DATA} - metricKey="mergedPRs" - title="Github: Total Merged PRs" - label="Merged PRs" - chartHeight={300} - className="col-span-12 lg:col-span-6" - /> - - - data={STARGAZERS_DATA} - metricKey="forks" - title="Github: Total Forks" - label="Forks" - chartHeight={300} - className="col-span-12 lg:col-span-6" - /> - - - data={STARGAZERS_DATA} - metricKey="openIssues" - title="Github: Total Open Issues" - label="Open Issues" - chartHeight={300} - className="col-span-12 lg:col-span-6" - /> - - - - - - -
-

Where's the rest?

- -

- We're still working on getting all our metrics together. We'll update this page as soon - as we have more to share. +

+ All our metrics, finances, and learnings are public. We believe in transparency and want + to share our journey with you. You can read more about why here:{' '} + + Announcing Open Metrics +

+ +
+
+ + + + +
+ + + + + + + + + + + data={EARLY_ADOPTERS_DATA} + metricKey="earlyAdopters" + title="Early Adopters" + label="Early Adopters" + className="col-span-12 lg:col-span-6" + extraInfo={} + /> + + + data={STARGAZERS_DATA} + metricKey="stars" + title="Github: Total Stars" + label="Stars" + className="col-span-12 lg:col-span-6" + /> + + + data={STARGAZERS_DATA} + metricKey="mergedPRs" + title="Github: Total Merged PRs" + label="Merged PRs" + chartHeight={300} + className="col-span-12 lg:col-span-6" + /> + + + data={STARGAZERS_DATA} + metricKey="forks" + title="Github: Total Forks" + label="Forks" + chartHeight={300} + className="col-span-12 lg:col-span-6" + /> + + + data={STARGAZERS_DATA} + metricKey="openIssues" + title="Github: Total Open Issues" + label="Open Issues" + chartHeight={300} + className="col-span-12 lg:col-span-6" + /> + + + + + + +
+

Where's the rest?

+ +

+ We're still working on getting all our metrics together. We'll update this page as + soon as we have more to share. +

+
+
+
); } diff --git a/apps/marketing/src/components/(marketing)/CTA.tsx b/apps/marketing/src/components/(marketing)/CTA.tsx index d7ce572e1..dee5e5fae 100644 --- a/apps/marketing/src/components/(marketing)/CTA.tsx +++ b/apps/marketing/src/components/(marketing)/CTA.tsx @@ -6,16 +6,16 @@ import { Card, CardContent } from '@documenso/ui/primitives/card'; export default function CTA() { return ( - - + +

Join the Open Signing Movement

-

+

Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp.

-
); } diff --git a/apps/marketing/src/app/(marketing)/open/page.tsx b/apps/marketing/src/app/(marketing)/open/page.tsx index 842d91ff8..10ab71aa7 100644 --- a/apps/marketing/src/app/(marketing)/open/page.tsx +++ b/apps/marketing/src/app/(marketing)/open/page.tsx @@ -7,7 +7,7 @@ import { getUserMonthlyGrowth } from '@documenso/lib/server-only/user/get-user-m import { FUNDING_RAISED } from '~/app/(marketing)/open/data'; import { MetricCard } from '~/app/(marketing)/open/metric-card'; import { SalaryBands } from '~/app/(marketing)/open/salary-bands'; -import CTA from '~/components/(marketing)/CTA'; +import { CallToAction } from '~/components/(marketing)/call-to-action'; import { BarMetric } from './bar-metrics'; import { CapTable } from './cap-table'; @@ -252,7 +252,8 @@ export default async function OpenPage() {
- + + ); } diff --git a/apps/marketing/src/components/(marketing)/CTA.tsx b/apps/marketing/src/components/(marketing)/call-to-action.tsx similarity index 77% rename from apps/marketing/src/components/(marketing)/CTA.tsx rename to apps/marketing/src/components/(marketing)/call-to-action.tsx index dee5e5fae..3d1f51b23 100644 --- a/apps/marketing/src/components/(marketing)/CTA.tsx +++ b/apps/marketing/src/components/(marketing)/call-to-action.tsx @@ -4,9 +4,14 @@ import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app'; import { Button } from '@documenso/ui/primitives/button'; import { Card, CardContent } from '@documenso/ui/primitives/card'; -export default function CTA() { +type CallToActionProps = { + className?: string; + utmSource?: string; +}; + +export const CallToAction = ({ className, utmSource = 'generic-cta' }: CallToActionProps) => { return ( - +

Join the Open Signing Movement

@@ -16,11 +21,11 @@ export default function CTA() {

); -} +};