Files
dockerfluxodecaixapro/modules/pagebuilder/views/admin/index.twig
T
2026-09-01 10:46:29 -03:00

142 lines
9.8 KiB
Twig
Executable File

{% extends "layouts/dashboard.twig" %}
{% block title %}{{ title }}{% endblock %}
{% block content %}
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h5 class="mb-0">{{ __('pagebuilder.manage_pages') }}</h5>
<a href="{{ url('admin/pages/create') }}" class="btn btn-primary">
<i class="bi bi-plus-lg"></i> {{ __('pagebuilder.new_page') }}
</a>
</div>
<div class="card-body">
{% if session_has('success') %}
<div class="alert alert-success alert-dismissible fade show" role="alert">
{{ session_get('success') }}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endif %}
{% if pages|length > 0 %}
<div class="table-responsive">
<table class="table table-striped table-hover">
<thead>
<tr>
<th>{{ __('pagebuilder.title') }}</th>
<th>{{ __('pagebuilder.slug') }}</th>
<th>{{ __('pagebuilder.status') }}</th>
<th>{{ __('pagebuilder.theme') }}</th>
<th>{{ __('pagebuilder.author') }}</th>
<th>{{ __('pagebuilder.updated_at') }}</th>
<th>{{ __('pagebuilder.actions') }}</th>
</tr>
</thead>
<tbody>
{% for page in pages %}
<tr>
<td>
<strong>{{ page.pages_title }}</strong>
{% if page.pages_meta_title %}
<br><small class="text-muted">{{ __('pagebuilder.meta_title') }}: {{ page.pages_meta_title|slice(0, 50) }}{% if page.pages_meta_title|length > 50 %}...{% endif %}</small>
{% endif %}
</td>
<td>
<code>{{ page.pages_slug }}</code>
</td>
<td>
{% if page.pages_is_published %}
<span class="badge bg-success">{{ __('pagebuilder.published') }}</span>
{% else %}
<span class="badge bg-secondary">{{ __('pagebuilder.draft') }}</span>
{% endif %}
</td>
<td>
{% if page.theme %}
<span class="badge bg-info">{{ page.theme.themes_name }}</span>
{% else %}
<span class="text-muted">{{ __('pagebuilder.default') }}</span>
{% endif %}
</td>
<td>{{ page.creator ? page.creator.name : '-' }}</td>
<td>{{ page.updated_at|date('d/m/Y H:i') }}</td>
<td>
<div class="btn-group" role="group">
<a href="{{ page.url }}" class="btn btn-sm btn-outline-primary" target="_blank" title="{{ __('pagebuilder.view') }}">
<i class="bi bi-eye"></i>
</a>
<a href="{{ url('/admin/pages/' ~ page.pages_id ~ '/edit') }}" class="btn btn-sm btn-outline-secondary" title="{{ __('pagebuilder.edit') }}">
<i class="bi bi-pencil"></i>
</a>
<button type="button" class="btn btn-sm btn-outline-info dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false" title="{{ __('pagebuilder.more_actions') }}">
<i class="bi bi-three-dots-vertical"></i>
</button>
<ul class="dropdown-menu">
{% if page.pages_is_published %}
<li>
<form action="{{ url('/admin/pages/' ~ page.pages_id ~ '/unpublish') }}" method="POST" style="display: inline;">
<button type="submit" class="dropdown-item">
<i class="bi bi-file-text"></i> {{ __('pagebuilder.set_as_draft') }}
</button>
</form>
</li>
{% else %}
<li>
<form action="{{ url('/admin/pages/' ~ page.pages_id ~ '/publish') }}" method="POST" style="display: inline;">
<button type="submit" class="dropdown-item">
<i class="bi bi-check-lg"></i> {{ __('pagebuilder.publish') }}
</button>
</form>
</li>
{% endif %}
<li><hr class="dropdown-divider"></li>
<li>
<form action="{{ url('/admin/pages/' ~ page.pages_id) }}" method="POST" onsubmit="return confirm('{{ __('pagebuilder.confirm_delete') }}')" style="display: inline;">
<input type="hidden" name="_method" value="DELETE">
<button type="submit" class="dropdown-item text-danger">
<i class="bi bi-trash"></i> {{ __('pagebuilder.delete') }}
</button>
</form>
</li>
</ul>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% if paginator.total_pages > 1 %}
<div class="d-flex justify-content-center mt-4">
{% include 'components/paginator.twig' with {'paginator': {
'total_pages': paginator.last_page,
'current_page': paginator.current_page,
'has_prev': paginator.has_previous_pages,
'has_next': paginator.has_more_pages,
'base_url': url('/admin/pages?page=')
}} %}
</div>
{% endif %}
{% else %}
<div class="text-center py-5">
<i class="bi bi-file-text fs-1 text-muted mb-3"></i>
<h5>{{ __('pagebuilder.no_pages_found') }}</h5>
<p class="text-muted">{{ __('pagebuilder.start_creating_page') }}</p>
<a href="{{ url('admin/pages/create') }}" class="btn btn-primary">
<i class="bi bi-plus-lg"></i> {{ __('pagebuilder.create_button') }}
</a>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% endblock %}