Limita una diretta attiva per account e valorizza la copertina Premium Full.

Blocca la seconda diretta sullo stesso utente, registra gli abusi in admin e presenta la copertina come grafica caricata dalla società, con demo Team MLTV.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-01 12:52:26 +02:00
co-authored by Cursor
parent 356aa28fad
commit d52434fb2e
62 changed files with 1509 additions and 109 deletions
+5
View File
@@ -236,6 +236,11 @@ body.admin-body {
.badge--ingest-cloud { background: #e65100; color: #fff3e0; }
.badge--ended { background: #37474f; color: #eceff1; }
.badge--error { background: #b71c1c; color: #ffebee; }
.badge--abuse { background: #b71c1c; color: #ffebee; }
.admin-table tr.admin-row--two-devices td {
background: rgba(183, 28, 28, 0.12);
}
.admin-ingest {
display: inline-flex;
+267
View File
@@ -3713,6 +3713,273 @@ a.replay-archive__thumb:hover {
}
}
.feature-card__badge--gold {
background: rgba(255, 183, 77, 0.12);
color: #ffb74d;
}
.sponsor-cover { padding-top: 8px; }
.sponsor-cover.section { padding-top: 28px; padding-bottom: 28px; }
.sponsor-cover--compact.section { padding-top: 16px; padding-bottom: 8px; }
.sponsor-cover__panel {
display: grid;
grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
gap: 32px;
align-items: center;
background: #14141c;
border: 1px solid #5a2a2e;
border-radius: 14px;
padding: 32px 28px;
box-shadow: 0 0 0 1px rgba(229, 57, 53, 0.18), 0 12px 32px rgba(0, 0, 0, 0.28);
}
.sponsor-cover--compact .sponsor-cover__panel {
padding: 24px 22px;
gap: 24px;
box-shadow: 0 0 0 1px rgba(229, 57, 53, 0.12);
}
.sponsor-cover__copy { min-width: 0; }
.sponsor-cover__copy .feature-card__badge { margin-bottom: 12px; }
.sponsor-cover__copy h2 {
text-align: left;
margin: 0 0 12px;
font-size: 1.7rem;
line-height: 1.2;
}
.sponsor-cover--compact .sponsor-cover__copy h2 { font-size: 1.4rem; }
.sponsor-cover__lead {
margin: 0 0 16px;
color: #bbb;
line-height: 1.6;
max-width: 36rem;
}
.sponsor-cover--compact .sponsor-cover__lead { margin-bottom: 18px; }
.sponsor-cover__copy .features-checklist { margin-bottom: 14px; }
.sponsor-cover__claim {
margin: 0 0 18px;
color: #ffb74d;
font-size: 0.92rem;
font-weight: 700;
letter-spacing: 0.01em;
line-height: 1.4;
}
.sponsor-cover__visual {
display: flex;
justify-content: center;
min-width: 0;
}
.cover-mock {
width: min(100%, 380px);
margin: 0;
background: #101016;
border: 1px solid #2f2f3c;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
}
.sponsor-cover--compact .cover-mock { width: min(100%, 320px); }
.cover-mock__chrome {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
padding: 10px 14px;
border-bottom: 1px solid #2a2a36;
background: #16161e;
}
.cover-mock__brand {
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.08em;
color: #fff;
}
.cover-mock__brand em {
font-style: normal;
color: #e53935;
}
.cover-mock__state {
flex-shrink: 0;
padding: 3px 8px;
border-radius: 4px;
background: rgba(255, 183, 77, 0.14);
color: #ffb74d;
font-size: 0.62rem;
font-weight: 800;
letter-spacing: 0.08em;
}
.cover-mock__stage {
padding: 16px 16px 14px;
background:
radial-gradient(ellipse 80% 50% at 50% 0%, rgba(229, 57, 53, 0.16), transparent 60%),
#101016;
text-align: center;
}
.cover-mock__cat {
margin: 0 0 8px;
color: #9a9aaa;
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.cover-mock__home,
.cover-mock__away {
margin: 0;
font-size: 1.05rem;
font-weight: 800;
line-height: 1.2;
color: #fff;
}
.sponsor-cover--compact .cover-mock__home,
.sponsor-cover--compact .cover-mock__away { font-size: 0.92rem; }
.cover-mock__vs {
margin: 4px 0;
color: #e53935;
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.cover-mock__when {
margin: 8px 0 10px;
color: #888;
font-size: 0.75rem;
}
.cover-mock__art-label {
margin: 0 0 8px;
color: #8e8e9a;
font-size: 0.62rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
}
.cover-mock__art {
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 168px;
margin-bottom: 12px;
padding: 22px 16px 16px;
border-radius: 10px;
background:
linear-gradient(155deg, rgba(229, 57, 53, 0.22) 0%, transparent 38%),
linear-gradient(180deg, #1c1418 0%, #121218 55%, #0e0e14 100%);
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}
.cover-mock__art::before {
content: "";
position: absolute;
top: -24%;
right: -18%;
width: 58%;
height: 90%;
background: linear-gradient(135deg, rgba(229, 57, 53, 0.28), transparent 70%);
transform: rotate(18deg);
pointer-events: none;
}
.sponsor-cover--compact .cover-mock__art {
min-height: 132px;
padding: 16px 14px 14px;
}
.cover-mock__crest {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
.cover-mock__crest-mark {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 12px;
background: linear-gradient(180deg, #e53935, #b71c1c);
color: #fff;
font-size: 1.15rem;
font-weight: 800;
letter-spacing: 0.02em;
box-shadow: 0 8px 18px rgba(229, 57, 53, 0.28);
}
.sponsor-cover--compact .cover-mock__crest-mark {
width: 36px;
height: 36px;
font-size: 1rem;
border-radius: 10px;
}
.cover-mock__crest-name {
color: #fff;
font-size: 0.78rem;
font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.cover-mock__marks {
position: relative;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
margin-top: 18px;
}
.cover-mock__mark {
display: block;
height: 18px;
border-radius: 4px;
opacity: 0.72;
}
.cover-mock__mark--a {
width: 46px;
background: linear-gradient(90deg, #c9a227, #f0d78c);
}
.cover-mock__mark--b {
width: 34px;
height: 18px;
border-radius: 50%;
background: #d7d7e0;
}
.cover-mock__mark--c {
width: 40px;
background: #8aa4c8;
}
.cover-mock__soon {
margin: 0;
color: #888;
font-size: 0.72rem;
font-style: italic;
}
@media (max-width: 999px) {
.sponsor-cover__panel {
grid-template-columns: 1fr;
text-align: center;
padding: 24px 20px;
}
.sponsor-cover__copy .feature-card__badge { align-self: center; }
.sponsor-cover__copy {
display: flex;
flex-direction: column;
align-items: center;
}
.sponsor-cover__copy h2 { text-align: center; }
.sponsor-cover__lead { margin-left: auto; margin-right: auto; }
.sponsor-cover__copy .features-checklist { text-align: left; width: 100%; max-width: 28rem; }
.cover-mock { width: min(100%, 360px); }
}
@media (max-width: 640px) {
.sponsor-cover__panel { padding: 20px 16px; }
.sponsor-cover__copy h2 { font-size: 1.35rem; }
.cover-mock__home,
.cover-mock__away { font-size: 0.95rem; }
.cover-mock__art { min-height: 148px; }
}
.mltv-preview-badge {
position: fixed;
bottom: 16px;