diff options
Diffstat (limited to 'src/views/components.lisp')
-rw-r--r-- | src/views/components.lisp | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/src/views/components.lisp b/src/views/components.lisp deleted file mode 100644 index bb9772d..0000000 --- a/src/views/components.lisp +++ /dev/null @@ -1,51 +0,0 @@ -;;;; views/components.lisp -- reusable components - -(in-package :dnd) - -;;; LIST DATA - -(defrender :list ((data list) (class "listview") (item-class "listitem")) - "A catch all for rendering lists of renderable data items as unordered -lists. CLASS is the lass string for the containing list. ITEM-CLASS is -the class string for the contained list items." - (with-html - (:ol :class class - (dolist (item data) - (:li :class item-class (render :list-item item)))))) - -(defrender :horiz-list ((data list) (class "hlistview") (item-class "listitem")) - (with-html - (:ol :class class - (dolist (item data) - (:li :class item-class (render :list-item item)))))) - -(defrender :select ((data list) name class) - (with-html - (when data - (:select :name (or name (format nil "select-~a" (class-of (first data)))) - :class (or class (format nil "select ~a" (class-of (first data)))) - (dolist (item data) - (render :option item)))))) - -(defrender :checkboxes ((data list) id class) - (with-html - (when data - (:div :class (or class (format nil "checkboxes ~a" (class-of (first data)))) - :id (or id (format nil "checkboxes-~a" (class-of (first data)))) - (dolist (item data) - (render :checkbox item) - (:br)))))) - - -;;;; PAGE ELEMENTS - -(defun navbar () - (with-html - (:nav :class "navbar" :aria-label "Navigation" - (:div :class "logo" :aria-label "DND logo" "DND") - (:ul :class "nav-links" :aria-label "Nav links" - (:li (:a :href "/hero" :aria-label "Hero profile" "🧝")) - (:li (:a :href "/inventory" :aria-label "Inventory" "🎒")) - (:li (:a :href "/quests" :aria-label "Quests" "📜")) - (:li (:a :href "/tavern" :aria-label "Tavern" "🍺")))))) - |