"use client";

import type { ComponentProps } from "react";

import type { CertificadoNaVenda } from "@/lib/digitais/certificado";

import ProdutoDigital from "./ProdutoDigital";
import VendaDaLive, { type InfoDaLive } from "./VendaDaLive";
import VendaDoCurso from "./VendaDoCurso";

/*
 * A página do digital nos templates Padrão e Vitrine: curso tem a página de
 * venda dele (prévia 14); arquivo, link e código seguem com a de sempre.
 */
export default function PaginaDoProdutoDigital({
  area,
  certificado = null,
  live = null,
  ...props
}: ComponentProps<typeof ProdutoDigital> & { area: { nome: string; cor: string }; certificado?: CertificadoNaVenda | null; live?: InfoDaLive | null }) {
  /* A live tem a página dela (prévia 20). */
  if (props.config.tipo === "live" && live) {
    return (
      <VendaDaLive
        produto={{ id: props.produto.id, nome: props.produto.nome, preco: props.produto.preco, imagem: props.produto.imagens[0] ?? null }}
        live={live}
        cor={area.cor}
        mostrarPreco={props.mostrarPreco}
        textoSemPreco={props.textoSemPreco}
        descricaoHtml={props.produto.descricaoHtml}
      />
    );
  }
  if (props.config.tipo === "curso" && props.config.curso) return <VendaDoCurso {...props} curso={props.config.curso} area={area} certificado={certificado} />;
  return <ProdutoDigital {...props} />;
}
