From c76ea393777897e0c367e186d1a3b243193d8377 Mon Sep 17 00:00:00 2001 From: Ken D'Ambrosio Date: Thu, 14 May 2026 22:59:59 +0000 Subject: Hide transcoded originals from non-admins; mark them visually for admins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit update.rb records transcoded_to in album.json (even on re-runs where the MP4 already exists) so the marker survives across scans. app.rb filters files with transcoded_to from non-admin views. album.erb renders them greyed-out with an amber "⚠ original" badge in admin mode. admin/album.erb marks the edit-table row and shows the target filename under the original. Co-Authored-By: Claude Sonnet 4.6 --- scripts/update.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'scripts/update.rb') diff --git a/scripts/update.rb b/scripts/update.rb index a4969d3..9953505 100644 --- a/scripts/update.rb +++ b/scripts/update.rb @@ -64,16 +64,21 @@ def process_dir(dir) .each do |name| base = File.basename(name, '.*') target = "#{base}.mp4" - next if current.include?(target) # already transcoded on a previous run + if current.include?(target) + # MP4 already exists — just ensure the marker is recorded + data['files'][name] ||= {} + data['files'][name]['transcoded_to'] = target + next + end full = File.join(dir, name) dest = File.join(dir, target) puts " Transcoding: #{name} → #{target}" transcode_to_mp4(full, dest) if File.exist?(dest) data['files'][name] ||= {} - data['files'][name]['visible'] ||= false # hide original; admin can override - current << target # include in processing pass below - puts " → done (original hidden)" + data['files'][name]['transcoded_to'] = target + current << target + puts " → done" else warn " Transcode failed: #{name}" end -- cgit v1.2.3