Share button on the videos list
Sharing from here is the common case — you are looking at the thing you want to send. Uses the native share sheet where there is one, otherwise copies, and the link carries a filename so it ends in .mp4 for clients that read the URL rather than the headers.
This commit is contained in:
parent
e0db55e0db
commit
9801f1a8d1
1 changed files with 14 additions and 1 deletions
15
videos.html
15
videos.html
|
|
@ -66,12 +66,25 @@ function card(p) {
|
|||
if (p.video_url) {
|
||||
// A finished video was a dead end here: watch or download, and no way back
|
||||
// into the shots, the cutaways or the cut without knowing the URL.
|
||||
cta += '<a class="btn" style="display:inline-block;text-decoration:none;margin-top:10px;margin-left:8px" href="/script.html?id='
|
||||
cta += '<button type="button" class="btn" style="margin-top:10px;margin-left:8px" '
|
||||
+ 'data-share="' + encodeURIComponent(p.id) + '">Share</button>';
|
||||
cta += '<a class="btn ghost" style="display:inline-block;text-decoration:none;margin-top:10px;margin-left:8px" href="/script.html?id='
|
||||
+ encodeURIComponent(p.id) + '">Edit</a>';
|
||||
cta += '<a class="btn ghost" style="display:inline-block;text-decoration:none;margin-top:10px;margin-left:8px" href="'
|
||||
+ esc(p.video_url) + '" download>Download</a>';
|
||||
}
|
||||
|
||||
// The file URL ends in /public with no filename. Headers are already right
|
||||
// (video/mp4), but clients that sniff the URL string are not, and a filename
|
||||
// query is accepted and ignored by the file service.
|
||||
window.__shareUrl = window.__shareUrl || function (p) {
|
||||
var u = p.cut_url || p.video_url || "";
|
||||
if (!u) return "";
|
||||
var slug = ((p.pet_name || "video") + " " + (p.title || "")).toLowerCase()
|
||||
.replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "").slice(0, 40) || "video";
|
||||
return u + (u.indexOf("?") < 0 ? "?" : "&") + "v=" + slug + ".mp4";
|
||||
};
|
||||
|
||||
return '<div class="item">'
|
||||
+ '<div>' + media + '</div>'
|
||||
+ '<div>'
|
||||
|
|
|
|||
Loading…
Reference in a new issue