From e59d606f8c7e098d13bf29e4d20973b46d5e6fbc Mon Sep 17 00:00:00 2001 From: Gregory Ballantine Date: Thu, 26 Jun 2025 14:29:38 -0400 Subject: [PATCH] Added app and PHP version displays to the footer --- assets/styles/nardah.scss | 9 +++++++++ composer.json | 1 + src/Middleware/AppInfo.php | 26 ++++++++++++++++++++++++++ src/app.php | 5 +++++ views/layout.twig | 1 + views/partials/footer.twig | 8 ++++++++ 6 files changed, 50 insertions(+) create mode 100644 src/Middleware/AppInfo.php create mode 100644 views/partials/footer.twig diff --git a/assets/styles/nardah.scss b/assets/styles/nardah.scss index d78e019..7d441db 100644 --- a/assets/styles/nardah.scss +++ b/assets/styles/nardah.scss @@ -127,6 +127,15 @@ select[multiple]{ border-radius: 10px; } +#main-footer{ + margin-top: 25px; + + p{ + margin-bottom: 5px; + text-align: center; + } +} + #result-form{ margin: 0; diff --git a/composer.json b/composer.json index 6e3c4fa..49d56af 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,6 @@ { "name": "bitgoblin/colossus", + "version": "0.1.0", "description": "Self-hosted database for organizing PC hardware benchmarking results", "type": "project", "license": "BSD-2-Clause", diff --git a/src/Middleware/AppInfo.php b/src/Middleware/AppInfo.php new file mode 100644 index 0000000..f4361df --- /dev/null +++ b/src/Middleware/AppInfo.php @@ -0,0 +1,26 @@ +view = $view; + } + + public function __invoke(Request $request, $handler) { + // add running app version + $composer = json_decode(file_get_contents(__DIR__ . '/../../composer.json'), true); + $this->view->getEnvironment()->addGlobal('APP_VERSION', $composer['version'] ?? 'unknown'); + + // add running PHP version + $this->view->getEnvironment()->addGlobal('PHP_VERSION', PHP_VERSION); + + return $handler->handle($request); + } + +} diff --git a/src/app.php b/src/app.php index 6a97bc3..5709e1a 100644 --- a/src/app.php +++ b/src/app.php @@ -9,6 +9,8 @@ use Slim\Factory\AppFactory; use Slim\Views\Twig; use Slim\Views\TwigMiddleware; +use BitGoblin\Colossus\Middleware\AppInfo; + require __DIR__ . '/../vendor/autoload.php'; // Load app configuration @@ -38,5 +40,8 @@ $twig = Twig::create(__DIR__ . '/../views', ['cache' => false]); // Add Twig-View Middleware $app->add(TwigMiddleware::create($app, $twig)); +// Add middleware for injecting global vars for app's info +$app->add(new AppInfo($twig)); + // Register routes require_once __DIR__ . '/routes.php'; diff --git a/views/layout.twig b/views/layout.twig index 7b92af6..ced1117 100644 --- a/views/layout.twig +++ b/views/layout.twig @@ -16,5 +16,6 @@ {% block content %}{% endblock %} + {% include 'partials/footer.twig' %} diff --git a/views/partials/footer.twig b/views/partials/footer.twig new file mode 100644 index 0000000..90c7b12 --- /dev/null +++ b/views/partials/footer.twig @@ -0,0 +1,8 @@ +