# Extensão AssinaPro (MV3)

Extensão de navegador que instala a assinatura profissional do usuário direto no editor do webmail, sem copiar/colar manual.

## Provedores suportados

- **Gmail** (`mail.google.com`) — botão embutido na tela de Configurações → Geral → Assinatura.
- **Outlook Web** (`outlook.live.com`, `outlook.office.com`, `outlook.office365.com`) — botão embutido em Configurações → Email → Redigir e responder.
- **Yahoo Mail** (`mail.yahoo.com`) — botão embutido em Configurações → Mais configurações → Escrevendo email.
- **Outros webmails** (Zoho, Titan, Locaweb, cPanel/Roundcube, etc.) — badge flutuante quando a página tem um campo rotulado "Assinatura" ou "Signature".

## Instalação manual (dev)

1. Baixe o `.zip` no painel AssinaPro (seção "Instalar com extensão") e descompacte, ou clone este diretório.
2. Abra `chrome://extensions` (funciona em Chrome, Edge, Brave, Arc, Opera).
3. Ative o **Modo do desenvolvedor** no canto superior direito.
4. Clique em **Carregar sem compactação** e selecione a pasta `extension/`.
5. Clique no ícone da extensão, entre com sua conta AssinaPro. A aba se fecha sozinha após o login.
6. Abra a tela de configuração de assinatura no seu webmail e clique em "Instalar assinatura".

## Estrutura

- `manifest.json` — Manifest V3
- `background.js` — service worker (mensagens, fetch de assinaturas)
- `popup.html/js/css` — interface do ícone da extensão
- `content/auth-bridge.js` — captura sessão Supabase após login no AssinaPro
- `content/gmail.js` — botão na tela de assinatura do Gmail
- `content/outlook.js` — botão no Outlook Web
- `content/yahoo.js` — botão no Yahoo Mail
- `content/generic.js` — badge flutuante para outros webmails
- `shared/config.js`, `shared/api.js`, `shared/auth.js` — módulos utilitários

## Fluxo de autenticação

1. Popup abre `https://assinatura.fusaoweb.com.br/auth?redirect=/auth/extension-bridge`.
2. Usuário faz login normalmente.
3. Ao chegar em `/auth/extension-bridge`, o content script lê o JWT do Supabase de `localStorage`, envia para o service worker, que persiste em `chrome.storage.local` e fecha a aba.
4. A extensão passa a chamar `GET /api/public/extension/signatures` com `Authorization: Bearer <jwt>` para trazer a lista de assinaturas do usuário.

## Publicação

- Chrome Web Store: taxa única de US$ 5 (vale para Chrome, Edge, Brave, Arc, Opera).
- Microsoft Edge Add-ons: grátis.
- Firefox Add-ons: grátis.
