| summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/Struct/UI.elm')
| -rw-r--r-- | src/Struct/UI.elm | 62 |
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" |


