import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import '@/estilos.css'; const raiz = document.getElementById('raiz'); if (!raiz) throw new Error('elemento #raiz não encontrado'); /** * `src/lib/supabase.ts` lança se `config.js` não estiver preenchido, e esse * throw acontece na avaliação do módulo. Com import estático o resultado * seria uma página em branco e um erro só no console — a pior experiência * possível para quem acabou de subir os arquivos e esqueceu de editar a * configuração. Por isso o import é dinâmico e o erro tem tela própria. */ import('@/App') .then(({ default: App }) => { createRoot(raiz).render( , ); }) .catch((erro: unknown) => { const msg = erro instanceof Error ? erro.message : String(erro); raiz.innerHTML = `
PORTAL NR-1

Configuração pendente

${msg.replace(/

window.__NR1__ = {
  SUPABASE_URL: 'https://xxxx.supabase.co',
  SUPABASE_ANON_KEY: 'eyJhbGci...',
  URL_PUBLICA: 'https://nr1.netpack.com.br',
};

Abra config.js na raiz do site e preencha os dois primeiros valores. Não é preciso recompilar nada.

`; });