import { useMemo } from "react"; import { useParams, Link } from "react-router-dom"; import Layout from "@/components/Layout"; import { Card, CardContent, CardHeader, CardTitle, CardDescription } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { User, Calendar } from "lucide-react"; import NotFound from "./NotFound"; export default function BlogPost() { const { slug } = useParams<{ slug: string }>(); const featuredPost = { title: "The Future of Quantum Game Development", excerpt: "Exploring how quantum computing will revolutionize game AI, physics simulations, and procedural generation in the next decade.", author: "Dr. Sarah Chen", date: "December 15, 2024", readTime: "8 min read", category: "Research", likes: 124, comments: 23, image: "https://images.unsplash.com/photo-1635070041078-e363dbe005cb?w=1200&h=600&fit=crop", }; const posts = [ featuredPost, { title: "Building Scalable Game Architecture with Microservices", excerpt: "Learn how to design game backends that can handle millions of concurrent players using modern microservices patterns.", author: "Marcus Rodriguez", date: "December 12, 2024", readTime: "6 min read", category: "Technology", }, { title: "Advanced Unity Optimization Techniques", excerpt: "Performance optimization strategies that can boost your Unity game's frame rate by up to 300%.", author: "Alex Thompson", date: "December 10, 2024", readTime: "12 min read", category: "Tutorials", }, ]; const normalize = (t?: string) => (t || "") .toLowerCase() .trim() .replace(/[^a-z0-9\s-]/g, "") .replace(/\s+/g, "-") .replace(/-+/g, "-"); const post = useMemo(() => { if (!slug) return null; return posts.find((p) => normalize(p.title) === normalize(slug)); }, [slug]); if (!post) { return ; } return (
{post.title} {post.category} {post.title} {post.excerpt}
{post.author}
{post.date}
{/* Simple placeholder content for the article body */}

{post.excerpt}

This is a sample article page. In production the blog content would be loaded from the CMS or database and rendered here.

Author: {post.author}

Back to Blog
); }