From a4faa8e58a7f06cb606e66f113eeb523b377c909 Mon Sep 17 00:00:00 2001 From: shadcn Date: Tue, 25 Apr 2023 19:21:08 +0400 Subject: [PATCH] fix: remove everything --- app/(auth)/layout.tsx | 7 - app/(auth)/login/page.tsx | 51 ---- app/(auth)/register/page.tsx | 59 ----- app/(dashboard)/dashboard/billing/loading.tsx | 17 -- app/(dashboard)/dashboard/billing/page.tsx | 76 ------ app/(dashboard)/dashboard/layout.tsx | 48 ---- app/(dashboard)/dashboard/loading.tsx | 21 -- app/(dashboard)/dashboard/page.tsx | 63 ----- .../dashboard/settings/loading.tsx | 18 -- app/(dashboard)/dashboard/settings/page.tsx | 34 --- app/(docs)/docs/[[...slug]]/page.tsx | 106 --------- app/(docs)/docs/layout.tsx | 17 -- app/(docs)/guides/[...slug]/page.tsx | 116 --------- app/(docs)/guides/layout.tsx | 7 - app/(docs)/guides/page.tsx | 65 ----- app/(docs)/layout.tsx | 44 ---- app/(editor)/editor/[postId]/loading.tsx | 18 -- app/(editor)/editor/[postId]/not-found.tsx | 19 -- app/(editor)/editor/[postId]/page.tsx | 45 ---- app/(editor)/editor/layout.tsx | 11 - app/(marketing)/[...slug]/page.tsx | 98 -------- app/(marketing)/blog/[...slug]/page.tsx | 168 ------------- app/(marketing)/blog/page.tsx | 69 ------ app/(marketing)/layout.tsx | 38 --- app/(marketing)/page.tsx | 225 ------------------ app/(marketing)/pricing/page.tsx | 69 ------ app/api/og/route.tsx | 148 ------------ app/api/posts/[postId]/route.ts | 93 -------- app/api/posts/route.ts | 92 ------- app/api/users/[userId]/route.ts | 50 ---- app/api/users/stripe/route.ts | 61 ----- app/api/webhooks/stripe/route.ts | 70 ------ app/layout.tsx | 94 -------- app/opengraph-image.jpg | Bin 114800 -> 0 bytes app/robots.ts | 10 - 35 files changed, 2127 deletions(-) delete mode 100644 app/(auth)/layout.tsx delete mode 100644 app/(auth)/login/page.tsx delete mode 100644 app/(auth)/register/page.tsx delete mode 100644 app/(dashboard)/dashboard/billing/loading.tsx delete mode 100644 app/(dashboard)/dashboard/billing/page.tsx delete mode 100644 app/(dashboard)/dashboard/layout.tsx delete mode 100644 app/(dashboard)/dashboard/loading.tsx delete mode 100644 app/(dashboard)/dashboard/page.tsx delete mode 100644 app/(dashboard)/dashboard/settings/loading.tsx delete mode 100644 app/(dashboard)/dashboard/settings/page.tsx delete mode 100644 app/(docs)/docs/[[...slug]]/page.tsx delete mode 100644 app/(docs)/docs/layout.tsx delete mode 100644 app/(docs)/guides/[...slug]/page.tsx delete mode 100644 app/(docs)/guides/layout.tsx delete mode 100644 app/(docs)/guides/page.tsx delete mode 100644 app/(docs)/layout.tsx delete mode 100644 app/(editor)/editor/[postId]/loading.tsx delete mode 100644 app/(editor)/editor/[postId]/not-found.tsx delete mode 100644 app/(editor)/editor/[postId]/page.tsx delete mode 100644 app/(editor)/editor/layout.tsx delete mode 100644 app/(marketing)/[...slug]/page.tsx delete mode 100644 app/(marketing)/blog/[...slug]/page.tsx delete mode 100644 app/(marketing)/blog/page.tsx delete mode 100644 app/(marketing)/layout.tsx delete mode 100644 app/(marketing)/page.tsx delete mode 100644 app/(marketing)/pricing/page.tsx delete mode 100644 app/api/og/route.tsx delete mode 100644 app/api/posts/[postId]/route.ts delete mode 100644 app/api/posts/route.ts delete mode 100644 app/api/users/[userId]/route.ts delete mode 100644 app/api/users/stripe/route.ts delete mode 100644 app/api/webhooks/stripe/route.ts delete mode 100644 app/layout.tsx delete mode 100644 app/opengraph-image.jpg delete mode 100644 app/robots.ts diff --git a/app/(auth)/layout.tsx b/app/(auth)/layout.tsx deleted file mode 100644 index 2172f70..0000000 --- a/app/(auth)/layout.tsx +++ /dev/null @@ -1,7 +0,0 @@ -interface AuthLayoutProps { - children: React.ReactNode -} - -export default function AuthLayout({ children }: AuthLayoutProps) { - return
{children}
-} diff --git a/app/(auth)/login/page.tsx b/app/(auth)/login/page.tsx deleted file mode 100644 index 501384c..0000000 --- a/app/(auth)/login/page.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { Metadata } from "next" -import Link from "next/link" - -import { cn } from "@/lib/utils" -import { buttonVariants } from "@/components/ui/button" -import { Icons } from "@/components/icons" -import { UserAuthForm } from "@/components/user-auth-form" - -export const metadata: Metadata = { - title: "Login", - description: "Login to your account", -} - -export default function LoginPage() { - return ( -
- - <> - - Back - - -
-
- -

- Welcome back -

-

- Enter your email to sign in to your account -

-
- -

- - Don't have an account? Sign Up - -

-
-
- ) -} diff --git a/app/(auth)/register/page.tsx b/app/(auth)/register/page.tsx deleted file mode 100644 index 1b61ff0..0000000 --- a/app/(auth)/register/page.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import Link from "next/link" - -import { cn } from "@/lib/utils" -import { buttonVariants } from "@/components/ui/button" -import { Icons } from "@/components/icons" -import { UserAuthForm } from "@/components/user-auth-form" - -export const metadata = { - title: "Create an account", - description: "Create an account to get started.", -} - -export default function RegisterPage() { - return ( -
- - Login - -
-
-
-
- -

- Create an account -

-

- Enter your email below to create your account -

-
- -

- By clicking continue, you agree to our{" "} - - Terms of Service - {" "} - and{" "} - - Privacy Policy - - . -

-
-
-
- ) -} diff --git a/app/(dashboard)/dashboard/billing/loading.tsx b/app/(dashboard)/dashboard/billing/loading.tsx deleted file mode 100644 index 5593522..0000000 --- a/app/(dashboard)/dashboard/billing/loading.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { CardSkeleton } from "@/components/card-skeleton" -import { DashboardHeader } from "@/components/header" -import { DashboardShell } from "@/components/shell" - -export default function DashboardBillingLoading() { - return ( - - -
- -
-
- ) -} diff --git a/app/(dashboard)/dashboard/billing/page.tsx b/app/(dashboard)/dashboard/billing/page.tsx deleted file mode 100644 index 0a601e5..0000000 --- a/app/(dashboard)/dashboard/billing/page.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import { redirect } from "next/navigation" - -import { authOptions } from "@/lib/auth" -import { getCurrentUser } from "@/lib/session" -import { stripe } from "@/lib/stripe" -import { getUserSubscriptionPlan } from "@/lib/subscription" -import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert" -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/components/ui/card" -import { BillingForm } from "@/components/billing-form" -import { DashboardHeader } from "@/components/header" -import { Icons } from "@/components/icons" -import { DashboardShell } from "@/components/shell" - -export const metadata = { - title: "Billing", - description: "Manage billing and your subscription plan.", -} - -export default async function BillingPage() { - const user = await getCurrentUser() - - if (!user) { - redirect(authOptions?.pages?.signIn || "/login") - } - - const subscriptionPlan = await getUserSubscriptionPlan(user.id) - - // If user has a pro plan, check cancel status on Stripe. - let isCanceled = false - if (subscriptionPlan.isPro && subscriptionPlan.stripeSubscriptionId) { - const stripePlan = await stripe.subscriptions.retrieve( - subscriptionPlan.stripeSubscriptionId - ) - isCanceled = stripePlan.cancel_at_period_end - } - - return ( - - -
- - - This is a demo app. - - Taxonomy app is a demo app using a Stripe test environment. You can - find a list of test card numbers on the{" "} - - Stripe docs - - . - - - -
-
- ) -} diff --git a/app/(dashboard)/dashboard/layout.tsx b/app/(dashboard)/dashboard/layout.tsx deleted file mode 100644 index 71a90d6..0000000 --- a/app/(dashboard)/dashboard/layout.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { notFound } from "next/navigation" - -import { dashboardConfig } from "@/config/dashboard" -import { getCurrentUser } from "@/lib/session" -import { MainNav } from "@/components/main-nav" -import { DashboardNav } from "@/components/nav" -import { SiteFooter } from "@/components/site-footer" -import { UserAccountNav } from "@/components/user-account-nav" - -interface DashboardLayoutProps { - children?: React.ReactNode -} - -export default async function DashboardLayout({ - children, -}: DashboardLayoutProps) { - const user = await getCurrentUser() - - if (!user) { - return notFound() - } - - return ( -
-
-
- - -
-
-
- -
- {children} -
-
- -
- ) -} diff --git a/app/(dashboard)/dashboard/loading.tsx b/app/(dashboard)/dashboard/loading.tsx deleted file mode 100644 index 72bd402..0000000 --- a/app/(dashboard)/dashboard/loading.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { DashboardHeader } from "@/components/header" -import { PostCreateButton } from "@/components/post-create-button" -import { PostItem } from "@/components/post-item" -import { DashboardShell } from "@/components/shell" - -export default function DashboardLoading() { - return ( - - - - -
- - - - - -
-
- ) -} diff --git a/app/(dashboard)/dashboard/page.tsx b/app/(dashboard)/dashboard/page.tsx deleted file mode 100644 index 5f4fc6e..0000000 --- a/app/(dashboard)/dashboard/page.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import { redirect } from "next/navigation" - -import { authOptions } from "@/lib/auth" -import { db } from "@/lib/db" -import { getCurrentUser } from "@/lib/session" -import { EmptyPlaceholder } from "@/components/empty-placeholder" -import { DashboardHeader } from "@/components/header" -import { PostCreateButton } from "@/components/post-create-button" -import { PostItem } from "@/components/post-item" -import { DashboardShell } from "@/components/shell" - -export const metadata = { - title: "Dashboard", -} - -export default async function DashboardPage() { - const user = await getCurrentUser() - - if (!user) { - redirect(authOptions?.pages?.signIn || "/login") - } - - const posts = await db.post.findMany({ - where: { - authorId: user.id, - }, - select: { - id: true, - title: true, - published: true, - createdAt: true, - }, - orderBy: { - updatedAt: "desc", - }, - }) - - return ( - - - - -
- {posts?.length ? ( -
- {posts.map((post) => ( - - ))} -
- ) : ( - - - No posts created - - You don't have any posts yet. Start creating content. - - - - )} -
-
- ) -} diff --git a/app/(dashboard)/dashboard/settings/loading.tsx b/app/(dashboard)/dashboard/settings/loading.tsx deleted file mode 100644 index 8f9eacb..0000000 --- a/app/(dashboard)/dashboard/settings/loading.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { Card } from "@/components/ui/card" -import { CardSkeleton } from "@/components/card-skeleton" -import { DashboardHeader } from "@/components/header" -import { DashboardShell } from "@/components/shell" - -export default function DashboardSettingsLoading() { - return ( - - -
- -
-
- ) -} diff --git a/app/(dashboard)/dashboard/settings/page.tsx b/app/(dashboard)/dashboard/settings/page.tsx deleted file mode 100644 index 6e8545d..0000000 --- a/app/(dashboard)/dashboard/settings/page.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { redirect } from "next/navigation" - -import { authOptions } from "@/lib/auth" -import { getCurrentUser } from "@/lib/session" -import { DashboardHeader } from "@/components/header" -import { DashboardShell } from "@/components/shell" -import { UserNameForm } from "@/components/user-name-form" - -export const metadata = { - title: "Settings", - description: "Manage account and website settings.", -} - -export default async function SettingsPage() { - const user = await getCurrentUser() - - if (!user) { - redirect(authOptions?.pages?.signIn || "/login") - } - - return ( - - -
- {user?.name ? ( - - ) : null} -
-
- ) -} diff --git a/app/(docs)/docs/[[...slug]]/page.tsx b/app/(docs)/docs/[[...slug]]/page.tsx deleted file mode 100644 index 051d113..0000000 --- a/app/(docs)/docs/[[...slug]]/page.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import { notFound } from "next/navigation" -import { allDocs } from "contentlayer/generated" - -import { getTableOfContents } from "@/lib/toc" -import { Mdx } from "@/components/mdx-components" -import { DocsPageHeader } from "@/components/page-header" -import { DocsPager } from "@/components/pager" -import { DashboardTableOfContents } from "@/components/toc" - -import "@/styles/mdx.css" -import { Metadata } from "next" - -import { absoluteUrl } from "@/lib/utils" - -interface DocPageProps { - params: { - slug: string[] - } -} - -async function getDocFromParams(params) { - const slug = params.slug?.join("/") || "" - const doc = allDocs.find((doc) => doc.slugAsParams === slug) - - if (!doc) { - null - } - - return doc -} - -export async function generateMetadata({ - params, -}: DocPageProps): Promise { - const doc = await getDocFromParams(params) - - if (!doc) { - return {} - } - - const url = process.env.NEXT_PUBLIC_APP_URL - - const ogUrl = new URL(`${url}/api/og`) - ogUrl.searchParams.set("heading", doc.description ?? doc.title) - ogUrl.searchParams.set("type", "Documentation") - ogUrl.searchParams.set("mode", "dark") - - return { - title: doc.title, - description: doc.description, - openGraph: { - title: doc.title, - description: doc.description, - type: "article", - url: absoluteUrl(doc.slug), - images: [ - { - url: ogUrl.toString(), - width: 1200, - height: 630, - alt: doc.title, - }, - ], - }, - twitter: { - card: "summary_large_image", - title: doc.title, - description: doc.description, - images: [ogUrl.toString()], - }, - } -} - -export async function generateStaticParams(): Promise< - DocPageProps["params"][] -> { - return allDocs.map((doc) => ({ - slug: doc.slugAsParams.split("/"), - })) -} - -export default async function DocPage({ params }: DocPageProps) { - const doc = await getDocFromParams(params) - - if (!doc) { - notFound() - } - - const toc = await getTableOfContents(doc.body.raw) - - return ( -
-
- - -
- -
-
-
- -
-
-
- ) -} diff --git a/app/(docs)/docs/layout.tsx b/app/(docs)/docs/layout.tsx deleted file mode 100644 index 38d92a5..0000000 --- a/app/(docs)/docs/layout.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { docsConfig } from "@/config/docs" -import { DocsSidebarNav } from "@/components/sidebar-nav" - -interface DocsLayoutProps { - children: React.ReactNode -} - -export default function DocsLayout({ children }: DocsLayoutProps) { - return ( -
- - {children} -
- ) -} diff --git a/app/(docs)/guides/[...slug]/page.tsx b/app/(docs)/guides/[...slug]/page.tsx deleted file mode 100644 index 11c49e1..0000000 --- a/app/(docs)/guides/[...slug]/page.tsx +++ /dev/null @@ -1,116 +0,0 @@ -import Link from "next/link" -import { notFound } from "next/navigation" -import { allGuides } from "contentlayer/generated" - -import { getTableOfContents } from "@/lib/toc" -import { Icons } from "@/components/icons" -import { Mdx } from "@/components/mdx-components" -import { DocsPageHeader } from "@/components/page-header" -import { DashboardTableOfContents } from "@/components/toc" - -import "@/styles/mdx.css" -import { Metadata } from "next" - -import { absoluteUrl, cn } from "@/lib/utils" -import { buttonVariants } from "@/components/ui/button" - -interface GuidePageProps { - params: { - slug: string[] - } -} - -async function getGuideFromParams(params) { - const slug = params?.slug?.join("/") - const guide = allGuides.find((guide) => guide.slugAsParams === slug) - - if (!guide) { - null - } - - return guide -} - -export async function generateMetadata({ - params, -}: GuidePageProps): Promise { - const guide = await getGuideFromParams(params) - - if (!guide) { - return {} - } - - const url = process.env.NEXT_PUBLIC_APP_URL - - const ogUrl = new URL(`${url}/api/og`) - ogUrl.searchParams.set("heading", guide.title) - ogUrl.searchParams.set("type", "Guide") - ogUrl.searchParams.set("mode", "dark") - - return { - title: guide.title, - description: guide.description, - openGraph: { - title: guide.title, - description: guide.description, - type: "article", - url: absoluteUrl(guide.slug), - images: [ - { - url: ogUrl.toString(), - width: 1200, - height: 630, - alt: guide.title, - }, - ], - }, - twitter: { - card: "summary_large_image", - title: guide.title, - description: guide.description, - images: [ogUrl.toString()], - }, - } -} - -export async function generateStaticParams(): Promise< - GuidePageProps["params"][] -> { - return allGuides.map((guide) => ({ - slug: guide.slugAsParams.split("/"), - })) -} - -export default async function GuidePage({ params }: GuidePageProps) { - const guide = await getGuideFromParams(params) - - if (!guide) { - notFound() - } - - const toc = await getTableOfContents(guide.body.raw) - - return ( -
-
- - -
-
- - - See all guides - -
-
-
-
- -
-
-
- ) -} diff --git a/app/(docs)/guides/layout.tsx b/app/(docs)/guides/layout.tsx deleted file mode 100644 index d708c74..0000000 --- a/app/(docs)/guides/layout.tsx +++ /dev/null @@ -1,7 +0,0 @@ -interface GuidesLayoutProps { - children: React.ReactNode -} - -export default function GuidesLayout({ children }: GuidesLayoutProps) { - return
{children}
-} diff --git a/app/(docs)/guides/page.tsx b/app/(docs)/guides/page.tsx deleted file mode 100644 index 9d0ebd0..0000000 --- a/app/(docs)/guides/page.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import Link from "next/link" -import { allGuides } from "contentlayer/generated" -import { compareDesc } from "date-fns" - -import { formatDate } from "@/lib/utils" -import { DocsPageHeader } from "@/components/page-header" - -export const metadata = { - title: "Guides", - description: - "This section includes end-to-end guides for developing Next.js 13 apps.", -} - -export default function GuidesPage() { - const guides = allGuides - .filter((guide) => guide.published) - .sort((a, b) => { - return compareDesc(new Date(a.date), new Date(b.date)) - }) - - return ( -
- - {guides?.length ? ( -
- {guides.map((guide) => ( -
- {guide.featured && ( - - Featured - - )} -
-
-

- {guide.title} -

- {guide.description && ( -

{guide.description}

- )} -
- {guide.date && ( -

- {formatDate(guide.date)} -

- )} -
- - View - -
- ))} -
- ) : ( -

No guides published.

- )} -
- ) -} diff --git a/app/(docs)/layout.tsx b/app/(docs)/layout.tsx deleted file mode 100644 index 8c76140..0000000 --- a/app/(docs)/layout.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import Link from "next/link" - -import { docsConfig } from "@/config/docs" -import { siteConfig } from "@/config/site" -import { Icons } from "@/components/icons" -import { MainNav } from "@/components/main-nav" -import { DocsSearch } from "@/components/search" -import { DocsSidebarNav } from "@/components/sidebar-nav" -import { SiteFooter } from "@/components/site-footer" - -interface DocsLayoutProps { - children: React.ReactNode -} - -export default function DocsLayout({ children }: DocsLayoutProps) { - return ( -
-
-
- - - -
-
- -
- -
-
-
-
{children}
- -
- ) -} diff --git a/app/(editor)/editor/[postId]/loading.tsx b/app/(editor)/editor/[postId]/loading.tsx deleted file mode 100644 index e4f6e95..0000000 --- a/app/(editor)/editor/[postId]/loading.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { Skeleton } from "@/components/ui/skeleton" - -export default function Loading() { - return ( -
-
- - -
-
- - - - -
-
- ) -} diff --git a/app/(editor)/editor/[postId]/not-found.tsx b/app/(editor)/editor/[postId]/not-found.tsx deleted file mode 100644 index 37d479e..0000000 --- a/app/(editor)/editor/[postId]/not-found.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import Link from "next/link" - -import { buttonVariants } from "@/components/ui/button" -import { EmptyPlaceholder } from "@/components/empty-placeholder" - -export default function NotFound() { - return ( - - - Uh oh! Not Found - - This post cound not be found. Please try again. - - - Go to Dashboard - - - ) -} diff --git a/app/(editor)/editor/[postId]/page.tsx b/app/(editor)/editor/[postId]/page.tsx deleted file mode 100644 index 784adda..0000000 --- a/app/(editor)/editor/[postId]/page.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { notFound, redirect } from "next/navigation" -import { Post, User } from "@prisma/client" - -import { authOptions } from "@/lib/auth" -import { db } from "@/lib/db" -import { getCurrentUser } from "@/lib/session" -import { Editor } from "@/components/editor" - -async function getPostForUser(postId: Post["id"], userId: User["id"]) { - return await db.post.findFirst({ - where: { - id: postId, - authorId: userId, - }, - }) -} - -interface EditorPageProps { - params: { postId: string } -} - -export default async function EditorPage({ params }: EditorPageProps) { - const user = await getCurrentUser() - - if (!user) { - redirect(authOptions?.pages?.signIn || "/login") - } - - const post = await getPostForUser(params.postId, user.id) - - if (!post) { - notFound() - } - - return ( - - ) -} diff --git a/app/(editor)/editor/layout.tsx b/app/(editor)/editor/layout.tsx deleted file mode 100644 index a9a1ce9..0000000 --- a/app/(editor)/editor/layout.tsx +++ /dev/null @@ -1,11 +0,0 @@ -interface EditorProps { - children?: React.ReactNode -} - -export default function EditorLayout({ children }: EditorProps) { - return ( -
- {children} -
- ) -} diff --git a/app/(marketing)/[...slug]/page.tsx b/app/(marketing)/[...slug]/page.tsx deleted file mode 100644 index 6219cc1..0000000 --- a/app/(marketing)/[...slug]/page.tsx +++ /dev/null @@ -1,98 +0,0 @@ -import { notFound } from "next/navigation" -import { allPages } from "contentlayer/generated" - -import { Mdx } from "@/components/mdx-components" - -import "@/styles/mdx.css" -import { Metadata } from "next" - -import { siteConfig } from "@/config/site" -import { absoluteUrl } from "@/lib/utils" - -interface PageProps { - params: { - slug: string[] - } -} - -async function getPageFromParams(params) { - const slug = params?.slug?.join("/") - const page = allPages.find((page) => page.slugAsParams === slug) - - if (!page) { - null - } - - return page -} - -export async function generateMetadata({ - params, -}: PageProps): Promise { - const page = await getPageFromParams(params) - - if (!page) { - return {} - } - - const url = process.env.NEXT_PUBLIC_APP_URL - - const ogUrl = new URL(`${url}/api/og`) - ogUrl.searchParams.set("heading", page.title) - ogUrl.searchParams.set("type", siteConfig.name) - ogUrl.searchParams.set("mode", "light") - - return { - title: page.title, - description: page.description, - openGraph: { - title: page.title, - description: page.description, - type: "article", - url: absoluteUrl(page.slug), - images: [ - { - url: ogUrl.toString(), - width: 1200, - height: 630, - alt: page.title, - }, - ], - }, - twitter: { - card: "summary_large_image", - title: page.title, - description: page.description, - images: [ogUrl.toString()], - }, - } -} - -export async function generateStaticParams(): Promise { - return allPages.map((page) => ({ - slug: page.slugAsParams.split("/"), - })) -} - -export default async function PagePage({ params }: PageProps) { - const page = await getPageFromParams(params) - - if (!page) { - notFound() - } - - return ( -
-
-

- {page.title} -

- {page.description && ( -

{page.description}

- )} -
-
- -
- ) -} diff --git a/app/(marketing)/blog/[...slug]/page.tsx b/app/(marketing)/blog/[...slug]/page.tsx deleted file mode 100644 index 03fa2ad..0000000 --- a/app/(marketing)/blog/[...slug]/page.tsx +++ /dev/null @@ -1,168 +0,0 @@ -import { notFound } from "next/navigation" -import { allAuthors, allPosts } from "contentlayer/generated" - -import { Mdx } from "@/components/mdx-components" - -import "@/styles/mdx.css" -import { Metadata } from "next" -import Image from "next/image" -import Link from "next/link" - -import { absoluteUrl, cn, formatDate } from "@/lib/utils" -import { buttonVariants } from "@/components/ui/button" -import { Icons } from "@/components/icons" - -interface PostPageProps { - params: { - slug: string[] - } -} - -async function getPostFromParams(params) { - const slug = params?.slug?.join("/") - const post = allPosts.find((post) => post.slugAsParams === slug) - - if (!post) { - null - } - - return post -} - -export async function generateMetadata({ - params, -}: PostPageProps): Promise { - const post = await getPostFromParams(params) - - if (!post) { - return {} - } - - const url = process.env.NEXT_PUBLIC_APP_URL - - const ogUrl = new URL(`${url}/api/og`) - ogUrl.searchParams.set("heading", post.title) - ogUrl.searchParams.set("type", "Blog Post") - ogUrl.searchParams.set("mode", "dark") - - return { - title: post.title, - description: post.description, - authors: post.authors.map((author) => ({ - name: author, - })), - openGraph: { - title: post.title, - description: post.description, - type: "article", - url: absoluteUrl(post.slug), - images: [ - { - url: ogUrl.toString(), - width: 1200, - height: 630, - alt: post.title, - }, - ], - }, - twitter: { - card: "summary_large_image", - title: post.title, - description: post.description, - images: [ogUrl.toString()], - }, - } -} - -export async function generateStaticParams(): Promise< - PostPageProps["params"][] -> { - return allPosts.map((post) => ({ - slug: post.slugAsParams.split("/"), - })) -} - -export default async function PostPage({ params }: PostPageProps) { - const post = await getPostFromParams(params) - - if (!post) { - notFound() - } - - const authors = post.authors.map((author) => - allAuthors.find(({ slug }) => slug === `/authors/${author}`) - ) - - return ( -
- - - See all posts - -
- {post.date && ( - - )} -

- {post.title} -

- {authors?.length ? ( -
- {authors.map((author) => - author ? ( - - {author.title} -
-

{author.title}

-

- @{author.twitter} -

-
- - ) : null - )} -
- ) : null} -
- {post.image && ( - {post.title} - )} - -
-
- - - See all posts - -
-
- ) -} diff --git a/app/(marketing)/blog/page.tsx b/app/(marketing)/blog/page.tsx deleted file mode 100644 index 8dc2df1..0000000 --- a/app/(marketing)/blog/page.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import Image from "next/image" -import Link from "next/link" -import { allPosts } from "contentlayer/generated" -import { compareDesc } from "date-fns" - -import { formatDate } from "@/lib/utils" - -export const metadata = { - title: "Blog", -} - -export default async function BlogPage() { - const posts = allPosts - .filter((post) => post.published) - .sort((a, b) => { - return compareDesc(new Date(a.date), new Date(b.date)) - }) - - return ( -
-
-
-

- Blog -

-

- A blog built using Contentlayer. Posts are written in MDX. -

-
-
-
- {posts?.length ? ( -
- {posts.map((post, index) => ( -
- {post.image && ( - {post.title} - )} -

{post.title}

- {post.description && ( -

{post.description}

- )} - {post.date && ( -

- {formatDate(post.date)} -

- )} - - View Article - -
- ))} -
- ) : ( -

No posts published.

- )} -
- ) -} diff --git a/app/(marketing)/layout.tsx b/app/(marketing)/layout.tsx deleted file mode 100644 index 902099c..0000000 --- a/app/(marketing)/layout.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import Link from "next/link" - -import { marketingConfig } from "@/config/marketing" -import { cn } from "@/lib/utils" -import { buttonVariants } from "@/components/ui/button" -import { MainNav } from "@/components/main-nav" -import { SiteFooter } from "@/components/site-footer" - -interface MarketingLayoutProps { - children: React.ReactNode -} - -export default async function MarketingLayout({ - children, -}: MarketingLayoutProps) { - return ( -
-
-
- - -
-
-
{children}
- -
- ) -} diff --git a/app/(marketing)/page.tsx b/app/(marketing)/page.tsx deleted file mode 100644 index 3467b03..0000000 --- a/app/(marketing)/page.tsx +++ /dev/null @@ -1,225 +0,0 @@ -import Link from "next/link" - -import { siteConfig } from "@/config/site" -import { cn } from "@/lib/utils" -import { buttonVariants } from "@/components/ui/button" - -async function getGitHubStars(): Promise { - try { - const response = await fetch( - "https://api.github.com/repos/shadcn/taxonomy", - { - headers: { - Accept: "application/vnd.github+json", - Authorization: `Bearer ${process.env.GITHUB_ACCESS_TOKEN}`, - }, - next: { - revalidate: 60, - }, - } - ) - - if (!response?.ok) { - return null - } - - const json = await response.json() - - return parseInt(json["stargazers_count"]).toLocaleString() - } catch (error) { - return null - } -} - -export default async function IndexPage() { - const stars = await getGitHubStars() - - return ( - <> -
-
- - Follow along on Twitter - -

- An example app built using Next.js 13 server components. -

-

- I'm building a web app with Next.js 13 and open sourcing - everything. Follow along as we figure this out together. -

-
- - Get Started - - - GitHub - -
-
-
-
-
-

- Features -

-

- This project is an experiment to see how a modern app, with features - like auth, subscriptions, API routes, and static pages would work in - Next.js 13 app dir. -

-
-
-
-
- - - -
-

Next.js 13

-

- App dir, Routing, Layouts, Loading UI and API routes. -

-
-
-
-
-
- - - -
-

React 18

-

- Server and Client Components. Use hook. -

-
-
-
-
-
- - - -
-

Database

-

- ORM using Prisma and deployed on PlanetScale. -

-
-
-
-
-
- - - -
-

Components

-

- UI components built using Radix UI and styled with Tailwind - CSS. -

-
-
-
-
-
- - - -
-

Authentication

-

- Authentication using NextAuth.js and middlewares. -

-
-
-
-
-
- - - -
-

Subscriptions

-

- Free and paid subscriptions using Stripe. -

-
-
-
-
-
-

- Taxonomy also includes a blog and a full-featured documentation site - built using Contentlayer and MDX. -

-
-
-
-
-

- Proudly Open Source -

-

- Taxonomy is open source and powered by open source software.
{" "} - The code is available on{" "} - - GitHub - - .{" "} -

- {stars && ( - -
- - - -
-
-
-
- {stars} stars on GitHub -
-
- - )} -
-
- - ) -} diff --git a/app/(marketing)/pricing/page.tsx b/app/(marketing)/pricing/page.tsx deleted file mode 100644 index 505f14c..0000000 --- a/app/(marketing)/pricing/page.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import Link from "next/link" - -import { cn } from "@/lib/utils" -import { buttonVariants } from "@/components/ui/button" -import { Icons } from "@/components/icons" - -export const metadata = { - title: "Pricing", -} - -export default function PricingPage() { - return ( -
-
-

- Simple, transparent pricing -

-

- Unlock all features including unlimited posts for your blog. -

-
-
-
-

- What's included in the PRO plan -

-
    -
  • - Unlimited Posts -
  • -
  • - Unlimited Users -
  • - -
  • - Custom domain -
  • -
  • - Dashboard Analytics -
  • -
  • - Access to Discord -
  • -
  • - Premium Support -
  • -
-
-
-
-

$19

-

- Billed Monthly -

-
- - Get Started - -
-
-
-

- Taxonomy is a demo app.{" "} - You can test the upgrade and won't be charged. -

-
-
- ) -} diff --git a/app/api/og/route.tsx b/app/api/og/route.tsx deleted file mode 100644 index d674f3c..0000000 --- a/app/api/og/route.tsx +++ /dev/null @@ -1,148 +0,0 @@ -import { ImageResponse } from "@vercel/og" - -import { ogImageSchema } from "@/lib/validations/og" - -export const runtime = "edge" - -const interRegular = fetch( - new URL("../../../assets/fonts/Inter-Regular.ttf", import.meta.url) -).then((res) => res.arrayBuffer()) - -const interBold = fetch( - new URL("../../../assets/fonts/CalSans-SemiBold.ttf", import.meta.url) -).then((res) => res.arrayBuffer()) - -export async function GET(req: Request) { - try { - const fontRegular = await interRegular - const fontBold = await interBold - - const url = new URL(req.url) - const values = ogImageSchema.parse(Object.fromEntries(url.searchParams)) - const heading = - values.heading.length > 140 - ? `${values.heading.substring(0, 140)}...` - : values.heading - - const { mode } = values - const paint = mode === "dark" ? "#fff" : "#000" - - const fontSize = heading.length > 100 ? "70px" : "100px" - - return new ImageResponse( - ( -
- - - - - - - - - - - - - - -
-
- {values.type} -
-
- {heading} -
-
-
-
- tx.shadcn.com -
-
- - - - -
github.com/shadcn/taxonomy
-
-
-
- ), - { - width: 1200, - height: 630, - fonts: [ - { - name: "Inter", - data: fontRegular, - weight: 400, - style: "normal", - }, - { - name: "Cal Sans", - data: fontBold, - weight: 700, - style: "normal", - }, - ], - } - ) - } catch (error) { - return new Response(`Failed to generate image`, { - status: 500, - }) - } -} diff --git a/app/api/posts/[postId]/route.ts b/app/api/posts/[postId]/route.ts deleted file mode 100644 index 0614640..0000000 --- a/app/api/posts/[postId]/route.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { getServerSession } from "next-auth" -import * as z from "zod" - -import { authOptions } from "@/lib/auth" -import { db } from "@/lib/db" -import { postPatchSchema } from "@/lib/validations/post" - -const routeContextSchema = z.object({ - params: z.object({ - postId: z.string(), - }), -}) - -export async function DELETE( - req: Request, - context: z.infer -) { - try { - // Validate the route params. - const { params } = routeContextSchema.parse(context) - - // Check if the user has access to this post. - if (!(await verifyCurrentUserHasAccessToPost(params.postId))) { - return new Response(null, { status: 403 }) - } - - // Delete the post. - await db.post.delete({ - where: { - id: params.postId as string, - }, - }) - - return new Response(null, { status: 204 }) - } catch (error) { - if (error instanceof z.ZodError) { - return new Response(JSON.stringify(error.issues), { status: 422 }) - } - - return new Response(null, { status: 500 }) - } -} - -export async function PATCH( - req: Request, - context: z.infer -) { - try { - // Validate route params. - const { params } = routeContextSchema.parse(context) - - // Check if the user has access to this post. - if (!(await verifyCurrentUserHasAccessToPost(params.postId))) { - return new Response(null, { status: 403 }) - } - - // Get the request body and validate it. - const json = await req.json() - const body = postPatchSchema.parse(json) - - // Update the post. - // TODO: Implement sanitization for content. - await db.post.update({ - where: { - id: params.postId, - }, - data: { - title: body.title, - content: body.content, - }, - }) - - return new Response(null, { status: 200 }) - } catch (error) { - if (error instanceof z.ZodError) { - return new Response(JSON.stringify(error.issues), { status: 422 }) - } - - return new Response(null, { status: 500 }) - } -} - -async function verifyCurrentUserHasAccessToPost(postId: string) { - const session = await getServerSession(authOptions) - const count = await db.post.count({ - where: { - id: postId, - authorId: session?.user.id, - }, - }) - - return count > 0 -} diff --git a/app/api/posts/route.ts b/app/api/posts/route.ts deleted file mode 100644 index 7c4c8bb..0000000 --- a/app/api/posts/route.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { getServerSession } from "next-auth/next" -import * as z from "zod" - -import { authOptions } from "@/lib/auth" -import { db } from "@/lib/db" -import { RequiresProPlanError } from "@/lib/exceptions" -import { getUserSubscriptionPlan } from "@/lib/subscription" - -const postCreateSchema = z.object({ - title: z.string(), - content: z.string().optional(), -}) - -export async function GET() { - try { - const session = await getServerSession(authOptions) - - if (!session) { - return new Response("Unauthorized", { status: 403 }) - } - - const { user } = session - const posts = await db.post.findMany({ - select: { - id: true, - title: true, - published: true, - createdAt: true, - }, - where: { - authorId: user.id, - }, - }) - - return new Response(JSON.stringify(posts)) - } catch (error) { - return new Response(null, { status: 500 }) - } -} - -export async function POST(req: Request) { - try { - const session = await getServerSession(authOptions) - - if (!session) { - return new Response("Unauthorized", { status: 403 }) - } - - const { user } = session - const subscriptionPlan = await getUserSubscriptionPlan(user.id) - - // If user is on a free plan. - // Check if user has reached limit of 3 posts. - if (!subscriptionPlan?.isPro) { - const count = await db.post.count({ - where: { - authorId: user.id, - }, - }) - - if (count >= 3) { - throw new RequiresProPlanError() - } - } - - const json = await req.json() - const body = postCreateSchema.parse(json) - - const post = await db.post.create({ - data: { - title: body.title, - content: body.content, - authorId: session.user.id, - }, - select: { - id: true, - }, - }) - - return new Response(JSON.stringify(post)) - } catch (error) { - if (error instanceof z.ZodError) { - return new Response(JSON.stringify(error.issues), { status: 422 }) - } - - if (error instanceof RequiresProPlanError) { - return new Response("Requires Pro Plan", { status: 402 }) - } - - return new Response(null, { status: 500 }) - } -} diff --git a/app/api/users/[userId]/route.ts b/app/api/users/[userId]/route.ts deleted file mode 100644 index 6b68bad..0000000 --- a/app/api/users/[userId]/route.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { getServerSession } from "next-auth/next" -import { z } from "zod" - -import { authOptions } from "@/lib/auth" -import { db } from "@/lib/db" -import { userNameSchema } from "@/lib/validations/user" - -const routeContextSchema = z.object({ - params: z.object({ - userId: z.string(), - }), -}) - -export async function PATCH( - req: Request, - context: z.infer -) { - try { - // Validate the route context. - const { params } = routeContextSchema.parse(context) - - // Ensure user is authentication and has access to this user. - const session = await getServerSession(authOptions) - if (!session?.user || params.userId !== session?.user.id) { - return new Response(null, { status: 403 }) - } - - // Get the request body and validate it. - const body = await req.json() - const payload = userNameSchema.parse(body) - - // Update the user. - await db.user.update({ - where: { - id: session.user.id, - }, - data: { - name: payload.name, - }, - }) - - return new Response(null, { status: 200 }) - } catch (error) { - if (error instanceof z.ZodError) { - return new Response(JSON.stringify(error.issues), { status: 422 }) - } - - return new Response(null, { status: 500 }) - } -} diff --git a/app/api/users/stripe/route.ts b/app/api/users/stripe/route.ts deleted file mode 100644 index b6f0938..0000000 --- a/app/api/users/stripe/route.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { getServerSession } from "next-auth/next" -import { z } from "zod" - -import { proPlan } from "@/config/subscriptions" -import { authOptions } from "@/lib/auth" -import { stripe } from "@/lib/stripe" -import { getUserSubscriptionPlan } from "@/lib/subscription" -import { absoluteUrl } from "@/lib/utils" - -const billingUrl = absoluteUrl("/dashboard/billing") - -export async function GET(req: Request) { - try { - const session = await getServerSession(authOptions) - - if (!session?.user || !session?.user.email) { - return new Response(null, { status: 403 }) - } - - const subscriptionPlan = await getUserSubscriptionPlan(session.user.id) - - // The user is on the pro plan. - // Create a portal session to manage subscription. - if (subscriptionPlan.isPro && subscriptionPlan.stripeCustomerId) { - const stripeSession = await stripe.billingPortal.sessions.create({ - customer: subscriptionPlan.stripeCustomerId, - return_url: billingUrl, - }) - - return new Response(JSON.stringify({ url: stripeSession.url })) - } - - // The user is on the free plan. - // Create a checkout session to upgrade. - const stripeSession = await stripe.checkout.sessions.create({ - success_url: billingUrl, - cancel_url: billingUrl, - payment_method_types: ["card"], - mode: "subscription", - billing_address_collection: "auto", - customer_email: session.user.email, - line_items: [ - { - price: proPlan.stripePriceId, - quantity: 1, - }, - ], - metadata: { - userId: session.user.id, - }, - }) - - return new Response(JSON.stringify({ url: stripeSession.url })) - } catch (error) { - if (error instanceof z.ZodError) { - return new Response(JSON.stringify(error.issues), { status: 422 }) - } - - return new Response(null, { status: 500 }) - } -} diff --git a/app/api/webhooks/stripe/route.ts b/app/api/webhooks/stripe/route.ts deleted file mode 100644 index 18c00fb..0000000 --- a/app/api/webhooks/stripe/route.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { headers } from "next/headers" -import Stripe from "stripe" - -import { db } from "@/lib/db" -import { stripe } from "@/lib/stripe" - -export async function POST(req: Request) { - const body = await req.text() - const signature = headers().get("Stripe-Signature") as string - - let event: Stripe.Event - - try { - event = stripe.webhooks.constructEvent( - body, - signature, - process.env.STRIPE_WEBHOOK_SECRET || "" - ) - } catch (error) { - return new Response(`Webhook Error: ${error.message}`, { status: 400 }) - } - - const session = event.data.object as Stripe.Checkout.Session - - if (event.type === "checkout.session.completed") { - // Retrieve the subscription details from Stripe. - const subscription = await stripe.subscriptions.retrieve( - session.subscription as string - ) - - // Update the user stripe into in our database. - // Since this is the initial subscription, we need to update - // the subscription id and customer id. - await db.user.update({ - where: { - id: session?.metadata?.userId, - }, - data: { - stripeSubscriptionId: subscription.id, - stripeCustomerId: subscription.customer as string, - stripePriceId: subscription.items.data[0].price.id, - stripeCurrentPeriodEnd: new Date( - subscription.current_period_end * 1000 - ), - }, - }) - } - - if (event.type === "invoice.payment_succeeded") { - // Retrieve the subscription details from Stripe. - const subscription = await stripe.subscriptions.retrieve( - session.subscription as string - ) - - // Update the price id and set the new period end. - await db.user.update({ - where: { - stripeSubscriptionId: subscription.id, - }, - data: { - stripePriceId: subscription.items.data[0].price.id, - stripeCurrentPeriodEnd: new Date( - subscription.current_period_end * 1000 - ), - }, - }) - } - - return new Response(null, { status: 200 }) -} diff --git a/app/layout.tsx b/app/layout.tsx deleted file mode 100644 index 9ba740f..0000000 --- a/app/layout.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import { Inter as FontSans } from "next/font/google" -import localFont from "next/font/local" - -import "@/styles/globals.css" -import { siteConfig } from "@/config/site" -import { absoluteUrl, cn } from "@/lib/utils" -import { Toaster } from "@/components/ui/toaster" -import { Analytics } from "@/components/analytics" -import { TailwindIndicator } from "@/components/tailwind-indicator" -import { ThemeProvider } from "@/components/theme-provider" - -const fontSans = FontSans({ - subsets: ["latin"], - variable: "--font-sans", -}) - -// Font files can be colocated inside of `pages` -const fontHeading = localFont({ - src: "../assets/fonts/CalSans-SemiBold.woff2", - variable: "--font-heading", -}) - -interface RootLayoutProps { - children: React.ReactNode -} - -export const metadata = { - title: { - default: siteConfig.name, - template: `%s | ${siteConfig.name}`, - }, - description: siteConfig.description, - keywords: [ - "Next.js", - "React", - "Tailwind CSS", - "Server Components", - "Radix UI", - ], - authors: [ - { - name: "shadcn", - url: "https://shadcn.com", - }, - ], - creator: "shadcn", - themeColor: [ - { media: "(prefers-color-scheme: light)", color: "white" }, - { media: "(prefers-color-scheme: dark)", color: "black" }, - ], - openGraph: { - type: "website", - locale: "en_US", - url: siteConfig.url, - title: siteConfig.name, - description: siteConfig.description, - siteName: siteConfig.name, - }, - twitter: { - card: "summary_large_image", - title: siteConfig.name, - description: siteConfig.description, - images: [`${siteConfig.url}/og.jpg`], - creator: "@shadcn", - }, - icons: { - icon: "/favicon.ico", - shortcut: "/favicon-16x16.png", - apple: "/apple-touch-icon.png", - }, - manifest: `${siteConfig.url}/site.webmanifest`, -} - -export default function RootLayout({ children }: RootLayoutProps) { - return ( - - - - - {children} - - - - - - - ) -} diff --git a/app/opengraph-image.jpg b/app/opengraph-image.jpg deleted file mode 100644 index 75473bf8b3f0179e22db5e9abc470413990126e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114800 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

TZ41|iH69)5lCEP|CqNeFZa3v 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 a8A)*Rv?F=IdgQ@+@RIe>^Ec@C(*FVLN;&WV diff --git a/app/robots.ts b/app/robots.ts deleted file mode 100644 index f86f167..0000000 --- a/app/robots.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { MetadataRoute } from "next" - -export default function robots(): MetadataRoute.Robots { - return { - rules: { - userAgent: "*", - allow: "/", - }, - } -}