summaryrefslogtreecommitdiff
path: root/src/views/components.lisp
diff options
context:
space:
mode:
authorcolin <colin@cicadas.surf>2023-04-01 09:48:08 -0700
committercolin <colin@cicadas.surf>2023-04-01 09:48:08 -0700
commitcc3f850c514967ae2f9effef7e68e1d4965c6865 (patch)
tree6d0b52c3a65d53f247f4c8272667aca5a4e05bac /src/views/components.lisp
parent56a584ab1b13ff9510dd5145a778000169901a76 (diff)
Refactor to make cooperative hacking nicer
Diffstat (limited to 'src/views/components.lisp')
-rw-r--r--src/views/components.lisp51
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" "🍺"))))))
-