Skip to content

Commit db6addb

Browse files
authored
Timezones (#60)
* Update app.php * Update .env.example * Update .env.testing * Update AppServiceProvider.php * Update AppServiceProvider.php
1 parent f76b7e4 commit db6addb

File tree

4 files changed

+13
-0
lines changed

4 files changed

+13
-0
lines changed

.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ APP_ENV=local
33
APP_KEY=base64:jpd/wy450S/8N0y6OfuRoZ8yS3AWEzrbkSgo08djF4w=
44
APP_DEBUG=true
55
APP_URL=http://laravel-inertia-template.test
6+
APP_TIMEZONE_DISPLAY="Europe/London"
67

78
SEED_SUPER_ADMIN_EMAIL=super@laravel-inertia-template.test
89
SEED_ADMIN_EMAIL=admin@laravel-inertia-template.test

.env.testing

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ APP_ENV=testing
33
APP_KEY=base64:PGFsMHQa3kYad6OZbsaYzBnrdzxN3x+sfkkmqogVDuk=
44
APP_DEBUG=true
55
APP_URL=http://laravel-inertia-template.test
6+
APP_TIMEZONE_DISPLAY="Europe/London"
67

78
BCRYPT_ROUNDS=4
89

app/Providers/AppServiceProvider.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace App\Providers;
44

55
use App\Models\User;
6+
use Carbon\Carbon;
67
use Illuminate\Http\Resources\Json\JsonResource;
78
use Illuminate\Support\ServiceProvider;
89
use Laravel\Pulse\Facades\Pulse;
@@ -24,6 +25,14 @@ public function boot(): void
2425
{
2526
JsonResource::withoutWrapping();
2627

28+
Carbon::macro('inAppTimezone', function () {
29+
return $this->tz(config('app.timezone_display'));
30+
});
31+
32+
Carbon::macro('inUserTimezone', function () {
33+
return $this->tz(auth()->user()?->timezone ?? config('app.timezone_display'));
34+
});
35+
2736
// @codeCoverageIgnoreStart
2837
Pulse::users(function ($ids) {
2938
return User::findMany($ids)->map(fn ($user) => [

config/app.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@
6767

6868
'timezone' => env('APP_TIMEZONE', 'UTC'),
6969

70+
'timezone_display' => env('APP_TIMEZONE_DISPLAY', 'UTC'),
71+
7072
/*
7173
|--------------------------------------------------------------------------
7274
| Application Locale Configuration

0 commit comments

Comments
 (0)