Select Git revision
TechDemo.hs
FirstRun.hs 1.25 KiB
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
module Pages.FirstRun (firstRunPage) where
import Reflex.Dom.Core
import Static (logoStacked)
import Obelisk.Route.Frontend (setRoute, SetRoute(..), R)
import Obelisk.Route (pattern (:/))
import Common.Route
-- Define the entire view for looking at our beautiful firstRun screen.
firstRunPage :: (SetRoute t (R FrontendRoute) m, DomBuilder t m) => m ()
firstRunPage = do
elAttr "main" ("class" =: "firstRunPage" <> "onload" =: "mdc.autoInit()") $ do
elClass "div" "logo" $
elAttr "img" ("src" =: logoStacked) blank
elClass "div" "subtext mdc-typography--body2" $ do
el "p" $ text "Please ensure the PrivateStorage desktop app is installed and running before proceeding."
el "p" $ text "Visit https://private.storage/ on your desktop or laptop computer to get started."
(readyButton, _) <- elAttr' "button" ("class" =: "mdc-button mdc-button--raised" <> "data-mdc-auto-init" =: "MDCRipple") $ do
elClass "span" "mdc-button__ripple" blank
elClass "span" "mdc-button__label" $
text "I'M READY!"
setRoute $ (FrontendRoute_MagicFolders :/ ()) <$ domEvent Click readyButton
pure ()