Hd Admin Inserter Script -pastebin- -
// ----------------------------------------------------------------- // 5️⃣ Public API – expose a global function for manual init. // ----------------------------------------------------------------- window.HDAdminInserter = init: mountToolbar, // Allow runtime re‑configuration (e.g., after an AJAX login) updateConfig: (newCfg) => mountToolbar(newCfg) ;
// Append to the chosen mount point. const mountEl = document.querySelector(cfg.mountPoint); if (!mountEl) console.error('HD Admin Inserter: mount point not found:', cfg.mountPoint); return; mountEl.appendChild(toolbar); ; HD Admin Inserter Script -PASTEBIN-
// UI elements – each entry becomes a button. // `action` can be a string (function name) or a direct function. items: [ label: '🔧 Reload Config', tooltip: 'Pull fresh config from the server', action: () => fetchConfig() , label: '🗑️ Clear Cache', tooltip: 'Empty localStorage & sessionStorage', action: () => localStorage.clear(); sessionStorage.clear(); alert('Cache cleared'); , { label: '⚙️ Debug Mode', tooltip: 'Toggle console.debug output', toggle: true, stateKey: 'debugMode', // saved in localStorage action: (newState) => { console.debug = newState ? console.log : () => {}; localStorage.setItem('debugMode', newState); } } ] }; // `action` can be a string (function name)
// Abort if visibilityFn says “nope”. if (!cfg.visibilityFn()) return; visibilityFn: () =>
// Who sees the toolbar? Accepts a function that returns true/false. // By default we check a global `window.currentUser.role`. visibilityFn: () => ''; return ['admin', 'superuser', 'dev'].includes(role); ,
// ----------------------------------------------------------------- // 4️⃣ Core: build and mount the toolbar. // ----------------------------------------------------------------- const mountToolbar = (config = {}) => const cfg = ...DEFAULT_CONFIG, ...config ;