feat: add analytics summary API, dashboard page with stats grid, and blog post detail page.
This commit is contained in:
@@ -2014,6 +2014,30 @@ export default function BlogPostPage({ params }: { params: { slug: string } }) {
|
||||
<Button size="lg">Create QR Code Free</Button>
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
{/* Related Articles Section */}
|
||||
<div className="mt-16">
|
||||
<h2 className="text-2xl font-bold text-gray-900 mb-8">Related Articles</h2>
|
||||
<div className="grid md:grid-cols-3 gap-6">
|
||||
{Object.values(blogPosts)
|
||||
.filter((p) => p.slug !== post.slug)
|
||||
.slice(0, 3)
|
||||
.map((relatedPost) => (
|
||||
<Link
|
||||
key={relatedPost.slug}
|
||||
href={`/blog/${relatedPost.slug}`}
|
||||
className="group block bg-gray-50 rounded-xl p-6 hover:bg-gray-100 transition-colors"
|
||||
>
|
||||
<Badge variant="default" className="mb-3">{relatedPost.category}</Badge>
|
||||
<h3 className="font-semibold text-gray-900 group-hover:text-primary-600 transition-colors mb-2 line-clamp-2">
|
||||
{relatedPost.title}
|
||||
</h3>
|
||||
<p className="text-sm text-gray-600 line-clamp-2">{relatedPost.excerpt}</p>
|
||||
<span className="text-sm text-primary-600 mt-3 inline-block">Read more →</span>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user