Ajouter fichier demo et info M3U

This commit is contained in:
Johnnybegood90
2026-03-15 14:17:31 +01:00
parent ef374b2633
commit e903a0b3d6
6 changed files with 22 additions and 5 deletions
+3 -1
View File
@@ -43,6 +43,8 @@
"personal_epg_label": "EPG URL (XMLTV) *", "personal_epg_label": "EPG URL (XMLTV) *",
"personal_epg_m3u_label": "M3U URL", "personal_epg_m3u_label": "M3U URL",
"personal_epg_optional": "optional", "personal_epg_optional": "optional",
"personal_epg_m3u_enabled": "This instance allows a personal M3U playlist.",
"personal_epg_m3u_disabled": "The administrator of this instance has disabled personal M3U playlists.",
"cancel": "Cancel", "cancel": "Cancel",
"apply": "Apply", "apply": "Apply",
"setup_already_done": "Configuration already done. Use your admin key to access setup again.", "setup_already_done": "Configuration already done. Use your admin key to access setup again.",
@@ -52,4 +54,4 @@
"fav_remove": "Remove from favorites", "fav_remove": "Remove from favorites",
"update_available": "↑ Update available:", "update_available": "↑ Update available:",
"update_title": "Click to download the latest version" "update_title": "Click to download the latest version"
} }
+3 -1
View File
@@ -43,6 +43,8 @@
"personal_epg_label": "URL EPG (XMLTV) *", "personal_epg_label": "URL EPG (XMLTV) *",
"personal_epg_m3u_label": "URL M3U", "personal_epg_m3u_label": "URL M3U",
"personal_epg_optional": "opcional", "personal_epg_optional": "opcional",
"personal_epg_m3u_enabled": "Esta instancia permite una lista M3U personal.",
"personal_epg_m3u_disabled": "El administrador de esta instancia ha desactivado las listas M3U personales.",
"cancel": "Cancelar", "cancel": "Cancelar",
"apply": "Aplicar", "apply": "Aplicar",
"setup_already_done": "Configuración ya realizada. Usa tu clave de administrador para volver al setup.", "setup_already_done": "Configuración ya realizada. Usa tu clave de administrador para volver al setup.",
@@ -52,4 +54,4 @@
"fav_remove": "Quitar de favoritos", "fav_remove": "Quitar de favoritos",
"update_available": "↑ Actualizacion disponible:", "update_available": "↑ Actualizacion disponible:",
"update_title": "Haz clic para descargar la ultima version" "update_title": "Haz clic para descargar la ultima version"
} }
+3 -1
View File
@@ -43,6 +43,8 @@
"personal_epg_label": "URL EPG (XMLTV) *", "personal_epg_label": "URL EPG (XMLTV) *",
"personal_epg_m3u_label": "URL M3U", "personal_epg_m3u_label": "URL M3U",
"personal_epg_optional": "optionnel", "personal_epg_optional": "optionnel",
"personal_epg_m3u_enabled": "Cette instance autorise l'ajout d'une playlist M3U personnelle.",
"personal_epg_m3u_disabled": "L'administrateur de cette instance a désactivé l'ajout d'une playlist M3U personnelle.",
"cancel": "Annuler", "cancel": "Annuler",
"apply": "Appliquer", "apply": "Appliquer",
"setup_already_done": "Configuration déjà effectuée. Utilisez votre clé admin pour accéder à nouveau au setup.", "setup_already_done": "Configuration déjà effectuée. Utilisez votre clé admin pour accéder à nouveau au setup.",
@@ -52,4 +54,4 @@
"fav_remove": "Retirer des favoris", "fav_remove": "Retirer des favoris",
"update_available": "↑ Mise a jour disponible :", "update_available": "↑ Mise a jour disponible :",
"update_title": "Cliquez pour telecharger la derniere version" "update_title": "Cliquez pour telecharger la derniere version"
} }
+7
View File
@@ -25,6 +25,13 @@
} }
.modal-field input:focus { border-color: var(--accent); } .modal-field input:focus { border-color: var(--accent); }
.modal-field input::placeholder { color: var(--text-dim); opacity: 0.4; } .modal-field input::placeholder { color: var(--text-dim); opacity: 0.4; }
.modal-field-note {
margin-top: 6px; font-size: 11px; line-height: 1.45; opacity: 0.82;
color: var(--text-dim);
}
.modal-field-note.is-disabled {
color: #ffb0a5; opacity: 1;
}
.modal-actions { display: flex; gap: 10px; margin-top: 20px; justify-content: flex-end; } .modal-actions { display: flex; gap: 10px; margin-top: 20px; justify-content: flex-end; }
.modal-btn-cancel { .modal-btn-cancel {
background: none; border: 1px solid var(--border-bright); color: var(--text-dim); background: none; border: 1px solid var(--border-bright); color: var(--text-dim);
+5 -1
View File
@@ -36,7 +36,11 @@ function openPersonalEpgModal() {
m3uInput.disabled = !ALLOW_PERSONAL_M3U; m3uInput.disabled = !ALLOW_PERSONAL_M3U;
} }
if (m3uHint) { if (m3uHint) {
m3uHint.style.display = ALLOW_PERSONAL_M3U ? '' : 'none'; m3uHint.textContent = ALLOW_PERSONAL_M3U
? (m3uHint.dataset.enabledText ?? '')
: (m3uHint.dataset.disabledText ?? '');
m3uHint.classList.toggle('is-disabled', !ALLOW_PERSONAL_M3U);
m3uHint.style.display = '';
} }
modal.classList.add('visible'); modal.classList.add('visible');
} }
+1 -1
View File
@@ -29,7 +29,7 @@
<div class="modal-field"> <div class="modal-field">
<label><?= htmlspecialchars($L["personal_epg_m3u_label"]) ?> <span style="opacity:.5;font-size:10px">(<?= htmlspecialchars($L["personal_epg_optional"]) ?>)</span></label> <label><?= htmlspecialchars($L["personal_epg_m3u_label"]) ?> <span style="opacity:.5;font-size:10px">(<?= htmlspecialchars($L["personal_epg_optional"]) ?>)</span></label>
<input type="url" id="personalM3uInput" placeholder="http://mon-serveur/channels.m3u"> <input type="url" id="personalM3uInput" placeholder="http://mon-serveur/channels.m3u">
<div id="personalM3uHint" style="margin-top:6px;font-size:11px;opacity:.7;">This instance allows a personal M3U playlist.</div> <div id="personalM3uHint" class="modal-field-note" data-enabled-text="<?= htmlspecialchars($L["personal_epg_m3u_enabled"]) ?>" data-disabled-text="<?= htmlspecialchars($L["personal_epg_m3u_disabled"]) ?>"></div>
</div> </div>
<div class="modal-actions"> <div class="modal-actions">
<button class="modal-btn-cancel" onclick="closePersonalEpgModal()"><?= htmlspecialchars($L["cancel"]) ?></button> <button class="modal-btn-cancel" onclick="closePersonalEpgModal()"><?= htmlspecialchars($L["cancel"]) ?></button>