| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/popup/src/View/Player.elm')
| -rw-r--r-- | src/popup/src/View/Player.elm | 97 | 
1 files changed, 97 insertions, 0 deletions
| diff --git a/src/popup/src/View/Player.elm b/src/popup/src/View/Player.elm new file mode 100644 index 0000000..07dc292 --- /dev/null +++ b/src/popup/src/View/Player.elm @@ -0,0 +1,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) +                  ) +               ) +            ) +         ] +      ) | 


