import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faArrowsRotate, faArrowUpRightFromSquare } from '@fortawesome/free-solid-svg-icons'; import { Button } from '@/components/ui/button'; import Image from 'next/image'; import Link from 'next/link'; import { notFound } from 'next/navigation'; import { PageTransition } from '@/components/page-transition'; interface WikipediaSummary { title: string; extract: string; thumbnail?: { source: string; }; originalimage?: { source: string; }; content_urls?: { desktop?: { page: string; }; }; } async function getArticleSummary(title: string): Promise { try { // Wikipedia API expects underscores instead of %20 for spaces const apiTitle = title.replace(/%20/g, '_'); const response = await fetch( `https://en.wikipedia.org/api/rest_v1/page/summary/${apiTitle}`, { headers: { 'User-Agent': 'WikiPlus/1.0', }, cache: 'no-store', } ); if (!response.ok) { return null; } return await response.json(); } catch (error) { console.error('Error fetching article summary:', error); return null; } } export default async function SummaryPage({ params, }: { params: Promise<{ title: string }>; }) { const { title } = await params; const article = await getArticleSummary(title); if (!article) { notFound(); } const imageUrl = article.thumbnail?.source || article.originalimage?.source; const pageUrl = article.content_urls?.desktop?.page; return (
Wiki+

{article.title}

{imageUrl && (
{article.title}
)}

{article.extract}

); }