From a271d6034bc4cc631a64476d25d21c83a701fa39 Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Mon, 20 Jul 2015 21:55:52 +0200 Subject: Add a payment from the UI, it needs polishing however --- src/client/View/SignIn.elm | 60 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/client/View/SignIn.elm (limited to 'src/client/View/SignIn.elm') diff --git a/src/client/View/SignIn.elm b/src/client/View/SignIn.elm new file mode 100644 index 0000000..02ee1bd --- /dev/null +++ b/src/client/View/SignIn.elm @@ -0,0 +1,60 @@ +module View.SignIn + ( renderSignIn + ) where + +import Html exposing (..) +import Html.Attributes exposing (..) +import Html.Events exposing (..) + +import Json.Decode as Json + +import Update exposing (..) +import Update.SignIn exposing (..) + +import ServerCommunication as SC +import ServerCommunication exposing (serverCommunications) + +import Model.View.SignInView exposing (..) + +renderSignIn : SignInView -> Html +renderSignIn signInView = + div + [ class "signIn" ] + [ div + [ class "form" ] + [ input + [ value signInView.login + , on "input" targetValue (Signal.message actions.address << UpdateSignIn << UpdateLogin) + , onEnter serverCommunications.address (SC.SignIn signInView.login) + ] + [] + , button + [ onClick serverCommunications.address (SC.SignIn signInView.login) ] + [ text "Sign in" ] + ] + , div + [ class "result" ] + [ signInResult signInView ] + ] + +onEnter : Signal.Address a -> a -> Attribute +onEnter address value = + on "keydown" + (Json.customDecoder keyCode (\code -> if code == 13 then Ok () else Err "")) + (\_ -> Signal.message address value) + +signInResult : SignInView -> Html +signInResult signInView = + case signInView.result of + Just result -> + case result of + Ok login -> + div + [ class "success" ] + [ text ("We send you an email, please click to the provided link in order to sign in.") ] + Err error -> + div + [ class "error" ] + [ text error ] + Nothing -> + text "" -- cgit v1.2.3