This commit is contained in:
@@ -263,13 +263,13 @@ body {
|
|||||||
.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 top; display: block; transform-origin: center; }
|
||||||
.avatar-component-card__label { font-size: 12px; font-weight: 700; color: var(--color-text); text-align: center; }
|
.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-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,
|
.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.05) 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.0) translateY(10%); }
|
.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(1.95) translateY(-4%); }
|
.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(1.9) translateY(-20%); }
|
.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(1.95) translateY(7%); }
|
.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(1.85) translateY(-1%); }
|
.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 { 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[hidden] { display: none; }
|
||||||
.avatar-seed-picker__head { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
|
.avatar-seed-picker__head { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
|
||||||
|
|||||||
@@ -21,17 +21,14 @@ final class Lorelei
|
|||||||
|
|
||||||
public static function options(): array
|
public static function options(): array
|
||||||
{
|
{
|
||||||
$variants24 = self::variantOptions(24);
|
|
||||||
$optional24 = ['' => 'Automatisch'] + $variants24;
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'avatar_lorelei_eyes_variant' => $variants24,
|
'avatar_lorelei_eyes_variant' => self::variantOptions(24),
|
||||||
'avatar_lorelei_eyebrows_variant' => $variants24,
|
'avatar_lorelei_eyebrows_variant' => self::variantOptions(13),
|
||||||
'avatar_lorelei_mouth_variant' => $variants24,
|
'avatar_lorelei_mouth_variant' => self::mouthVariantOptions(),
|
||||||
'avatar_lorelei_glasses_variant' => $optional24,
|
'avatar_lorelei_glasses_variant' => ['' => 'Automatisch'] + self::variantOptions(5),
|
||||||
'avatar_lorelei_hair_variant' => $optional24,
|
'avatar_lorelei_hair_variant' => ['' => 'Automatisch'] + self::variantOptions(48),
|
||||||
'avatar_lorelei_beard_variant' => $optional24,
|
'avatar_lorelei_beard_variant' => ['' => 'Automatisch'] + self::variantOptions(2),
|
||||||
'avatar_lorelei_earrings_variant' => $optional24,
|
'avatar_lorelei_earrings_variant' => ['' => 'Automatisch'] + self::variantOptions(3),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -192,6 +189,23 @@ final class Lorelei
|
|||||||
return $options;
|
return $options;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static function mouthVariantOptions(): array
|
||||||
|
{
|
||||||
|
$options = [];
|
||||||
|
|
||||||
|
for ($index = 1; $index <= 18; $index++) {
|
||||||
|
$key = sprintf('happy%02d', $index);
|
||||||
|
$options[$key] = 'Freundlich ' . $index;
|
||||||
|
}
|
||||||
|
|
||||||
|
for ($index = 1; $index <= 9; $index++) {
|
||||||
|
$key = sprintf('sad%02d', $index);
|
||||||
|
$options[$key] = 'Zurueckhaltend ' . $index;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $options;
|
||||||
|
}
|
||||||
|
|
||||||
public static function normalizeVariant(string $value): string
|
public static function normalizeVariant(string $value): string
|
||||||
{
|
{
|
||||||
$value = strtolower(trim($value));
|
$value = strtolower(trim($value));
|
||||||
@@ -199,6 +213,6 @@ final class Lorelei
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
return preg_match('/^variant\d{2}$/', $value) === 1 ? $value : '';
|
return preg_match('/^(variant\d{2}|happy\d{2}|sad\d{2})$/', $value) === 1 ? $value : '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user