summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/Struct/UI.elm')
-rw-r--r--src/Struct/UI.elm62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/Struct/UI.elm b/src/Struct/UI.elm
new file mode 100644
index 0000000..6cf853c
--- /dev/null
+++ b/src/Struct/UI.elm
@@ -0,0 +1,62 @@
+module Struct.UI exposing
+ (
+ Type,
+ Tab(..),
+ default,
+ -- Tab
+ try_getting_displayed_tab,
+ set_displayed_tab,
+ reset_displayed_tab,
+ to_string
+ )
+
+-- Main Menu -------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- TYPES -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+type Tab =
+ CampaignsTab
+ | InvasionsTab
+ | EventsTab
+ | CharactersTab
+ | MapsEditorTab
+ | AccountTab
+
+type alias Type =
+ {
+ displayed_tab : (Maybe Tab)
+ }
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+default : Type
+default =
+ {
+ displayed_tab = Nothing
+ }
+
+-- Tab -------------------------------------------------------------------------
+try_getting_displayed_tab : Type -> (Maybe Tab)
+try_getting_displayed_tab ui = ui.displayed_tab
+
+set_displayed_tab : Tab -> Type -> Type
+set_displayed_tab tab ui = {ui | displayed_tab = (Just tab)}
+
+reset_displayed_tab : Type -> Type
+reset_displayed_tab ui = {ui | displayed_tab = Nothing}
+
+to_string : Tab -> String
+to_string tab =
+ case tab of
+ CampaignsTab -> "Campaigns"
+ InvasionsTab -> "Invasions"
+ EventsTab -> "Events"
+ CharactersTab -> "Character Editor"
+ MapsEditorTab -> "Map Editor"
+ AccountTab -> "Account Settings"