summaryrefslogtreecommitdiff
blob: 07dc292c8486d0351a1e25d6d46dfe4ee68dd1c9 (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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
module View.Player exposing (get_html)

-- Elm -------------------------------------------------------------------------
import Html
import Html.Attributes
-- import Html.Events

-- Extension -------------------------------------------------------------------
import Struct.BattleSummary
import Struct.Event
import Struct.Player

--------------------------------------------------------------------------------
-- LOCAL -----------------------------------------------------------------------
--------------------------------------------------------------------------------
get_item_html : (
      String ->
      String ->
      Struct.BattleSummary.Type ->
      (Html.Html Struct.Event.Type)
   )
get_item_html query_url additional_class item =
   (Html.a
      [
         (Html.Attributes.class additional_class),
         (Html.Attributes.href
            (
               query_url
               ++ "/battle/?id="
               ++ (Struct.BattleSummary.get_id item)
            )
         )
      ]
      [
         (Html.div
            [
               (Html.Attributes.class "battle-summary-name")
            ]
            [
               (Html.text (Struct.BattleSummary.get_name item))
            ]
         ),
         (Html.div
            [
               (Html.Attributes.class "battle-summary-date")
            ]
            [
               (Html.text (Struct.BattleSummary.get_last_edit item))
            ]
         )
      ]
   )

--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
--------------------------------------------------------------------------------
get_html : Struct.Player.Type -> (Html.Html Struct.Event.Type)
get_html player =
   let
      query_url = (Struct.Player.get_query_url player)
   in
      (Html.div
         [
            (Html.Attributes.class "player-summary")
         ]
         [
            (Html.div
               [
                  (Html.Attributes.class "player-summary-listing-header")
               ]
               [
                  (Html.text (Struct.Player.get_username player))
               ]
            ),
            (Html.div
               [
                  (Html.Attributes.class "player-summary-listing-body")
               ]
               (
                  (List.map
                     (get_item_html query_url "campaign-link")
                     (Struct.Player.get_campaigns player)
                  )
                  ++
                  (List.map
                     (get_item_html query_url "invasion-link")
                     (Struct.Player.get_invasions player)
                  )
                  ++
                  (List.map
                     (get_item_html query_url "event-link")
                     (Struct.Player.get_events player)
                  )
               )
            )
         ]
      )