| summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/popup/src/View')
| -rw-r--r-- | src/popup/src/View/Header.elm | 79 | ||||
| -rw-r--r-- | src/popup/src/View/Player.elm | 97 |
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) + ) + ) + ) + ] + ) |


