51 lines
2.1 KiB
HTML
51 lines
2.1 KiB
HTML
{% if units %}
|
|
<div class="space-y-2">
|
|
{% for unit_id, unit in units.items() %}
|
|
<div class="flex items-center justify-between p-3 rounded-lg bg-gray-50 dark:bg-gray-700/50 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors">
|
|
<div class="flex items-center space-x-3 flex-1">
|
|
<!-- Status Indicator (grayed out for benched) -->
|
|
<div class="flex-shrink-0">
|
|
<span class="w-3 h-3 rounded-full bg-gray-400" title="Benched"></span>
|
|
</div>
|
|
|
|
<!-- Unit Info -->
|
|
<div class="flex-1 min-w-0">
|
|
<div class="flex items-center gap-2">
|
|
<a href="/unit/{{ unit_id }}" class="font-medium text-seismo-orange hover:text-seismo-burgundy hover:underline">
|
|
{{ unit_id }}
|
|
</a>
|
|
{% if unit.device_type == 'modem' %}
|
|
<span class="px-2 py-0.5 rounded-full bg-purple-100 dark:bg-purple-900/30 text-purple-800 dark:text-purple-300 text-xs">
|
|
Modem
|
|
</span>
|
|
{% else %}
|
|
<span class="px-2 py-0.5 rounded-full bg-blue-100 dark:bg-blue-900/30 text-blue-800 dark:text-blue-300 text-xs">
|
|
Seismograph
|
|
</span>
|
|
{% endif %}
|
|
</div>
|
|
{% if unit.note %}
|
|
<p class="text-xs text-gray-500 dark:text-gray-400 truncate">{{ unit.note }}</p>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<!-- Last Activity (if any) -->
|
|
<div class="text-right flex-shrink-0">
|
|
{% if unit.age != 'N/A' %}
|
|
<span class="text-sm text-gray-400 dark:text-gray-500">
|
|
Last seen: {{ unit.age }} ago
|
|
</span>
|
|
{% else %}
|
|
<span class="text-sm text-gray-400 dark:text-gray-500">
|
|
No data
|
|
</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% else %}
|
|
<p class="text-sm text-gray-500 dark:text-gray-400 text-center py-8">No benched units</p>
|
|
{% endif %}
|