diff options
Diffstat (limited to 'views/slideshow.erb')
| -rw-r--r-- | views/slideshow.erb | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/views/slideshow.erb b/views/slideshow.erb new file mode 100644 index 0000000..847da65 --- /dev/null +++ b/views/slideshow.erb @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title><%= @title %> — Slideshow</title> + <link rel="stylesheet" href="/css/style.css"> +</head> +<body class="slideshow-page"> + <div id="slideshow"> + <div id="ss-stage"> + <img id="ss-img" src="" alt="" style="display:none"> + <video id="ss-video" playsinline style="display:none"></video> + <div id="ss-caption-bar"> + <span id="ss-title"></span> + <span id="ss-caption"></span> + </div> + </div> + <div id="ss-controls"> + <a href="/browse/<%= @rel %>" class="btn btn-sm">← Album</a> + <button onclick="ssPrev()" class="btn btn-sm">‹ Prev</button> + <button onclick="ssToggle()" id="ss-play-btn" class="btn btn-sm">⏸ Pause</button> + <button onclick="ssNext()" class="btn btn-sm">Next ›</button> + <label class="ss-interval-label"> + Interval + <input type="number" id="ss-interval" value="4" min="1" max="60" step="1"> s + </label> + </div> + <div id="ss-counter"></div> + </div> + + <script> + const SS_ENTRIES = <%= @entries.map { |e| + file_rel = @rel.empty? ? e[:name] : "#{@rel}/#{e[:name]}" + e.merge(src: "/media/#{file_rel}") + }.to_json %>; + const SS_REL = <%= @rel.to_json %>; + </script> + <script src="/js/slideshow.js"></script> +</body> +</html> |
