import { getTrending, Subject } from '@/lib/api'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@/components/ui/table'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; import { Pagination } from '@/components/admin/Pagination'; import Image from 'next/image'; import Link from 'next/link'; import { Eye } from 'lucide-react'; import { Button } from '@/components/ui/button'; interface MoviesPageProps { searchParams: Promise<{ [key: string]: string | string[] | undefined }>; } export default async function MoviesPage({ searchParams }: MoviesPageProps) { const params = await searchParams; const page = typeof params.page === 'string' ? parseInt(params.page) : 1; let movies: Subject[] = []; let hasMore = false; let errorMsg = ''; try { const { subjectList, pager } = await getTrending(page); movies = subjectList; hasMore = pager.hasMore; } catch (e: any) { console.error("Error fetching movies:", e); errorMsg = e.message; } return (