Commit Graph

34 Commits

Author SHA1 Message Date
422d8848f6 Corregge chiusura diretta YouTube e stop sessione senza broadcast.
transition_live_broadcast richiede status, id e part; evita 500 in chiusura
diretta Match Live TV quando non c'è broadcast YouTube.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 23:06:46 +02:00
787161807c Ripristina scelta visibilità con due pulsanti segmentati in app.
Pubblico (default) e privato/non in elenco, stessa logica di prima.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 23:03:56 +02:00
1677df7f86 Visibilità pubblico/link-only su tutte le piattaforme di streaming.
Default pubblico; opzione unica privato/non in elenco per Match Live TV,
YouTube piattaforma e canale società. Elenco dirette solo sessioni pubbliche.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 23:00:34 +02:00
1fb5cd5aa2 App: scelta canale YouTube MLTV/società, privacy e condivisione link.
Premium Full può forzare il canale piattaforma; visibilità non in elenco o privato;
share_url unificato per Match Live TV e YouTube.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:52:07 +02:00
6ac4db98bb Messaggi chiari per errori YouTube API in creazione diretta.
Include guida su liveStreamingNotEnabled e token non validi.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:44:49 +02:00
92c0058085 Corregge OAuth YouTube piattaforma senza access token in memoria.
Il refresh token ENV non veniva scambiato finché expires_at era vuoto,
causando 500 Unauthorized alla creazione sessione YouTube.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:43:31 +02:00
9b40deeb61 Unifica admin società/squadre e YouTube Full con fallback MLTV.
Premium Full senza canale società usa il canale piattaforma come Light;
in app restano solo Match Live TV e YouTube Live.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:38:28 +02:00
82ff1972a0 Aggiunge abbonamenti omaggio admin per sponsor e promozioni.
Gli admin possono concedere o revocare Premium Light/Full senza Stripe;
il piano omaggio ha priorità sui webhook e la società vede un messaggio dedicato.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:26:19 +02:00
566104aff4 Billing upgrade/downgrade, inviti in app e diretta YouTube da mobile.
Upgrade Stripe con addebito immediato; downgrade programmato a fine periodo.
UX billing più sobria con box info; icone piani. API inviti e OAuth YouTube
per staff trasmissione; deep link join; scelta partita programmata o nuova.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:15:27 +02:00
2cb267f991 Admin: voce menu YouTube per collegamento canale piattaforma.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 21:12:12 +02:00
d051d60415 Fix 500 callback YouTube: pagina token senza layout admin.
Il layout admin richiedeva admin_logged_in? non disponibile nel callback OAuth.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 21:02:51 +02:00
cd8e97243f Allinea branding homepage a Match Live TV per verifica OAuth Google.
Nome visibile in hero, meta application-name, JSON-LD e documentazione; corregge mismatch con «Match Live Tv» in Console.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 20:04:34 +02:00
71eaf9cf56 Fix callback OAuth YouTube: pagina HTML con refresh token invece di risposta API vuota.
Il codice OAuth va usato una sola volta; messaggio chiaro se si ricarica il callback.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 19:57:08 +02:00
462f050977 Deploy YouTube: non richiede credenziali nel .env locale se già sul server.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 19:41:23 +02:00
d0552e1aaa Fix: migration YouTube con timestamp univoco (evita conflitto 20260525120000).
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 19:39:27 +02:00
994c1e3c09 Integrazione YouTube Live: OAuth squadra, canale piattaforma Light e UI.
Collegamento da Dettagli squadra e admin per il refresh token Match Live TV; API e app mobile allineate ai piani Light/Full.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 19:36:56 +02:00
1a84d6ae42 Fix checkout Stripe: ricrea customer se ID test su ambiente live.
Evita errore «No such customer» dopo passaggio da sk_test a sk_live.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 19:11:42 +02:00
2b8f842752 Dirette: nasconde partite programmate nel passato.
La pagina /live mostrava tutte le partite da inizio giornata; ora solo con orario futuro.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 19:10:07 +02:00
964e3f472c Admin fatturazione: coda pagamenti senza PDF e upload diretto.
Lista globale dei pagamenti da fatturare con dati intestazione, caricamento
PDF per riga che crea la fattura e invia email; rimuove il flusso bozza manuale.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 17:31:49 +02:00
b073ded6c1 Admin: voce Fatturazione nel menu e elenco società.
Rende raggiungibili pagamenti e fatture PDF senza passare solo dal dettaglio squadra.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 17:27:09 +02:00
ef805984ee Rimuove featured anche da billing squadra.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 17:23:57 +02:00
15e57cddee Card piani: un solo stile di bordo grigio per tutte e tre.
Rimuove featured con contorno rosso che creava 2 card rosse e 1 grigia.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 17:23:51 +02:00
cf06acf24d Allinea card piani: stessa altezza e bordo uniforme.
Flex column con azioni in basso; highlight Premium Light con box-shadow
invece di bordo rosso diverso che spezzava l’allineamento.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 17:21:42 +02:00
1901fcce68 Premium Light: canale YouTube indicato come Match Live TV.
Sostituisce la dicitura obsoleta Match TV Light in prezzi, FAQ e funzionalità.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 17:19:43 +02:00
62d86d16ec Fix prezzi pubblici: Premium Light €5/€40, Full €20/€200.
Ripristina le etichette in PriceCatalog usate da prezzi, abbonamento e checkout.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 17:17:32 +02:00
a5e781729c Billing: fatture manuali, profilo obbligatorio e piani Stripe mensile/annuale.
Rimuove link al portale Stripe in area cliente, aggiunge flusso admin per PDF
fattura e email, blocca checkout senza dati di fatturazione, allinea prezzi
a €4,90/€39,90 e €9,90/€69,90, locale italiano e documentazione deploy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 17:10:12 +02:00
148402a97c Fix PCI Stripe e anteprima regia; checkout sempre hosted.
Blocca l'invio di numeri carta dall'API server, usa Checkout anche per i cambi piano e nasconde correttamente il placeholder video in regia.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 08:00:28 +02:00
f4b7be0f80 Billing Stripe, link regia mobile e staff solo trasmissione.
Aggiunge fatturazione club, pagina regia condivisibile senza account, roster squadre e rimuove la modalità controller dall'app (v1.1.0).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 07:23:13 +02:00
4083bc5dee Club come entità principale, branding e fix infrastruttura streaming.
Introduce clubs con abbonamento, branding Active Storage e flusso registrazione società; corregge healthcheck MediaMTX (immagine distroless) e allinea dominio produzione matchlivetv.it.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 09:16:24 +02:00
471291b2c4 Sito marketing, SEO, legal, live programmata e branding Match Live Tv.
Logo e favicon nel header, partite programmate su web e mobile, reset password,
pagine FAQ/sitemap, privacy/termini GDPR e icona Android «Match Live Tv».

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 23:17:15 +02:00
3a5649f482 Admin protetto, dashboard KPI e aggiornamenti sito marketing.
Login admin con cambio password, metriche server (CPU/RAM/disco/banda), grafici e statistiche streaming; sezione piani ridimensionata.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 18:18:47 +02:00
3d3420cc4a Merge repository Gitea: conserva LICENSE GPL v3, README del monorepo.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 17:45:54 +02:00
bba6df52c0 Initial commit: monorepo Match Live TV.
Rails API, app Flutter, infrastruttura Docker/MediaMTX, sito marketing e documentazione di deploy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 17:45:37 +02:00
5a5d05fc73 Initial commit 2026-05-26 15:30:42 +00:00