import { AuditTimeline, Panel, RegistrationWorkbench } from '@chego/ui';
import { RestaurantsCrudPanel } from '../components/restaurants-crud-panel';

const columns = [
  { key: 'store', label: 'Restaurante' },
  { key: 'owner', label: 'Responsavel' },
  { key: 'commission', label: 'Comissao', align: 'right' as const },
  { key: 'plan', label: 'Plano' },
  { key: 'rating', label: 'Nota', align: 'right' as const },
  { key: 'status', label: 'Status' },
];

const rows = [
  {
    id: 'restaurant-1',
    cells: {
      store: <div><p className="font-bold text-slate-900">Forno da Esquina</p><p className="text-xs text-slate-500">Centro • aberto agora</p></div>,
      owner: <div><p>loja@chego.app</p><p className="text-xs text-slate-500">5511988887777</p></div>,
      commission: <span className="font-semibold text-slate-900">12,5%</span>,
      plan: 'Restaurante Pro',
      rating: <span className="font-semibold text-slate-900">4,8</span>,
      status: { value: 'Aprovado', tone: 'emerald', badge: true },
    },
  },
  {
    id: 'restaurant-2',
    cells: {
      store: <div><p className="font-bold text-slate-900">Burger Lab</p><p className="text-xs text-slate-500">Documentos reenviados hoje</p></div>,
      owner: <div><p>operacao@burgerlab.com</p><p className="text-xs text-slate-500">5511977102345</p></div>,
      commission: <span className="font-semibold text-slate-900">15%</span>,
      plan: 'Essencial',
      rating: <span className="font-semibold text-slate-900">4,4</span>,
      status: { value: 'Pendente', tone: 'amber', badge: true },
    },
  },
  {
    id: 'restaurant-3',
    cells: {
      store: <div><p className="font-bold text-slate-900">Acai Point</p><p className="text-xs text-slate-500">Repasse bloqueado</p></div>,
      owner: <div><p>financeiro@acaipoint.com</p><p className="text-xs text-slate-500">5511944499001</p></div>,
      commission: <span className="font-semibold text-slate-900">13%</span>,
      plan: 'Restaurante Pro',
      rating: <span className="font-semibold text-slate-900">4,1</span>,
      status: { value: 'Suspenso', tone: 'rose', badge: true },
    },
  },
];

const auditEntries = [
  {
    actor: 'Admin Comercial',
    action: 'Aprovacao cadastral',
    module: 'Restaurantes',
    at: 'Hoje, 10:41',
    detail: 'Forno da Esquina aprovado apos validacao de CNPJ, contrato e documentos do responsavel.',
  },
  {
    actor: 'Financeiro Plataforma',
    action: 'Bloqueio de repasse',
    module: 'Restaurantes',
    at: 'Ontem, 17:32',
    detail: 'Acai Point entrou em revisao por divergencia financeira. Loja invisivel no app e login mantido restrito.',
  },
];

export default function RestaurantsPage({
  searchParams,
}: {
  searchParams?: { mode?: string; record?: string };
}) {
  const mode = searchParams?.mode;
  const record = searchParams?.record;
  const shouldShowWorkbench = mode === 'create' || mode === 'edit' || mode === 'view';

  return (
    <div className="space-y-6">
      <RestaurantsCrudPanel />

      {shouldShowWorkbench ? (
        <RegistrationWorkbench
          eyebrow="Restaurantes"
          title={mode === 'create' ? 'Onboarding de restaurante' : `Cadastro ${record ?? 'restaurante'}`}
          subtitle="Este fluxo combina comercial, compliance, comissao, geografia, cardapio e readiness para alto volume. A estrutura ja conversa com o modelo de plataforma estilo iFood para o mercado brasileiro."
          profile="ROLE RESTAURANT"
          stage={mode === 'create' ? 'aprovacao comercial' : mode === 'edit' ? 'manutencao de parceiro' : 'consulta'}
          sections={[
            {
              title: 'Identidade comercial',
              description: 'Bloco de credenciamento do parceiro, responsavel e marca.',
              fields: [
                { label: 'Razao e fantasia', value: 'Forno da Esquina LTDA / Forno da Esquina', hint: 'Nome fiscal e marca publica do cardapio.' },
                { label: 'CNPJ', value: '12.345.678/0001-99', hint: 'Usado em contratos, repasses e emissao fiscal.' },
                { label: 'Responsavel', value: 'loja@chego.app / +55 11 98888-7777', hint: 'Canal operacional para onboarding e incidentes.' },
                { label: 'Plano', value: 'Restaurante Pro com visibilidade patrocinada', hint: 'Base para monetizacao e upsell B2B.' },
              ],
            },
            {
              title: 'Operacao e cobertura',
              description: 'Configura a entrega, SLA e capacidade produtiva da loja.',
              fields: [
                { label: 'Endereco da loja', value: 'Rua do Comercio, 240 - Centro - Sao Paulo/SP', hint: 'Origem da rota, geolocalizacao e area de cobertura.' },
                { label: 'Horario de funcionamento', value: 'Seg a dom, 10h as 23h', hint: 'Horarios conectados com menu, aceite e campanhas.' },
                { label: 'Taxa e raio', value: 'Base R$ 5,00 + R$ 1,50/km ate 7 km', hint: 'Politica local de entrega e margem operacional.' },
                { label: 'Capacidade', value: '120 pedidos por dia / preparo medio 24 min', hint: 'SLA dinamico, pico e cozinha.' },
              ],
            },
            {
              title: 'Financeiro e risco',
              description: 'Camada critica para repasse, split e saude da conta.',
              fields: [
                { label: 'Comissao', value: '12,5% com taxa de servico variavel', hint: 'Estrutura de monetizacao por pedido e plano.' },
                { label: 'Conta de repasse', value: 'PIX empresarial homologado', hint: 'Base para conciliacao e repasse automatico.' },
                { label: 'Risco', value: 'Baixo risco cadastral / revisao financeira automatizada', hint: 'Protege contra chargeback, fraude e inadimplencia.' },
                { label: 'Documentos', value: 'Contrato, alvara e dados bancarios anexados', hint: 'Compliance pronto para aprovacao final.' },
              ],
            },
          ]}
          checklist={[
            { label: 'Validar CNPJ, dados bancarios e aceite contratual do parceiro.', status: 'pending' },
            { label: 'Publicar raio, taxa de entrega, horarios e SLA no menu publico.', status: 'pending' },
            { label: 'Integrar repasse, split e antifraude financeiro no backend.', status: 'attention' },
            { label: 'Tela local de aprovacao comercial e listagem operacional ja esta utilizavel.', status: 'done' },
          ]}
        />
      ) : null}

      <Panel title="Auditoria recente" eyebrow="Aprovacao e compliance">
        <AuditTimeline entries={auditEntries} />
      </Panel>
    </div>
  );
}
