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.
+
+
+
+
+ Get started
+
+
+
+ );
+}
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.
+
-
-
- Get started
-
-
-
+
+
+ Get started
+
+
+
+
);
}
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 (
-
-
-
- {new Date(post.date).toLocaleDateString()}
-
+
+
+
+
+ {new Date(post.date).toLocaleDateString()}
+
-
{post.title}
+
{post.title}
-
-
- {post.authorImage && (
-
- )}
-
+
+
+ {post.authorImage && (
+
+ )}
+
-
-
{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.
-
+
Get started
From f6c2b6c1c5a439199585198b4fce2245483f9e58 Mon Sep 17 00:00:00 2001
From: Lucas Smith
Date: Tue, 12 Mar 2024 01:52:16 +0000
Subject: [PATCH 5/5] fix: minor updates
---
.../src/app/(marketing)/blog/[post]/page.tsx | 5 +++--
apps/marketing/src/app/(marketing)/open/page.tsx | 5 +++--
.../(marketing)/{CTA.tsx => call-to-action.tsx} | 13 +++++++++----
3 files changed, 15 insertions(+), 8 deletions(-)
rename apps/marketing/src/components/(marketing)/{CTA.tsx => call-to-action.tsx} (77%)
diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx
index 917045e5a..bd5fdb2da 100644
--- a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx
+++ b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx
@@ -7,7 +7,7 @@ import { ChevronLeft } from 'lucide-react';
import type { MDXComponents } from 'mdx/types';
import { useMDXComponent } from 'next-contentlayer/hooks';
-import CTA from '~/components/(marketing)/CTA';
+import { CallToAction } from '~/components/(marketing)/call-to-action';
export const dynamic = 'force-dynamic';
@@ -93,7 +93,8 @@ export default function BlogPostPage({ params }: { params: { post: string } }) {
Back to all posts
- {post.cta && }
+
+ {post.cta && }
);
}
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() {
-
+
Get started
);
-}
+};