import { notFound } from 'next/navigation';
import VideoPlayer from '@/components/VideoPlayer';
import { db } from '@/lib/db';

export default async function PlayerPage({
  params,
  searchParams
}: {
  params: Promise<{ slug: string }>;
  searchParams: Promise<{ token?: string }>;
}) {
  const { slug } = await params;
  const { token } = await searchParams;

  const stream = await db.stream.findUnique({
    where: { slug },
    include: { viewer: true }
  });

  if (!stream || !stream.active) notFound();

  const isAllowed = stream.isPublic || (!!token && token === stream.viewer?.accessToken);
  if (!isAllowed) {
    return (
      <main className="center-page">
        <div className="auth-card">
          <h1>Acceso restringido</h1>
          <p>Este contenido requiere token válido.</p>
        </div>
      </main>
    );
  }

  return (
    <main className="player-page">
      <div className="container">
        <VideoPlayer title={stream.title} url={stream.sourceUrl} posterUrl={stream.posterUrl} />
      </div>
    </main>
  );
}
