Files
2026-09-01 10:46:29 -03:00

83 lines
3.9 KiB
Twig
Executable File

{% extends 'layouts/dashboard.twig' %}
{% block title %}{{ title }}{% endblock %}
{% block content %}
<div class="container-fluid px-4">
<h1 class="mt-4">Temas</h1>
<ol class="breadcrumb mb-4">
<li class="breadcrumb-item"><a href="{{ url('admin') }}">Dashboard</a></li>
<li class="breadcrumb-item active">Temas</li>
</ol>
<div class="row">
{% for slug, theme in themes %}
<div class="col-xl-4 col-md-6 mb-4">
<div class="card h-100 theme-card {% if slug == activeTheme %}border-primary border-3{% endif %} shadow-sm">
{% if theme.screenshot %}
<img src="{{ theme.screenshot }}" class="card-img-top" alt="{{ theme.name }}" style="height: 200px; object-fit: cover;">
{% else %}
<div class="card-img-top bg-secondary d-flex align-items-center justify-content-center text-white" style="height: 200px;">
<i class="bi bi-image" style="font-size: 4rem;"></i>
</div>
{% endif %}
<div class="card-body">
<h5 class="card-title d-flex justify-content-between align-items-center">
{{ theme.name }}
{% if slug == activeTheme %}
<span class="badge bg-primary">Ativo</span>
{% endif %}
</h5>
<p class="card-text text-muted small">{{ theme.description|slice(0, 100) }}{% if theme.description|length > 100 %}...{% endif %}</p>
<div class="theme-meta mb-3">
<span class="badge bg-light text-dark">v{{ theme.version }}</span>
<span class="badge bg-light text-dark">Por: {{ theme.author }}</span>
</div>
</div>
<div class="card-footer bg-white border-top-0 pb-3">
<div class="d-grid gap-2">
{% if slug == activeTheme %}
{% if theme.is_customizable %}
<a href="{{ url('admin/themes/' ~ slug ~ '/customize') }}" class="btn btn-outline-primary">Personalizar</a>
{% else %}
<button class="btn btn-outline-secondary" disabled title="Este tema não suporta o Customizer">Personalizar</button>
{% endif %}
{% else %}
<form action="{{ url('admin/themes/activate/' ~ slug) }}" method="POST">
{{ csrf_field()|raw }}
<button type="submit" class="btn btn-primary w-100">Ativar</button>
</form>
{% endif %}
</div>
</div>
</div>
</div>
{% endfor %}
{# Card para Adicionar Novo Tema (Simulação) #}
<div class="col-xl-4 col-md-6 mb-4">
<div class="card h-100 border-dashed d-flex align-items-center justify-content-center bg-light" style="border: 2px dashed #dee2e6; min-height: 350px;">
<div class="text-center p-5">
<i class="bi bi-plus-circle text-muted" style="font-size: 3rem;"></i>
<h5 class="mt-3 text-muted">Adicionar Novo Tema</h5>
<p class="text-muted small">Faça upload de um arquivo .zip ou explore o repositório.</p>
<button class="btn btn-outline-primary btn-sm mt-2" disabled>Upload (Breve)</button>
</div>
</div>
</div>
</div>
</div>
<style>
.theme-card:hover {
transform: translateY(-5px);
transition: all 0.3s ease;
}
.border-dashed {
border-style: dashed !important;
}
</style>
{% endblock %}