69 lines
2.4 KiB
JavaScript
69 lines
2.4 KiB
JavaScript
function renderFileButton(apiURL, id, title, subtitle) {
|
|
let btn = document.createElement("a");
|
|
btn.classList = "file_button";
|
|
btn.href = "/u/"+id;
|
|
btn.target = "_blank";
|
|
let thumbnail = document.createElement("img");
|
|
thumbnail.src = apiURL+"/file/"+id+"/thumbnail?width=80&height=80";
|
|
thumbnail.alt = title;
|
|
let titleSpan = document.createElement("span");
|
|
titleSpan.classList = "file_button_title";
|
|
titleSpan.innerText = title;
|
|
let br = document.createElement("br");
|
|
let subtitleSpan = document.createElement("span");
|
|
subtitleSpan.classList = "file_button_subtitle";
|
|
subtitleSpan.innerText = subtitle;
|
|
|
|
btn.appendChild(thumbnail);
|
|
btn.appendChild(titleSpan);
|
|
btn.appendChild(br);
|
|
btn.appendChild(subtitleSpan);
|
|
return btn;
|
|
}
|
|
function renderListButton(apiURL, id, title, subtitle) {
|
|
let btn = document.createElement("a");
|
|
btn.classList = "file_button";
|
|
btn.href = "/l/"+id;
|
|
btn.target = "_blank";
|
|
let thumbnail = document.createElement("img");
|
|
thumbnail.src = apiURL+"/list/"+id+"/thumbnail?width=80&height=80";
|
|
thumbnail.alt = title;
|
|
let titleSpan = document.createElement("span");
|
|
titleSpan.classList = "file_button_title";
|
|
titleSpan.innerText = title;
|
|
let br = document.createElement("br");
|
|
let subtitleSpan = document.createElement("span");
|
|
subtitleSpan.classList = "file_button_subtitle";
|
|
subtitleSpan.innerText = subtitle;
|
|
|
|
btn.appendChild(thumbnail);
|
|
btn.appendChild(titleSpan);
|
|
btn.appendChild(br);
|
|
btn.appendChild(subtitleSpan);
|
|
return btn;
|
|
}
|
|
|
|
function addUploadHistory(fileID) {
|
|
// Make sure the user is not logged in, for privacy. This keeps the
|
|
// files uploaded while logged in and anonymously uploaded files
|
|
// separated
|
|
if (document.cookie.includes("pd_auth_key")) { return; }
|
|
|
|
let uploads = localStorage.getItem("uploaded_files");
|
|
if (uploads === null) { uploads = ""; }
|
|
|
|
// Check if there are not too many values stored
|
|
if (uploads.length > 3600) {
|
|
// 3600 characters is enough to store 400 file IDs. If we exceed that
|
|
// number we'll drop the last two items
|
|
uploads = uploads.substring(
|
|
uploads.indexOf(",") + 1
|
|
).substring(
|
|
uploads.indexOf(",") + 1
|
|
);
|
|
}
|
|
|
|
// Save the new ID
|
|
localStorage.setItem("uploaded_files", fileID + "," + uploads);
|
|
}
|