diff options
Diffstat (limited to 'frontend/src/Login.elm')
-rw-r--r-- | frontend/src/Login.elm | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/frontend/src/Login.elm b/frontend/src/Login.elm index dd168f0..87657bb 100644 --- a/frontend/src/Login.elm +++ b/frontend/src/Login.elm | |||
@@ -2,11 +2,15 @@ module Login exposing (..) | |||
2 | 2 | ||
3 | import Browser | 3 | import Browser |
4 | import Browser.Navigation as Nav | 4 | import Browser.Navigation as Nav |
5 | import Html exposing (..) | 5 | import Css exposing (..) |
6 | import Html.Attributes exposing (..) | 6 | import Html |
7 | import Html.Events exposing (..) | 7 | import Html.Styled exposing (..) |
8 | import Html.Styled.Attributes exposing (..) | ||
9 | import Html.Styled.Events exposing (..) | ||
8 | import Http | 10 | import Http |
11 | import Icons exposing (..) | ||
9 | import Json.Encode as Encode | 12 | import Json.Encode as Encode |
13 | import Styles exposing (..) | ||
10 | import Url | 14 | import Url |
11 | import Url.Parser as P exposing ((</>), Parser, int, oneOf, s, string) | 15 | import Url.Parser as P exposing ((</>), Parser, int, oneOf, s, string) |
12 | 16 | ||
@@ -91,7 +95,7 @@ viewStatus : LoginStatus -> String | |||
91 | viewStatus ls = | 95 | viewStatus ls = |
92 | case ls of | 96 | case ls of |
93 | NotLoggedIn -> | 97 | NotLoggedIn -> |
94 | "Not Logged In" | 98 | "" |
95 | 99 | ||
96 | InvalidLogin -> | 100 | InvalidLogin -> |
97 | "Invalid Login" | 101 | "Invalid Login" |
@@ -105,15 +109,30 @@ viewStatus ls = | |||
105 | 109 | ||
106 | viewInput : String -> String -> String -> (String -> msg) -> Html msg | 110 | viewInput : String -> String -> String -> (String -> msg) -> Html msg |
107 | viewInput t p v toMsg = | 111 | viewInput t p v toMsg = |
108 | input [ type_ t, placeholder p, value v, onInput toMsg ] [] | 112 | loginInputField [ type_ t, placeholder p, value v, onInput toMsg ] [] |
113 | |||
114 | |||
115 | fieldPadding = | ||
116 | css | ||
117 | [ paddingTop (px 10) | ||
118 | , paddingBottom (px 10) | ||
119 | ] | ||
109 | 120 | ||
110 | 121 | ||
111 | view : Model -> Html Msg | 122 | view : Model -> Html Msg |
112 | view model = | 123 | view model = |
113 | div [] | 124 | div |
114 | [ div [] [ viewInput "text" "Enter name here" model.username UserEntered ] | 125 | [ css |
115 | , div [] [ viewInput "password" "Password" model.password PassEntered ] | 126 | [ margin auto |
116 | , div [] [ button [ onClick LoginPressed ] [ text "Login" ] ] | 127 | , marginTop (pct 10) |
117 | , div [] [ text (viewStatus model.loginStatus) ] | 128 | , padding (px 20) |
118 | , div [] [ text "Don't have an account? ", a [ href "/signup" ] [ text "Register now!" ] ] | 129 | , Css.width (pct 30) |
130 | ] | ||
131 | ] | ||
132 | [ div [ fieldPadding, css [ bigHeading ] ] [ text "Login" ] | ||
133 | , div [ fieldPadding ] [ viewInput "text" "Enter name here" model.username UserEntered ] | ||
134 | , div [ fieldPadding ] [ viewInput "password" "Password" model.password PassEntered ] | ||
135 | , div [ css [ textAlign center ], fieldPadding ] [ furbyButton [ onClick LoginPressed ] [ text "Login" ] ] | ||
136 | , div [ css [ textAlign center ] ] [ text (viewStatus model.loginStatus) ] | ||
137 | , div [ fieldPadding ] [ text "Don't have an account? ", a [ href "/signup" ] [ text "Register now!" ] ] | ||
119 | ] | 138 | ] |