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>
This commit is contained in:
2026-05-29 07:23:13 +02:00
parent 4083bc5dee
commit f4b7be0f80
156 changed files with 5033 additions and 2033 deletions

View File

@@ -0,0 +1,38 @@
(function () {
function syncRoleFields(form) {
var category = form.querySelector("[data-roster-category]");
if (!category) return;
var isPlayer = category.value === "player";
var playerBlock = form.querySelector("[data-roster-role-player]");
var otherBlock = form.querySelector("[data-roster-role-other]");
var jerseyRow = form.querySelector("[data-roster-jersey-row]");
var playerSelect = form.querySelector("[data-roster-role-player]");
var otherInput = form.querySelector("[data-roster-role-other]");
var jerseyInput = form.querySelector("[data-roster-jersey]");
if (playerBlock) playerBlock.hidden = !isPlayer;
if (otherBlock) otherBlock.hidden = isPlayer;
if (jerseyRow) jerseyRow.hidden = !isPlayer;
if (playerSelect) {
playerSelect.disabled = !isPlayer;
playerSelect.name = isPlayer ? "team_roster_member[role_label]" : "";
}
if (otherInput) {
otherInput.disabled = isPlayer;
otherInput.name = isPlayer ? "" : "team_roster_member[role_label]";
}
if (jerseyInput) jerseyInput.disabled = !isPlayer;
}
document.querySelectorAll("[data-roster-form]").forEach(function (form) {
var category = form.querySelector("[data-roster-category]");
if (!category) return;
syncRoleFields(form);
category.addEventListener("change", function () {
syncRoleFields(form);
});
});
})();