Veröffentlichte Quellen
Quellen als ZIP herunterladen
CH-J Tools
Durchsuchen Sie Verzeichnisse und Dateien einer bestimmten Anwendungsausgabe.
CH-J / Server Manager
406 Dateien
core-20261024T135205Z-7c487d719de2
Hinzugefügt: · Erstellt:
1
"use strict";3
// One source of navigation icons for every sidebar mode (full/compact/split) and the minimized-plugin taskbar.4
// Keys are stable IDs (core view names, "plugin:<id>"), never translated labels, so icons do not depend on the5
// language. Unknown or catalog plugins get the neutral "puzzle" icon.6
(function (root) {7
const ICON_BY_KEY = Object.freeze({8
overview: "layout-dashboard",9
terminal: "terminal",10
profiles: "server",11
updates: "refresh-cw",12
plugins: "blocks",13
diagnostics: "activity",14
settings: "settings",15
"plugin:chj.hash-checksum": "hash",16
"plugin:chj.disks": "hard-drive",17
"plugin:chj.file-manager": "folder-open",18
"plugin:chj.key-generator": "key-round",19
"plugin:chj.log-viewer": "scroll-text",20
"plugin:chj.nginx-manager": "network",21
"plugin:chj.system-monitor": "chart-no-axes-combined",22
"plugin:chj.users": "users"23
});24
const FALLBACK = "puzzle";25
const SVG_NS = "http://www.w3.org/2000/svg";27
function iconName(key) {28
return ICON_BY_KEY[String(key || "")] || FALLBACK;29
}31
// Builds the SVG from vendored element nodes (createElementNS, no markup parsing). Sizing comes from CSS32
// (.nav-icon), the viewBox keeps the 24-unit Lucide grid so strokes stay sharp at any size.33
function createIcon(key, className = "nav-icon") {34
const icons = root.chjLucideIcons || {};35
const name = icons[iconName(key)] ? iconName(key) : FALLBACK;36
const svg = document.createElementNS(SVG_NS, "svg");37
svg.setAttribute("class", className);38
svg.setAttribute("viewBox", "0 0 24 24");39
svg.setAttribute("fill", "none");40
svg.setAttribute("stroke", "currentColor");41
svg.setAttribute("stroke-width", "2");42
svg.setAttribute("stroke-linecap", "round");43
svg.setAttribute("stroke-linejoin", "round");44
svg.setAttribute("aria-hidden", "true");45
svg.setAttribute("focusable", "false");46
svg.dataset.icon = name;47
for (const [tag, attributes] of icons[name] || []) {48
const element = document.createElementNS(SVG_NS, tag);49
for (const [attribute, value] of Object.entries(attributes)) element.setAttribute(attribute, value);50
svg.append(element);51
}52
return svg;53
}55
const exported = Object.freeze({ ICON_BY_KEY, FALLBACK, iconName, createIcon });56
if (typeof module === "object" && module.exports) module.exports = exported;57
else root.chjNavIcons = exported;58
})(typeof window === "object" ? window : globalThis);SHA-256
6799926af7c5f9417561f8d374ecf6e12674cd1b1cbe2b714d46827571797e8aCH-J Proprietary Software License 1.14 · Die Quellen werden unter der CH-J Proprietary Software License 1.14 bereitgestellt. Ihre Verfügbarkeit ändert die Lizenzbedingungen nicht und gewährt keine zusätzlichen Rechte.
SHA-256 des Archivs
476ed8aef0f1e96a5acdf223127b6692acdf4492eeaf5d0816b6e2a634fbbda6