diff --git a/content/en/blog/what-is-mksaas.mdx b/content/en/blog/what-is-mksaas.mdx index 0d7de69..d83c4be 100644 --- a/content/en/blog/what-is-mksaas.mdx +++ b/content/en/blog/what-is-mksaas.mdx @@ -2,7 +2,7 @@ title: What is MkSaaS? description: MkSaaS is the best boilerplate for building AI SaaS websites. image: /images/blog/mksaas-og.png -date: 2024-11-24T12:00:00.000Z +date: 2024-11-26T12:00:00.000Z published: true categories: [news, guide] author: mksaas diff --git a/content/zh/blog/what-is-mksaas.mdx b/content/zh/blog/what-is-mksaas.mdx index 290a32d..82ae335 100644 --- a/content/zh/blog/what-is-mksaas.mdx +++ b/content/zh/blog/what-is-mksaas.mdx @@ -2,7 +2,7 @@ title: MkSaaS 是什么? description: MkSaaS 是构建 AI SaaS 网站的最佳样板。 image: /images/blog/mksaas-og.png -date: 2024-11-24T12:00:00.000Z +date: 2024-11-26T12:00:00.000Z published: true categories: [news, guide] author: mksaas diff --git a/src/app/(protected)/dashboard/page.tsx b/src/app/[locale]/(dashborad)/dashboard/page.tsx similarity index 100% rename from src/app/(protected)/dashboard/page.tsx rename to src/app/[locale]/(dashborad)/dashboard/page.tsx diff --git a/src/app/[locale]/(marketing)/blog/(blog)/layout.tsx b/src/app/[locale]/(marketing)/blog/(blog)/layout.tsx index 85f2c23..c07c4ba 100644 --- a/src/app/[locale]/(marketing)/blog/(blog)/layout.tsx +++ b/src/app/[locale]/(marketing)/blog/(blog)/layout.tsx @@ -1,5 +1,25 @@ +import Container from '@/components/container'; +import { HeaderSection } from '@/components/shared/header-section'; import { PropsWithChildren } from 'react'; -export default function BlogLayout({ children }: PropsWithChildren) { - return children; -} \ No newline at end of file +export default async function BlogListLayout({ + children, +}: { children: React.ReactNode }) { + return ( +
+
+ + + {/* */} +
+ + + {children} + +
+ ); +} diff --git a/src/app/[locale]/(marketing)/blog/(blog)/page.tsx b/src/app/[locale]/(marketing)/blog/(blog)/page.tsx index bc54f5f..a49291f 100644 --- a/src/app/[locale]/(marketing)/blog/(blog)/page.tsx +++ b/src/app/[locale]/(marketing)/blog/(blog)/page.tsx @@ -36,20 +36,6 @@ export default async function BlogPage({ params }: BlogPageProps) { ); return ( - -
-
-
-

- Blog -

-

- Latest news and updates from our team -

-
-
- -
-
+ ); } \ No newline at end of file diff --git a/src/app/[locale]/(marketing)/blog/[...slug]/layout.tsx b/src/app/[locale]/(marketing)/blog/[...slug]/layout.tsx index 746ffc1..3ed16d2 100644 --- a/src/app/[locale]/(marketing)/blog/[...slug]/layout.tsx +++ b/src/app/[locale]/(marketing)/blog/[...slug]/layout.tsx @@ -1,10 +1,9 @@ import Container from '@/components/container'; -import { Separator } from '@/components/ui/separator'; import { PropsWithChildren } from 'react'; export default function BlogPostLayout({ children }: PropsWithChildren) { return ( - +
{children}
diff --git a/src/app/[locale]/(marketing)/blog/[...slug]/page.tsx b/src/app/[locale]/(marketing)/blog/[...slug]/page.tsx index 997b46a..4f5448b 100644 --- a/src/app/[locale]/(marketing)/blog/[...slug]/page.tsx +++ b/src/app/[locale]/(marketing)/blog/[...slug]/page.tsx @@ -92,9 +92,9 @@ export default async function BlogPostPage(props: NextPageProps) { return (
- {/* Content section */} + {/* content section */}
- {/* Left column */} + {/* left column (blog post content) */}
{/* Basic information */}
@@ -129,7 +129,7 @@ export default async function BlogPostPage(props: NextPageProps) {
- {/* Right column (sidebar) */} + {/* right column (sidebar) */}
{/* author info */} @@ -184,6 +184,9 @@ export default async function BlogPostPage(props: NextPageProps) {
+ + {/* newsletter */} + {/* TODO: add newsletter */}
); } \ No newline at end of file diff --git a/src/components/blog/blog-card.tsx b/src/components/blog/blog-card.tsx index 9b285d7..1f6a616 100644 --- a/src/components/blog/blog-card.tsx +++ b/src/components/blog/blog-card.tsx @@ -71,9 +71,9 @@ export default function BlogCard({ post }: BlogCardProps) { {/* Post excerpt, hidden for now */} -
+
{post.description && ( -

+

{post.description}

)} @@ -83,7 +83,7 @@ export default function BlogCard({ post }: BlogCardProps) { {/* Author and date */}
-
+
{post?.author?.avatar && ( {posts?.length > 0 && ( -
+
{posts.map((post) => ( ))} @@ -25,7 +25,7 @@ export function BlogGridSkeleton({ count = POSTS_PER_PAGE, }: { count?: number }) { return ( -
+
{[...Array(count)].map((_, index) => ( ))} diff --git a/src/components/shared/header-section.tsx b/src/components/shared/header-section.tsx index 11f8455..ff61ef8 100644 --- a/src/components/shared/header-section.tsx +++ b/src/components/shared/header-section.tsx @@ -45,7 +45,7 @@ export function HeaderSection({ ) : null} {subtitle ? ( - + {subtitle} ) : null}