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 "SharedCost" model.translations) ] ] ++ let item page name = a [ href (Page.toHash page) , classList [ ("item", True) , ("current", model.page == page) ] ] [ text (getMessage name model.translations) ] in case model.view of LoggedInView { me, users } -> [ item Home "PaymentsTitle" , item Income "Income" , 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 ] ] ] _ -> [] )