(function () { 'use strict'; if (window.__DOCKER_PROXY_PLUGIN__) return; window.__DOCKER_PROXY_PLUGIN__ = true; var NAV_ID = 'docker-nav-li'; var LINK_ID = 'docker-nav-link'; var OVERLAY_ID = 'docker-proxy-overlay'; var API = '/docker-api'; var isOpen = false; /* ---------- 样式:全部限定在 #docker-proxy-overlay 内,颜色跟随 DaisyUI 主题 ---------- */ var CSS = [ '#docker-proxy-overlay{position:fixed;left:0;top:0;width:0;height:0;z-index:25;display:none;', 'overflow:auto;background:var(--color-base-100,#16161d);color:var(--color-base-content,#e6e6ee);', 'padding:16px 18px 26px;box-sizing:border-box;font-size:14px;line-height:1.5;}', '#docker-proxy-overlay *{box-sizing:border-box;}', '#docker-proxy-overlay .dkp-head{display:flex;align-items:center;gap:10px;margin-bottom:4px;}', '#docker-proxy-overlay .dkp-title{font-size:19px;font-weight:700;}', '#docker-proxy-overlay .dkp-desc{font-size:12.5px;opacity:.6;margin:0 0 14px;}', '#docker-proxy-overlay .dkp-list{display:flex;flex-direction:column;gap:9px;}', '#docker-proxy-overlay .dkp-item{display:flex;align-items:center;justify-content:space-between;', 'gap:14px;border-radius:12px;padding:13px 17px;transition:border-color .2s;', 'background:color-mix(in oklab,var(--color-base-content,#fff) 4%,transparent);', 'border:1px solid color-mix(in oklab,var(--color-base-content,#fff) 12%,transparent);}', '#docker-proxy-overlay .dkp-item:hover{border-color:color-mix(in oklab,var(--color-primary,#7a6cf0) 55%,transparent);}', '#docker-proxy-overlay .dkp-info{min-width:0;flex:1;}', '#docker-proxy-overlay .dkp-name{font-weight:600;font-size:14.5px;}', '#docker-proxy-overlay .dkp-meta{font-size:11.5px;opacity:.55;margin-top:4px;', 'overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}', '#docker-proxy-overlay .dkp-badge{display:inline-block;font-size:11px;padding:2px 8px;', 'border-radius:10px;margin-left:8px;vertical-align:middle;}', '#docker-proxy-overlay .dkp-badge.active{background:color-mix(in oklab,var(--color-success,#00b894) 20%,transparent);color:var(--color-success,#00b894);}', '#docker-proxy-overlay .dkp-badge.pending{background:color-mix(in oklab,var(--color-warning,#e6a23c) 22%,transparent);color:var(--color-warning,#e6a23c);}', '#docker-proxy-overlay .dkp-badge.off{background:color-mix(in oklab,var(--color-base-content,#888) 12%,transparent);opacity:.75;}', '#docker-proxy-overlay .dkp-actions{display:flex;align-items:center;gap:9px;flex-shrink:0;}', '#docker-proxy-overlay .dkp-btn{background:transparent;font:inherit;font-size:12px;', 'padding:5px 11px;border-radius:8px;cursor:pointer;transition:.2s;white-space:nowrap;color:inherit;opacity:.75;', 'border:1px solid color-mix(in oklab,var(--color-base-content,#fff) 18%,transparent);}', '#docker-proxy-overlay .dkp-btn:hover{opacity:1;border-color:var(--color-primary,#7a6cf0);color:var(--color-primary,#7a6cf0);}', '#docker-proxy-overlay .dkp-btn.warn:hover{border-color:var(--color-warning,#e6a23c);color:var(--color-warning,#e6a23c);}', '#docker-proxy-overlay .dkp-btn:disabled{opacity:.4;cursor:wait;}', '#docker-proxy-overlay .dkp-btn.ok{border-color:var(--color-success,#00b894);color:var(--color-success,#00b894);opacity:1;}', '#docker-proxy-overlay .dkp-btn.fail{border-color:var(--color-error,#e17055);color:var(--color-error,#e17055);opacity:1;}', '#docker-proxy-overlay .dkp-sw{position:relative;width:46px;height:25px;flex-shrink:0;cursor:pointer;display:inline-block;}', '#docker-proxy-overlay .dkp-sw input{display:none;}', '#docker-proxy-overlay .dkp-sl{position:absolute;inset:0;border-radius:25px;transition:.28s;', 'background:color-mix(in oklab,var(--color-base-content,#888) 30%,transparent);}', '#docker-proxy-overlay .dkp-sl:before{content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;', 'background:#fff;border-radius:50%;transition:.28s;}', '#docker-proxy-overlay .dkp-sw input:checked + .dkp-sl{background:var(--color-success,#00b894);}', '#docker-proxy-overlay .dkp-sw input:checked + .dkp-sl:before{transform:translateX(21px);}', '#docker-proxy-overlay .dkp-sw.busy{opacity:.5;pointer-events:none;}', '#docker-proxy-overlay .dkp-empty{text-align:center;padding:34px;opacity:.55;font-size:13px;}', '#docker-proxy-overlay .dkp-sp{display:inline-block;width:13px;height:13px;border-radius:50%;', 'border:2px solid color-mix(in oklab,var(--color-base-content,#fff) 20%,transparent);', 'border-top-color:var(--color-primary,#7a6cf0);animation:dkpspin .8s linear infinite;vertical-align:middle;}', '@keyframes dkpspin{to{transform:rotate(360deg);}}', '#dkp-toast{position:fixed;bottom:18px;right:18px;z-index:90;max-width:min(430px,80vw);', 'padding:11px 17px;border-radius:10px;font-size:12.5px;transform:translateY(90px);opacity:0;', 'transition:.28s;box-shadow:0 8px 26px rgba(0,0,0,.3);background:var(--color-base-200,#1c1c26);', 'color:var(--color-base-content,#e6e6ee);', 'border:1px solid color-mix(in oklab,var(--color-base-content,#fff) 15%,transparent);}', '#dkp-toast.show{transform:translateY(0);opacity:1;}', '#dkp-toast.success{border-color:var(--color-success,#00b894);}', '#dkp-toast.warning{border-color:var(--color-warning,#e6a23c);}', '#dkp-toast.error{border-color:var(--color-error,#e17055);}' ].join(''); function ensureStyle() { if (document.getElementById('dkp-style')) return; var s = document.createElement('style'); s.id = 'dkp-style'; s.textContent = CSS; (document.head || document.documentElement).appendChild(s); } function esc(v) { return String(v == null ? '' : v).replace(/[&<>"']/g, function (c) { return { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c]; }); } var toastTimer = null; function toast(msg, type) { var el = document.getElementById('dkp-toast'); if (!el) { el = document.createElement('div'); el.id = 'dkp-toast'; document.body.appendChild(el); } el.textContent = msg; el.className = 'show ' + (type || 'success'); if (toastTimer) clearTimeout(toastTimer); toastTimer = setTimeout(function () { el.className = ''; }, 4200); } /* ---------- 内容区域:DaisyUI drawer,无
/