summaryrefslogtreecommitdiff
path: root/src/pages/adventure-page.lisp
blob: 96264e35804a705be28e9985462a4b4569646660 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
;;;; adventure-page.lisp -- shows a particular adventure

(in-package :dnd)

(defclass adventure-page ()
  ((adventure :reader adventure :initarg :adventure)
   (player :reader player :initarg :player)))

(defrender t ((page adventure-page))
  (let ((adventure (adventure page)))
    (with-page (:title (title adventure))
      (:h1 (title adventure))
      (:p (description adventure))
      (:h2 "Rumors: ")
					; (render :list (rumors adventure))
      (:h2 "Architect of this Adventure: " (nickname (creator adventure)))
      (:h2 "Seers: ")
      (render :list (seers adventure))
      (:form :method "POST" :action (urlpath adventure)
             (:label :for "SEER" "Add a seer to this adventure:") (:br)
             (:select :name "SEER"
                      (loop :for p :in (all-other-players (player page))
                            :collect (:option :value (nickname p) (nickname p))))
             (:button :type "submit" "Add Seer")))))