67 lines
2.8 KiB
HTML
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 %}
|