mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
fix: resolve partage form submission issues
- Replace mb_strlen/mb_substr/mb_strtolower with strlen/substr/strtolower (mbstring extension missing on server, causing fatal error) - Scope annexes checkbox HTMX swap to #annexes-input-block with hx-select (prevents duplicating entire page inside Fichiers fieldset) - Split format+fichiers response: #format-fichiers-block (stable) and #format-extras-block (swappable, inside Fichiers fieldset). Format checkboxes use hx-select to extract only the extras, preserving file queue. - Keep format extras inline in Fichiers fieldset (no sub-fieldsets). Remove website legend input (URL only). - When PeerTube upload disabled, show direct file upload inputs for video/audio (name=files[]). - Add "Glissez-déposez" sort hint below TFE file queue. - Fix .fq-name overflow with width:0;min-width:100% chain. - Remove legend placeholder from .fq-item. - Merge "Récits et expérimentation" AP into "Narration Spéculative". Rename PACS to "Pratique de lart - outils critiques, arts et contexte simultanés". - Remove président·e field from jury fieldset, form templates, and controller validation. Keep DB column and display logic for existing data.
This commit is contained in:
@@ -546,6 +546,7 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-2xs);
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
/* New-file queue items */
|
||||
@@ -618,6 +619,8 @@
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
width: 0;
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.fq-size {
|
||||
|
||||
@@ -38,9 +38,10 @@ window.XamxamInitFileUploads = function () {
|
||||
function esc(s) { return s.replace(/[&<>"]/g, function(c){ return {'&':'&','<':'<','>':'>','"':'"'}[c]; }); }
|
||||
|
||||
// ── 1. TFE multi-file queue ────────────────────────────────────────────
|
||||
var picker = document.getElementById('tfe-files-input');
|
||||
var queue = document.getElementById('tfe-file-queue');
|
||||
var empty = document.getElementById('tfe-file-queue-empty');
|
||||
var picker = document.getElementById('tfe-files-input');
|
||||
var queue = document.getElementById('tfe-file-queue');
|
||||
var empty = document.getElementById('tfe-file-queue-empty');
|
||||
var sortHint = document.getElementById('tfe-file-queue-sort-hint');
|
||||
if (picker && queue) {
|
||||
console.log('[file-upload-queue] init TFE queue picker=', picker, 'multiple=', picker.multiple);
|
||||
var fileArray = [];
|
||||
@@ -66,8 +67,9 @@ window.XamxamInitFileUploads = function () {
|
||||
|
||||
function renderQueue() {
|
||||
queue.innerHTML = '';
|
||||
if (!fileArray.length) { empty.style.display = ''; injectHiddenFields([]); return; }
|
||||
if (!fileArray.length) { empty.style.display = ''; if (sortHint) sortHint.style.display = 'none'; injectHiddenFields([]); return; }
|
||||
empty.style.display = 'none';
|
||||
if (sortHint) sortHint.style.display = '';
|
||||
fileArray.forEach(function (file, idx) {
|
||||
var li = document.createElement('li');
|
||||
li.className = 'fq-item';
|
||||
@@ -76,8 +78,7 @@ window.XamxamInitFileUploads = function () {
|
||||
'<span class="fq-drag-handle" title="R\u00e9ordonner">\u2820</span>' +
|
||||
'<span class="fq-icon">' + iconFor(file) + '</span>' +
|
||||
'<span class="fq-info"><span class="fq-name">' + esc(file.name) + '</span>' +
|
||||
'<span class="fq-size">' + humanSize(file.size) + '</span>' +
|
||||
'<input type="text" class="fq-label admin-file-label-input" placeholder="L\u00e9gende / description (optionnel)"></span>' +
|
||||
'<span class="fq-size">' + humanSize(file.size) + '</span></span>' +
|
||||
'<button type="button" class="admin-btn-remove fq-remove" aria-label="Retirer ' + esc(file.name) + '">✕</button>';
|
||||
li.querySelector('.fq-remove').onclick = (function (i) { return function () { fileArray.splice(i, 1); renderQueue(); }; })(idx);
|
||||
queue.appendChild(li);
|
||||
|
||||
Reference in New Issue
Block a user