diff options
-rw-r--r-- | app/View/Components/DiscordStatus.php | 4 | ||||
-rw-r--r-- | app/View/Components/Weather.php | 16 | ||||
-rw-r--r-- | resources/views/components/discord-status.blade.php | 8 | ||||
-rw-r--r-- | resources/views/components/weather.blade.php | 18 |
4 files changed, 31 insertions, 15 deletions
diff --git a/app/View/Components/DiscordStatus.php b/app/View/Components/DiscordStatus.php index fac06ae..3ad3a3b 100644 --- a/app/View/Components/DiscordStatus.php +++ b/app/View/Components/DiscordStatus.php @@ -31,13 +31,15 @@ class DiscordStatus extends Component $response = Http::get('https://api.lanyard.rest/v1/users/' . Config::get('services.lanyard.user_id')); $data = $response->json(); + if (!isset($data["data"])) return null; $presence = $data["data"]; Cache::put('discord_presence', $presence, now()->addSeconds(60)); return $presence; } - public function getOnlineStatus(): array { + public function getOnlineStatus(): ?array { $presence = $this->getDiscordPresence(); + if ($presence == null) return null; return match ($presence["discord_status"]) { "online", "dnd" => [ "text" => "online", diff --git a/app/View/Components/Weather.php b/app/View/Components/Weather.php index 69be9fd..dcf3ff7 100644 --- a/app/View/Components/Weather.php +++ b/app/View/Components/Weather.php @@ -3,6 +3,7 @@ namespace App\View\Components; use Closure; +use Exception; use Illuminate\Contracts\View\View; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Config; @@ -25,11 +26,16 @@ class Weather extends Component return Cache::get('weather_data'); } - $response = Http::get('http://'. Config::get('services.weatherlink') . '/v1/current_conditions'); - $data = $response->json(); - $conditions = $data["data"]["conditions"]; - Cache::put('weather_data', $conditions, now()->addSeconds(60)); - return $conditions; + try { + $response = Http::get('http://' . Config::get('services.weatherlink') . '/v1/current_conditions'); + $data = $response->json(); + $conditions = $data["data"]["conditions"]; + Cache::put('weather_data', $conditions, now()->addSeconds(60)); + return $conditions; + } catch (Exception $ex) { + return null; + } + } /** diff --git a/resources/views/components/discord-status.blade.php b/resources/views/components/discord-status.blade.php index 00d2c7a..868fc03 100644 --- a/resources/views/components/discord-status.blade.php +++ b/resources/views/components/discord-status.blade.php @@ -1,3 +1,7 @@ -<span>I'm</span> -<h2 class="online-status" style="color: {{ $status["color"] }};text-shadow: var(--firefox-shadow) {{ $status["color"] }}4f !important">{{ $status["text"] }}!</h2> +@if($status == null) + <p>Status Unavailable</p> +@else + <span>I'm</span> + <h2 class="online-status" style="color: {{ $status["color"] }};text-shadow: var(--firefox-shadow) {{ $status["color"] }}4f !important">{{ $status["text"] }}!</h2> +@endif <p><strong>Time in Britain:</strong> <span id="clock"></span></p> diff --git a/resources/views/components/weather.blade.php b/resources/views/components/weather.blade.php index b4dfcaa..879f1cb 100644 --- a/resources/views/components/weather.blade.php +++ b/resources/views/components/weather.blade.php @@ -1,11 +1,15 @@ <p><strong>Weather Conditions:</strong></p> <hr style="margin: 4px 0"> -<p><strong>Temperature:</strong> {{ round(($conditions[0]["temp"] - 32) * (5/9), 1) }} degC</p> -<p><strong>Rain:</strong> {{ ($conditions[0]["rain_rate_last"] * 0.2) }}mm/hr ({{ $conditions[0]["rainfall_daily"] }}mm today)</p> -@if ($conditions[0]["wind_speed_last"] != 0) - <p><strong>Wind:</strong> {{ round($conditions[0]["wind_speed_last"], 1) }}mph ({{ $conditions[0]["wind_dir_last"] }} deg)</p> +@if($conditions == null) + <p>Data Unavailable</p> @else - <p><strong>Wind:</strong> 0mph</p> + <p><strong>Temperature:</strong> {{ round(($conditions[0]["temp"] - 32) * (5/9), 1) }} degC</p> + <p><strong>Rain:</strong> {{ ($conditions[0]["rain_rate_last"] * 0.2) }}mm/hr ({{ $conditions[0]["rainfall_daily"] }}mm today)</p> + @if ($conditions[0]["wind_speed_last"] != 0) + <p><strong>Wind:</strong> {{ round($conditions[0]["wind_speed_last"], 1) }}mph ({{ $conditions[0]["wind_dir_last"] }} deg)</p> + @else + <p><strong>Wind:</strong> 0mph</p> + @endif + <p><strong>Humidity:</strong> {{ round($conditions[0]["hum"], 1) }}%</p> + <p><strong>Pressure:</strong> {{ round($conditions[2]["bar_sea_level"], 1) }} inHg</p> @endif -<p><strong>Humidity:</strong> {{ round($conditions[0]["hum"], 1) }}%</p> -<p><strong>Pressure:</strong> {{ round($conditions[2]["bar_sea_level"], 1) }} inHg</p> |