blob: 7a6fefcbe22c77a65e979dc66ebce8e458d0ce1c (
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
|
module View.Header
( renderHeader
) where
import Signal exposing (Address)
import Dict
import Route exposing (..)
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (..)
import Model exposing (Model)
import Model.Translations exposing (getMessage)
import Action exposing (..)
import Model.View exposing (..)
import View.Icon exposing (renderIcon)
import View.Click exposing (clickTo)
renderHeader : Address Action -> Model -> Html
renderHeader address model =
let item route name additionalClasses =
a
([ class ("item " ++ additionalClasses) ] ++ clickTo route)
[ text (getMessage name model.translations) ]
in
header
[]
( [item Home "SharedCost" "title"] ++
case model.view of
LoggedInView { me, users } ->
[ item Income "Income" ""
, item Stat "Statistics" ""
, button
[ class "signOut item"
, onClick address SignOut
]
[ renderIcon "power-off" ]
, div
[ class "name" ]
[ Dict.get me users
|> Maybe.map .name
|> Maybe.withDefault ""
|> text
]
]
_ ->
[]
)
|