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) ) ) ) ] )