This commit is contained in:
@@ -3,21 +3,38 @@
|
||||
{% block content %}
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<h2>Твои камеры</h2>
|
||||
<span class="badge bg-success">NFS смонтирована</span>
|
||||
{% if storage_available %}
|
||||
<span class="badge bg-success">Storage доступен</span>
|
||||
{% else %}
|
||||
<span class="badge bg-danger">Storage недоступен</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="row row-cols-1 row-cols-md-3 g-4">
|
||||
<div class="col">
|
||||
<div class="card h-100 shadow-sm">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-primary">Camera 1 (Вишня)</h5>
|
||||
<p class="card-text text-muted">Путь: /app/storage/Camera1</p>
|
||||
<div class="d-grid gap-2">
|
||||
<button class="btn btn-primary">Собрать таймлапс</button>
|
||||
<button class="btn btn-outline-secondary btn-sm">История видео</button>
|
||||
{% for camera in cameras %}
|
||||
<div class="col">
|
||||
<div class="card h-100 shadow-sm">
|
||||
<img
|
||||
src="{% url 'camlaps:camera_preview' camera.id %}"
|
||||
class="card-img-top"
|
||||
style="object-fit: cover; height: 220px;"
|
||||
alt="{{ camera.name }}"
|
||||
onerror="this.style.display='none'"
|
||||
/>
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-primary">{{ camera.name }}</h5>
|
||||
<p class="card-text text-muted">Путь: {{ camera.storage_path }}</p>
|
||||
<div class="d-grid gap-2">
|
||||
<a class="btn btn-primary" href="{% url 'camlaps:job_create' camera.id %}">Собрать таймлапс</a>
|
||||
<a class="btn btn-outline-secondary btn-sm" href="{% url 'camlaps:job_list' %}?camera={{ camera.id }}">История</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% empty %}
|
||||
<div class="col">
|
||||
<div class="alert alert-warning mb-0">Нет активных камер. Добавь их в админке.</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user