import { Metadata } from "next"
import fs from "fs"
import path from "path"
import { notFound } from "next/navigation"
import TopicPageClient from "./page-client"

let cachedProjectData: any = null;

function getProjectData() {
  if (!cachedProjectData) {
    const projectDataPath = path.join(process.cwd(), "public", "public_project.json");
    cachedProjectData = JSON.parse(fs.readFileSync(projectDataPath, "utf-8"));
  }
  return cachedProjectData;
}

export const metadata: Metadata = {
  title: "Topic Analysis - CodeframeAI",
  description: "View the interactive summary and mind map for the selected trending topic.",
}

export default async function TopicPage({ params }: { params: Promise<{ id: string }> }) {
  const resolvedParams = await params;
  const project = (getProjectData() as any[]).find(p => p._id === resolvedParams.id || p.projectId === resolvedParams.id)

  if (!project) {
    return notFound()
  }

  const summaryUrl = `https://app.codeframeai.com/#/public-1/project/${encodeURIComponent(project._id)}?type=summary`;
  const mindmapUrl = `https://app.codeframeai.com/#/public-1/project/${encodeURIComponent(project._id)}?type=mindmap`;

  return (
    <TopicPageClient 
      project={project}
      summaryUrl={summaryUrl}
      mindmapUrl={mindmapUrl}
    />
  )
}
