diff --git a/apps/website/public/frameworks/nextjs.svg b/apps/website/public/frameworks/nextjs.svg
deleted file mode 100644
index f0f195ff7..000000000
--- a/apps/website/public/frameworks/nextjs.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/website/public/frameworks/supabase.svg b/apps/website/public/frameworks/supabase.svg
deleted file mode 100644
index 69b609e8d..000000000
--- a/apps/website/public/frameworks/supabase.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
diff --git a/apps/website/public/img/frameworks/authjs.webp b/apps/website/public/img/frameworks/authjs.webp
new file mode 100644
index 000000000..d06ca723a
Binary files /dev/null and b/apps/website/public/img/frameworks/authjs.webp differ
diff --git a/apps/website/public/frameworks/bedrock.svg b/apps/website/public/img/frameworks/bedrock.svg
similarity index 100%
rename from apps/website/public/frameworks/bedrock.svg
rename to apps/website/public/img/frameworks/bedrock.svg
diff --git a/apps/website/public/frameworks/blitz.svg b/apps/website/public/img/frameworks/blitz.svg
similarity index 100%
rename from apps/website/public/frameworks/blitz.svg
rename to apps/website/public/img/frameworks/blitz.svg
diff --git a/apps/website/public/frameworks/chakra.svg b/apps/website/public/img/frameworks/chakra.svg
similarity index 100%
rename from apps/website/public/frameworks/chakra.svg
rename to apps/website/public/img/frameworks/chakra.svg
diff --git a/apps/website/public/img/frameworks/drizzle.svg b/apps/website/public/img/frameworks/drizzle.svg
new file mode 100644
index 000000000..474fc30a2
--- /dev/null
+++ b/apps/website/public/img/frameworks/drizzle.svg
@@ -0,0 +1,36 @@
+
diff --git a/apps/website/public/img/frameworks/neon.svg b/apps/website/public/img/frameworks/neon.svg
new file mode 100644
index 000000000..d95656fcf
--- /dev/null
+++ b/apps/website/public/img/frameworks/neon.svg
@@ -0,0 +1,15 @@
+
\ No newline at end of file
diff --git a/apps/website/public/img/frameworks/nextjs.svg b/apps/website/public/img/frameworks/nextjs.svg
new file mode 100644
index 000000000..a7bc1733b
--- /dev/null
+++ b/apps/website/public/img/frameworks/nextjs.svg
@@ -0,0 +1,51 @@
+
diff --git a/apps/website/public/img/frameworks/postgresql.svg b/apps/website/public/img/frameworks/postgresql.svg
new file mode 100644
index 000000000..ecfcb48da
--- /dev/null
+++ b/apps/website/public/img/frameworks/postgresql.svg
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/apps/website/public/img/frameworks/react-email.png b/apps/website/public/img/frameworks/react-email.png
new file mode 100644
index 000000000..10dc08b06
Binary files /dev/null and b/apps/website/public/img/frameworks/react-email.png differ
diff --git a/apps/website/public/frameworks/react.svg b/apps/website/public/img/frameworks/react.svg
similarity index 100%
rename from apps/website/public/frameworks/react.svg
rename to apps/website/public/img/frameworks/react.svg
diff --git a/apps/website/public/frameworks/redwood.svg b/apps/website/public/img/frameworks/redwood.svg
similarity index 100%
rename from apps/website/public/frameworks/redwood.svg
rename to apps/website/public/img/frameworks/redwood.svg
diff --git a/apps/website/public/img/frameworks/resend.svg b/apps/website/public/img/frameworks/resend.svg
new file mode 100644
index 000000000..f330dd7ec
--- /dev/null
+++ b/apps/website/public/img/frameworks/resend.svg
@@ -0,0 +1,16 @@
+
diff --git a/apps/website/public/img/frameworks/stripe.svg b/apps/website/public/img/frameworks/stripe.svg
new file mode 100644
index 000000000..7c19b087f
--- /dev/null
+++ b/apps/website/public/img/frameworks/stripe.svg
@@ -0,0 +1,8 @@
+
diff --git a/apps/website/public/img/frameworks/supabase.svg b/apps/website/public/img/frameworks/supabase.svg
new file mode 100644
index 000000000..6c7f9c6bc
--- /dev/null
+++ b/apps/website/public/img/frameworks/supabase.svg
@@ -0,0 +1,15 @@
+
\ No newline at end of file
diff --git a/apps/website/public/img/frameworks/tanstack.png b/apps/website/public/img/frameworks/tanstack.png
new file mode 100644
index 000000000..ec5d62142
Binary files /dev/null and b/apps/website/public/img/frameworks/tanstack.png differ
diff --git a/apps/website/public/img/frameworks/trpc.svg b/apps/website/public/img/frameworks/trpc.svg
new file mode 100644
index 000000000..ab103d77c
--- /dev/null
+++ b/apps/website/public/img/frameworks/trpc.svg
@@ -0,0 +1,4 @@
+
diff --git a/apps/website/public/img/frameworks/turbopack.svg b/apps/website/public/img/frameworks/turbopack.svg
new file mode 100644
index 000000000..073100090
--- /dev/null
+++ b/apps/website/public/img/frameworks/turbopack.svg
@@ -0,0 +1,46 @@
+
diff --git a/apps/website/public/img/frameworks/turborepo.svg b/apps/website/public/img/frameworks/turborepo.svg
new file mode 100644
index 000000000..30a67e974
--- /dev/null
+++ b/apps/website/public/img/frameworks/turborepo.svg
@@ -0,0 +1,44 @@
+
diff --git a/apps/website/public/frameworks/ts-logo-512.svg b/apps/website/public/img/frameworks/typescript.svg
similarity index 100%
rename from apps/website/public/frameworks/ts-logo-512.svg
rename to apps/website/public/img/frameworks/typescript.svg
diff --git a/apps/website/src/components/layout/navigation-menu.tsx b/apps/website/src/components/layout/navigation-menu.tsx
index 37d50adc1..8d621860c 100644
--- a/apps/website/src/components/layout/navigation-menu.tsx
+++ b/apps/website/src/components/layout/navigation-menu.tsx
@@ -1,6 +1,7 @@
import React from 'react'
import * as NavigationMenu from '@radix-ui/react-navigation-menu'
import {
+ Badge,
Box,
Button,
chakra,
@@ -130,7 +131,23 @@ export const Navigation = () => {
+ Next.js starter kit
+
+ Updated
+
+ >
+ }
icon={
@@ -623,7 +640,10 @@ const List = chakra('ul', {
const ListItem = React.forwardRef<
HTMLAnchorElement,
- HTMLChakraProps<'a'> & { icon?: React.ReactNode }
+ Omit, 'title'> & {
+ icon?: React.ReactNode
+ title: React.ReactNode
+ }
>(function ListItem(
{ children, title, icon, gridRow, gridColumn, gridArea, ...props },
forwardedRef
diff --git a/apps/website/src/components/testimonials/testimonials.tsx b/apps/website/src/components/testimonials/testimonials.tsx
index dc970da8a..16486e33a 100644
--- a/apps/website/src/components/testimonials/testimonials.tsx
+++ b/apps/website/src/components/testimonials/testimonials.tsx
@@ -49,7 +49,7 @@ export const Testimonials = () => {
@@ -95,7 +95,7 @@ export const Testimonials = () => {
diff --git a/apps/website/src/components/used-by/index.tsx b/apps/website/src/components/used-by/index.tsx
index e22a73ae2..aa867d819 100644
--- a/apps/website/src/components/used-by/index.tsx
+++ b/apps/website/src/components/used-by/index.tsx
@@ -12,7 +12,7 @@ export const UsedBy = (props?: Omit) => {
return (
- Used by indie founders and startups worldwide
+ Used by indie founders and established startups
{
+const NextjsStarterKit = () => {
const [animateGlow, setAnimate] = React.useState(false)
return (
@@ -142,32 +129,7 @@ const Home = () => {
View Pricing
-
- }
- >
- Read documentation
-
+
@@ -230,24 +192,26 @@ const Home = () => {
-
+
-
-
- Get started today
+
+
+ Start shipping today
-
- Join more than 400 other developers and founders building succesful
- SaaS products.
+
+ Trusted by 400+ developers and founders world wide.
-
- Buy Pro
-
+
+
+ Buy Pro
+
+
+
@@ -256,6 +220,423 @@ const Home = () => {
)
}
+function DocumentationLink(props: Pick) {
+ return (
+
+ }
+ {...props}
+ >
+ Documentation
+
+ )
+}
+
+const FeatureCard = ({
+ title,
+ children,
+ description,
+ gridColumn,
+ bg = 'gray.50',
+ ...rest
+}: StackProps & { description: React.ReactNode }) => {
+ return (
+
+
+
+
+
+ {title}
+
+
+
+ {description}
+
+
+
+ {children}
+
+
+
+ )
+}
+
+function StarterKitFeatures() {
+ return (
+
+
+
+ Saas UI solves all the boring stuff for you. It ships with a ton
+ useful UI components, patterns and templates
to help you build
+ better products, faster.
+
+
+
+
+ Buy now
+
+
+ }
+ >
+ Documentation
+
+
+
+
+
+
+
+ Utilise all latest Next.js features.
+
+
+ RSC, SSR, Streaming without getting fully locked in thanks to
+ tRPC and React Query.
+
+ >
+ }
+ gridColumn="span 3"
+ >
+
+
+
+
+
+
+
+
+ Fast, type-safe development environment.
+
+
+ Turbopack, Turborepo, TypeScript and sensible configs for
+ Prettier and ESLint.
+
+ >
+ }
+ gridColumn="span 3"
+ >
+
+
+
+
+
+
+
+
+ Built on the world's most proven database.
+
+
+ PostgreSQL managed by Drizzle ORM. Run it locally, use Supabase,
+ or on the edge with Neon.
+
+ >
+ }
+ gridColumn="span 3"
+ >
+
+
+
+
+
+
+
+
+
+ Get paid reliably.
+
+
+ Stripe integration, pricing tables, tiered pricing, metered
+ usage, grandfathering and entitlements.
+
+ >
+ }
+ gridColumn="span 3"
+ >
+
+
+
+
+
+
+ Own your user data or choose a hosted solution.
+
+
+ Easily switch providers, support magic links, passwords, OAuth
+ and role-based authorization.
+
+ >
+ }
+ gridColumn="span 3"
+ >
+
+
+
+
+
+
+
+ Beautiful, easily customisable emails.
+
+
+ Build with React Email, send with Resend or pick your own
+ favourite SMTP provider.
+
+ >
+ }
+ gridColumn="span 3"
+ >
+
+
+
+
+
+
+
+
+ Support multiple workspaces. Invite members and manage roles.
+
+ >
+ }
+ gridColumn="span 2"
+ />
+
+
+ Expertly crafted dashboard UI built with the Saas UI design
+ system.
+
+ >
+ }
+ gridColumn="span 2"
+ />
+
+
+ Built-in settings pages for users and teams.
+
+ >
+ }
+ gridColumn="span 2"
+ />
+
+
+ Built-in onboarding pages to guide users through the product.
+
+ >
+ }
+ gridColumn="span 2"
+ />
+
+
+ Incrementally roll out new features and add easily add paywalls.
+
+ >
+ }
+ gridColumn="span 2"
+ />
+
+
+ Growing collection of components and patterns to help you build
+ better products.
+
+ >
+ }
+ gridColumn="span 2"
+ />
+
+
+ )
+}
+
const Screenshots = () => {
return (
{
>
{
alt="Image showing the Saas UI dashboard"
src="/screenshots/dashboard.png"
quality="75"
- // layout="fixed"
width={1528}
height={1060}
/>
@@ -307,7 +691,6 @@ const Screenshots = () => {
alt="Image showing the Saas UI billing settings"
src="/screenshots/billing.png"
quality="75"
- // layout="fixed"
width={1607}
height={1021}
/>
@@ -331,7 +714,6 @@ const Founder = () => {
fontWeight="semibold"
fontSize={['2xl', null, '4xl']}
lineHeight="lg"
- color={useColorModeValue('black', 'white')}
width={{ base: 'full', lg: '50%' }}
mb="8"
>
@@ -341,6 +723,7 @@ const Founder = () => {
{
)
}
-const ProFeatures = () => {
- return (
-
-
- Pro license
-
-
- Not your standard
-
dashboard template.
-
-
- }
- description={
-
-
- Saas UI Pro includes everything you need to build frontends that
- scale.
-
- Use it as a template for your next product or foundation for your
- design system.
-
-
-
- Buy Pro
-
-
- }
- >
- Explore Demo
-
-
-
- }
- align="left"
- variant="alternate"
- columns={[1, 2, 3]}
- iconSize={4}
- features={[
- {
- title: 'Components.',
- icon: FiBox,
- description:
- 'All premium components are available on a private NPM registery, no more copy pasting and always up-to-date.',
- variant: 'inline',
- },
- {
- title: 'Starterkits.',
- icon: FiLock,
- description:
- 'Example apps in Next.JS, Electron. Including authentication, billing, example pages, everything you need to get started FAST.',
- variant: 'inline',
- },
- {
- title: 'Documentation.',
- icon: FiSearch,
- description:
- 'Extensively documented, including storybooks, best practices, use-cases and examples.',
- variant: 'inline',
- },
- {
- title: 'Onboarding.',
- icon: FiUserPlus,
- description:
- 'Add user onboarding flows, like tours, hints and inline documentation without breaking a sweat.',
- variant: 'inline',
- },
- {
- title: 'Feature flags.',
- icon: FiFlag,
- description:
- "Implement feature toggles for your billing plans with easy to use hooks. Connect Flagsmith, or other remote config services once you're ready.",
- variant: 'inline',
- },
- {
- title: 'Upselling.',
- icon: FiTrendingUp,
- description:
- 'Components and hooks for upgrade flows designed to make upgrading inside your app frictionless.',
- variant: 'inline',
- },
- {
- title: 'Themes.',
- icon: FiToggleLeft,
- description:
- 'Includes multiple themes with darkmode support, always have the perfect starting point for your next project.',
- variant: 'inline',
- },
- {
- title: 'Generators.',
- icon: FiTerminal,
- description:
- 'Extend your design system while maintaininig code quality and consistency with build-in generators.',
- variant: 'inline',
- },
- {
- title: 'Monorepo.',
- icon: FiCode,
- description: (
- <>
- All code is available as packages in a high-performance{' '}
- Turborepo, you have full
- control to modify and adjust it to your workflow.
- >
- ),
- variant: 'inline',
- },
- ]}
- />
- )
-}
-
-export default Home
+export default NextjsStarterKit
export async function getStaticProps() {
return {