summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/popup/src/View/Player.elm')
-rw-r--r--src/popup/src/View/Player.elm97
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)
+ )
+ )
+ )
+ ]
+ )