blob: 2cec5863e917037e0d7aa20751a0ee558df5786d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
module SignIn.View exposing
( view
)
import Html as H exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (..)
import Json.Decode as Json
import SignIn.Msg as SignInMsg
import SignIn.Model as SignInModel
import Update exposing (..)
import Model exposing (Model)
import Msg exposing (..)
import Model.Translations exposing (getMessage)
import View.Events exposing (onSubmitPrevDefault)
import View.Icon exposing (renderSpinIcon)
view : Model -> SignInModel.Model -> Html Msg
view model signInModel =
div
[ class "signIn" ]
[ H.form
[ onSubmitPrevDefault (SignIn signInModel.login) ]
[ input
[ value signInModel.login
, on "input" (targetValue |> (Json.map <| (UpdateSignIn << SignInMsg.UpdateLogin)))
, name "email"
]
[]
, button
[]
[ if signInModel.waitingServer
then renderSpinIcon
else text (getMessage "SignIn" model.translations)
]
]
, div
[ class "result" ]
[ signInResult model signInModel ]
]
signInResult : Model -> SignInModel.Model -> Html Msg
signInResult model signInModel =
case signInModel.result of
Just result ->
case result of
Ok login ->
div
[ class "success" ]
[ text (getMessage "SignInEmailSent" model.translations) ]
Err error ->
div
[ class "error" ]
[ text (getMessage error model.translations) ]
Nothing ->
text ""
|