mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
add languages
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Http\Livewire\Frontend;
|
||||
|
||||
use App\Models\City;
|
||||
use App\Models\Country;
|
||||
use Illuminate\Support\Facades\Cookie;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Livewire\Component;
|
||||
|
||||
@@ -12,17 +13,21 @@ class Header extends Component
|
||||
public ?Country $country = null;
|
||||
public $currentRouteName;
|
||||
public string $c = 'de';
|
||||
public bool $withGlobe = true;
|
||||
public string $l = 'de';
|
||||
|
||||
protected $queryString = ['c', 'l'];
|
||||
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'c' => 'required',
|
||||
'l' => 'required',
|
||||
];
|
||||
}
|
||||
|
||||
public function mount()
|
||||
{
|
||||
$this->l = Cookie::get('lang') ?: config('app.locale');
|
||||
if (!$this->country) {
|
||||
$this->country = Country::query()
|
||||
->where('code', $this->c)
|
||||
@@ -34,11 +39,20 @@ class Header extends Component
|
||||
|
||||
public function updatedC($value)
|
||||
{
|
||||
return to_route($this->currentRouteName, ['country' => $value]);
|
||||
return to_route($this->currentRouteName, ['country' => $value, 'lang' => $this->l]);
|
||||
}
|
||||
|
||||
public function updatedL($value)
|
||||
{
|
||||
Cookie::queue('lang', $this->l, 60 * 24 * 365);
|
||||
|
||||
return to_route($this->currentRouteName, ['country' => $this->c, 'l' => $value]);
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
Cookie::queue('lang', $this->l, 60 * 24 * 365);
|
||||
|
||||
return view('livewire.frontend.header', [
|
||||
'cities' => City::query()
|
||||
->select(['latitude', 'longitude'])
|
||||
|
||||
Reference in New Issue
Block a user