mirror of
https://github.com/imgfloat/server.git
synced 2026-02-05 11:49:25 +00:00
Simple refactor
This commit is contained in:
@@ -1544,7 +1544,6 @@ button:disabled:hover {
|
|||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
padding: 8px 10px;
|
padding: 8px 10px;
|
||||||
background: #111827;
|
background: #111827;
|
||||||
border-top: 1px solid #1f2937;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
@@ -1552,6 +1551,10 @@ button:disabled:hover {
|
|||||||
height: 60px;
|
height: 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.asset-item:not(.is-hidden) {
|
||||||
|
border-top: 1px solid #1f2937;
|
||||||
|
}
|
||||||
|
|
||||||
.asset-item:last-child {
|
.asset-item:last-child {
|
||||||
border-bottom: 1px solid #1f2937;
|
border-bottom: 1px solid #1f2937;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { isAudioAsset } from "./media/audio.js";
|
||||||
|
|
||||||
const canvas = document.getElementById("admin-canvas");
|
const canvas = document.getElementById("admin-canvas");
|
||||||
const ctx = canvas.getContext("2d");
|
const ctx = canvas.getContext("2d");
|
||||||
const overlay = document.getElementById("admin-overlay");
|
const overlay = document.getElementById("admin-overlay");
|
||||||
@@ -77,6 +79,18 @@ audioUnlockEvents.forEach((eventName) => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function handleFileSelection(input) {
|
||||||
|
if (!input) return;
|
||||||
|
const hasFile = input.files && input.files.length;
|
||||||
|
const name = hasFile ? input.files[0].name : "";
|
||||||
|
if (fileNameLabel) {
|
||||||
|
fileNameLabel.textContent = name || "No file chosen";
|
||||||
|
}
|
||||||
|
if (hasFile) {
|
||||||
|
uploadAsset(input.files[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function debounce(fn, wait = 150) {
|
function debounce(fn, wait = 150) {
|
||||||
let timeout;
|
let timeout;
|
||||||
return (...args) => {
|
return (...args) => {
|
||||||
@@ -937,11 +951,6 @@ function isVideoAsset(asset) {
|
|||||||
return type.startsWith("video/");
|
return type.startsWith("video/");
|
||||||
}
|
}
|
||||||
|
|
||||||
function isAudioAsset(asset) {
|
|
||||||
const type = asset?.mediaType || asset?.originalMediaType || "";
|
|
||||||
return type.startsWith("audio/");
|
|
||||||
}
|
|
||||||
|
|
||||||
function isCodeAsset(asset) {
|
function isCodeAsset(asset) {
|
||||||
const type = (asset?.mediaType || asset?.originalMediaType || "").toLowerCase();
|
const type = (asset?.mediaType || asset?.originalMediaType || "").toLowerCase();
|
||||||
return type.startsWith("application/javascript") || type.startsWith("text/javascript");
|
return type.startsWith("application/javascript") || type.startsWith("text/javascript");
|
||||||
@@ -2202,18 +2211,6 @@ function deleteAsset(asset) {
|
|||||||
.catch(() => showToast("Unable to delete asset. Please try again.", "error"));
|
.catch(() => showToast("Unable to delete asset. Please try again.", "error"));
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleFileSelection(input) {
|
|
||||||
if (!input) return;
|
|
||||||
const hasFile = input.files && input.files.length;
|
|
||||||
const name = hasFile ? input.files[0].name : "";
|
|
||||||
if (fileNameLabel) {
|
|
||||||
fileNameLabel.textContent = name || "No file chosen";
|
|
||||||
}
|
|
||||||
if (hasFile) {
|
|
||||||
uploadAsset(input.files[0]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function uploadAsset(file = null) {
|
function uploadAsset(file = null) {
|
||||||
const fileInput = document.getElementById("asset-file");
|
const fileInput = document.getElementById("asset-file");
|
||||||
const selectedFile = file || (fileInput?.files && fileInput.files.length ? fileInput.files[0] : null);
|
const selectedFile = file || (fileInput?.files && fileInput.files.length ? fileInput.files[0] : null);
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { isAudioAsset } from "./media/audio.js";
|
||||||
|
|
||||||
const canvas = document.getElementById("broadcast-canvas");
|
const canvas = document.getElementById("broadcast-canvas");
|
||||||
const obsBrowser = !!globalThis.obsstudio;
|
const obsBrowser = !!globalThis.obsstudio;
|
||||||
const supportsAnimatedDecode =
|
const supportsAnimatedDecode =
|
||||||
@@ -439,9 +441,6 @@ function isVideoAsset(asset) {
|
|||||||
return asset?.mediaType?.startsWith("video/");
|
return asset?.mediaType?.startsWith("video/");
|
||||||
}
|
}
|
||||||
|
|
||||||
function isAudioAsset(asset) {
|
|
||||||
return asset?.mediaType?.startsWith("audio/");
|
|
||||||
}
|
|
||||||
function getVideoPlaybackState(element) {
|
function getVideoPlaybackState(element) {
|
||||||
if (!element) {
|
if (!element) {
|
||||||
return { playRequested: false, unmuteOnPlay: false };
|
return { playRequested: false, unmuteOnPlay: false };
|
||||||
|
|||||||
7
src/main/resources/static/js/media/audio.js
Normal file
7
src/main/resources/static/js/media/audio.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
export function isAudioAsset(asset) {
|
||||||
|
if (!asset) {
|
||||||
|
console.warn("isAudioAsset called with null or undefined asset");
|
||||||
|
}
|
||||||
|
const type = asset?.mediaType || asset?.originalMediaType || "";
|
||||||
|
return type.startsWith("audio/");
|
||||||
|
}
|
||||||
@@ -416,7 +416,7 @@
|
|||||||
</script>
|
</script>
|
||||||
<script src="/js/cookie-consent.js"></script>
|
<script src="/js/cookie-consent.js"></script>
|
||||||
<script src="/js/toast.js"></script>
|
<script src="/js/toast.js"></script>
|
||||||
<script src="/js/admin.js"></script>
|
|
||||||
<script src="/js/customAssets.js"></script>
|
<script src="/js/customAssets.js"></script>
|
||||||
|
<script type="module" src="/js/admin.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -15,6 +15,6 @@
|
|||||||
</script>
|
</script>
|
||||||
<script src="/js/cookie-consent.js"></script>
|
<script src="/js/cookie-consent.js"></script>
|
||||||
<script src="/js/toast.js"></script>
|
<script src="/js/toast.js"></script>
|
||||||
<script src="/js/broadcast.js"></script>
|
<script type="module" src="/js/broadcast.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user