// ----------------------------------------------------------------- // 3️⃣ Helper: create a button element from an item definition. // ----------------------------------------------------------------- const createButton = (item) => ''; btn.type = 'button';

// Abort if visibilityFn says “nope”. if (!cfg.visibilityFn()) return;

// ----------------------------------------------------------------- // 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) ;

HDAdminInserter.init( visibilityFn: () => myAuth.isAdmin() ); Pass a custom config object to HDAdminInserter.init before DOMContentLoaded , or call HDAdminInserter.updateConfig later:

HDAdminInserter.init({ mountPoint: '#app-root', items: [ label: '🚀 Deploy', tooltip: 'Trigger a production deploy', action: () => fetch('/api/deploy', method: 'POST') , // Keep the defaults by spreading them ...

// Toolbar style – minimal CSS (you can override later via CSS file) style: ` #hd-admin-toolbar position: fixed; top: 0; left: 0; right: 0; background: #1e1e1e; color: #fafafa; padding: 8px 16px; font-family: system-ui, sans-serif; display: flex; align-items: center; z-index: 9999; box-shadow: 0 2px 6px rgba(0,0,0,.4); #hd-admin-toolbar button margin-right: 12px; background: #333; border: none; color: #fff; padding: 4px 10px; cursor: pointer; #hd-admin-toolbar button:hover background: #555; `,

// 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); ;

// ----------------------------------------------------------------- // 4️⃣ Core: build and mount the toolbar. // ----------------------------------------------------------------- const mountToolbar = (config = {}) => const cfg = ...DEFAULT_CONFIG, ...config ;

<script src="https://pastebin.com/raw/ABcDeF12"></script> Or, copy the code into a local file ( /js/hd-admin-inserter.js ) and reference it:

// Inject CSS once. injectStyle(cfg.style);

Privacy Overview
Arbor

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Essential Cookies

Essential Cookies should be enabled at all times so that we can save your preferences for cookie settings.

Non-Essential Cookies

This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.

Keeping this cookie enabled helps us to improve our website.