/*
 * O KtaloguDesign (o editor de artes) está em BETA desde 29/10/2026: aberto
 * só para as empresas da lista (vale o id da empresa ou o do dono). A
 * variável DESIGN_LIBERADOS soma outras (ids separados por vírgula) ou abre
 * para todas ("todas"). Quem não está liberado não vê o KtaloguDesign no
 * menu, não abre a tela, não usa as rotas /api/artes nem as ferramentas do
 * assistente, e o "Criar banner" do editor da loja continua o gerador simples.
 * O link público de uma arte (/arte/...) e a prova (/prova/...) seguem
 * abertos: só existem para quem já fez a arte.
 */
export const EMPRESAS_DO_BETA_DO_DESIGN: readonly string[] = [
  /* Ktalogu (ktalogu@gmail.com) */
  "d84e6bd1-3bb6-4742-9a89-a952a2060aa6",
  /* Espiaelas Atelier */
  "6e6667fb-f7a6-4262-9dcc-bf196afa7eb2",
];

export function designLiberado(ids: Array<string | null | undefined>, configuracao: string | undefined = process.env.DESIGN_LIBERADOS): boolean {
  const validos = ids.filter((id): id is string => Boolean(id)).map((id) => String(id).trim().toLowerCase());
  if (validos.some((id) => EMPRESAS_DO_BETA_DO_DESIGN.includes(id))) return true;
  const bruto = String(configuracao || "").trim().toLowerCase();
  if (!bruto) return false;
  if (bruto === "todas" || bruto === "todos" || bruto === "*") return true;
  const lista = new Set(bruto.split(/[\s,;]+/).filter(Boolean));
  return validos.some((id) => lista.has(id));
}

export const RECADO_DO_BETA = "O KtaloguDesign está em teste (beta) e ainda não foi liberado para a sua empresa.";
