# Diretta YouTube dall’app (invito staff)

Percorso per il **responsabile trasmissione** invitato via email: accede in app e avvia la live su YouTube.

## Prerequisiti (società)

- Piano **Premium Light** o **Premium Full** attivo
- `YOUTUBE_CLIENT_ID` / `YOUTUBE_CLIENT_SECRET` configurati sul server
- Partita programmata per la squadra

### Canale usato

| Piano | Canale YouTube in diretta |
|-------|--------------------------|
| Premium Light | Sempre **Match Live TV** (nessun OAuth società) |
| Premium Full, canale collegato | Canale **della società** |
| Premium Full, canale non collegato | **Match Live TV** (default, come Light) |

Il collegamento del canale società è **opzionale** su Full: si fa dal sito (pagina società → sezione YouTube Live) o in futuro da app; finché non c’è OAuth, l’app trasmette sul canale piattaforma.

## 1. Invito

1. Il titolare società → **Responsabili trasmissione** → invita `tua@email.it`
2. L’invitato apre il link (web o **Apri invito nell’app**)
3. Registrazione / login con **la stessa email** dell’invito
4. L’app accetta l’invito automaticamente dopo il login

API: `GET /api/v1/invitations/:token`, `POST /api/v1/invitations/:token/accept`

## 2. Collega canale YouTube (opzionale, Premium Full)

Solo se la società vuole il **proprio** canale invece di Match Live TV:

1. Sul sito: pagina società (`/clubs/:id`) → **Collega il canale YouTube della società**
2. Oppure (se abilitato) OAuth da app al tocco YouTube quando non c’è ancora canale piattaforma

## 3. Scegli la partita

Nella home app (**Partite**):

- **Partita programmata** — scegli dal calendario una gara già inserita (sito o app)
- **Nuova partita** — programma data/ora oppure **Avvia subito** senza orario

Poi tocca la card o conferma dal foglio: si apre il wizard (Partita → Trasmissione → …).

## 4. Avvia diretta

1. Nel wizard, seleziona **YouTube Live** (se il piano lo consente e il canale è pronto)
2. Completa i passi → **Camera**
3. Il telefono invia RTMP a MediaMTX; il server inoltra su YouTube

## Sviluppo locale

- App: `flutter run --dart-define=API_BASE_URL=http://10.0.2.2:3000` (emulatore) o IP LAN del PC (telefono)
- Invito deep link: `matchlivetv://join/TOKEN` oppure incolla token aprendo `/login?invite=TOKEN`
- OAuth: utente in **Utenti di test** Google Cloud

## Troubleshooting

| Problema | Soluzione |
|----------|-----------|
| Nessuna squadra in app | Accetta invito con email corretta |
| YouTube disabilitato | Premium Light o Full |
| YouTube non selezionabile | Token canale Match Live TV sul server (`admin` → YouTube piattaforma) |
| OAuth «app non verificata» | Utente di test Google + Avanzate |
| Live non su YouTube | Verifica relay ffmpeg / `stream_key` in sessione |
