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>
39 lines
1.4 KiB
JavaScript
39 lines
1.4 KiB
JavaScript
(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);
|
|
});
|
|
});
|
|
})();
|