This commit is contained in:
@@ -6,7 +6,6 @@ $editing = isset($editEvent) && $editEvent !== null;
|
||||
$actionEvent = $editing ? 'event_update' : 'event_add';
|
||||
$startVal = $editEvent ? date('Y-m-d\TH:i', strtotime((string)$editEvent['starts_at'])) : '';
|
||||
$allowNoKidsChecked = $editEvent ? ((int)$editEvent['allow_kids'] === 0) : false;
|
||||
$activeAvatarPresetGroup = \App\Avatar::presetGroupForPreset((string)($profile['avatar_preset'] ?? 'modern_001'));
|
||||
$sectionLinks = [
|
||||
'profile' => 'Profil',
|
||||
'children' => 'Kinder',
|
||||
@@ -68,7 +67,7 @@ $sectionLinks = [
|
||||
</div>
|
||||
<div class="profile-avatar-panel__content">
|
||||
<h3>Dein Profilbild</h3>
|
||||
<p class="muted">Wähle ein modernes Portrait im Stil der Community. Die Varianten bleiben konsistent, frisch und deutlich näher an der gewünschten Optik.</p>
|
||||
<p class="muted">Dein Profilbild wird jetzt mit DiceBear im Stil Lorelei erzeugt. Du wählst eine Variante aus und speicherst deren Seed dauerhaft in deinem Profil.</p>
|
||||
<button class="btn" type="button" data-modal-open="modalAvatar">Profilbild gestalten</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -303,39 +302,32 @@ $sectionLinks = [
|
||||
<div data-avatar-preview>
|
||||
<?= \App\Avatar::render($profile, $profile['display_name'] ?: 'Papa', 'xxl') ?>
|
||||
</div>
|
||||
<p class="muted small">Wähle zuerst einen Hautton-Bereich und dann eine passende Variante. Die Vorschau aktualisiert sich sofort.</p>
|
||||
<p class="muted small">Wähle eine Lorelei-Variante oder lade dir direkt neue Vorschläge. Die Vorschau aktualisiert sich sofort.</p>
|
||||
</div>
|
||||
<div class="avatar-builder__controls">
|
||||
<div class="avatar-preset-filters" role="tablist" aria-label="Hauttöne filtern">
|
||||
<?php foreach ($avatarPresetGroups as $groupKey => $groupMeta): ?>
|
||||
<button
|
||||
type="button"
|
||||
class="avatar-preset-filter <?= $groupKey === $activeAvatarPresetGroup ? 'is-active' : '' ?>"
|
||||
data-avatar-preset-filter="<?= htmlspecialchars((string)$groupKey, ENT_QUOTES) ?>"
|
||||
role="tab"
|
||||
aria-selected="<?= $groupKey === $activeAvatarPresetGroup ? 'true' : 'false' ?>"
|
||||
>
|
||||
<?= htmlspecialchars((string)$groupMeta['label'], ENT_QUOTES) ?>
|
||||
</button>
|
||||
<?php endforeach; ?>
|
||||
<div class="flex gap-12" style="flex-wrap:wrap;">
|
||||
<button class="btn ghost" type="button" data-avatar-reroll>Neue Varianten laden</button>
|
||||
</div>
|
||||
<div class="stack gap-6">
|
||||
<span class="label">Variante wählen</span>
|
||||
<?php foreach ($avatarPresetOptions as $groupKey => $groupPresets): ?>
|
||||
<div class="avatar-preset-group <?= $groupKey === $activeAvatarPresetGroup ? 'is-active' : '' ?>" data-avatar-preset-group="<?= htmlspecialchars((string)$groupKey, ENT_QUOTES) ?>">
|
||||
<div class="avatar-preset-grid">
|
||||
<?php foreach ($groupPresets as $value => $meta): ?>
|
||||
<label class="avatar-preset-card">
|
||||
<input type="radio" name="avatar_preset" value="<?= htmlspecialchars((string)$value, ENT_QUOTES) ?>" data-avatar-field="avatar_preset" <?= $profile['avatar_preset'] === $value ? 'checked' : '' ?>>
|
||||
<span class="avatar-preset-card__thumb">
|
||||
<img src="<?= htmlspecialchars((string)($meta['image'] ?? ''), ENT_QUOTES) ?>" alt="<?= htmlspecialchars((string)$meta['label'], ENT_QUOTES) ?>">
|
||||
</span>
|
||||
<span class="avatar-preset-card__label"><?= htmlspecialchars((string)$meta['label'], ENT_QUOTES) ?></span>
|
||||
</label>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
<div class="avatar-preset-grid" data-avatar-grid>
|
||||
<?php foreach ($avatarPresetOptions as $index => $meta): ?>
|
||||
<label class="avatar-preset-card">
|
||||
<input
|
||||
type="radio"
|
||||
name="avatar_preset"
|
||||
value="<?= htmlspecialchars((string)$meta['seed'], ENT_QUOTES) ?>"
|
||||
data-avatar-field="avatar_preset"
|
||||
data-avatar-url="<?= htmlspecialchars((string)$meta['image'], ENT_QUOTES) ?>"
|
||||
<?= $profile['avatar_preset'] === $meta['seed'] || ($profile['avatar_preset'] === '' && $index === 0) ? 'checked' : '' ?>
|
||||
>
|
||||
<span class="avatar-preset-card__thumb">
|
||||
<img src="<?= htmlspecialchars((string)$meta['image'], ENT_QUOTES) ?>" alt="<?= htmlspecialchars((string)$meta['label'], ENT_QUOTES) ?>">
|
||||
</span>
|
||||
<span class="avatar-preset-card__label"><?= htmlspecialchars((string)$meta['label'], ENT_QUOTES) ?></span>
|
||||
</label>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user