viberadar 0.3.196 → 0.3.198
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/probe/index.d.ts.map +1 -1
- package/dist/probe/index.js +4 -0
- package/dist/probe/index.js.map +1 -1
- package/dist/probe/runner.d.ts.map +1 -1
- package/dist/probe/runner.js +17 -1
- package/dist/probe/runner.js.map +1 -1
- package/dist/probe/types.d.ts +2 -0
- package/dist/probe/types.d.ts.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +19 -3
- package/dist/server/index.js.map +1 -1
- package/dist/ui/dashboard.html +13 -7
- package/package.json +1 -1
package/dist/ui/dashboard.html
CHANGED
|
@@ -3637,13 +3637,13 @@ function probeToggleKebab(event, checkName, checkFile) {
|
|
|
3637
3637
|
const menu = document.createElement('div');
|
|
3638
3638
|
menu.className = 'probe-kebab-menu';
|
|
3639
3639
|
const fileItem = checkFile
|
|
3640
|
-
? `<div class="probe-kebab-item" onclick="probeKebabCopyPath(${JSON.stringify(checkFile)})">📋 Скопировать путь</div>
|
|
3640
|
+
? `<div class="probe-kebab-item" onclick="probeKebabCopyPath(${escapeHtml(JSON.stringify(checkFile))})">📋 Скопировать путь</div>
|
|
3641
3641
|
<div class="probe-kebab-sep"></div>`
|
|
3642
3642
|
: '';
|
|
3643
3643
|
menu.innerHTML = `
|
|
3644
|
-
<div class="probe-kebab-item" onclick="probeKebabRename(${JSON.stringify(checkName)})">✏️ Переименовать</div>
|
|
3644
|
+
<div class="probe-kebab-item" onclick="probeKebabRename(${escapeHtml(JSON.stringify(checkName))})">✏️ Переименовать</div>
|
|
3645
3645
|
${fileItem}
|
|
3646
|
-
<div class="probe-kebab-item danger" onclick="probeKebabDelete(${JSON.stringify(checkName)}, ${JSON.stringify(checkFile)})">🗑️ Удалить</div>`;
|
|
3646
|
+
<div class="probe-kebab-item danger" onclick="probeKebabDelete(${escapeHtml(JSON.stringify(checkName))}, ${escapeHtml(JSON.stringify(checkFile))})">🗑️ Удалить</div>`;
|
|
3647
3647
|
wrap.appendChild(menu);
|
|
3648
3648
|
const close = (e) => { if (!wrap.contains(e.target)) { menu.remove(); document.removeEventListener('click', close); } };
|
|
3649
3649
|
setTimeout(() => document.addEventListener('click', close), 0);
|
|
@@ -3980,11 +3980,15 @@ function openProbeSettingsModal() {
|
|
|
3980
3980
|
|
|
3981
3981
|
<div style="border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:16px">
|
|
3982
3982
|
${sec('E2E-учётные данные')}
|
|
3983
|
-
<div style="font-size:11px;color:var(--muted);margin-bottom:8px">Передаются как <code>
|
|
3984
|
-
${lbl('Email')}
|
|
3983
|
+
<div style="font-size:11px;color:var(--muted);margin-bottom:8px">Передаются как <code>EXTERNAL_E2E_USER_EMAIL</code> / <code>EXTERNAL_E2E_USER_PASSWORD</code> / <code>EXTERNAL_E2E_ADMIN_EMAIL</code> / <code>EXTERNAL_E2E_ADMIN_PASSWORD</code></div>
|
|
3984
|
+
${lbl('User Email')}
|
|
3985
3985
|
<input id="probeE2eEmail" type="text" placeholder="user@example.com" value="${escapeHtml(saved.e2eEmail || '')}" ${inp()}>
|
|
3986
|
-
${lbl('
|
|
3986
|
+
${lbl('User Password')}
|
|
3987
3987
|
<input id="probeE2ePassword" type="password" placeholder="${saved.e2ePasswordSet ? '••••••• (сохранён, оставьте пустым чтобы не менять)' : 'пароль'}" ${inp()}>
|
|
3988
|
+
${lbl('Admin Email')}
|
|
3989
|
+
<input id="probeE2eAdminEmail" type="text" placeholder="admin@example.com" value="${escapeHtml(saved.e2eAdminEmail || '')}" ${inp()}>
|
|
3990
|
+
${lbl('Admin Password')}
|
|
3991
|
+
<input id="probeE2eAdminPassword" type="password" placeholder="${saved.e2eAdminPasswordSet ? '••••••• (сохранён, оставьте пустым чтобы не менять)' : 'пароль'}" ${inp()}>
|
|
3988
3992
|
</div>
|
|
3989
3993
|
|
|
3990
3994
|
<div style="margin-bottom:4px">
|
|
@@ -4010,11 +4014,13 @@ function openProbeSettingsModal() {
|
|
|
4010
4014
|
const chatId = document.getElementById('probeChatId').value.trim();
|
|
4011
4015
|
const e2eEmail = document.getElementById('probeE2eEmail').value.trim();
|
|
4012
4016
|
const e2ePassword = document.getElementById('probeE2ePassword').value;
|
|
4017
|
+
const e2eAdminEmail = document.getElementById('probeE2eAdminEmail').value.trim();
|
|
4018
|
+
const e2eAdminPassword = document.getElementById('probeE2eAdminPassword').value;
|
|
4013
4019
|
const err = document.getElementById('probeSettingsErr');
|
|
4014
4020
|
const btn = document.getElementById('probeSettingsSave');
|
|
4015
4021
|
btn.disabled = true; btn.textContent = 'Сохраняю…';
|
|
4016
4022
|
try {
|
|
4017
|
-
const body = { target, botToken, chatId, e2eEmail, e2ePassword };
|
|
4023
|
+
const body = { target, botToken, chatId, e2eEmail, e2ePassword, e2eAdminEmail, e2eAdminPassword };
|
|
4018
4024
|
const res = await fetch('/api/probe/settings', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) });
|
|
4019
4025
|
if (!res.ok) { const d = await res.json(); throw new Error(d.error || 'Ошибка сохранения'); }
|
|
4020
4026
|
await loadProbeData();
|