diff --git a/apps/web/app/(marketing)/_components/site-page-header.tsx b/apps/web/app/(marketing)/_components/site-page-header.tsx index 232c001e9..b22e05a18 100644 --- a/apps/web/app/(marketing)/_components/site-page-header.tsx +++ b/apps/web/app/(marketing)/_components/site-page-header.tsx @@ -10,7 +10,7 @@ export function SitePageHeader(props: {

{props.title} diff --git a/apps/web/app/(marketing)/blog/_components/post-header.tsx b/apps/web/app/(marketing)/blog/_components/post-header.tsx index 03f3734e4..dcdd58c01 100644 --- a/apps/web/app/(marketing)/blog/_components/post-header.tsx +++ b/apps/web/app/(marketing)/blog/_components/post-header.tsx @@ -14,7 +14,7 @@ export function PostHeader({ post }: { post: Cms.ContentItem }) {

{title} diff --git a/apps/web/app/(marketing)/blog/_components/post-preview.tsx b/apps/web/app/(marketing)/blog/_components/post-preview.tsx index 009c7907c..b7b0343f7 100644 --- a/apps/web/app/(marketing)/blog/_components/post-preview.tsx +++ b/apps/web/app/(marketing)/blog/_components/post-preview.tsx @@ -42,7 +42,7 @@ export function PostPreview({
-

+

{title} diff --git a/apps/web/app/(marketing)/page.tsx b/apps/web/app/(marketing)/page.tsx index 2b68556b2..cba3add63 100644 --- a/apps/web/app/(marketing)/page.tsx +++ b/apps/web/app/(marketing)/page.tsx @@ -11,6 +11,13 @@ import { import { PricingTable } from '@kit/billing-gateway/marketing'; import { Button } from '@kit/ui/button'; +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from '@kit/ui/card'; import { Heading } from '@kit/ui/heading'; import { Trans } from '@kit/ui/trans'; import { cn } from '@kit/ui/utils'; @@ -27,7 +34,7 @@ function Home() { className={ 'flex flex-col items-center md:flex-row' + ' mx-auto flex-1 justify-center animate-in fade-in' + - ' duration-500 zoom-in-95 slide-in-from-top-24' + ' duration-1000 zoom-in-90 slide-in-from-top-36' } >
- + The leading SaaS Starter Kit for ambitious developers @@ -49,9 +56,7 @@ function Home() {
Build and Ship a SaaS faster than ever before with the next-gen SaaS Starter Kit. Ship your SaaS in days, not months. @@ -65,18 +70,18 @@ function Home() {
{`App
@@ -87,121 +92,103 @@ function Home() { className={'flex flex-col space-y-16 xl:space-y-32 2xl:space-y-36'} > - +
- - - - -
- Authentication - - - Secure and Easy-to-Use Authentication for Your SaaS Website - and API - -
-
- -

- Our authentication system is built on top of the - industry-leading PaaS such as Supabase and Firebase. It is - secure, easy-to-use, and fully customizable. It supports - email/password, social logins, and more. -

-
- - - {'Sign - -
- - - - {'Dashboard'} - - - -
- + + + SaaS Starter Kit
- Dashboard - - - A fantastic dashboard to manage your SaaS business - + + The ultimate SaaS Starter Kit + + .{' '} + + Unleash your creativity and build your SaaS faster than + ever with Makerkit. + +

- -

- Our dashboard offers an overview of your SaaS business. It shows - at a glance all you need to know about your business. It is - fully customizable and extendable. -

- - - - - -
- - - - -
- Billing - - - A powerful billing system for your SaaS business - -
-
- -

- Powerful billing system that supports multiple payment gateways - such as Stripe, Lemon Squeezy and Paddle. Fully customizable and - easy to use. -

- - {'Billing'} + + + {'Dashboard + + + + {'Sign + + + + {'Multi + + + + {'Billing'} +

@@ -217,13 +204,15 @@ function Home() { Get started for free. No credit card required.
- + Fair pricing for all types of businesses Get started on our free plan and upgrade when you are ready. @@ -251,7 +240,7 @@ function HeroTitle({ children }: React.PropsWithChildren) { return (

{children} @@ -259,27 +248,34 @@ function HeroTitle({ children }: React.PropsWithChildren) { ); } -function Pill(props: React.PropsWithChildren) { +function Pill( + props: React.PropsWithChildren<{ + new?: boolean; + }>, +) { return (

- - {props.children} + {props.new && ( + + New + + )} + {props.children}

); } function FeatureShowcaseContainer(props: React.PropsWithChildren) { return ( -
+
{props.children}
); @@ -293,9 +289,13 @@ function FeatureContainer( ) { return (
{props.children}
@@ -318,7 +318,7 @@ function MainCallToActionButton() { @@ -345,14 +345,62 @@ function IconContainer( ) { return (
- {props.children} - +
); } + +function FeatureCard( + props: React.PropsWithChildren<{ + title: string; + description: string; + className?: string; + }>, +) { + return ( +
+ + {props.title} + + + {props.description} + + + + {props.children} +
+ ); +} + +function GradientSecondaryText( + props: React.PropsWithChildren<{ + className?: string; + }>, +) { + return ( + + {props.children} + + ); +} diff --git a/apps/web/public/images/dashboard-demo.webp b/apps/web/public/images/dashboard-demo.webp deleted file mode 100644 index 379b107a4..000000000 Binary files a/apps/web/public/images/dashboard-demo.webp and /dev/null differ diff --git a/apps/web/public/images/dashboard-header.webp b/apps/web/public/images/dashboard-header.webp new file mode 100644 index 000000000..02ac92b87 Binary files /dev/null and b/apps/web/public/images/dashboard-header.webp differ diff --git a/apps/web/public/images/dashboard.webp b/apps/web/public/images/dashboard.webp index b2faefc9d..337b0d4c3 100644 Binary files a/apps/web/public/images/dashboard.webp and b/apps/web/public/images/dashboard.webp differ diff --git a/apps/web/public/images/multi-tenancy.webp b/apps/web/public/images/multi-tenancy.webp new file mode 100644 index 000000000..3f6599bd4 Binary files /dev/null and b/apps/web/public/images/multi-tenancy.webp differ diff --git a/apps/web/public/images/sign-in.webp b/apps/web/public/images/sign-in.webp index 2e6d8c204..0a1a46f66 100644 Binary files a/apps/web/public/images/sign-in.webp and b/apps/web/public/images/sign-in.webp differ diff --git a/packages/billing/gateway/src/components/pricing-table.tsx b/packages/billing/gateway/src/components/pricing-table.tsx index 802db7eeb..5af8d9cc7 100644 --- a/packages/billing/gateway/src/components/pricing-table.tsx +++ b/packages/billing/gateway/src/components/pricing-table.tsx @@ -161,17 +161,19 @@ function PricingItem( data-cy={'subscription-plan'} className={cn( props.className, - `s-full relative flex flex-1 grow flex-col items-stretch justify-between self-stretch rounded-lg border p-8 lg:w-4/12 xl:max-w-[20rem]`, + `s-full relative flex flex-1 grow flex-col items-stretch justify-between self-stretch rounded-xl border p-8 lg:w-4/12 xl:max-w-[20rem]`, { ['border-primary']: highlighted, - ['dark:shadow-primary/40 border-transparent shadow dark:shadow-sm']: - !highlighted, + ['border-border']: !highlighted, }, )} >
- + {children}