summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/View/Player.elm')
-rw-r--r--src/View/Player.elm99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/View/Player.elm b/src/View/Player.elm
new file mode 100644
index 0000000..7d100e9
--- /dev/null
+++ b/src/View/Player.elm
@@ -0,0 +1,99 @@
+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 url_prefix additional_class item =
+ (Html.a
+ [
+ (Html.Attributes.class additional_class),
+ (Html.Attributes.href
+ (
+ url_prefix
+ ++ (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
+ url_prefix = (Struct.Player.get_url_prefix 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 url_prefix)
+ "campaign-link"
+ (Struct.Player.get_campaigns player)
+ )
+ ++
+ (List.map
+ (get_item_html url_prefix)
+ "invasion-link"
+ (Struct.Player.get_invasions player)
+ )
+ ++
+ (List.map
+ (get_item_html url_prefix)
+ "event-link"
+ (Struct.Player.get_events player)
+ )
+ )
+ )
+ ]
+ )