website/src/routes/not-found.lisp
2024-11-18 00:39:47 +09:00

23 lines
720 B
Common Lisp

(defpackage #:hp/routes/not-found
(:use #:cl
#:hsx)
(:local-nicknames (#:jg #:jingle))
(:export #:handle-not-found))
(in-package #:hp/routes/not-found)
(defparameter *metadata*
'(:title "404 Not Found"
:description "The page you are looking for may have been deleted or the URL might be incorrect."))
(defcomp page ()
(hsx
(section :class "container flex flex-col justify-center items-center h-full gap-10"
(h1 :class "text-2xl text-red-600"
(getf *metadata* :title))
(p (getf *metadata* :description))
(a :href "/" :class "text-orange-600"
"Return to the homepage"))))
(defun handle-not-found ()
(jg:set-response-status :not-found)
(list (page) *metadata*))