aboutsummaryrefslogtreecommitdiff
path: root/src/client/View/Header.elm
diff options
context:
space:
mode:
authorJoris2017-03-26 21:10:42 +0200
committerJoris2017-03-26 21:10:42 +0200
commit1e47a7754ca38bd1a6c74765d8378caf68ce4619 (patch)
treed0d9238479dc2529a1b558bbbcde346e7e8c2935 /src/client/View/Header.elm
parentc0ac16a713c4e53cf6af8e72a6d5f6b8ac5d6456 (diff)
downloadbudget-1e47a7754ca38bd1a6c74765d8378caf68ce4619.tar.gz
budget-1e47a7754ca38bd1a6c74765d8378caf68ce4619.tar.bz2
budget-1e47a7754ca38bd1a6c74765d8378caf68ce4619.zip
Separate client and server watch
Diffstat (limited to 'src/client/View/Header.elm')
-rw-r--r--src/client/View/Header.elm60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/client/View/Header.elm b/src/client/View/Header.elm
new file mode 100644
index 0000000..12fb87c
--- /dev/null
+++ b/src/client/View/Header.elm
@@ -0,0 +1,60 @@
+module View.Header exposing
+ ( view
+ )
+
+import Dict
+
+import FontAwesome
+import View.Color as Color
+
+import Page exposing (..)
+
+import Html exposing (..)
+import Html.Attributes exposing (..)
+import Html.Events exposing (..)
+
+import Model exposing (Model)
+import Model.Translations exposing (getMessage)
+import Msg exposing (..)
+import Model.View exposing (..)
+
+view : Model -> Html Msg
+view model =
+ header
+ []
+ ( [ div [ class "title" ] [ text (getMessage model.translations "SharedCost") ] ]
+ ++ let item page name =
+ a
+ [ href (Page.toHash page)
+ , classList
+ [ ("item", True)
+ , ("current", model.page == page)
+ ]
+ ]
+ [ text (getMessage model.translations name)
+ ]
+ in case model.view of
+ LoggedInView { me, users } ->
+ [ item Home "PaymentsTitle"
+ , item Income "Income"
+ , item Categories "Categories"
+ , item Statistics "Statistics"
+ , div
+ [ class "nameSignOut" ]
+ [ div
+ [ class "name" ]
+ [ Dict.get me users
+ |> Maybe.map .name
+ |> Maybe.withDefault ""
+ |> text
+ ]
+ , button
+ [ class "signOut item"
+ , onClick SignOut
+ ]
+ [ FontAwesome.power_off Color.white 30 ]
+ ]
+ ]
+ _ ->
+ []
+ )