- Thema editor (thema's net zo bewerkbaar maken als plugins): bestandsbrowser zijbalk, nieuw bestand, uploaden, verwijderen, verplaatsen, SCSS compileren vanuit editor, thema activeren/ verwijderen, nieuw thema met basis-kopie, uniforme thema-structuur - Content editor (content consistent met plugins en thema's): bestandsbrowser zijbalk naast bestaande lijst weergave, nieuw bestand/map, uploaden, verwijderen, verplaatsen, mappen beheer, layout/plugins selectie, git/backup integratie in editor zijbalk - Uniformiteit: scanEditorFiles() unified scanner (scanPluginFiles/scanThemeFiles/scanContentFiles als dunne wrappers) - Media invoegen in editor: ?theme= scope voor media-list endpoint - Bug fix: thema-naam niet overgenomen bij kopiëren - title in theme.json wordt overschreven met nieuwe themanaam - Handleidingen bijgewerkt (thema-beheer.md + content-beheer.md NL/EN) - Release notes: docs/release-notes/v2.6.2.md - Pentest 30/30, WCAG 25/25
34 lines
1.8 KiB
Twig
34 lines
1.8 KiB
Twig
{% extends "layouts/admin.twig" %}
|
|
|
|
{% block title %}{{ ta.new_theme|default('Nieuw thema') }} - {{ ta.admin_title|default('CodePress Admin') }}{% endblock %}
|
|
|
|
{% block content %}
|
|
<h2 class="mb-4"><i class="bi bi-palette"></i> {{ ta.new_theme_title|default('Nieuw thema aanmaken') }}</h2>
|
|
|
|
<form method="post" class="card shadow-sm">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token }}">
|
|
<div class="card-body">
|
|
<div class="mb-3">
|
|
<label for="name" class="form-label">{{ ta.theme_name|default('Thema naam') }}</label>
|
|
<input type="text" class="form-control" id="name" name="name" required autofocus>
|
|
<small class="form-text text-muted">{{ ta.theme_name_help|default('Alleen letters, cijfers, underscores en streepjes.') }}</small>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="base_theme" class="form-label">{{ ta.theme_base|default('Basis thema') }}</label>
|
|
<select class="form-select" id="base_theme" name="base_theme">
|
|
<option value="">{{ ta.theme_base_blank|default('(lege structuur)') }}</option>
|
|
{% for name in base_themes %}
|
|
<option value="{{ name }}">{{ name }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
<small class="form-text text-muted">{{ ta.theme_base_help|default('Kies een bestaand thema als basis om te kopiëren, of start met een lege uniforme structuur. css_compiled/ wordt niet gekopieerd.') }}</small>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer bg-white">
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="bi bi-check-lg"></i> {{ ta.create|default('Aanmaken') }}
|
|
</button>
|
|
<a href="/admin/theme" class="btn btn-outline-secondary">{{ ta.cancel|default('Annuleren') }}</a>
|
|
</div>
|
|
</form>
|
|
{% endblock %} |