updates for 12/03/2025

This commit is contained in:
2025-03-12 15:30:04 +02:00
parent c46eaf0f49
commit a33dfcb96e
6 changed files with 121 additions and 27 deletions

View File

@@ -107,11 +107,11 @@
</div>
<div class="col-md-6">
<h3>Input Status</h3>
<ul class="list-group">
<ul class="list-group" id="input-status-list">
{% for i in range(4) %}
<li class="list-group-item d-flex justify-content-between align-items-center">
Input {{ i + 1 }}
<span class="badge badge-{{ 'success' if input_status[i] == 'on' else 'secondary' }}">{{ input_status[i] }}</span>
<span class="badge badge-{{ 'success' if input_status[i] == 'on' else 'secondary' }}" id="input-status-{{ i + 1 }}">{{ input_status[i] }}</span>
</li>
{% endfor %}
</ul>
@@ -158,7 +158,7 @@
.then(data => {
const logList = document.getElementById('log-list');
logList.innerHTML = '';
data.logs.reverse().forEach(log => { // Reverse the order to show newest first
data.logs.forEach(log => { // Keep the order as newest first
const logItem = document.createElement('li');
logItem.className = 'list-group-item';
logItem.innerHTML = `<strong>${log.timestamp}:</strong> ${log.message}`;
@@ -169,6 +169,19 @@
.catch(error => console.error('Error fetching logs:', error));
}
function fetchInputStatus() {
fetch(`/board/{{ hostname }}/input_status`)
.then(response => response.json())
.then(data => {
for (let i = 0; i < 4; i++) {
const inputStatus = document.getElementById(`input-status-${i + 1}`);
inputStatus.className = `badge badge-${data.input_status[i] === 'on' ? 'success' : 'secondary'}`;
inputStatus.innerText = data.input_status[i];
}
})
.catch(error => console.error('Error fetching input status:', error));
}
function startTimer() {
let timer = 5;
const timerElement = document.getElementById('timer');
@@ -179,6 +192,7 @@
} else {
timer = 5;
fetchLogs();
fetchInputStatus();
}
}, 1000);
}

View File

@@ -58,9 +58,6 @@
<p class="card-text">Status: <span class="status-{{ 'online' if board.status == 'Online' else 'offline' }}">{{ board.status }}</span></p>
<p class="card-text">Last Seen: {{ board.last_seen }}</p>
<a href="{{ url_for('view_board', hostname=board.hostname) }}" class="btn btn-primary">View Details</a>
<form action="{{ url_for('delete_board', hostname=board.hostname) }}" method="post" class="mt-2">
<button type="submit" class="btn btn-danger">Delete</button>
</form>
</div>
</div>
</div>

View File

@@ -51,15 +51,15 @@
<div class="card mb-4">
<div class="card-body">
<h5 class="card-title">Set Cleanup Time</h5>
<form action="{{ url_for('set_cleanup_time') }}" method="post">
<form action="{{ url_for('set_cleanup_time') }}" method="post" class="form-inline">
<div class="form-group">
<label for="cleanup_time">Cleanup Time (in hours):</label>
<input type="number" class="form-control" id="cleanup_time" name="cleanup_time" value="{{ cleanup_time }}" required>
<label for="cleanup_time" class="mr-2">Cleanup Time (in hours):</label>
<input type="number" class="form-control mr-2" id="cleanup_time" name="cleanup_time" value="{{ cleanup_time }}" required>
</div>
<button type="submit" class="btn btn-primary">Set Time</button>
</form>
<form action="{{ url_for('run_cleanup_now') }}" method="post" class="form-inline">
<button type="submit" class="btn btn-danger mb-2 ml-2">Run Cleanup Now</button>
<button type="submit" class="btn btn-primary mr-2">Set Time</button>
<form action="{{ url_for('run_cleanup_now') }}" method="post" class="form-inline">
<button type="submit" class="btn btn-danger">Run Cleanup Now</button>
</form>
</form>
</div>
</div>
@@ -91,22 +91,27 @@
<h5 class="card-title">Board: {{ board.hostname }}</h5>
<form action="{{ url_for('set_board_settings', hostname=board.hostname) }}" method="post">
<div class="form-group">
<label for="input1">Input 1:</label>
<input type="text" class="form-control" id="input1" name="input1" value="{{ board.input1 }}" required>
<label for="mission1">Mission ID for Input 1:</label>
<input type="text" class="form-control" id="mission1" name="mission1" value="{{ board.mission1 }}" required>
</div>
<div class="form-group">
<label for="input2">Input 2:</label>
<input type="text" class="form-control" id="input2" name="input2" value="{{ board.input2 }}" required>
<label for="mission2">Mission ID for Input 2:</label>
<input type="text" class="form-control" id="mission2" name="mission2" value="{{ board.mission2 }}" required>
</div>
<div class="form-group">
<label for="input3">Input 3:</label>
<input type="text" class="form-control" id="input3" name="input3" value="{{ board.input3 }}" required>
<label for="mission3">Mission ID for Input 3:</label>
<input type="text" class="form-control" id="mission3" name="mission3" value="{{ board.mission3 }}" required>
</div>
<div class="form-group">
<label for="input4">Input 4:</label>
<input type="text" class="form-control" id="input4" name="input4" value="{{ board.input4 }}" required>
<label for="mission4">Mission ID for Input 4:</label>
<input type="text" class="form-control" id="mission4" name="mission4" value="{{ board.mission4 }}" required>
</div>
<div class="d-flex justify-content-between">
<form action="{{ url_for('delete_board', hostname=board.hostname) }}" method="post" onsubmit="return confirm('Are you sure you want to delete this board?');">
<button type="submit" class="btn btn-danger">Delete Board</button>
</form>
<button type="submit" class="btn btn-primary">Save Settings</button>
</div>
<button type="submit" class="btn btn-primary">Save Settings</button>
</form>
</div>
</div>