From cb4a1f179bce25d9c9b88b0152072529ce46b717 Mon Sep 17 00:00:00 2001
From: Frankie B <git@diskfloppy.me>
Date: Wed, 12 Jul 2023 01:16:52 +0100
Subject: Add recent site updates (from git)

---
 resources/views/components/git.blade.php | 48 ++++++++++++++++++++++++++++++++
 resources/views/pages/home.blade.php     |  3 ++
 2 files changed, 51 insertions(+)
 create mode 100644 resources/views/components/git.blade.php

(limited to 'resources')

diff --git a/resources/views/components/git.blade.php b/resources/views/components/git.blade.php
new file mode 100644
index 0000000..f87a00f
--- /dev/null
+++ b/resources/views/components/git.blade.php
@@ -0,0 +1,48 @@
+@php
+$api_root = app('config')->get('app')['api_root'];
+
+$commits = json_decode(file_get_contents($api_root.'/gitdata'));
+$count = 0;
+
+function formatRelativeTime(DateTime $dateTime) {
+    $currentTimestamp = time();
+    $dateTimeTimestamp = $dateTime->getTimestamp();
+    $difference = $currentTimestamp - $dateTimeTimestamp;
+
+    if ($difference < 60) {
+        return "just now";
+    } elseif ($difference < 3600) {
+        $minutes = floor($difference / 60);
+        $suffix = ($minutes > 1) ? "s" : "";
+        return $minutes . " minute" . $suffix . " ago";
+    } elseif ($difference < 86400) {
+        $hours = floor($difference / 3600);
+        $suffix = ($hours > 1) ? "s" : "";
+        return $hours . " hour" . $suffix . " ago";
+    } elseif ($difference < 604800) {
+        $days = floor($difference / 86400);
+        $suffix = ($days > 1) ? "s" : "";
+        return $days . " day" . $suffix . " ago";
+    } else {
+        return $dateTime->format('Y-m-d H:i:s'); // Fallback to a specific format if desired
+    }
+}
+@endphp
+<h1>Recent Site Updates</h1>
+        <table class="commits">
+@foreach ($commits as $commit)
+
+    @if ($count >= 5)
+        </table>
+        @break
+    @endif
+    @php
+        $date = DateTime::createFromFormat("Y-m-d\TH:i:s\Z", $commit->author->date)
+    @endphp
+        <tr>
+            <td>&bullet;</td>
+            <td>{{ formatRelativeTime($date) }}</td>
+            <td><a href="{{ $commit->url }}">{{ $commit->message }}</a></td>
+        </tr>
+@php $count++ @endphp
+@endforeach
diff --git a/resources/views/pages/home.blade.php b/resources/views/pages/home.blade.php
index f89b17a..6ad3013 100644
--- a/resources/views/pages/home.blade.php
+++ b/resources/views/pages/home.blade.php
@@ -19,6 +19,9 @@
         <!-- WeatherData -->
         @include('components.weather')
 
+        <!-- Site Updates -->
+        @include('components.git')
+
         <h1>Contact</h1>
         <p><strong>Mail</strong>:&nbsp;<a href="mailto:contact@diskfloppy.me">contact@diskfloppy.me</a><br/>
             <strong>IRC</strong>:&nbsp;&nbsp;<a href="https://r-type.ca/page.php?id=1034">floppydisk @ r-type</a><br/>
-- 
cgit v1.2.3-54-g00ecf