Render recaptcha explicitly.

[?]
Jan 31, 2021, 2:25 AM
I4W76IFVZEKUHNVCNK3DKETL7BMOUCSZHQJ57F4EOUZBW7NHWIBAC

Dependencies

  • [2] U7YAT2ZK Add error reporting to signup form.
  • [3] QH4UB73N Format with purty.
  • [4] 5R2Z7FSX Initial rendering for signup controls.
  • [5] O2BZOX7M Add signup form, captcha check.
  • [6] SAESJLLY Initial experiments in hash routing.
  • [7] NJNMO72S Add zcash.com submodule and update client to modern halogen.
  • [*] ENNZIQJG Use live signup API for client.

Change contents

  • replacement in client/dev/index.html at line 9
    [3.46][3.46:126]()
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    [3.46]
    [3.2649]
    <script src="https://www.google.com/recaptcha/api.js?render=explicit" async defer></script>
  • edit in client/src/Aftok/Api/Recaptcha.purs at line 3
    [3.3341]
    [3.3341]
    , recaptchaRender
  • replacement in client/src/Aftok/Signup.purs at line 30
    [3.5273][3.5273:5323]()
    import Aftok.Api.Recaptcha (getRecaptchaResponse)
    [3.5273]
    [3.619]
    import Aftok.Api.Recaptcha (getRecaptchaResponse, recaptchaRender)
  • replacement in client/src/Aftok/Signup.purs at line 74
    [3.1093][3.1093:1116]()
    = SetUsername String
    [3.1093]
    [3.1116]
    = Initialize
    | SetUsername String
  • edit in client/src/Aftok/Signup.purs at line 95
    [3.15111]
    [3.15111]
    , recaptchaRender :: String -> String -> m Unit
  • replacement in client/src/Aftok/Signup.purs at line 113
    [3.15386][3.15386:15447]()
    , eval: H.mkEval $ H.defaultEval { handleAction = eval }
    [3.15386]
    [3.15447]
    , eval: H.mkEval $ H.defaultEval { handleAction = eval, initialize = Just Initialize }
  • replacement in client/src/Aftok/Signup.purs at line 194
    [3.19109][3.19109:19407]()
    [ HH.div
    [ P.classes (ClassName <$> [ "g-recaptcha", "mx-auto" ])
    , P.attr (AttrName "data-sitekey") conf.recaptchaKey
    ]
    []
    ]
    [3.19109]
    [3.19407]
    [ HH.div [ P.id_ "grecaptcha" ] [] ]
  • edit in client/src/Aftok/Signup.purs at line 213
    [3.20061]
    [3.20061]
    Initialize -> do
    lift $ caps.recaptchaRender conf.recaptchaKey "grecaptcha"
  • replacement in client/src/Aftok/Signup.purs at line 219
    [3.20197][2.14811:15050]()
    Acc.UsernameCheckOK -> H.modify_ (\st -> st { signupErrors = M.delete UsernameField st.signupErrors })
    Acc.UsernameCheckTaken -> H.modify_ (\st -> st { signupErrors = M.insert UsernameField UsernameTaken st.signupErrors })
    [3.20197]
    [3.20323]
    Acc.UsernameCheckOK ->
    H.modify_ (\st -> st { signupErrors = M.delete UsernameField st.signupErrors })
    Acc.UsernameCheckTaken ->
    H.modify_ (\st -> st { signupErrors = M.insert UsernameField UsernameTaken st.signupErrors })
  • replacement in client/src/Aftok/Signup.purs at line 246
    [2.15827][2.15827:16070]()
    Acc.ZAddrCheckValid -> H.modify_ (\st -> st { signupErrors = M.delete ZAddrField st.signupErrors })
    Acc.ZAddrCheckInvalid -> H.modify_ (\st -> st { signupErrors = M.insert ZAddrField ZAddrInvalid st.signupErrors })
    [2.15827]
    [3.21353]
    Acc.ZAddrCheckValid ->
    H.modify_ (\st -> st { signupErrors = M.delete ZAddrField st.signupErrors })
    Acc.ZAddrCheckInvalid ->
    H.modify_ (\st -> st { signupErrors = M.insert ZAddrField ZAddrInvalid st.signupErrors })
  • edit in client/src/Aftok/Signup.purs at line 394
    [3.25461]
    [9.2952]
    , recaptchaRender: \siteKey elemId -> liftEffect $ recaptchaRender siteKey elemId
  • edit in client/src/Aftok/Signup.purs at line 403
    [3.25542]
    [3.1448]
    , recaptchaRender: \siteKey elemId -> liftEffect $ recaptchaRender siteKey elemId