Filament World Clock
#Filament widget to show hours around the world by timezone
The Filament World Clock plugin designed to showcase global timezones in a card format is a user-friendly tool that allows users to effortlessly display current times across various regions worldwide.
#Compatibility
| Package Version | Filament Version |
|---|---|
| 1.x | 3.x |
| 2.x | 4.x |
| 3.x | 5.x |
#Installation
You can install the package via composer:
composer require joaopaulolndev/filament-world-clock:^3.0
[!NOTE] to publish the assets is necessary to run the command below:
php artisan vendor:publish --tag=filament-world-clock-assets --force
Optionally, you can publish the views using
php artisan vendor:publish --tag="filament-world-clock-views"
Optionally, you can publish the translations using
php artisan vendor:publish --tag="filament-world-clock-translations"
You can publish the flags
[!NOTE] to publish the flags is necessary to run the command below:
php artisan vendor:publish --tag=blade-flags --force
#Usage
Add in AdminPanelProvider.php
use Joaopaulolndev\FilamentWorldClock\FilamentWorldClockPlugin; ->plugins([ FilamentWorldClockPlugin::make() ->timezones([ 'America/New_York', 'America/Sao_Paulo', 'Asia/Tokyo', ]) ])
Optionally, you can add more configs as example below:
use Joaopaulolndev\FilamentWorldClock\FilamentWorldClockPlugin; FilamentWorldClockPlugin::make() ->timezones([ 'America/New_York', 'America/Sao_Paulo', 'Asia/Tokyo', ]) ->setTimeFormat('H:i') //Optional time format default is: 'H:i' ->shouldShowTitle(false) //Optional show title default is: true ->setTitle('Hours') //Optional title default is: 'World Clock' ->setDescription('Different description') //Optional description default is: 'Show hours around the world by timezone' ->setQuantityPerRow(1) //Optional quantity per row default is: 1 ->setColumnSpan('full') //Optional column span default is: '1/2' ->setSort(10)
#Custom Flags
Flags are automatically resolved for all valid PHP timezones using DateTimeZone::getLocation(). If you need to override a specific timezone flag, you can use the customFlags() method:
FilamentWorldClockPlugin::make() ->timezones([ 'America/New_York', 'America/Denver', 'Pacific/Guam', ]) ->customFlags([ 'America/Denver' => '/path/to/custom-flag.svg', 'Pacific/Guam' => asset('images/guam-flag.svg'), ])
[!NOTE] Custom flags take the highest priority. For timezones without a country code (e.g.
Etc/UTC), a placeholder flag is used as fallback.
#Testing
composer test
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.