aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/Layout.purs
diff options
context:
space:
mode:
authorChristine Dodrill <me@christine.website>2016-12-14 14:53:00 -0800
committerChristine Dodrill <me@christine.website>2016-12-14 14:53:00 -0800
commit1328cf3311939063a75d45077f37e530869b6509 (patch)
treebe1cd23d610708659f84cc16b676a0a8974cf7c4 /frontend/src/Layout.purs
parent013d9bf1b84747761636f7326006fa1aa475537c (diff)
downloadxesite-1328cf3311939063a75d45077f37e530869b6509.tar.xz
xesite-1328cf3311939063a75d45077f37e530869b6509.zip
frontend: Implement /contact page
Diffstat (limited to 'frontend/src/Layout.purs')
-rw-r--r--frontend/src/Layout.purs45
1 files changed, 43 insertions, 2 deletions
diff --git a/frontend/src/Layout.purs b/frontend/src/Layout.purs
index 96d056a..f809b9c 100644
--- a/frontend/src/Layout.purs
+++ b/frontend/src/Layout.purs
@@ -9,8 +9,8 @@ import DOM (DOM)
import Network.HTTP.Affjax (AJAX)
import Prelude (($), (#), map, pure)
import Pux (EffModel, noEffects, mapEffects, mapState)
-import Pux.Html (Html, div, h1, li, nav, text, ul)
-import Pux.Html.Attributes (classID, className, id_, role)
+import Pux.Html (Html, a, code, div, h1, h3, h4, li, nav, p, pre, text, ul)
+import Pux.Html.Attributes (classID, className, id_, role, href)
import Pux.Router (link)
data Action
@@ -41,6 +41,7 @@ update (BEChild action) state = BlogEntry.update action state.bestate
# mapState (state { bestate = _ })
# mapEffects BEChild
update (Child action) state = noEffects $ state { count = Counter.update action state.count }
+update _ state = noEffects $ state
routeEffects :: Route -> State -> EffModel State Action (dom :: DOM, ajax :: AJAX)
routeEffects BlogIndex state = { state: state
@@ -76,10 +77,50 @@ navbar state =
]
]
+contact :: Html Action
+contact =
+ div
+ [ className "row" ]
+ [ div
+ [ className "col s6" ]
+ [ h3 [] [ text "Email" ]
+ , div [ className "email" ] [ text "me@christine.website" ]
+ , p []
+ [ text "My GPG fingerprint is "
+ , code [] [ text "799F 9134 8118 1111" ]
+ , text ". If you get an email that appears to be from me and the signature does not match that fingerprint, it is not from me. You may download a copy of my public key "
+ , a [ href "/static/gpg.pub" ] [ text "here" ]
+ , text "."
+ ]
+ ]
+ , div
+ [ className "col s6" ]
+ [ h3 [] [ text "Other Information" ]
+ , p []
+ [ text "To send me donations, my bitcoin address is "
+ , code [] [ text "1Gi2ZF2C9CU9QooH8bQMB2GJ2iL6shVnVe" ]
+ , text "."
+ ]
+ , div []
+ [ h4 [] [ text "IRC" ]
+ , p [] [ text "I am on many IRC networks. On Freenode I am using the nick Xe but elsewhere I will use the nick Xena or Cadey." ]
+ ]
+ , div []
+ [ h4 [] [ text "Telegram" ]
+ , a [ href "https://telegram.me/miamorecadenza" ] [ text "@miamorecadenza" ]
+ ]
+ , div []
+ [ h4 [] [ text "Discord" ]
+ , pre [] [ text "Cadey~#1932" ]
+ ]
+ ]
+ ]
+
page :: Route -> State -> Html Action
page NotFound _ = h1 [] [ text "not found" ]
page Home state = map Child $ Counter.view state.count
page Resume state = h1 [] [ text "Christine Dodrill" ]
page BlogIndex state = map BIChild $ BlogIndex.view state.bistate
page (BlogPost _) state = map BEChild $ BlogEntry.view state.bestate
+page ContactPage _ = contact
page _ _ = h1 [] [ text "not implemented yet" ]