mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 07:52:24 +00:00
34 lines
927 B
JavaScript
34 lines
927 B
JavaScript
// js/sidebarLoading.js
|
|
|
|
function escapeHtml(value) {
|
|
if (typeof value !== "string") {
|
|
return "";
|
|
}
|
|
|
|
return value
|
|
.replace(/&/g, "&")
|
|
.replace(/</g, "<")
|
|
.replace(/>/g, ">")
|
|
.replace(/"/g, """)
|
|
.replace(/'/g, "'");
|
|
}
|
|
|
|
export function getSidebarLoadingMarkup(message = "", options = {}) {
|
|
const trimmed = typeof message === "string" ? message.trim() : "";
|
|
const copy = trimmed || "Fetching data…";
|
|
const safeCopy = escapeHtml(copy);
|
|
const showSpinner = options?.showSpinner !== false;
|
|
const spinnerMarkup = showSpinner
|
|
? '<span class="status-spinner status-spinner--inline" aria-hidden="true"></span>'
|
|
: "";
|
|
|
|
return `
|
|
<div class="sidebar-loading-wrapper" role="status" aria-live="polite">
|
|
<div class="sidebar-loading-indicator">
|
|
${spinnerMarkup}
|
|
<span class="sidebar-loading-text">${safeCopy}</span>
|
|
</div>
|
|
</div>
|
|
`;
|
|
}
|