react-flux-1.1.0: example/purecss-side-menu/PageViews.hs
{-# LANGUAGE OverloadedStrings #-}
-- | The pages. Normally each page should go into its own module, but for simplicity in this
-- example they are all defined here.
module PageViews where
import React.Flux
import Dispatcher
page1 :: ReactView ()
page1 = defineView "page 1" $ \() -> div_ $ do
cldiv_ "header" $
h1_ "Page 1!!"
cldiv_ "content" $ do
p_ $ do
"Page 1 content. "
clbutton_ "pure-button" (changePageTo Page2) "Change to page 2"
"Also, try reducing the browser width to see the responsive menu."
p_ $ do
"You must load this file from a server. If you did not, page changes might not work depending on your browser security settings (some features don't always work for file URLs). Use for example "
code_ "python3 -m http.server 8000"
" or "
code_ "python2 -m SimpleHTTPServer 8000"
" from the example/purecss-side-menu directory."
page2 :: ReactView ()
page2 = defineView "page 2" $ \() -> div_ $ do
cldiv_ "header" $
h1_ "Just page 2"
cldiv_ "content" $
p_ "Page 2 content. Try the back button."
page3 :: ReactView ()
page3 = defineView "page 3" $ \() -> div_ $ do
cldiv_ "header" $
h1_ "Page Three"
cldiv_ "content" $
p_ "Page 3 content. Try the back button."