diff options
author | Grant Shangreaux <shoshin@cicadas.surf> | 2023-01-24 22:28:37 -0600 |
---|---|---|
committer | Grant Shangreaux <shoshin@cicadas.surf> | 2023-01-24 22:28:37 -0600 |
commit | e1546328c72b6e406a77bacbbd62ee5d7579a65b (patch) | |
tree | e901e7f3f64200c25c28c0f75131063c53451c44 | |
parent | ffa213f6f825479df7b544f23d1240dd1c86f10f (diff) |
Add: navbar and hall-of-heroes list to tavern [frontend]
-rw-r--r-- | model.lisp | 3 | ||||
-rw-r--r-- | pages.lisp | 24 |
2 files changed, 26 insertions, 1 deletions
@@ -77,6 +77,9 @@ :documentation "Salt for this hero's password hash.")) (:metaclass db:persistent-class)) +(defun all-heroes () + (db:store-objects-with-class 'hero)) + ;; TODO expiration? (defclass session (db:store-object) ((hero :reader session-hero @@ -31,4 +31,26 @@ (defun tavern (hero) (with-page (:title "A Bustling Tavern") - (:h1 "Aye! Welcome " (hero-name hero)))) + (navbar) + (:h1 "Aye! Welcome " (hero-name hero)) + (:div + :class "heroes-container" + (:h2 "Heroes of rampant renown:") + (hall-of-heroes)))) + +(defun navbar () + (with-html + (:div + :class "navbar" + (:div :class "logo" "DND") + (:ul :class "nav-links" + (:li (:a :href "/hero" "Hero")) + (:li (:a :href "/inventory" "Loot")) + (:li (:a :href "/quests" "Quests")) + (:li (:a :href "/tavern" "Tavern")))))) + +(defun hall-of-heroes () + (with-html + (:ul :class "hall-of-heroes") + (loop for hero in (all-heroes) + collect (:li (hero-name hero) "the" (hero-class hero) (hero-title hero))))) |