- Reorganize admin into admin/theme/default/ (views + assets) - Rename GuideNav to Navigation plugin (essential, protected) - Plugin assets support (SCSS/CSS) loaded after theme CSS - User roles: Admin, Content Manager, BI Manager, Site Admin - Role-based access control (RBAC) for admin routes and sidebar - Guide restructure: sub-topics in separate folders with sidebar nav - Dynamic breadcrumb for homepage and subdirectories - Fix theme path traversal (../../ -> ../) in admin.php - Fix CodeMirror mode load order (xml -> css -> js -> htmlmixed -> php) - Fix editor-toolbar.js null checks for plugin edit pages - Layout select from theme.json with live frontmatter update - Footer sticky at bottom of viewport (min-height: 100vh) - Breadcrumb color fix (var(--nav-font) -> var(--header-bg)) - Remove language switcher from guide pages - Update README.md and README.en.md - Bump version to 2.5.1
64 lines
3.1 KiB
Twig
64 lines
3.1 KiB
Twig
{% extends "layouts/admin.twig" %}
|
|
|
|
{% block title %}Configuratie - CodePress Admin{% endblock %}
|
|
|
|
{% block content %}
|
|
<h2 class="mb-4"><i class="bi bi-sliders"></i> Configuratie</h2>
|
|
|
|
<form method="POST" action="/admin/config">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token }}">
|
|
|
|
<div class="card shadow-sm mb-4">
|
|
<div class="card-header">Algemene instellingen</div>
|
|
<div class="card-body">
|
|
<div class="mb-3">
|
|
<label for="site_title" class="form-label">Site titel</label>
|
|
<input type="text" class="form-control" id="site_title" name="site_title" value="{{ config.site_title|default('CodePress') }}">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="language_default" class="form-label">Standaard taal</label>
|
|
<select class="form-select" id="language_default" name="language_default">
|
|
<option value="nl" {{ config.language.default|default('nl') == 'nl' ? 'selected' : '' }}>Nederlands</option>
|
|
<option value="en" {{ config.language.default == 'en' ? 'selected' : '' }}>Engels</option>
|
|
<option value="de" {{ config.language.default == 'de' ? 'selected' : '' }}>Duits</option>
|
|
<option value="fr" {{ config.language.default == 'fr' ? 'selected' : '' }}>Frans</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card shadow-sm mb-4">
|
|
<div class="card-header">Auteur</div>
|
|
<div class="card-body">
|
|
<div class="mb-3">
|
|
<label for="author_name" class="form-label">Naam</label>
|
|
<input type="text" class="form-control" id="author_name" name="author_name" value="{{ config.author.name|default('') }}">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="author_email" class="form-label">E-mail</label>
|
|
<input type="email" class="form-control" id="author_email" name="author_email" value="{{ config.author.email|default('') }}">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card shadow-sm mb-4">
|
|
<div class="card-header">Analytics & Logging</div>
|
|
<div class="card-body">
|
|
<div class="form-check form-switch mb-3">
|
|
<input class="form-check-input" type="checkbox" id="analytics_enabled" name="analytics_enabled" {{ config.analytics.enabled ? 'checked' : '' }}>
|
|
<label class="form-check-label" for="analytics_enabled">Analytics ingeschakeld</label>
|
|
</div>
|
|
<div class="form-check form-switch mb-3">
|
|
<input class="form-check-input" type="checkbox" id="logging_enabled" name="logging_enabled" {{ config.logging.enabled ? 'checked' : '' }}>
|
|
<label class="form-check-label" for="logging_enabled">Logging ingeschakeld</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="bi bi-check-lg"></i> Opslaan
|
|
</button>
|
|
<a href="/admin/dashboard" class="btn btn-outline-secondary">Annuleren</a>
|
|
</form>
|
|
{% endblock %}
|