aboutsummaryrefslogtreecommitdiff
path: root/resources/views/pages
diff options
context:
space:
mode:
authorFrankie B <git@diskfloppy.me>2023-09-08 23:19:40 +0100
committerGitHub <noreply@github.com>2023-09-08 23:19:40 +0100
commit26901f82220fe18c0ad6e2bfc23c59b451a4e198 (patch)
treeb199f4d6680b8b62869e5062768e519db846511d /resources/views/pages
parent5d148485408bb169cba60c9a82d188442630d233 (diff)
feat: add error handling (#14)
* Remove commented out crap * Update theme to use some colors from catppuccin, add error handling for API/DB
Diffstat (limited to 'resources/views/pages')
-rw-r--r--resources/views/pages/bookmarks.blade.php14
-rw-r--r--resources/views/pages/guestbook.blade.php16
-rw-r--r--resources/views/pages/music.blade.php14
-rw-r--r--resources/views/pages/weather.blade.php19
4 files changed, 57 insertions, 6 deletions
diff --git a/resources/views/pages/bookmarks.blade.php b/resources/views/pages/bookmarks.blade.php
index 54d464d..d7d8283 100644
--- a/resources/views/pages/bookmarks.blade.php
+++ b/resources/views/pages/bookmarks.blade.php
@@ -3,7 +3,18 @@
@section('description', 'This is the personal homepage of floppydisk.')
@section('content')
@php
- $categories = DB::select('
+ $db_alive = true;
+ try {
+ DB::connection()->getPdo();
+ } catch (Exception $e) {
+ $db_alive = false;
+ }
+ @endphp
+ @if (!$db_alive)
+ @include('components.errors.db-error')
+ @else
+ @php
+ $categories = DB::select('
SELECT id, name
FROM bookmark__categories
ORDER BY priority ASC
@@ -37,4 +48,5 @@
</table>
<br>
@endforeach
+ @endif
@stop
diff --git a/resources/views/pages/guestbook.blade.php b/resources/views/pages/guestbook.blade.php
index 08bc7cb..13415b4 100644
--- a/resources/views/pages/guestbook.blade.php
+++ b/resources/views/pages/guestbook.blade.php
@@ -1,13 +1,24 @@
@extends('layouts.default')
@section('title', 'Guestbook')
@section('content')
+ @php
+ $db_alive = true;
+ try {
+ DB::connection()->getPdo();
+ } catch (Exception $e) {
+ $db_alive = false;
+ }
+ @endphp
+ @if (!$db_alive)
+ @include('components.errors.db-error')
+ @else
<br>
<table class="gb-entry-form-container">
<tr>
<td>
<form method="POST" action="/guestbook">
@csrf
- <x-honeypot />
+ <x-honeypot/>
<table class="gb-entry-form">
<tr>
<td>
@@ -44,7 +55,7 @@
<p>A few things to note:</p>
<ul>
<li>You can submit an entry <u>once every hour</u>.</li>
- <li>Your IP address is logged but <u>not</u> publically displayed.</li>
+ <li>Your IP address is logged but <u>not</u> publicly displayed.</li>
<li>Any entries that appear to be spam <u>will</u> be removed.</li>
</ul>
</td>
@@ -74,4 +85,5 @@
</table>
<br>
@endforeach
+ @endif
@stop
diff --git a/resources/views/pages/music.blade.php b/resources/views/pages/music.blade.php
index 3e97daa..775157a 100644
--- a/resources/views/pages/music.blade.php
+++ b/resources/views/pages/music.blade.php
@@ -7,6 +7,19 @@
$cfg = app('config')->get('services')['lastfm'];
$api_root = app('config')->get('app')['api_root'];
+ $api_alive = true;
+
+ try {
+ $data = file_get_contents($api_root.'/lastfm/current');
+ } catch (Exception $e) {
+ $api_alive = false;
+ }
+ @endphp
+ @if (!$api_alive)
+ @include('components.errors.api-error')
+ @else
+
+ @php
$current_track = json_decode(file_get_contents($api_root . '/lastfm/current'));
$top_tracks = json_decode(file_get_contents($api_root . '/lastfm/top'));
$count = 0;
@@ -51,4 +64,5 @@
</tr>
@endforeach
</table>
+ @endif
@stop
diff --git a/resources/views/pages/weather.blade.php b/resources/views/pages/weather.blade.php
index 823c448..369927f 100644
--- a/resources/views/pages/weather.blade.php
+++ b/resources/views/pages/weather.blade.php
@@ -13,10 +13,22 @@ function degreesToCompassDirection($degrees) {
return $cardinalDirections[round($degrees*16/360)];
}
-$data = json_decode(file_get_contents($api_root.'/weather'));
-$updated = gmdate('H:i Y-m-d', $data->updated);
-$data = $data->current;
+$api_alive = true;
+
+try {
+ $data = file_get_contents($api_root.'/weather');
+} catch (Exception $e) {
+ $api_alive = false;
+}
@endphp
+@if (!$api_alive)
+ @include('components.errors.api-error')
+@else
+ @php
+ $data = json_decode(file_get_contents($api_root.'/weather'));
+ $updated = gmdate('H:i Y-m-d', $data->updated);
+ $data = $data->current;
+ @endphp
<table class="info-table">
<caption>
<h1>Local Weather</h1>
@@ -45,4 +57,5 @@ $data = $data->current;
</table>
<br>
<small><i>(Last Update: {{ $updated }})</i></small>
+@endif
@stop