adasd
All checks were successful
Deploy / deploy (push) Successful in 52s

This commit is contained in:
2026-07-27 02:49:42 +02:00
parent f757c4522e
commit 4a2596ba21
3 changed files with 11 additions and 13 deletions

View File

@@ -309,6 +309,10 @@ $sectionLinks = [
</div>
<div class="avatar-component-nav" role="tablist" aria-label="Avatar-Komponenten">
<?php foreach (\App\Avatar\Lorelei::componentDefinitions() as $field => $meta): ?>
<?php
$componentOptions = $avatarOptions[$field] ?? [];
$componentCount = count(array_filter(array_keys($componentOptions), static fn ($value): bool => (string) $value !== ''));
?>
<button
type="button"
class="avatar-component-nav__button <?= $field === 'avatar_lorelei_eyes_variant' ? 'is-active' : '' ?>"
@@ -316,6 +320,7 @@ $sectionLinks = [
aria-selected="<?= $field === 'avatar_lorelei_eyes_variant' ? 'true' : 'false' ?>"
>
<?= htmlspecialchars((string)$meta['label'], ENT_QUOTES) ?>
<span class="muted small">(<?= $componentCount ?>)</span>
</button>
<?php endforeach; ?>
</div>
@@ -324,7 +329,7 @@ $sectionLinks = [
<section class="avatar-component-panel avatar-component-panel--<?= htmlspecialchars(str_replace(['avatar_lorelei_', '_variant'], '', (string)$field), ENT_QUOTES) ?> <?= $field === 'avatar_lorelei_eyes_variant' ? 'is-active' : '' ?>" data-avatar-component-panel="<?= htmlspecialchars((string)$field, ENT_QUOTES) ?>">
<div class="avatar-component-panel__head">
<strong><?= htmlspecialchars((string)$meta['label'], ENT_QUOTES) ?></strong>
<span class="muted small">Nur die jeweilige Komponente in groß</span>
<span class="muted small">Gesamtes Profilbild zur sicheren Vorschau</span>
</div>
<div class="avatar-component-grid">
<?php foreach (\App\Avatar\Lorelei::previewChoices($profile, $field) as $choice): ?>

View File

@@ -260,16 +260,9 @@ body {
.avatar-component-card { position: relative; display: grid; gap: 6px; padding: 8px; background: #fff; border: 1px solid var(--color-border); border-radius: 16px; cursor: pointer; }
.avatar-component-card input { position: absolute; opacity: 0; pointer-events: none; }
.avatar-component-card__thumb { display: block; aspect-ratio: 1; border-radius: 14px; overflow: hidden; background: linear-gradient(180deg, #f7efe6, #f0e4d7); border: 1px solid rgba(74, 52, 38, 0.08); }
.avatar-component-card__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; transform-origin: center; }
.avatar-component-card__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; transform: none; }
.avatar-component-card__label { font-size: 12px; font-weight: 700; color: var(--color-text); text-align: center; }
.avatar-component-card:has(input:checked) { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(52,72,90,0.14); }
.avatar-component-panel--eyes .avatar-component-card__thumb img { transform: scale(2.45) translateY(-12%); }
.avatar-component-panel--eyebrows .avatar-component-card__thumb img { transform: scale(2.7) translateY(-18%); }
.avatar-component-panel--mouth .avatar-component-card__thumb img { transform: scale(2.2) translateY(14%); }
.avatar-component-panel--glasses .avatar-component-card__thumb img { transform: scale(2.55) translateY(-11%); }
.avatar-component-panel--hair .avatar-component-card__thumb img { transform: scale(2.15) translateY(-31%); }
.avatar-component-panel--beard .avatar-component-card__thumb img { transform: scale(2.25) translateY(11%); }
.avatar-component-panel--earrings .avatar-component-card__thumb img { transform: scale(2.35) translateY(-6%); }
.avatar-seed-picker { width: 100%; display: grid; gap: 12px; padding: 18px; background: rgba(255,255,255,0.82); border: 1px solid var(--color-border); border-radius: 18px; }
.avatar-seed-picker[hidden] { display: none; }
.avatar-seed-picker__head { display: flex; justify-content: space-between; gap: 12px; align-items: center; }

View File

@@ -25,10 +25,10 @@ final class Lorelei
'avatar_lorelei_eyes_variant' => self::variantOptions(24),
'avatar_lorelei_eyebrows_variant' => self::variantOptions(13),
'avatar_lorelei_mouth_variant' => self::mouthVariantOptions(),
'avatar_lorelei_glasses_variant' => ['' => 'Automatisch'] + self::variantOptions(5),
'avatar_lorelei_hair_variant' => ['' => 'Automatisch'] + self::variantOptions(48),
'avatar_lorelei_beard_variant' => ['' => 'Automatisch'] + self::variantOptions(2),
'avatar_lorelei_earrings_variant' => ['' => 'Automatisch'] + self::variantOptions(3),
'avatar_lorelei_glasses_variant' => ['' => 'Keine'] + self::variantOptions(5),
'avatar_lorelei_hair_variant' => ['' => 'Keine'] + self::variantOptions(48),
'avatar_lorelei_beard_variant' => ['' => 'Keine'] + self::variantOptions(2),
'avatar_lorelei_earrings_variant' => ['' => 'Keine'] + self::variantOptions(3),
];
}