summaryrefslogtreecommitdiff
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/doorkeeper.lisp19
-rw-r--r--src/pages/goddess-shrine.lisp13
-rw-r--r--src/pages/join-gaming-group.lisp13
-rw-r--r--src/pages/join.lisp13
-rw-r--r--src/pages/tavern.lisp20
5 files changed, 78 insertions, 0 deletions
diff --git a/src/pages/doorkeeper.lisp b/src/pages/doorkeeper.lisp
new file mode 100644
index 0000000..560637d
--- /dev/null
+++ b/src/pages/doorkeeper.lisp
@@ -0,0 +1,19 @@
+;;;; pages/doorkeeper.lisp -- announce yourself and enter the hero's tavern
+
+(in-package :dnd)
+
+;;; DOORKEEPER CLASS
+(defclass/std doorkeeper ()
+ ((message)))
+
+;; the t specialization works for all render targets
+(defrender t ((page doorkeeper))
+ (with-page (:title "Tavern Door")
+ (:h1 (message page))
+ (:form :method "POST" :action "/tavern-door"
+ (:label :for "NICKNAME" "Wut's yer handle?:")
+ (:input :name "NICKNAME")
+ (:button :type "submit" "Announce Thyself"))
+ (:h2 "Eh? Ye need to announce thyeself?")
+ (:a :href "/join" "Follow me...")))
+
diff --git a/src/pages/goddess-shrine.lisp b/src/pages/goddess-shrine.lisp
new file mode 100644
index 0000000..3b25e5a
--- /dev/null
+++ b/src/pages/goddess-shrine.lisp
@@ -0,0 +1,13 @@
+;;;; pages/goddess-shrine.lisp
+
+(in-package :dnd)
+
+(defrender t ((page (eql :goddess-shrine)))
+ (with-page (:title "A Sacred Shrine")
+ (:header
+ (:h1 "Pray and become a hero..."))
+ (:form :method "POST" :action "/godess-shrine"
+ (:label :for "NAME" "Enter the epithet by which the ages shall know thy hero:")
+ (:input :name "NAME")
+ (:button :type "submit" "Pray To The Goddess"))))
+
diff --git a/src/pages/join-gaming-group.lisp b/src/pages/join-gaming-group.lisp
new file mode 100644
index 0000000..e758ec7
--- /dev/null
+++ b/src/pages/join-gaming-group.lisp
@@ -0,0 +1,13 @@
+;;;; pages/join-gaming-group.lisp
+
+(in-package :dnd)
+
+(defrender t ((page (eql :join-gaming-group)))
+ (with-page (:title "Register Player")
+ (:header
+ (:h1 "Choose a Nickname Player"))
+ (:form :method "POST" :action "/register"
+ (:label :for "NICK" "Choose a nickname. No spaces. Letters, Numbers, and -._")
+ (:input :name "NICK" :placeholder "superbob")
+ (:button :type "submit" "Register"))))
+
diff --git a/src/pages/join.lisp b/src/pages/join.lisp
new file mode 100644
index 0000000..b48d102
--- /dev/null
+++ b/src/pages/join.lisp
@@ -0,0 +1,13 @@
+;;;; pages/join-gaming-group.lisp
+
+(in-package :dnd)
+
+(defrender t ((page (eql :join)))
+ (with-page (:title "Register Player")
+ (:header
+ (:h1 "Choose a Nickname Player"))
+ (:form :method "POST" :action "/join"
+ (:label :for "NICKNAME" "Choose a nickname. No spaces. Letters, Numbers, and -._")
+ (:input :name "NICKNAME" :placeholder "superbob")
+ (:button :type "submit" "Register"))))
+
diff --git a/src/pages/tavern.lisp b/src/pages/tavern.lisp
new file mode 100644
index 0000000..79b0e58
--- /dev/null
+++ b/src/pages/tavern.lisp
@@ -0,0 +1,20 @@
+;;;; pages/tavern.lisp -- enter the tavern
+
+(in-package :dnd)
+
+(defclass/std tavern ()
+ ((player)))
+
+(defrender t ((tavern tavern))
+ (let ((player (player tavern)))
+ (with-html
+ (render :details player)
+ (render :list (player-heroes player))
+ (:a :href "/spymaster" "Report a Roguish Rumour...")
+ ;; (:table
+ ;; (:tr (:td (:h4 "Your Heroes"))
+ ;; (:td (:h4 "Your Campaigns")))
+ ;; (:tr (:td (:h4 "Gossip & Gab"))
+ ;; (:td (:h4 "Comrades in Arms"))))
+
+ )))