From ab2a37813d6c2cd6554c4a6b0e5b93b3214d61e7 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Wed, 5 Sep 2018 22:29:44 +0200 Subject: Adds "Main Menu" buttons. --- src/battle/src/ElmModule/Update.elm | 4 ++++ src/battle/src/Struct/Event.elm | 1 + src/battle/src/Update/GoToMainMenu.elm | 24 ++++++++++++++++++++++++ src/battle/src/View/MainMenu.elm | 22 +++++++++++++++------- src/battle/www/index.html | 2 ++ 5 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 src/battle/src/Update/GoToMainMenu.elm (limited to 'src/battle') diff --git a/src/battle/src/ElmModule/Update.elm b/src/battle/src/ElmModule/Update.elm index eafac01..998d327 100644 --- a/src/battle/src/ElmModule/Update.elm +++ b/src/battle/src/ElmModule/Update.elm @@ -11,6 +11,7 @@ import Update.AttackWithoutMoving import Update.ChangeScale import Update.DisplayCharacterInfo import Update.EndTurn +import Update.GoToMainMenu import Update.HandleAnimationEnded import Update.HandleServerReply import Update.LookForCharacter @@ -104,3 +105,6 @@ update event model = (Struct.Event.RequestedHelp help_request) -> (Update.SetRequestedHelp.apply_to new_model help_request) + + Struct.Event.GoToMainMenu -> + (Update.GoToMainMenu.apply_to new_model) diff --git a/src/battle/src/Struct/Event.elm b/src/battle/src/Struct/Event.elm index dedb606..6d3c133 100644 --- a/src/battle/src/Struct/Event.elm +++ b/src/battle/src/Struct/Event.elm @@ -35,6 +35,7 @@ type Type = | TurnEnded | RequestedHelp Struct.HelpRequest.Type | WeaponSwitchRequest + | GoToMainMenu attempted : (Result.Result err val) -> Type attempted act = diff --git a/src/battle/src/Update/GoToMainMenu.elm b/src/battle/src/Update/GoToMainMenu.elm new file mode 100644 index 0000000..f2ec989 --- /dev/null +++ b/src/battle/src/Update/GoToMainMenu.elm @@ -0,0 +1,24 @@ +module Update.GoToMainMenu exposing (apply_to) +-- Elm ------------------------------------------------------------------------- + +-- Battle ---------------------------------------------------------------------- +import Action.Ports + +import Constants.IO + +import Struct.Model +import Struct.Event + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +apply_to : Struct.Model.Type -> (Struct.Model.Type, (Cmd Struct.Event.Type)) +apply_to model = + ( + model, + (Action.Ports.go_to (Constants.IO.base_url ++"/main-menu/")) + ) diff --git a/src/battle/src/View/MainMenu.elm b/src/battle/src/View/MainMenu.elm index 9f3099b..96bf539 100644 --- a/src/battle/src/View/MainMenu.elm +++ b/src/battle/src/View/MainMenu.elm @@ -12,16 +12,20 @@ import Struct.UI -------------------------------------------------------------------------------- -- LOCAL ----------------------------------------------------------------------- -------------------------------------------------------------------------------- -get_menu_button_html : ( - Struct.UI.Tab -> - (Html.Html Struct.Event.Type) - ) +get_menu_button_html : Struct.UI.Tab -> (Html.Html Struct.Event.Type) get_menu_button_html tab = (Html.button [ (Html.Events.onClick (Struct.Event.TabSelected tab)) ] [ (Html.text (Struct.UI.to_string tab)) ] ) +get_main_menu_button_html : (Html.Html Struct.Event.Type) +get_main_menu_button_html = + (Html.button + [ (Html.Events.onClick Struct.Event.GoToMainMenu) ] + [ (Html.text "Main Menu") ] + ) + -------------------------------------------------------------------------------- -- EXPORTED -------------------------------------------------------------------- -------------------------------------------------------------------------------- @@ -31,8 +35,12 @@ get_html = [ (Html.Attributes.class "battle-main-menu") ] - (List.map - (get_menu_button_html) - (Struct.UI.get_all_tabs) + ( + (get_main_menu_button_html) + :: + (List.map + (get_menu_button_html) + (Struct.UI.get_all_tabs) + ) ) ) diff --git a/src/battle/www/index.html b/src/battle/www/index.html index 942de3b..2c69952 100644 --- a/src/battle/www/index.html +++ b/src/battle/www/index.html @@ -11,6 +11,7 @@ + -- cgit v1.2.3-70-g09d2