🌐 Add language selection accordion to welcome and login pages

This commit is contained in:
HolgerHatGarKeineNode
2025-11-21 20:04:58 +01:00
parent c7d2e573a5
commit ec2964608e
4 changed files with 50 additions and 0 deletions

View File

@@ -381,3 +381,4 @@
"Lokale Buchausleihe für Bitcoin-Meetups.": "Préstamo local de libros para encuentros Bitcoin.",
"Bitcoin - Rabbit Hole": "Bitcoin - La Madriguera del Conejo",
"Dies ist ein großartiger Überblick über die Bitcoin-Kaninchenhöhle mit Zugängen zu Bereichen, die Bitcoin umfasst. Jedes Thema hat seine eigene Kaninchenhöhle, die durch Infografiken auf einfache und verständliche Weise visualisiert wird, mit QR-Codes, die zu erklärenden Videos und Artikeln führen. Viel Spaß auf Ihrer Entdeckungsreise!": "Esta es una excelente visión general de la madriguera del conejo de Bitcoin con acceso a áreas que abarca Bitcoin. Cada tema tiene su propia madriguera, que se visualiza de manera simple y comprensible a través de infografías, con códigos QR que conducen a videos y artículos explicativos. ¡Disfruta tu viaje de descubrimiento!"
}

View File

@@ -0,0 +1,44 @@
<div class="mt-8">
<flux:accordion>
<flux:accordion.item>
<flux:accordion.heading>
<div class="flex items-center gap-2">
<flux:icon.language class="w-5 h-5" />
{{ __('Sprache wählen') }}
</div>
</flux:accordion.heading>
<flux:accordion.content>
@php
$languages = [
'de' => ['name' => 'Deutsch', 'countries' => ['de-DE', 'de-AT', 'de-CH']],
'en' => ['name' => 'English', 'countries' => ['en-GB', 'en-US', 'en-AU', 'en-CA']],
'es' => ['name' => 'Español', 'countries' => ['es-ES', 'es-CL', 'es-CO']],
];
$currentLangCountry = session('lang_country', config('lang-country.fallback'));
@endphp
<div class="grid grid-cols-2 gap-3 mt-2">
@foreach($languages as $langCode => $langData)
@foreach($langData['countries'] as $langCountry)
@php
[$lang, $countryCode] = explode('-', $langCountry);
$isActive = $currentLangCountry === $langCountry;
@endphp
<a href="{{ route('lang_country.switch', ['lang_country' => $langCountry]) }}"
class="flex flex-col items-center justify-center p-3 border rounded-lg hover:bg-zinc-100 dark:hover:bg-zinc-800 transition-colors {{ $isActive ? 'border-blue-500 bg-blue-50 dark:bg-blue-950' : 'border-zinc-200 dark:border-zinc-700' }}">
<img
alt="{{ strtolower($countryCode) }}"
src="{{ asset('vendor/blade-flags/country-'.strtolower($countryCode).'.svg') }}"
class="w-10 h-7 mb-1 object-cover"
/>
<span class="text-xs font-medium">{{ $langData['name'] }}</span>
<span class="text-[10px] text-zinc-500">{{ strtoupper($countryCode) }}</span>
</a>
@endforeach
@endforeach
</div>
</flux:accordion.content>
</flux:accordion.item>
</flux:accordion>
</div>

View File

@@ -200,6 +200,8 @@ class extends Component {
First time around here? <flux:link href="{{ route('register') }}" wire:navigate>Sign up for free</flux:link>
</flux:subheading>
@endif--}}
<!-- Language Selection Accordion -->
<x-einundzwanzig.language-selector/>
</div>
</div>

View File

@@ -57,6 +57,9 @@ class extends Component {
{{ __('Login') }}
</flux:button>
</div>
<!-- Language Selection Accordion -->
<x-einundzwanzig.language-selector/>
</div>
</div>