Files
HAMeter/hameter/web/templates/general.html
2026-03-06 12:25:27 -05:00

67 lines
2.8 KiB
HTML

{% extends "base.html" %}
{% block title %}General Settings - HAMeter{% endblock %}
{% block page_title %}General Settings{% endblock %}
{% block content %}
<div class="config-form-container">
<form id="general-form" onsubmit="return false;">
<div class="form-group">
<label for="log_level">Log Level</label>
<select id="log_level">
<option value="DEBUG" {{ 'selected' if general.log_level == 'DEBUG' }}>DEBUG</option>
<option value="INFO" {{ 'selected' if general.log_level == 'INFO' }}>INFO</option>
<option value="WARNING" {{ 'selected' if general.log_level == 'WARNING' }}>WARNING</option>
<option value="ERROR" {{ 'selected' if general.log_level == 'ERROR' }}>ERROR</option>
</select>
</div>
<div class="form-group">
<label for="device_id">SDR Device Index</label>
<input type="text" id="device_id" value="{{ general.device_id }}">
<small>Usually "0" unless you have multiple RTL-SDR dongles.</small>
</div>
<div class="form-group">
<label for="rtl_tcp_host">rtl_tcp Host</label>
<input type="text" id="rtl_tcp_host" value="{{ general.rtl_tcp_host }}">
</div>
<div class="form-group">
<label for="rtl_tcp_port">rtl_tcp Port</label>
<input type="number" id="rtl_tcp_port" value="{{ general.rtl_tcp_port }}">
</div>
<div class="form-group">
<label for="rtlamr_extra_args">rtlamr Extra Arguments</label>
<input type="text" id="rtlamr_extra_args" value="{{ general.rtlamr_extra_args|join(' ') }}" placeholder="Space-separated arguments">
<small>Additional command-line arguments passed to rtlamr.</small>
</div>
<div class="form-actions">
<button type="button" class="btn btn-primary" onclick="saveGeneral()">Save</button>
</div>
</form>
</div>
<script>
async function saveGeneral() {
const data = {
log_level: document.getElementById('log_level').value,
device_id: document.getElementById('device_id').value,
rtl_tcp_host: document.getElementById('rtl_tcp_host').value,
rtl_tcp_port: parseInt(document.getElementById('rtl_tcp_port').value),
rtlamr_extra_args: document.getElementById('rtlamr_extra_args').value,
};
const resp = await fetch('/api/config/general', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(data),
});
const res = await resp.json();
if (res.ok) {
showToast('Settings saved', 'success');
if (res.restart_required) showRestartBanner();
} else {
showToast(res.error || 'Save failed', 'error');
}
}
</script>
{% endblock %}