summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/popup/src/View')
-rw-r--r--src/popup/src/View/Header.elm79
-rw-r--r--src/popup/src/View/Player.elm97
2 files changed, 176 insertions, 0 deletions
diff --git a/src/popup/src/View/Header.elm b/src/popup/src/View/Header.elm
new file mode 100644
index 0000000..fd8e693
--- /dev/null
+++ b/src/popup/src/View/Header.elm
@@ -0,0 +1,79 @@
+module View.Header exposing (get_html)
+
+-- Elm -------------------------------------------------------------------------
+import Html
+import Html.Attributes
+
+-- Map -------------------------------------------------------------------
+import Struct.Event
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+link_html : String -> String -> Bool -> (Html.Html Struct.Event.Type)
+link_html src label is_active =
+ (Html.a
+ [
+ (Html.Attributes.href src)
+ ]
+ [
+ (
+ if (is_active)
+ then (Html.text label)
+ else (Html.s [] [(Html.text label)])
+ )
+ ]
+ )
+
+navigation_html : (Html.Html Struct.Event.Type)
+navigation_html =
+ (Html.nav
+ []
+ [
+ (link_html "/about.html" "About" True),
+ (link_html "/news/" "News" False),
+ (link_html "/community/" "Community" False),
+ (link_html "/login/?action=disconnect" "Disconnect" True)
+ ]
+ )
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+get_html : (Html.Html Struct.Event.Type)
+get_html =
+ (Html.header
+ []
+ [
+ (Html.div
+ [
+ (Html.Attributes.class "main-server-logo")
+ ]
+ [
+ (Html.a
+ [
+ (Html.Attributes.href "http://127.0.0.1")
+ ]
+ [
+ (Html.img
+ [
+ (Html.Attributes.src "/asset/svg/to-logo-no-bg.svg")
+ ]
+ [
+ ]
+ )
+ ]
+ )
+ ]
+ ),
+ (Html.div
+ [
+ (Html.Attributes.class "main-server-version")
+ ]
+ [
+ (Html.text "Latest Dev. Build (Mon, 10 Sep 2018 10:30:17 +0000)")
+ ]
+ ),
+ (navigation_html)
+ ]
+ )
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)
+ )
+ )
+ )
+ ]
+ )