First commit

This commit is contained in:
Kevin Adametz 2025-10-20 17:50:35 +02:00
commit 7cf3558ba7
12933 changed files with 1180047 additions and 0 deletions

View file

@ -0,0 +1,62 @@
<?php
namespace App\Livewire\Web\Components\Ui;
use Livewire\Component;
use Illuminate\Support\Facades\Log;
class TopBar extends Component
{
public $currentLocale;
public $availableLocales = [
'de' => 'Deutsch',
'en' => 'English',
//'fr' => 'Français',
//'es' => 'Español',
];
public $localeFlags = [
'de' => '🇩🇪',
'en' => '🇬🇧',
];
public $domainName;
public function mount()
{
Log::info('Mounting TopBar');
$sessionLocale = session('locale');
if ($sessionLocale && array_key_exists($sessionLocale, $this->availableLocales)) {
app()->setLocale($sessionLocale);
$this->currentLocale = $sessionLocale;
} else {
$this->currentLocale = app()->getLocale();
}
$this->domainName = \App\Helpers\ThemeHelper::getDomainName();
}
public function switchLanguage($locale)
{
Log::info('Switching language to: ' . $locale);
if (array_key_exists($locale, $this->availableLocales)) {
app()->setLocale($locale);
session(['locale' => $locale]);
$this->currentLocale = $locale;
Log::info('Language switched successfully to: ' . $locale);
// Wichtig: In Livewire zeigt request()->url() auf /livewire/update.
// Für einen Seiten-Reload müssen wir den Browser-Referer nutzen.
$referer = request()->header('Referer') ?? '/';
return redirect()->to($referer);
}
Log::warning('Invalid locale attempted: ' . $locale);
}
public function render()
{
return view('livewire.web.components.ui.top-bar');
}
}