Files
xamxam/TODO.md
Pontoporeia 1aff5ff46d Replace custom file-upload-queue.js with FilePond
- Delete file-upload-queue.js (495 lines of custom queue logic)
- Delete sortable.min.js dependency
- Add file-upload-filepond.js: thin wrapper that upgrades .tfe-file-picker
  inputs to FilePond instances with storeAsFile:true for native multipart
  form submission (no form-submit interception needed)
- Update fichiers-fragment.php: replace queue container <ul> elements
  and empty-state <p> with bare <input> elements that FilePond upgrades;
  change name attributes to queue_file[tfe][] etc. for PHP compatibility
- Update add.php, edit.php, partage/index.php: swap JS/CSS refs
- Clean up form.css: remove .fq-* and .tfe-file-queue custom styles,
  add FilePond theme overrides matching xamxam design tokens
- Update dead-code fieldset-files.php for consistency

Server-side stays unchanged: PHP receives ['queue_file']['tfe'][]
exactly as before through native multipart submission.
2026-05-19 00:08:05 +02:00

1.5 KiB

TODO

  • Replace HTMX+PHP file upload queues with client-side JS
  • Fix submit button on all forms — add JS/PHP debug logging
    • Fix file-upload-queue.js: redirect detection broken due to opaque redirect (switched from fetch to XHR for reliable responseURL)
    • Add console.log tracing on JS submit interception
    • Add error_log entry-point logging to all 16 PHP action files
    • Add double-submit guard (_xamxamActiveSubmit)
  • Fix spurious HTMX console warnings from checkbox-list default hx-include
  • Fix duplicate language entries (accented vs non-accented variants)
  • Fix checkbox click in admin index navigating to recapitulatif instead of toggling
    • Deduplicate getPredefinedLanguages() query
    • Accent-tolerant getOrCreateLanguage() to prevent future duplicates
    • Delete orphan non-accented language rows from DB
  • Migrate file upload queues to FilePond
    • Download filepond.min.js + filepond.min.css as local assets
    • Create file-upload-filepond.js (init script for FilePond instances)
    • Rewrite fichiers-fragment.php: replace custom picker/queue DOM with FilePond targets
    • Rewrite fieldset-files.php: same migration (dead code but kept consistent)
    • Update admin/add.php, admin/edit.php, partage/index.php: swap sortable+file-upload-queue for filepond
    • Remove file-upload-queue.js and sortable.min.js
    • Clean up CSS: remove .fq-*, .tfe-file-queue styles, add filepond.css + theme overrides