{% extends "base.html" %}
|
{% block title %}Software-Katalog – Server-Bibliothek{% endblock %}
|
{% block content %}
|
|
<div class="page-head">
|
<div>
|
<p class="eyebrow">Server-Bibliothek</p>
|
<h1>Software-Katalog</h1>
|
</div>
|
<div class="catalog-actions">
|
{% if auto_anzahl > 0 %}
|
<form method="post" action="{{ url_for('updates_alle_jetzt') }}">
|
<button type="submit" class="btn btn-secondary">Alle {{ auto_anzahl }} Auto-Updates jetzt ausfuehren</button>
|
</form>
|
{% endif %}
|
<a href="{{ url_for('software_neu') }}" class="btn">+ Neues Tool anlegen</a>
|
</div>
|
</div>
|
|
<div class="stat-strip">
|
<div class="stat-card">
|
<div class="stat-num">{{ gesamt }}</div>
|
<div class="stat-label">Tools insgesamt</div>
|
</div>
|
<div class="stat-card">
|
<div class="stat-num">{{ warnungen }}</div>
|
<div class="stat-label">Bitte pruefen (> {{ 30 }} Tage)</div>
|
</div>
|
<div class="stat-card">
|
<div class="stat-num">{{ unbekannt }}</div>
|
<div class="stat-label">Nie geprueft</div>
|
</div>
|
</div>
|
|
<div class="search-row">
|
<form method="get">
|
<input type="text" name="q" placeholder="Suche nach Name oder Kategorie…" value="{{ suche }}">
|
</form>
|
</div>
|
|
{% if software_liste %}
|
<div class="catalog">
|
{% for sw in software_liste %}
|
{% set badge = sw.letzte_pruefung | status %}
|
<div class="catalog-card">
|
<div class="tag-punch"></div>
|
<div class="catalog-main">
|
<div class="catalog-name"><a href="{{ url_for('software_detail', software_id=sw.id) }}">{{ sw.name }}</a></div>
|
<div class="catalog-meta">
|
{% if sw.kategorie %}<span>{{ sw.kategorie }}</span>{% endif %}
|
{% if sw.version %}<span class="v">v{{ sw.version }}</span>{% endif %}
|
{% if sw.auto_update %}<span>⚡ Auto</span>{% endif %}
|
</div>
|
</div>
|
<span class="badge {{ badge[1] }}">{{ badge[0] }}</span>
|
<div class="catalog-actions">
|
<a href="{{ url_for('software_detail', software_id=sw.id) }}" class="btn btn-secondary btn-small">Details</a>
|
</div>
|
</div>
|
{% endfor %}
|
</div>
|
{% else %}
|
<div class="empty-state">
|
{% if suche %}
|
Keine Treffer fuer „{{ suche }}“.
|
{% else %}
|
Noch keine Software hinterlegt. Leg das erste Tool mit „+ Neues Tool anlegen“ an.
|
{% endif %}
|
</div>
|
{% endif %}
|
|
{% endblock %}
|