Files
xamxam/TODO.md
Pontoporeia 32a7509598 feat: add file display to forms and recap pages
- Live file preview on all file inputs (file-field partial, edit template):
  thumbnails for images, emoji icons for PDF/video/zip/vtt, filename + size
- New file-preview.js wired via $extraJs in add.php / edit.php and direct
  <script> in partage/index.php; $extraJs support added to head.php
- admin/recapitulatif.php: replace plain table with rich file list — image
  thumbnails linked to media.php, type badges, human-readable size, date
- partage/recapitulatif.php: full rewrite — shows thesis metadata + files
  list with same rich display (no media links for student privacy)
- form.css: new sections for .file-preview-list (live preview) and
  .recap-file-list / .recap-dl / .partage-recap (recap pages)
2026-04-27 20:52:27 +02:00

17 lines
1.2 KiB
Markdown

# TODO
## File Display in Forms & Recaps
- [x] Add live file preview to `file-field.php` partial (`data-preview` attribute + `.file-preview-list` container)
- [x] Write `file-preview.js` — renders thumbnails for images, emoji icons for PDFs/videos/zips, filename + size
- [x] Load `file-preview.js` in `admin/add.php` via `$extraJs`
- [x] Load `file-preview.js` in `admin/edit.php` via `$extraJs`
- [x] Load `file-preview.js` in `partage/index.php` (self-contained HTML, direct `<script>` tag)
- [x] Support `$extraJs` in `head.php`
- [x] Add `data-preview` + preview container to edit template's cover/banner/files inputs (not using partial)
- [x] Enhance `admin/recapitulatif.php` template — image thumbnails, clickable filenames, type badges, file size, date
- [x] Rewrite `partage/recapitulatif.php` — full recap with thesis metadata + uploaded files list (thumbnails for images, icons for others)
- [x] Add CSS: `.file-preview-list`, `.fp-item`, `.fp-thumb`, `.fp-icon`, `.fp-meta`, `.fp-name`, `.fp-size`
- [x] Add CSS: `.recap-file-list`, `.recap-file-item`, `.recap-file-thumb`, `.recap-file-icon`, `.recap-file-meta`, `.recap-file-type-badge`, `.recap-file-date`
- [x] Add CSS: `.partage-recap`, `.recap-section`, `.recap-dl` for partage recap layout