"use client";

import type { ComponentProps } from "react";

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

import VendaDaLive, { type InfoDaLive } from "@/components/digitais/VendaDaLive";

import { VendorProdutoDigital } from "./VendorProdutoDigital";
import { VendorVendaDoCurso } from "./VendorVendaDoCurso";

/*
  A página do digital no Vendor: curso tem a página de venda dele; arquivo,
  link e código seguem com a de sempre (prévia 2).
*/
export function VendorPaginaDoDigital({
  certificado = null,
  live = null,
  ...props
}: ComponentProps<typeof VendorProdutoDigital> & { certificado?: CertificadoNaVenda | null; live?: InfoDaLive | null }) {
  /* A live tem a página dela (prévia 20), igual nos três modelos de loja. */
  if (props.config.tipo === "live" && live) {
    return (
      <div className="mx-auto max-w-[1240px] px-3 py-6 sm:px-6">
        <VendaDaLive
          produto={{ id: props.produto.id, nome: props.produto.name, preco: props.produto.price, imagem: props.imagens[0]?.image_url ?? null }}
          live={live}
          cor={props.corDaMarca}
          mostrarPreco={props.mostrarPreco}
          textoSemPreco={props.textoSemPreco}
          descricaoHtml={props.descricaoHtml ?? ""}
        />
      </div>
    );
  }
  if (props.config.tipo === "curso" && props.config.curso) {
    const { imagens, ...resto } = props;
    return <VendorVendaDoCurso {...resto} curso={props.config.curso} capa={imagens[0]?.image_url ?? null} certificado={certificado} />;
  }
  return <VendorProdutoDigital {...props} />;
}
