﻿import type { Metadata } from "next";
import BlogClient from "@/components/blog/BlogClient";
import { prisma } from "@/lib/db";
export const metadata: Metadata = { title: "Blog — Ravneet Brar", description: "Things I've learned, built & discovered — notes from building software, infrastructure and Zyphron Cloud." };
export const dynamic = "force-dynamic";
export default async function BlogPage() {
  let posts: any[] = [];
  try {
    const raw = await prisma.blogPost.findMany({ where: { deletedAt: null, status: "PUBLISHED" }, orderBy: { publishedAt: "desc" } });
    posts = raw.map(p=> {
      const tags = p.tags ? JSON.parse(p.tags) as string[] : [];
      const words = p.content.trim().split(/\s+/).length;
      const reading = `${Math.max(1, Math.round(words/200))} min`;
      const date = (p.publishedAt || p.createdAt).toISOString().slice(0,10);
      return { ...p, tags, reading, date, excerpt: p.description };
    });
  } catch (e) {
    console.error("Blog DB error — returning empty:", e);
  }
  return <BlogClient initialPosts={posts} />;
}
