joaopaulolndev/filament-world-clock

Show hours around the world by timezone

Fund package maintenance!
joaopaulolndev

Installs: 10 217

Dependents: 0

Suggesters: 0

Security: 0

Stars: 30

Watchers: 2

Forks: 7

Open Issues: 0

pkg:composer/joaopaulolndev/filament-world-clock

v3.0.1 2026-02-28 01:24 UTC

This package is auto-updated.

Last update: 2026-02-28 01:28:28 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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.

Screenshot of Application Feature

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.