Weather Widget
A beautiful, configurable weather widget for your Filament dashboard. Powered by the OpenWeatherMap API, fully translatable, and supports °C/°F, animated Weather Icons, and optional response caching.
Author:
Arshavir Aghajanyan
Documentation
![]()
A beautiful, configurable weather widget for your Filament dashboard.
Powered by the OpenWeatherMap API, fully translatable, and supports °C/°F, animated Weather Icons, and optional response caching.
#Features
- 🌤️ Displays current temperature, condition, hourly forecast and weather icons
- 🔁 Auto-refresh at a configurable interval
- ☁️ Supports both metric and imperial units (°C/°F)
- 🌍 Multi-language support
- 🧠 Optional caching (prevents exceeding API rate limits)
- ⚙️ Customizable location by
city - 🎨 Supports 3 icon styles: Monochrome, Line, and Fill
- 🔄 Supports static and animated icon variants
#Requirements
- PHP 8.2 or higher
- Laravel 11.x or 12.x
- Filament 4.x or 5.x
#Installation
You can install the package via composer:
composer require arshaviras/weather-widget
#Setup
#1. Register the Widget
Add the widget to your Filament panel configuration:
use Arshaviras\WeatherWidget\Widgets\WeatherWidget;
use Filament\Panel;
public function panel(Panel $panel): Panel
{
return $panel
// ... other configuration
->widgets([
//...
WeatherWidget::class,
])
}
#2. Configuration
Publish the config file:
php artisan vendor:publish --tag="weather-widget-config"
This is the contents of the published config file:
return [
/**
* API Key for Current Weather Data
* You can get your API key from OpenWeatherMap:
* https://openweathermap.org/price
*/
'api_key' => env('OPENWEATHER_API_KEY', ''),
/**
* Default city for weather data
*/
'city' => 'Yerevan',
/**
* Units for temperature and other measurements
* Options: 'metric', 'imperial'
* 'metric' - Celsius (°C), 'imperial' - Fahrenheit (°F)
* Default is 'metric'
*/
'units' => 'metric',
/**
* Refresh (Poll) interval in minutes
* This determines how often the weather data will be refreshed.
* This also factors into the cache duration.
*/
'refresh_minutes' => 30,
/**
* Icon settings
* You can customize the icon set and variant used in the widget.
* 'icon_set' can be 'fill', 'line', or 'monochrome'.
*/
'icon_set' => 'fill',
/**
* Icon variant
* Options: 'static', 'animated' (only for fill/line icons)
*/
'icon_variant' => 'animated',
];
#3. Translations (Optional)
If you want to customize the translations, you can publish the translations file:
php artisan vendor:publish --tag="weather-widget-translations"
#Usage
Once the widget is registered, a "Weather Widget" will automatically be added to your Filament Dashboard.
#Available Icon Sets
fill– Filled iconsline– Outlined iconsmonochrome– Black/White icons
#🎨 fill – Filled Icons
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
#✏️ line – Outlined Icons
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
#🌓 monochrome – Black & White Icons
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
#Available Icon Variants
Static and Animated (only for fill/line icons)
static- Static Iconsanimated- Animated icons
#Credits
Meteo Icons by Bas Milius
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission





