Skip to content

Commit 272b04a

Browse files
committed
adds pricing card
1 parent 659fe28 commit 272b04a

File tree

3 files changed

+91
-11
lines changed

3 files changed

+91
-11
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import React from 'react';
2+
import { CardSpotlight } from "../../aceternity/card-spotlight";
3+
import { useIsMobile } from '../context-providers/mobile-context-provider';
4+
import PrimaryButton from '@site/src/components/landing-page-components/parts/landing-page-button-primary';
5+
6+
7+
const PricingCard = ({
8+
title,
9+
description,
10+
bulletPoints,
11+
buttonTitle,
12+
href
13+
}) => {
14+
const isMobile = useIsMobile();
15+
16+
return (
17+
<div
18+
className={isMobile ?
19+
"w-full p-[1.25rem]"
20+
:
21+
"p-[2rem]"
22+
}
23+
24+
style={{
25+
backdropFilter: "blur(12.5px)",
26+
background: "linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.00) 100%)",
27+
border: "2px solid rgba(255, 255, 255, 0.20)",
28+
boxShadow: "0px -2px 10px 0px rgba(233, 223, 255, 0.30), 0px -2px 40px 0px rgba(187, 155, 255, 0.15)",
29+
}}
30+
>
31+
<div
32+
className={isMobile ?
33+
"mb-[0.625rem] text-[1.25rem] font-medium z-10 relative"
34+
:
35+
"mb-[0.625rem] text-[2rem] font-medium z-10 relative"
36+
}
37+
>
38+
{title}
39+
</div>
40+
<div
41+
className="relative z-10 font-medium"
42+
>
43+
{description}
44+
</div>
45+
<ul className="relative z-10 mt-4 list-disc list-inside">
46+
{bulletPoints.map((point, index) => (
47+
<li key={index} className="mb-2">
48+
{point}
49+
</li>
50+
))}
51+
</ul>
52+
<PrimaryButton onClick={() => window.open(href, '_blank')} className="mt-4 z-[8000]">{buttonTitle}</PrimaryButton>
53+
</div>
54+
);
55+
};
56+
57+
export default PricingCard

src/pages/pricing/index.jsx

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,38 @@ import { MobileContextProvider, useIsMobile } from '../../components/landing-pag
55
import LandingPageHeader from '../../components/landing-page-components/sections/landing-page-header';
66
import LandingPageFaqCard from '../../components/landing-page-components/sections/landing-page-faq';
77
import LandingPageCard from '../../components/landing-page-components/parts/landing-page-card';
8-
import LandingPageFeatureCard from '../../components/landing-page-components/parts/landing-page-feature-card.jsx';
8+
import LandingPageFeatureCard from '../../components/landing-page-components/parts/pricing-card';
9+
10+
911

1012

1113
const FEATURES = [
1214
{
13-
iconSrc: "/landing-page/docs-icon.png",
14-
title: "Markdown docs by default",
15-
description: "We believe developer content should live as code, aka markdown. Your content lives right next to your codebase or in a documentation framework.",
15+
title: "Sign up for free (Byte Plan)",
16+
description: "Everything you need to get started with Dev-Docs",
17+
bulletPoints: [
18+
"No cc required",
19+
"Access to Dev-Docs' native web app features",
20+
"Use Dev-Docs in VS Code or GitHub Codespaces",
21+
"Generate the content you need from your codebase",
22+
"Leverage Dev-Docs Chrome Extension to generate step by step guides",
23+
"Get X input credits and Y output credits to use as you see fit (note: fill in with actual credit numbers)",
24+
],
25+
buttonTitle: "Get started",
26+
href: "https://docs.dev/docs"
1627
},
1728
{
18-
iconSrc: "/landing-page/update-icon.png",
19-
title: "Real-time updates",
20-
description: "Syncs with your CI/CD pipeline to keep everything up-to-date as you ship new code. Your docs stay great -- and acurate -- as you build your product.",
29+
title: "Dev-Docs Pro Plan (Megabyte Plan)",
30+
description: "Get even more out of Dev-Docs",
31+
bulletPoints: [
32+
"Everything from the free plan",
33+
"Starting with X input credits and Y output credits per month (note: fill in with actual credit numbers)",
34+
"Integrate Dev-Docs into your CI/CD to fully automate the process",
35+
"Sync Dev-Docs up with your Confluence, Google Drive or Notion",
36+
"Dedicated support"
37+
],
38+
buttonTitle: "Get In Touch",
39+
href: "https://dub.sh/devdocs"
2140
}
2241
];
2342

@@ -38,24 +57,28 @@ const PricingPage = () => {
3857

3958
<div
4059
className={isMobile ?
41-
"mt-[3rem] flex flex-col flex-wrap gap-[1.25rem] justify-center items-center w-full"
60+
"mt-[3rem] flex justify-center items-center gap-[1rem]"
4261
:
43-
"mt-[3rem] flex flex-col flex-wrap gap-x-[1rem] gap-y-[5rem] justify-center items-center"
62+
"mt-[3rem] flex flex-col flex-wrap gap-[1.25rem] justify-center w-full"
4463
}
64+
style={{"alignItems": "stretch"}}
4565
>
4666
{FEATURES.map((feature, idx) => (
4767
<div
4868
key={`landing-page-features-card-feature-card-${idx}`}
4969
className={isMobile ?
50-
"flex flex-row justify-center"
70+
"flex flex-row justify-center align-items-stretch"
5171
:
52-
"flex flex-row justify-center h-[23rem]"
72+
"flex flex-row justify-center h-[23rem] align-items-stretch"
5373
}
5474
>
5575
<LandingPageFeatureCard
5676
iconSrc={feature.iconSrc}
5777
title={feature.title}
5878
description={feature.description}
79+
bulletPoints={feature.bulletPoints}
80+
href={feature.href}
81+
buttonTitle={feature.buttonTitle}
5982
/>
6083
</div>
6184
))}

src/pages/pricing/stripe-table.jsx

Whitespace-only changes.

0 commit comments

Comments
 (0)