First Commit

This commit is contained in:
marco
2026-09-01 10:46:29 -03:00
commit bf96b77e9c
10000 changed files with 3508600 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
{% extends "layouts/dashboard.twig" %}
{% block title %}{{ title }} - {{ platformName }}{% endblock %}
{% block content %}
<div class="container-fluid px-4">
<h1 class="mt-4">{{ title }}</h1>
<ol class="breadcrumb mb-4">
<li class="breadcrumb-item"><a href="{{ url('dashboard') }}">{{ __('layout.menu.dashboard') }}</a></li>
<li class="breadcrumb-item"><a href="{{ url('admin/configindex') }}">{{ __('configindex.title') }}</a></li>
<li class="breadcrumb-item active">{{ title }}</li>
</ol>
<div class="card mb-4">
<div class="card-header">
<i class="bi bi-plus-circle me-1"></i>
Criar Nova Página Index
</div>
<div class="card-body">
<form action="{{ url('admin/configindex/store') }}" method="POST">
<div class="mb-3">
<label for="key" class="form-label">Identificador da Página (Slug)</label>
<input type="text" class="form-label form-control" id="key" name="key" required placeholder="ex: contato, sobre, galeria">
<div class="form-text">Este identificador será usado para o nome do arquivo .twig e para as chaves de tradução. Use apenas letras, números e hífens.</div>
</div>
<div class="d-flex justify-content-between">
<a href="{{ url('admin/configindex') }}" class="btn btn-secondary">Cancelar</a>
<button type="submit" class="btn btn-primary">Criar Página</button>
</div>
</form>
</div>
</div>
</div>
{% endblock %}
+72
View File
@@ -0,0 +1,72 @@
{% extends "layouts/dashboard.twig" %}
{% block title %}{{ title }} - {{ platformName }}{% endblock %}
{% block content %}
<div class="container-fluid px-4">
<h1 class="mt-4">{{ title }}</h1>
<ol class="breadcrumb mb-4">
<li class="breadcrumb-item"><a href="{{ url('dashboard') }}">{{ __('layout.menu.dashboard') }}</a></li>
<li class="breadcrumb-item"><a href="{{ url('admin/configindex') }}?theme={{ currentTheme }}">{{ title }}</a></li>
<li class="breadcrumb-item active">{{ page_key }}</li>
</ol>
<div class="alert alert-info d-flex align-items-center mb-4">
<i class="bi bi-info-circle-fill me-2"></i>
<div>
Você está editando a página para o tema: <strong>{{ currentTheme|capitalize }}</strong>.
<br><small>Arquivo: <code>{{ foundPath|replace({(base_path): ''}) }}</code></small>
</div>
</div>
<div class="card mb-4">
<div class="card-body">
<form action="{{ url('admin/configindex/' ~ page_key ~ '/update') }}?theme={{ currentTheme }}" method="POST">
<div class="row mb-3">
<div class="col-md-6">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" id="show_public_nav" name="config_index_show_public_nav" {% if page_data %}{% if page_data.config_index_show_public_nav %}checked{% endif %}{% else %}checked{% endif %}>
<label class="form-check-label" for="show_public_nav">{{ __('configindex.show_public_nav') }}</label>
</div>
</div>
<div class="col-md-6">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" id="show_dashboard_nav" name="config_index_show_dashboard_nav" {% if page_data %}{% if page_data.config_index_show_dashboard_nav %}checked{% endif %}{% else %}checked{% endif %}>
<label class="form-check-label" for="show_dashboard_nav">{{ __('configindex.show_dashboard_nav') }}</label>
</div>
</div>
</div>
<div class="mb-3">
<label for="content" class="form-label">{{ __('configindex.form_content') }}</label>
<textarea name="content" id="content" class="form-control" rows="18">{% if template_code %}{{ template_code|raw }}{% else %}{{ page_data.config_index_content|raw }}{% endif %}</textarea>
</div>
<div class="mb-4">
<h5 class="mb-3">{{ __('configindex.template_translations') }}</h5>
{% if languages %}
{% for lang in languages %}
<div class="mb-3">
<label class="form-label">{{ lang }} - {{ __('configindex.index_json_section') }} {{ page_key }})</label>
<textarea name="translations_index_section[{{ lang }}]" class="form-control" rows="10">{{ translations_index_section[lang]|default('{}') }}</textarea>
</div>
<hr/>
{% endfor %}
{% endif %}
</div>
<button type="submit" class="btn btn-primary">
<i class="bi bi-save"></i> {{ __('configindex.save') }}
</button>
<a href="{{ url('admin/configindex') }}" class="btn btn-secondary">
{{ __('configindex.cancel') }}
</a>
</form>
</div>
</div>
</div>
{% endblock %}
{% block scripts %}{% endblock %}
+88
View File
@@ -0,0 +1,88 @@
{% extends "layouts/dashboard.twig" %}
{% block title %}{{ title }} - {{ platformName }}{% endblock %}
{% block content %}
<div class="container-fluid px-4">
<h1 class="mt-4">{{ title }}</h1>
<ol class="breadcrumb mb-4">
<li class="breadcrumb-item"><a href="{{ url('dashboard') }}">{{ __('layout.menu.dashboard') }}</a></li>
<li class="breadcrumb-item active">{{ title }}</li>
</ol>
<div class="card mb-4">
<div class="card-header d-flex justify-content-between align-items-center">
<div class="d-flex align-items-center">
<i class="bi bi-file-earmark-text me-2"></i>
<span class="me-3">{{ __('configindex.list_title') }}</span>
<form action="{{ url('admin/configindex') }}" method="GET" class="d-inline-flex align-items-center">
<label class="me-2 small text-muted">Editar para o Tema:</label>
<select name="theme" class="form-select form-select-sm" onchange="this.form.submit()" style="width: auto;">
{% for slug, name in availableThemes %}
<option value="{{ slug }}" {{ currentTheme == slug ? 'selected' : '' }}>{{ name }}</option>
{% endfor %}
</select>
</form>
</div>
<a href="{{ url('admin/configindex/create') }}" class="btn btn-success btn-sm">
<i class="bi bi-plus-circle"></i> Nova Página
</a>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered table-hover" width="100%" cellspacing="0">
<thead class="table-light">
<tr>
<th>{{ __('configindex.page_name') }}</th>
<th>Localização do Arquivo</th>
<th>{{ __('configindex.actions') }}</th>
</tr>
</thead>
<tbody>
{% for key, name in pages %}
<tr>
<td>
<strong>{{ name }}</strong> <small class="text-muted">({{ key }})</small>
</td>
<td>
<code class="small">
{% if currentTheme == 'default' %}
modules/index/views/{{ key }}.twig
{% else %}
themes/{{ currentTheme }}/modules/index/views/{{ key }}.twig
{% endif %}
</code>
</td>
<td>
<div class="btn-group" role="group">
<a href="{{ url('admin/configindex/' ~ key ~ '/edit') }}?theme={{ currentTheme }}" class="btn btn-primary btn-sm" title="{{ __('configindex.edit') }}">
<i class="bi bi-pencil"></i> Editar
</a>
{% if currentTheme == 'default' %}
<form action="{{ url('admin/configindex/' ~ key ~ '/toggle-status') }}" method="POST" style="display:inline;">
<button type="submit" class="btn btn-outline-warning btn-sm" title="Ativar/Desativar">
<i class="bi bi-eye"></i>
</button>
</form>
{% if key != 'index' %}
<form action="{{ url('admin/configindex/' ~ key ~ '/delete') }}" method="POST" style="display:inline;" onsubmit="return confirm('Tem certeza que deseja excluir esta página e todos os seus arquivos?');">
<button type="submit" class="btn btn-outline-danger btn-sm" title="Excluir">
<i class="bi bi-trash"></i>
</button>
</form>
{% endif %}
{% endif %}
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
{% endblock %}