enhance: updated theme for web file browser

This commit is contained in:
2024-12-02 10:45:18 -07:00
parent f7d49fa066
commit 331766bd3a
11 changed files with 480 additions and 91 deletions

View File

@@ -1,9 +1,10 @@
/*!
*
* This file is part of the nginx-fancyindex-flat-theme, licensed under the GNU
* General Public License. See the LICENSE file for details.
*
* Copyright (C)
* 2018-2024 Alexander Haase <ahaase@alexhaase.de>
*/
function generateBreadcrumbs(){for(var e,a,n,r=window.location.pathname.replace(/\/$/,"").split("/"),t="",c="",o=0;o<r.length;o++)c+=r[o]+"/",t+=(e=0==o?"Home":decodeURIComponent(r[o]),a=c,'<li class="breadcrumb-item'+((n=o==r.length-1)?' active aria-current="page':"")+'">'+(n?"":'<a href="'+a+'">')+e+(n?"":"</a>"));document.getElementById("breadcrumbs").innerHTML=t}
/*
@app thetvapp grabber
@author Aetherinox
@url https://github.com/Aetherinox/thetvapp-docker
https://hub.docker.com/repository/docker/aetherinox/thetvapp
Generate breadcrumbs for header
*/
function CreateBreadcrumbs(){for(var e,a,n,r=window.location.pathname.replace(/\/$/,"").split("/"),t="",c="",o=0;o<r.length;o++)c+=r[o]+"/",t+=(e=0==o?"Home":decodeURIComponent(r[o]),a=c,'<li class="breadcrumb-item'+((n=o==r.length-1)?' active aria-current="page':"")+'">'+(n?"":'<a href="'+a+'">')+e+(n?"":"</a>"));document.getElementById("breadcrumbs").innerHTML=t}

View File

@@ -0,0 +1,203 @@
/*
@app thetvapp grabber
@author Aetherinox
@url https://github.com/Aetherinox/thetvapp-docker
https://hub.docker.com/repository/docker/aetherinox/thetvapp
Generate icons for each file shown in list
*/
function GenerateFileIcons()
{
function e(e)
{
return '<i class="fa fa-fw ' + e + '" aria-hidden="true"></i>'
}
var a = document.getElementById("list");
a.removeAttribute("cellpadding"), a.removeAttribute("cellspacing"), a.classList.add("table", "table-sm", "table-hover", "text-nowrap"), a.tHead.children[0].classList.add("d-none", "d-md-table-row"), "/" != window.location.pathname && a.deleteRow(1);
for (var s, c = 0; s = a.rows[c]; c++) filetype = function(e)
{
if (e.endsWith("/"))
return "fa-duotone fa-solid fa-folder";
switch (e.split(".").pop().toLowerCase())
{
case "txt":
return "fa-solid fa-file-lines";
case "pdf":
return "fa-solid fa-file-pdf";
case "bmp":
return "fa-solid fa-file-image";
case "gif":
return "fa-solid fa-file-gif";
case "jpeg":
return "fa-solid fa-file-jpg";
case "jpg":
return "fa-solid fa-file-jpg";
case "png":
return "fa-solid fa-file-png";
case "tif":
return "fa-solid fa-file-image";
case "tiff":
return "fa-solid fa-file-image";
case "aac":
return "fa-solid fa-file-music";
case "aiff":
return "fa-solid fa-file-audio";
case "m4a":
return "fa-solid fa-file-audio";
case "mp3":
return "fa-solid fa-file-mp3";
case "ogg":
return "fa-solid fa-file-music";
case "opus":
return "fa-solid fa-file-music";
case "m3u":
return "fa-solid fa-file-lines";
case "m3u8":
return "fa-solid fa-file-lines";
case "wav":
return "fa-solid fa-file-audio";
case "amv":
return "fa-solid fa-file-video";
case "avi":
return "fa-solid fa-file-video";
case "flv":
return "fa-solid fa-file-video";
case "m4v":
return "fa-solid fa-file-video";
case "mkv":
return "fa-solid fa-file-video";
case "mov":
return "fa-solid fa-file-mov";
case "mp4":
return "fa-solid fa-file-mp4";
case "m4p":
return "fa-solid fa-file-audio";
case "mpeg":
return "fa-solid fa-file-mp4"
case "mpg":
return "fa-solid fa-file-video";
case "ogv":
return "fa-solid fa-file-video";
case "vob":
return "fa-duotone fa-solid fa-photo-film";
case "webm":
return "fa-solid fa-file-video";
case "wmv":
return "fa-solid fa-file-video";
case "7z":
return "fa-solid fa-file-zipper";
case "a":
return "fa-solid fa-file-binary";
case "apk":
return "fa-solid fa-box-archive";
case "ar":
return "fa-solid fa-file-binary";
case "bin":
return "fa-solid fa-file-binary";
case "bz2":
return "fa-solid fa-file-zipper";
case "cab":
return "fa-solid fa-cabinet-filing";
case "dmg":
return "fa-solid fa-tablet-button";
case "gz":
return "fa-solid fa-file-zipper"
case "xml":
return "fa-solid fa-file-xml"
case "iso":
return "fa-duotone fa-regular fa-compact-disc";
case "jar":
return "fa-solid fa-jar";
case "lz":
return "fa-solid fa-file-zipper"
case "lzma":
return "fa-solid fa-file-zipper"
case "lzo":
return "fa-solid fa-file-zipper"
case "pak":
return "fa-solid fa-file-zipper"
case "partimg":
return "fa-solid fa-file-zipper"
case "rar":
return "fa-solid fa-file-zipper"
case "s7z":
return "fa-solid fa-file-zipper"
case "tar":
return "fa-solid fa-file-zipper"
case "tbz2":
return "fa-solid fa-file-zipper"
case "tgz":
return "fa-solid fa-file-zipper"
case "tlz":
return "fa-solid fa-file-zipper"
case "txz":
return "fa-solid fa-file-zipper"
case "xz":
return "fa-solid fa-file-zipper"
case "zip":
return "fa-solid fa-file-zip";
case "doc":
return "fa-solid fa-file-doc";
case "docx":
return "fa-solid fa-file-doc";
case "odt":
return "fa-solid fa-file-lines";
case "rtf":
return "fa-solid fa-file-word";
case "csv":
return "fa-solid fa-file-csv";
case "ods":
return "fa-solid fa-file-spreadsheet";
case "xls":
return "fa-solid fa-file-xls";
case "xlsx":
return "fa-solid fa-file-xls";
case "odp":
return "fa-solid fa-file-powerpoint";
case "ppt":
return "fa-solid fa-file-ppt";
case "pptx":
return "fa-solid fa-file-powerpoint";
case "c":
return "fa-solid fa-file-binary";
case "class":
return "fa-solid fa-file-binary";
case "cpp":
return "fa-solid fa-file-binary";
case "cs":
return "fa-solid fa-file-binary";
case "h":
return "fa-solid fa-file-binary";
case "hpp":
return "fa-solid fa-file-binary";
case "hxx":
return "fa-solid fa-file-binary";
case "java":
return "fa-solid fa-file-binary";
case "py":
return "fa-solid fa-file-code";
case "sh":
return "fa-solid fa-file-code";
case "swift":
return "fa-solid fa-file-code";
case "vb":
return "fa-solid fa-file-code";
case "svg":
return "fa-solid fa-file-svg";
case "pem":
return "fa-solid fa-file-lock";
case "key":
return "fa-solid fa-file-lock";
case "eps":
return "fa-solid fa-file-eps";
case "cad":
return "fa-solid fa-file-cad";
default:
return "fa-solid fa-file"
}
}(s.cells[0].children[0].innerHTML), s.insertCell(0).innerHTML = 0 < c ? e(filetype) : "", s.cells[0].classList.add("col-auto"), s.cells[1].classList.add("col", "filename"), s.cells[2].classList.add("col-auto", "d-none", "d-md-table-cell"), s.cells[3].classList.add("col-auto", "d-none", "d-md-table-cell"), "image" == filetype && s.cells[1].children[0].setAttribute("data-lightbox", "roadtrip")
}

File diff suppressed because one or more lines are too long

View File

@@ -1,9 +0,0 @@
/*!
*
* This file is part of the nginx-fancyindex-flat-theme, licensed under the GNU
* General Public License. See the LICENSE file for details.
*
* Copyright (C)
* 2018-2024 Alexander Haase <ahaase@alexhaase.de>
*/
function generateList(){function e(e){return'<i class="fa fa-fw '+function(e){switch(e){case"folder":return"fa-folder";case"archive":case"audio":case"code":case"excel":case"image":case"pdf":case"powerpoint":case"text":case"video":case"word":return"fa-file-"+e+"-o";default:return"fa-file-o"}}(e)+'" aria-hidden="true"></i>'}var a=document.getElementById("list");a.removeAttribute("cellpadding"),a.removeAttribute("cellspacing"),a.classList.add("table","table-sm","table-hover","text-nowrap"),a.tHead.children[0].classList.add("d-none","d-md-table-row"),"/"!=window.location.pathname&&a.deleteRow(1);for(var s,c=0;s=a.rows[c];c++)filetype=function(e){if(e.endsWith("/"))return"folder";switch(e.split(".").pop().toLowerCase()){case"txt":return"text";case"pdf":return"pdf";case"bmp":case"gif":case"jpeg":case"jpg":case"png":case"tif":case"tiff":return"image";case"aac":case"aiff":case"m4a":case"mp3":case"ogg":case"opus":case"wav":return"audio";case"amv":case"avi":case"flv":case"m4v":case"mkv":case"mov":case"mp4":case"m4p":case"mpeg":case"mpg":case"ogv":case"vob":case"webm":case"wmv":return"video";case"7z":case"a":case"apk":case"ar":case"bin":case"bz2":case"cab":case"dmg":case"gz":case"iso":case"jar":case"lz":case"lzma":case"lzo":case"pak":case"partimg":case"rar":case"s7z":case"tar":case"tbz2":case"tgz":case"tlz":case"txz":case"xz":case"zip":return"archive";case"doc":case"docx":case"odt":case"rtf":return"word";case"csv":case"ods":case"xls":case"xlsx":return"excel";case"odp":case"ppt":case"pptx":return"powerpoint";case"c":case"class":case"cpp":case"cs":case"h":case"hpp":case"hxx":case"java":case"py":case"sh":case"swift":case"vb":return"code"}}(s.cells[0].children[0].innerHTML),s.insertCell(0).innerHTML=0<c?e(filetype):"",s.cells[0].classList.add("col-auto"),s.cells[1].classList.add("col","filename"),s.cells[2].classList.add("col-auto","d-none","d-md-table-cell"),s.cells[3].classList.add("col-auto","d-none","d-md-table-cell"),"image"==filetype&&s.cells[1].children[0].setAttribute("data-lightbox","roadtrip")}