dynamikasolucoesweb/laravel-weather

Um componente Blade de clima/previsão do tempo utilizando a API Open-Meteo para Laravel.

Maintainers

Package info

github.com/dynamikaweb/laravel-weather

pkg:composer/dynamikasolucoesweb/laravel-weather

Transparency log

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-07-14 17:21 UTC

This package is auto-updated.

Last update: 2026-07-14 17:23:52 UTC


README

php version pkg version license quality build

Um componente Blade de clima/previsão do tempo utilizando a API Open-Meteo para Laravel.

Instalação

A maneira preferida de instalar esta extensão é através do [composer] composer.

Ou corre

$ composer require dynamikasolucoesweb/laravel-weather "*"

ou adicione

"dynamikasolucoesweb/laravel-weather": "*"

à seção require do seu arquivo composer.json.

Assets & Customização

Publique os assets usando o comando:

$ php artisan vendor:publish --tag=weather-assets

Isso copiará os arquivos para public/vendor/dynamikasolucoesweb/weather.

Uso

Basta chamar o componente Blade em suas views passando as coordenadas (latitude e longitude) desejadas. O componente aceita configurações adicionais para definir o tema visual, a quantidade de dias da previsão ou alternar para o layout compacto.

<x-weather-widget lat="-27.4138" lng="-49.6008" dias="4" theme="dark" />
<x-weather-widget lat="-27.4138" lng="-49.6008" compact="true" theme="light" />

⚙️ Parâmetros Disponíveis

Propriedade Tipo Padrão Descrição
lat string/float Obrigatório Latitude da localização desejada.
dias int 4 Quantidade de dias para exibir na previsão (Mínimo: 1, Máximo: 16).
cacheDuration int 900 Tempo de permanência dos dados em cache, informado em segundos (Padrão: 15 minutos).
theme string 'dark' Define o tema visual do widget ('dark' ou 'light').
compact bool/string false Se definido como true, exibe a versão reduzida de 90px de altura focada no clima atual.
transparent bool/string false Se definido como true, remove o fundo e o sombreamento padrão do container do widget.

⚡ Performance & Cache

O componente utiliza nativamente o driver de cache configurado no seu Laravel (Cache::remember) para mitigar o número de requisições externas e otimizar o carregamento da página:

  • Gerenciamento de Chaves: O cache gera chaves dinâmicas baseadas na combinação exclusiva da latitude, longitude e quantidade de dias pesquisados.
  • Duração Customizável: Por padrão, os dados climáticos expiram a cada 15 minutos (900 segundos), mas podem ser customizados diretamente na chamada do componente através do atributo cacheDuration.

Features

Modo Compacto Inteligente: Oferece dois layouts nativos (Modo Completo Scrollable com previsão estendida e Modo Compacto Minimalista para barras laterais ou cabeçalhos).

Fallback Seguro: Caso a API externa fique indisponível ou ocorram problemas de rede, o widget trata o erro sem quebrar o restante da aplicação.

Suporte a SSL Local: Ignora automaticamente verificações rígidas de certificados cURL HTTPS em ambientes locais (local) para evitar problemas comuns de ambiente de desenvolvimento.

Ícones Dinâmicos: Mapeamento completo e responsivo integrado aos pacotes de estilização baseados na biblioteca Weather Icons.

Authors

Giordani da Silveira dos Santos - giordani@dynamika.com.br

dynamika soluções web This project is under BSD-3-Clause license.