mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
timezoneAbbreviatedName
This commit is contained in:
@@ -17,14 +17,20 @@ class SetTimezoneMiddleware
|
||||
*/
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
if (
|
||||
!collect($request->segments())->contains('nova')
|
||||
&& $request->user()
|
||||
if ($request->user()
|
||||
&& $timezone = $request->user()->timezone
|
||||
) {
|
||||
config(['app.timezone' => $timezone]);
|
||||
config([
|
||||
'app.timezone' => $timezone,
|
||||
'app.user-timezone' => $timezone,
|
||||
]);
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
config(['app.timezone' => 'Europe/Berlin']);
|
||||
config([
|
||||
'app.timezone' => 'Europe/Berlin',
|
||||
'app.user-timezone' => 'Europe/Berlin',
|
||||
]);
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
@@ -39,6 +39,10 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
config([
|
||||
'app.user-timezone' => 'Europe/Berlin',
|
||||
]);
|
||||
|
||||
parent::boot();
|
||||
|
||||
Nova::mainMenu(function (Request $request) {
|
||||
@@ -154,6 +158,7 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
|
||||
});
|
||||
|
||||
Nova::userTimezone(function (Request $request) {
|
||||
|
||||
return $request->user()->timezone;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -8,19 +8,19 @@ class Carbon extends CarbonImmutable
|
||||
{
|
||||
public function asDate(): string
|
||||
{
|
||||
$dt = $this->timezone(config('app.timezone'))->locale('de');
|
||||
$dt = $this->timezone(config('app.user-timezone'))->locale('de');
|
||||
return str($dt->day)->padLeft(2, '0').'. '.$dt->monthName.' '.$dt->year;
|
||||
}
|
||||
|
||||
public function asTime(): string
|
||||
{
|
||||
return $this->timezone(config('app.timezone'))->locale('de')
|
||||
return $this->timezone(config('app.user-timezone'))->locale('de')
|
||||
->format('H:i');
|
||||
}
|
||||
|
||||
public function asDateTime(): string
|
||||
{
|
||||
$dt = $this->timezone(config('app.timezone'))->locale('de');
|
||||
$dt = $this->timezone(config('app.user-timezone'))->locale('de');
|
||||
return sprintf("%s.%s.%s %s (%s)",
|
||||
str($dt->day)->padLeft(2, '0'),
|
||||
str($dt->month)->padLeft(2, '0'),
|
||||
|
||||
Reference in New Issue
Block a user