55 lines
2.3 KiB
HTML
55 lines
2.3 KiB
HTML
{% extends "base.html" %}
|
|
{% block content %}
|
|
<div class="page-header">
|
|
<h1 class="page-title">Trash<span class="page-count">{{ total_deleted }}</span></h1>
|
|
{% if total_deleted > 0 %}
|
|
<form action="/admin/trash/empty" method="post" data-confirm="Permanently delete ALL {{ total_deleted }} items? This cannot be undone." style="display:inline">
|
|
<button type="submit" class="btn btn-danger">Empty Trash</button>
|
|
</form>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<!-- Type filter -->
|
|
<div class="filters-bar">
|
|
<a href="/admin/trash" class="btn {{ 'btn-primary' if not current_type else 'btn-secondary' }} btn-sm">
|
|
All ({{ total_deleted }})
|
|
</a>
|
|
{% for entity in trash_entities %}
|
|
{% set count = entity_counts.get(entity.table, 0) %}
|
|
{% if count > 0 %}
|
|
<a href="/admin/trash?entity_type={{ entity.table }}" class="btn {{ 'btn-primary' if current_type == entity.table else 'btn-secondary' }} btn-sm">
|
|
{{ entity.label }} ({{ count }})
|
|
</a>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
|
|
{% if deleted_items %}
|
|
<div class="card mt-3">
|
|
{% for item in deleted_items %}
|
|
<div class="list-row">
|
|
<span class="search-type-badge search-type-{{ item.table }}">{{ item.type_label }}</span>
|
|
<span class="row-title">{{ item.name }}</span>
|
|
{% if item.deleted_at %}
|
|
<span class="row-meta">Deleted {{ item.deleted_at.strftime('%Y-%m-%d %H:%M') if item.deleted_at else '' }}</span>
|
|
{% endif %}
|
|
<div class="row-actions" style="opacity: 1;">
|
|
<form action="/admin/trash/{{ item.table }}/{{ item.id }}/restore" method="post" style="display:inline">
|
|
<button type="submit" class="btn btn-secondary btn-xs">Restore</button>
|
|
</form>
|
|
<form action="/admin/trash/{{ item.table }}/{{ item.id }}/permanent-delete" method="post"
|
|
data-confirm="Permanently delete '{{ item.name }}'? This cannot be undone." style="display:inline">
|
|
<button type="submit" class="btn btn-ghost btn-xs" style="color: var(--red)">Delete Forever</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% else %}
|
|
<div class="empty-state mt-3">
|
|
<div class="empty-state-icon">🗑</div>
|
|
<div class="empty-state-text">Trash is empty</div>
|
|
</div>
|
|
{% endif %}
|
|
{% endblock %}
|