updated
This commit is contained in:
parent
bc768ea12f
commit
7aeb2ee474
|
@ -1,192 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta
|
|
||||||
name="viewport"
|
|
||||||
content="width=device-width, initial-scale=1, user-scalable=no"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<title>File Browser</title>
|
|
||||||
|
|
||||||
<link
|
|
||||||
rel="icon"
|
|
||||||
type="image/png"
|
|
||||||
sizes="32x32"
|
|
||||||
href="/img/icons/favicon-32x32.png"
|
|
||||||
/>
|
|
||||||
<link
|
|
||||||
rel="icon"
|
|
||||||
type="image/png"
|
|
||||||
sizes="16x16"
|
|
||||||
href="/img/icons/favicon-16x16.png"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- Add to home screen for Android and modern mobile browsers -->
|
|
||||||
<link
|
|
||||||
rel="manifest"
|
|
||||||
id="manifestPlaceholder"
|
|
||||||
crossorigin="use-credentials"
|
|
||||||
/>
|
|
||||||
<meta name="theme-color" content="#2979ff" />
|
|
||||||
|
|
||||||
<!-- Add to home screen for Safari on iOS/iPadOS -->
|
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
|
||||||
<meta name="apple-mobile-web-app-title" content="assets" />
|
|
||||||
<link rel="apple-touch-icon" href="/img/icons/apple-touch-icon.png" />
|
|
||||||
|
|
||||||
<!-- Add to home screen for Windows -->
|
|
||||||
<meta
|
|
||||||
name="msapplication-TileImage"
|
|
||||||
content="/img/icons/mstile-144x144.png"
|
|
||||||
/>
|
|
||||||
<meta name="msapplication-TileColor" content="#2979ff" />
|
|
||||||
|
|
||||||
<!-- Inject Some Variables and generate the manifest json -->
|
|
||||||
<script>
|
|
||||||
// We can assign JSON directly
|
|
||||||
window.FileBrowser = {
|
|
||||||
AuthMethod: "json",
|
|
||||||
BaseURL: "",
|
|
||||||
CSS: false,
|
|
||||||
Color: "",
|
|
||||||
DisableExternal: false,
|
|
||||||
DisableUsedPercentage: false,
|
|
||||||
EnableExec: true,
|
|
||||||
EnableThumbs: true,
|
|
||||||
LoginPage: true,
|
|
||||||
Name: "",
|
|
||||||
NoAuth: false,
|
|
||||||
ReCaptcha: false,
|
|
||||||
ResizePreview: true,
|
|
||||||
Signup: false,
|
|
||||||
StaticURL: "",
|
|
||||||
Theme: "",
|
|
||||||
TusSettings: { chunkSize: 10485760, retryCount: 5 },
|
|
||||||
Version: "(untracked)",
|
|
||||||
};
|
|
||||||
// Global function to prepend static url
|
|
||||||
window.__prependStaticUrl = (url) => {
|
|
||||||
return `${window.FileBrowser.StaticURL}/${url.replace(/^\/+/, "")}`;
|
|
||||||
};
|
|
||||||
var dynamicManifest = {
|
|
||||||
name: window.FileBrowser.Name || "File Browser",
|
|
||||||
short_name: window.FileBrowser.Name || "File Browser",
|
|
||||||
icons: [
|
|
||||||
{
|
|
||||||
src: window.__prependStaticUrl(
|
|
||||||
"/img/icons/android-chrome-192x192.png"
|
|
||||||
),
|
|
||||||
sizes: "192x192",
|
|
||||||
type: "image/png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: window.__prependStaticUrl(
|
|
||||||
"/img/icons/android-chrome-512x512.png"
|
|
||||||
),
|
|
||||||
sizes: "512x512",
|
|
||||||
type: "image/png",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
start_url: window.location.origin + window.FileBrowser.BaseURL,
|
|
||||||
display: "standalone",
|
|
||||||
background_color: "#ffffff",
|
|
||||||
theme_color: window.FileBrowser.Color || "#455a64",
|
|
||||||
};
|
|
||||||
|
|
||||||
const stringManifest = JSON.stringify(dynamicManifest);
|
|
||||||
const blob = new Blob([stringManifest], { type: "application/json" });
|
|
||||||
const manifestURL = URL.createObjectURL(blob);
|
|
||||||
document
|
|
||||||
.querySelector("#manifestPlaceholder")
|
|
||||||
.setAttribute("href", manifestURL);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
#loading {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background: #fff;
|
|
||||||
z-index: 9999;
|
|
||||||
transition: 0.1s ease opacity;
|
|
||||||
-webkit-transition: 0.1s ease opacity;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loading.done {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loading .spinner {
|
|
||||||
width: 70px;
|
|
||||||
text-align: center;
|
|
||||||
position: fixed;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
-webkit-transform: translate(-50%, -50%);
|
|
||||||
transform: translate(-50%, -50%);
|
|
||||||
}
|
|
||||||
|
|
||||||
#loading .spinner > div {
|
|
||||||
width: 18px;
|
|
||||||
height: 18px;
|
|
||||||
background-color: #333;
|
|
||||||
border-radius: 100%;
|
|
||||||
display: inline-block;
|
|
||||||
-webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
|
|
||||||
animation: sk-bouncedelay 1.4s infinite ease-in-out both;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loading .spinner .bounce1 {
|
|
||||||
-webkit-animation-delay: -0.32s;
|
|
||||||
animation-delay: -0.32s;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loading .spinner .bounce2 {
|
|
||||||
-webkit-animation-delay: -0.16s;
|
|
||||||
animation-delay: -0.16s;
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes sk-bouncedelay {
|
|
||||||
0%,
|
|
||||||
80%,
|
|
||||||
100% {
|
|
||||||
-webkit-transform: scale(0);
|
|
||||||
}
|
|
||||||
40% {
|
|
||||||
-webkit-transform: scale(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes sk-bouncedelay {
|
|
||||||
0%,
|
|
||||||
80%,
|
|
||||||
100% {
|
|
||||||
-webkit-transform: scale(0);
|
|
||||||
transform: scale(0);
|
|
||||||
}
|
|
||||||
40% {
|
|
||||||
-webkit-transform: scale(1);
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app"></div>
|
|
||||||
|
|
||||||
<div id="loading">
|
|
||||||
<div class="spinner">
|
|
||||||
<div class="bounce1"></div>
|
|
||||||
<div class="bounce2"></div>
|
|
||||||
<div class="bounce3"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script type="module" src="/src/main.js"></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Loading…
Reference in New Issue