aboutsummaryrefslogtreecommitdiff
path: root/src/client/View/Header.elm
blob: 12fb87c46d48735d422ccf9a957b906d539c9806 (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 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 ]
                   ]
               ]
             _ ->
               []
    )