fix: progress on Hyperbole view DSL - form tags, imports, constraints
- Fix tag calls to use \$ none for self-closing tags - Add IOE constraint to HyperView instances - Add warning suppressions where needed - Fix Form data type imports - Remove duplicate getUserHouseholds helpers - Remaining issues: String/Text mismatches in text calls, a few view DSL type errors in Dashboard/Chores
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
{-# OPTIONS_GHC -Wno-name-shadowing #-}
|
||||
{-# LANGUAGE FlexibleContexts, DeriveAnyClass, DeriveGeneric, MultiParamTypeClasses, FlexibleInstances, UndecidableInstances, TypeApplications, TypeOperators, OverloadedStrings #-}
|
||||
{-# OPTIONS_GHC -Wno-unused-imports -Wno-unused-do-bind -Wno-redundant-constraints #-}
|
||||
|
||||
module Sis.Page.Signup (page) where
|
||||
import Effectful
|
||||
@@ -17,7 +19,7 @@ import Web.Hyperbole.Page
|
||||
data SignupPage = SignupPage
|
||||
deriving stock (Generic)
|
||||
deriving anyclass (ViewId)
|
||||
instance (DB :> es) => HyperView SignupPage es where
|
||||
instance (DB :> es, IOE :> es) => HyperView SignupPage es where
|
||||
data Action SignupPage
|
||||
= SubmitSignup
|
||||
deriving stock (Generic)
|
||||
@@ -51,15 +53,15 @@ signupView mError = do
|
||||
Nothing -> none
|
||||
form SubmitSignup $ do
|
||||
el @ att "class" nbLabelClass $ text "Display Name"
|
||||
tag "input" @ att "type" "text" . att "name" "sfDisplayName" . att "class" nbInputClass @ att "style" "width:100%"
|
||||
tag "input" @ att "type" "text" . att "name" "sfDisplayName" . att "class" nbInputClass @ att "style" "width:100%" $ none
|
||||
el @ att "class" nbLabelClass $ text "Email"
|
||||
tag "input" @ att "type" "email" . att "name" "sfEmail" . att "class" nbInputClass @ att "style" "width:100%"
|
||||
tag "input" @ att "type" "email" . att "name" "sfEmail" . att "class" nbInputClass @ att "style" "width:100%" $ none
|
||||
el @ att "class" nbLabelClass $ text "Password (min 8 characters)"
|
||||
tag "input" @ att "type" "password" . att "name" "sfPassword" . att "class" nbInputClass @ att "style" "width:100%"
|
||||
tag "input" @ att "type" "password" . att "name" "sfPassword" . att "class" nbInputClass @ att "style" "width:100%" $ none
|
||||
el @ att "class" nbLabelClass $ text "Confirm Password"
|
||||
tag "input" @ att "type" "password" . att "name" "sfConfirm" . att "class" nbInputClass @ att "style" "width:100%"
|
||||
tag "input" @ att "type" "password" . att "name" "sfConfirm" . att "class" nbInputClass @ att "style" "width:100%" $ none
|
||||
el @ att "style" "display:flex;align-items:center;gap:0.5rem;margin-bottom:1rem" $ do
|
||||
tag "input" @ att "type" "checkbox" . att "name" "sfAgree"
|
||||
tag "input" @ att "type" "checkbox" . att "name" "sfAgree" $ none
|
||||
text "I agree to the terms of service"
|
||||
submit (text "Sign Up") @ att "class" nbButtonClass @ att "style" "width:100%"
|
||||
route RouteLogin $ text "Already have an account? Log In"
|
||||
|
||||
Reference in New Issue
Block a user