@@ -6,6 +6,8 @@ import { FAQ } from '@/lib/blog/faq'
66import { getAllPostMeta , getPostBySlug , getRelatedPosts } from '@/lib/blog/registry'
77import { buildArticleJsonLd , buildBreadcrumbJsonLd , buildPostMetadata } from '@/lib/blog/seo'
88import { soehne } from '@/app/_styles/fonts/soehne/soehne'
9+ import { BackLink } from '@/app/(landing)/studio/[slug]/back-link'
10+ import { ShareButton } from '@/app/(landing)/studio/[slug]/share-button'
911
1012export async function generateStaticParams ( ) {
1113 const posts = await getAllPostMeta ( )
@@ -48,9 +50,7 @@ export default async function Page({ params }: { params: Promise<{ slug: string
4850 />
4951 < header className = 'mx-auto max-w-[1450px] px-6 pt-8 sm:px-8 sm:pt-12 md:px-12 md:pt-16' >
5052 < div className = 'mb-6' >
51- < Link href = '/studio' className = 'text-gray-600 text-sm hover:text-gray-900' >
52- ← Back to Sim Studio
53- </ Link >
53+ < BackLink />
5454 </ div >
5555 < div className = 'flex flex-col gap-8 md:flex-row md:gap-12' >
5656 < div className = 'w-full flex-shrink-0 md:w-[450px]' >
@@ -75,28 +75,31 @@ export default async function Page({ params }: { params: Promise<{ slug: string
7575 >
7676 { post . title }
7777 </ h1 >
78- < div className = 'mt-4 flex items-center gap-3' >
79- { ( post . authors || [ post . author ] ) . map ( ( a , idx ) => (
80- < div key = { idx } className = 'flex items-center gap-2' >
81- { a ?. avatarUrl ? (
82- < Avatar className = 'size-6' >
83- < AvatarImage src = { a . avatarUrl } alt = { a . name } />
84- < AvatarFallback > { a . name . slice ( 0 , 2 ) } </ AvatarFallback >
85- </ Avatar >
86- ) : null }
87- < Link
88- href = { a ?. url || '#' }
89- target = '_blank'
90- rel = 'noopener noreferrer author'
91- className = 'text-[14px] text-gray-600 leading-[1.5] hover:text-gray-900 sm:text-[16px]'
92- itemProp = 'author'
93- itemScope
94- itemType = 'https://schema.org/Person'
95- >
96- < span itemProp = 'name' > { a ?. name } </ span >
97- </ Link >
98- </ div >
99- ) ) }
78+ < div className = 'mt-4 flex items-center justify-between' >
79+ < div className = 'flex items-center gap-3' >
80+ { ( post . authors || [ post . author ] ) . map ( ( a , idx ) => (
81+ < div key = { idx } className = 'flex items-center gap-2' >
82+ { a ?. avatarUrl ? (
83+ < Avatar className = 'size-6' >
84+ < AvatarImage src = { a . avatarUrl } alt = { a . name } />
85+ < AvatarFallback > { a . name . slice ( 0 , 2 ) } </ AvatarFallback >
86+ </ Avatar >
87+ ) : null }
88+ < Link
89+ href = { a ?. url || '#' }
90+ target = '_blank'
91+ rel = 'noopener noreferrer author'
92+ className = 'text-[14px] text-gray-600 leading-[1.5] hover:text-gray-900 sm:text-[16px]'
93+ itemProp = 'author'
94+ itemScope
95+ itemType = 'https://schema.org/Person'
96+ >
97+ < span itemProp = 'name' > { a ?. name } </ span >
98+ </ Link >
99+ </ div >
100+ ) ) }
101+ </ div >
102+ < ShareButton url = { `https://sim.ai/studio/${ slug } ` } title = { post . title } />
100103 </ div >
101104 </ div >
102105 </ div >
0 commit comments