This commit is contained in:
HolgerHatGarKeineNode
2023-06-01 13:23:14 +02:00
parent b8f89ee75c
commit 726e6f18d7
8 changed files with 553 additions and 494 deletions

View File

@@ -45,13 +45,13 @@ class Header extends Component
{
$this->timezone = config('app.user-timezone');
$this->l = Cookie::get('lang') ?: config('app.locale');
$this->c = Cookie::get('country') ?: config('app.country');
if (!$this->country) {
$this->country = Country::query()
->where('code', $this->c)
->first();
}
$this->currentRouteName = Route::currentRouteName();
$this->c = $this->country->code;
}
public function updatedTimezone($value)
@@ -65,6 +65,7 @@ class Header extends Component
public function updatedC($value)
{
Cookie::queue('country', $value, 60 * 24 * 365);
$url = str(request()->header('Referer'))->explode('/');
$url[3] = $value;
@@ -73,15 +74,13 @@ class Header extends Component
public function updatedL($value)
{
Cookie::queue('lang', $this->l, 60 * 24 * 365);
Cookie::queue('lang', $value, 60 * 24 * 365);
return redirect(request()->header('Referer'));
}
public function render()
{
Cookie::queue('lang', $this->l, 60 * 24 * 365);
return view('livewire.frontend.header', [
'news' => LibraryItem::query()
->with([
@@ -137,10 +136,13 @@ class Header extends Component
->orderByDesc('date')
->take(2)
->get(),
'projectProposals' => ProjectProposal::query()->with([
'votes',
'user',
])->get(),
'projectProposals' => ProjectProposal::query()
->with([
'votes',
'user',
])
->take(2)
->get(),
'cities' => City::query()
->select(['latitude', 'longitude'])
->get(),

View File

@@ -26,6 +26,9 @@ class Welcome extends Component
public function mount()
{
$this->l = Cookie::get('lang') ?: config('app.locale');
$this->c = Cookie::get('country') ?: config('app.country');
Cookie::queue('lang', $this->l, 60 * 24 * 365);
Cookie::queue('country', $this->c, 60 * 24 * 365);
}
public function updated($property, $value)
@@ -43,14 +46,13 @@ class Welcome extends Component
}
Cookie::queue('lang', $this->l, 60 * 24 * 365);
Cookie::queue('country', $this->c, 60 * 24 * 365);
return to_route('welcome', ['c' => $c, 'l' => $l]);
}
public function render()
{
Cookie::queue('lang', $this->l, 60 * 24 * 365);
return view('livewire.frontend.welcome', [
'countries' => Country::query()
->select('id', 'name', 'code')

View File

@@ -12,6 +12,7 @@ class EncryptCookies extends Middleware
* @var array<int, string>
*/
protected $except = [
//
'lang',
'country',
];
}

View File

@@ -18,6 +18,12 @@ class SetTimezoneMiddleware
public function handle(Request $request, Closure $next): Response
{
App::setLocale(Cookie::get('lang') ?: config('app.locale'));
if ($request->country) {
config([
'app.country' => $request->country,
]);
Cookie::queue('country', $request->country, 60 * 24 * 365);
}
if ($request->user()
&& $timezone = $request->user()->timezone
) {

1008
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -88,6 +88,8 @@ return [
'locale' => 'de',
'country' => 'de',
/*
|--------------------------------------------------------------------------
| Application Fallback Locale

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
{
"/app.js": "/app.js?id=45904d8bd75c65ee5c136a52a5e8ead6",
"/app.js": "/app.js?id=c6187bff8d842d49dbb4d3de4b583600",
"/app-dark.css": "/app-dark.css?id=15c72df05e2b1147fa3e4b0670cfb435",
"/app.css": "/app.css?id=4d6a1a7fe095eedc2cb2a4ce822ea8a5",
"/img/favicon.png": "/img/favicon.png?id=1542bfe8a0010dcbee710da13cce367f",