bugfix
This commit is contained in:
@@ -295,18 +295,24 @@
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body">
|
||||
<form id="settings-npm-form">
|
||||
<p class="text-muted mb-3">NPM uses JWT authentication. Enter your NPM login credentials (email + password). The system will automatically log in and obtain tokens for API calls.</p>
|
||||
<div class="row g-3">
|
||||
<div class="col-md-8">
|
||||
<label class="form-label">NPM API URL</label>
|
||||
<input type="url" class="form-control" id="cfg-npm-api-url" placeholder="http://nginx-proxy-manager:81/api">
|
||||
<input type="text" class="form-control" id="cfg-npm-api-url" placeholder="http://nginx-proxy-manager:81/api">
|
||||
<div class="form-text">http:// or https:// - must include /api at the end</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<label class="form-label">NPM API Token</label>
|
||||
<label class="form-label">NPM Login Email</label>
|
||||
<input type="text" class="form-control" id="cfg-npm-api-email" placeholder="Leave empty to keep current">
|
||||
<div class="form-text" id="npm-credentials-status"></div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<label class="form-label">NPM Login Password</label>
|
||||
<div class="input-group">
|
||||
<input type="password" class="form-control" id="cfg-npm-api-token" placeholder="Leave empty to keep current token">
|
||||
<button class="btn btn-outline-secondary" type="button" onclick="togglePasswordVisibility('cfg-npm-api-token')"><i class="bi bi-eye"></i></button>
|
||||
<input type="password" class="form-control" id="cfg-npm-api-password" placeholder="Leave empty to keep current">
|
||||
<button class="btn btn-outline-secondary" type="button" onclick="togglePasswordVisibility('cfg-npm-api-password')"><i class="bi bi-eye"></i></button>
|
||||
</div>
|
||||
<div class="form-text" id="npm-token-status"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
|
||||
@@ -451,7 +451,7 @@ async function loadSettings() {
|
||||
document.getElementById('cfg-docker-network').value = cfg.docker_network || '';
|
||||
document.getElementById('cfg-relay-base-port').value = cfg.relay_base_port || 3478;
|
||||
document.getElementById('cfg-npm-api-url').value = cfg.npm_api_url || '';
|
||||
document.getElementById('npm-token-status').textContent = cfg.npm_api_token_set ? 'Token is set (leave empty to keep current)' : 'No token configured';
|
||||
document.getElementById('npm-credentials-status').textContent = cfg.npm_credentials_set ? 'Credentials are set (leave empty to keep current)' : 'No NPM credentials configured';
|
||||
document.getElementById('cfg-mgmt-image').value = cfg.netbird_management_image || '';
|
||||
document.getElementById('cfg-signal-image').value = cfg.netbird_signal_image || '';
|
||||
document.getElementById('cfg-relay-image').value = cfg.netbird_relay_image || '';
|
||||
@@ -482,12 +482,15 @@ document.getElementById('settings-system-form').addEventListener('submit', async
|
||||
document.getElementById('settings-npm-form').addEventListener('submit', async (e) => {
|
||||
e.preventDefault();
|
||||
const payload = { npm_api_url: document.getElementById('cfg-npm-api-url').value };
|
||||
const token = document.getElementById('cfg-npm-api-token').value;
|
||||
if (token) payload.npm_api_token = token;
|
||||
const email = document.getElementById('cfg-npm-api-email').value;
|
||||
const password = document.getElementById('cfg-npm-api-password').value;
|
||||
if (email) payload.npm_api_email = email;
|
||||
if (password) payload.npm_api_password = password;
|
||||
try {
|
||||
await api('PUT', '/settings/system', payload);
|
||||
showSettingsAlert('success', 'NPM settings saved.');
|
||||
document.getElementById('cfg-npm-api-token').value = '';
|
||||
document.getElementById('cfg-npm-api-email').value = '';
|
||||
document.getElementById('cfg-npm-api-password').value = '';
|
||||
loadSettings();
|
||||
} catch (err) {
|
||||
showSettingsAlert('danger', 'Failed: ' + err.message);
|
||||
|
||||
Reference in New Issue
Block a user