Changeset f24b795 in Klonkt for src/views/pages/admin.ejs


Ignore:
Timestamp:
06/30/2026 06:46:32 PM (2 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
2ab99c0
Parents:
a95dbfd
Message:

feat(media): Beheer -> Media — image library with usage + cleanup of orphan files

A new /admin/media page lists uploaded images (storage/media/post-images), shows how many posts use
each, lets you copy a URL, and deletes unused files — including the loop-MP4 + poster siblings of an
animated cover. The Beheer "Audio" nav link becomes "Media" (Audio stays a tab linking to
/admin/audio) so the nav doesn't grow. Mounted unconditionally (works in lite/no-audio mode).

  • src/routes/admin-media.js — list / delete / cleanup (path-traversal-safe, god-only)
  • src/views/pages/admin-media.ejs — grid + copy/delete/cleanup (CSP-safe nonce'd script)
  • server.js mount; admin.ejs nav Audio->Media; i18n nl/en/de

Co-Authored-By: Claude <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/views/pages/admin.ejs

    ra95dbfd rf24b795  
    2727      <a href="/admin/sites" class="btn"><%= t('admin.b_sites') %></a>
    2828      <a href="/admin/users" class="btn"><%= t('admin.b_users') %></a>
     29      <a href="/admin/media" class="btn"><%= t('admin.b_media') %></a>
    2930      <% if (typeof audioEnabled === 'undefined' || audioEnabled) { %>
    30       <a href="/admin/audio" class="btn"><%= t('admin.b_audio') %></a>
    3131      <a href="/admin/playlists" class="btn"><%= t('admin.b_playlists') %></a>
    3232      <% } %>
     
    3535    <% } else { %>
    3636      <a href="/posts/new" class="btn"><%= t('admin.b_newpost') %></a>
    37       <% if (typeof audioEnabled === 'undefined' || audioEnabled) { %>
    38       <a href="/admin/audio" class="btn"><%= t('admin.b_audio') %></a>
    39       <% } %>
     37      <a href="/admin/media" class="btn"><%= t('admin.b_media') %></a>
    4038      <% if (primarySite) { %>
    4139        <a href="/admin/sites/<%= primarySite.slug %>/edit" class="btn"><%= t('admin.b_look') %></a>
Note: See TracChangeset for help on using the changeset viewer.