feat(dashboard): add AdGuard + Scrutiny frontend integration

This commit is contained in:
2026-04-05 21:17:04 +00:00
parent 78f3201e7b
commit fc5fb8cd29
@@ -1,24 +1,29 @@
const QUICK_LINKS = [ const QUICK_LINKS = [
{ section: "Core", title: "Home Assistant", label: "OPEN CONTROL HUB", url: "http://localhost:8123" }, { label: "Home Assistant", icon: "🏠", url: "https://ha.kaleschke.info" },
{ section: "Ops", title: "Uptime Kuma", label: "OPEN MONITORS", url: "http://localhost:3001" }, { label: "Komodo", icon: "🦎", url: "https://komodo.kaleschke.info" },
{ section: "Containers", title: "Portainer", label: "OPEN RUNTIME", url: "http://localhost:9000" }, { label: "Uptime Kuma", icon: "📡", url: "https://uptime.kaleschke.info" },
{ section: "Media", title: "Immich", label: "OPEN GALLERY", url: "http://localhost:2283" }, { label: "Beszel", icon: "📊", url: "https://beszel.kaleschke.info" },
{ label: "Firefly III", icon: "🦋", url: "https://firefly.kaleschke.info" },
{ label: "Paperless", icon: "📄", url: "https://paperless.kaleschke.info" },
{ label: "Mealie", icon: "🍽️", url: "https://mealie.kaleschke.info" },
{ label: "Immich", icon: "🖼️", url: "https://immich.kaleschke.info" },
{ label: "Gitea", icon: "🐙", url: "https://git.kaleschke.info" },
{ label: "Code Server", icon: "💻", url: "https://code.kaleschke.info" },
{ label: "FileBrowser", icon: "📁", url: "https://files.kaleschke.info" },
{ label: "Backrest", icon: "💾", url: "https://backrest.kaleschke.info" },
{ label: "Vaultwarden", icon: "🔐", url: "https://vault.kaleschke.info" },
{ label: "AdGuard", icon: "🛡️", url: "https://adguard.kaleschke.info" },
{ label: "Traefik", icon: "🔀", url: "https://traefik.kaleschke.info" },
{ label: "Scrutiny", icon: "🔍", url: "https://scrutiny.kaleschke.info" },
]; ];
export function renderQuickAccess() { export function renderQuickAccess() {
const grid = document.getElementById("quick-grid"); const grid = document.getElementById("quick-access-grid");
grid.innerHTML = QUICK_LINKS.map( if (!grid) return;
(link) => ` grid.innerHTML = QUICK_LINKS.map(({ label, icon, url }) => `
<article class="card quick-card"> <a class="quick-card" href="${url}" target="_blank" rel="noopener noreferrer">
<div class="card-inner"> <span class="quick-icon">${icon}</span>
<span class="card-label">${link.section}</span> <span class="quick-label">${label}</span>
<h2 class="card-title">${link.title}</h2> </a>
<a href="${link.url}" target="_blank" rel="noreferrer"> `).join("");
<span>${link.label}</span>
<span>&gt;</span>
</a>
</div>
</article>
`,
).join("");
} }