# SMM Panel — Firestore setup

Este projeto usa **Firestore** (Firebase) para dados e **server routes da Lovable** como proxy seguro para as APIs SMM.

## 1. Habilitar Firestore no Firebase Console

1. https://console.firebase.google.com → projeto **new-prototype-2dush**.
2. Menu **Build → Firestore Database → Create database**.
3. Escolha modo **Production** e uma região (ex: `southamerica-east1`).

## 2. Publicar as regras de segurança

Copie o conteúdo de `firestore.rules` (na raiz do repo) e cole em:
**Firestore → Rules → Publish**.

## 3. Criar o primeiro admin

Após fazer login no site com sua conta Firebase pela primeira vez:

1. Abra o **DevTools → Console** na página `/`.
2. Rode:
   ```js
   (await import('/src/lib/db.ts')).makeMeAdmin()
   ```
   Isso cria `admins/{seu-uid}` no Firestore.
3. Recarregue: você passa a ter acesso ao `/admin`.

> Alternativamente, crie manualmente o doc `admins/{uid}` no console do Firestore, onde `{uid}` é o UID mostrado em **Authentication → Users**.

## 4. Adicionar um provedor SMM

No painel admin (`/admin → aba Provedores`):

1. **Nome**: nome amigável (ex: "MeuSMM")
2. **URL da API**: endpoint completo (ex: `https://meusmm.com/api/v2`)
3. **Nome do secret** (`keyEnvName`): deve começar com `SMM_` e ter só letras maiúsculas/números/`_` (ex: `SMM_MEUSMM_KEY`)
4. Salve o provider.
5. Em seguida, adicione a **API key real** como Lovable secret com **exatamente esse mesmo nome** (`Cloud → Secrets → Add secret`). O painel Admin te lembra disso após criar.
6. Clique **Sincronizar serviços** — o servidor chama `action=services` e importa tudo para o Firestore com markup padrão de 100%.

## Índices

Firestore vai reclamar quando faltar índice composto — clique no link do erro no console para criar. Índices usados:
- `services` `active asc, __name__ asc`
- `categories` `active asc, order asc`
- `orders` `userId asc, createdAt desc`
