import Link from "next/link"; import { fetchCategories, fetchRecentBlogs, fetchPopularTags } from "@/api/blogsApi"; import { getCmsImageUrl } from "@/utils"; interface SidebarProps { searchQuery?: string; } export default async function Sidebar({ searchQuery }: SidebarProps) { // Fetch data from API const [categoriesResponse, recentBlogsResponse, tagsResponse] = await Promise.all([ fetchCategories(), fetchRecentBlogs(5), fetchPopularTags(10), ]); const categories = categoriesResponse.data; const recentPosts = recentBlogsResponse.data; const tags = tagsResponse.data; return (
{/* Search Widget */}
{/* Categories */}

Categories

    {categories.map((category) => { const postCount = category.postCount || 0; return (
  • {category.name} ({String(postCount).padStart(2, "0")})
  • ); })}
{/* Recent Post */}

Recent Post

{recentPosts.map((post) => (
{post.title}
{post.title}
  • {post.publishedAt}
))}
{/* Tag Cloud */}

Tag Cloud

{tags.map((tag) => ( {tag.name} ))}
); }