diff --git a/app/Controllers/DirectoryController.php b/app/Controllers/DirectoryController.php index 8a0d53b..8acb9d9 100644 --- a/app/Controllers/DirectoryController.php +++ b/app/Controllers/DirectoryController.php @@ -6,6 +6,7 @@ use DI\Container; use PHLAK\Config\Config; use Slim\Psr7\Response; use Slim\Views\Twig; +use Symfony\Component\Finder\Exception\DirectoryNotFoundException; use Symfony\Component\Finder\Finder; use Tightenco\Collect\Support\Collection; @@ -45,9 +46,15 @@ class DirectoryController */ public function __invoke(Finder $files, Response $response, string $path = '.') { + try { + $files = $files->in($path); + } catch (DirectoryNotFoundException $exception) { + return $this->view->render($response->withStatus(404), '404.twig'); + } + return $this->view->render($response, 'index.twig', [ 'breadcrumbs' => $this->breadcrumbs($path), - 'files' => $files->in($path), + 'files' => $files, 'is_root' => $this->isRoot($path), ]); } diff --git a/app/resources/sass/app.scss b/app/resources/sass/app.scss index 6dac30c..2cebffe 100644 --- a/app/resources/sass/app.scss +++ b/app/resources/sass/app.scss @@ -10,6 +10,6 @@ $fa-font-path: "./webfonts"; @import "~@fortawesome/fontawesome-free/scss/solid.scss"; // Fonts -// @import url("https://fonts.googleapis.com/css?family=Lato"); +@import url("https://fonts.googleapis.com/css?family=Work+Sans:200,400&display=swap"); @import "dark-mode.scss"; diff --git a/app/resources/views/404.twig b/app/resources/views/404.twig new file mode 100644 index 0000000..ea0be1f --- /dev/null +++ b/app/resources/views/404.twig @@ -0,0 +1,9 @@ +{% extends 'layouts/app.twig' %} + +{% block content %} +
+

+ 404 • Not Found +

+
+{% endblock %} diff --git a/app/resources/views/components/header.twig b/app/resources/views/components/header.twig new file mode 100644 index 0000000..f85066c --- /dev/null +++ b/app/resources/views/components/header.twig @@ -0,0 +1,9 @@ + diff --git a/app/resources/views/index.twig b/app/resources/views/index.twig index b94b8f8..d1cdee2 100644 --- a/app/resources/views/index.twig +++ b/app/resources/views/index.twig @@ -1,15 +1,7 @@ {% extends "layouts/app.twig" %} {% block content %} - + {% include "components/header.twig" %}