source
render_settings_modal
render_settings_modal (refresh_intervals:dict,
post_rt:str='/update_intervals')
Render the settings modal for configuring refresh intervals.
| refresh_intervals |
dict |
|
Dictionary containing refresh interval values for each component |
| post_rt |
str |
/update_intervals |
Target route path |
| Returns |
FT |
|
A Dialog element containing the settings modal |
refresh_intervals = {
'cpu': 2,
'memory': 2,
'disk': 10,
'network': 2,
'process': 5,
'gpu': 2,
'temperature': 5
}
render_settings_modal(refresh_intervals=refresh_intervals)
<dialog id="settings_modal" class="modal"> <div class="modal-box w-11/12 max-w-2xl">
<form enctype="multipart/form-data" method="dialog"><button class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2">✕</button></form> <h3 class="text-lg font-bold mb-4">Refresh Interval Settings</h3>
<p class="text-base-content text-sm mb-6">Adjust the refresh intervals for each component (in seconds)</p>
<div class="mb-6">
<div class="mb-4">
<label class="label flex justify-between mb-2"><span class="font-medium">CPU</span><span id="cpu-interval-value" class="text-primary font-medium">2s</span></label> <input type="range" min="1" max="30" value="2" oninput="document.getElementById('cpu-interval-value').textContent = this.value + 's'" id="cpu-interval" class="range range-primary w-full" name="cpu-interval">
</div>
<div class="mb-4">
<label class="label flex justify-between mb-2"><span class="font-medium">Memory</span><span id="memory-interval-value" class="text-primary font-medium">2s</span></label> <input type="range" min="1" max="30" value="2" oninput="document.getElementById('memory-interval-value').textContent = this.value + 's'" id="memory-interval" class="range range-primary w-full" name="memory-interval">
</div>
<div class="mb-4">
<label class="label flex justify-between mb-2"><span class="font-medium">Disk</span><span id="disk-interval-value" class="text-primary font-medium">10s</span></label> <input type="range" min="5" max="60" value="10" oninput="document.getElementById('disk-interval-value').textContent = this.value + 's'" id="disk-interval" class="range range-primary w-full" name="disk-interval">
</div>
<div class="mb-4">
<label class="label flex justify-between mb-2"><span class="font-medium">Network</span><span id="network-interval-value" class="text-primary font-medium">2s</span></label> <input type="range" min="1" max="30" value="2" oninput="document.getElementById('network-interval-value').textContent = this.value + 's'" id="network-interval" class="range range-primary w-full" name="network-interval">
</div>
<div class="mb-4">
<label class="label flex justify-between mb-2"><span class="font-medium">Processes</span><span id="process-interval-value" class="text-primary font-medium">5s</span></label> <input type="range" min="2" max="60" value="5" oninput="document.getElementById('process-interval-value').textContent = this.value + 's'" id="process-interval" class="range range-primary w-full" name="process-interval">
</div>
<div class="mb-4">
<label class="label flex justify-between mb-2"><span class="font-medium">GPU</span><span id="gpu-interval-value" class="text-primary font-medium">2s</span></label> <input type="range" min="1" max="30" value="2" oninput="document.getElementById('gpu-interval-value').textContent = this.value + 's'" id="gpu-interval" class="range range-primary w-full" name="gpu-interval">
</div>
<div class="mb-4">
<label class="label flex justify-between mb-2"><span class="font-medium">Temperature</span><span id="temperature-interval-value" class="text-primary font-medium">5s</span></label> <input type="range" min="2" max="60" value="5" oninput="document.getElementById('temperature-interval-value').textContent = this.value + 's'" id="temperature-interval" class="range range-primary w-full" name="temperature-interval">
</div>
</div>
<div class="modal-action gap-2">
<button hx-post="/update_intervals" hx-swap="none" hx-vals="js:{cpu: document.getElementById('cpu-interval').value, memory: document.getElementById('memory-interval').value, disk: document.getElementById('disk-interval').value, network: document.getElementById('network-interval').value, process: document.getElementById('process-interval').value, gpu: document.getElementById('gpu-interval').value, temperature: document.getElementById('temperature-interval').value}" class="btn btn-primary">Apply</button><form enctype="multipart/form-data" method="dialog" class="inline"><button class="btn btn-ghost">Cancel</button></form> </div>
</div>
</dialog>