| summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'www')
| -rw-r--r-- | www/index.html | 7 | ||||
| -rw-r--r-- | www/script/load.js | 12 | ||||
| -rw-r--r-- | www/script/params.js | 91 |
3 files changed, 106 insertions, 4 deletions
diff --git a/www/index.html b/www/index.html index f0fc53c..10a422b 100644 --- a/www/index.html +++ b/www/index.html @@ -4,9 +4,8 @@ <link rel="stylesheet" type="text/css" href="/style.css"> </head> <body> - <script src="script/main.js"></script> - <script> - tacticians_online_app = Elm.Main.fullscreen(); - </script> + <script src="/www/script/params.js"></script> + <script src="/www/script/main.js"></script> + <script src="/www/script/load.js"></script> </body> </html> diff --git a/www/script/load.js b/www/script/load.js new file mode 100644 index 0000000..c09570b --- /dev/null +++ b/www/script/load.js @@ -0,0 +1,12 @@ +tacticians_online.params.load(); + +tacticians_online.app = + Elm.Main.fullscreen + ( + { + frequency: tacticians_online.params.get_frequency(), + players: tacticians_online.params.get_players() + } + ); + +tacticians_online.params.attach_to(tacticians_online.app); diff --git a/www/script/params.js b/www/script/params.js new file mode 100644 index 0000000..440a491 --- /dev/null +++ b/www/script/params.js @@ -0,0 +1,91 @@ +/******************************************************************************/ +/** Session Management ********************************************************/ +/******************************************************************************/ +var tacticians_online = tacticians_online || new Object(); + +tacticians_online.params = new Object(); + +tacticians_online.params.private = new Object(); +tacticians_online.params.private.frequency = 15; +tacticians_online.params.private.players = []; + +tacticians_online.params.store = +function () +{ + localStorage.setItem + ( + "frequency", + tacticians_online.params.private.frequency + ); + + localStorage.setItem("players", tacticians_online.params.private.players); +} + +tacticians_online.params.reset = +function () +{ + localStorage.removeItem("frequency"); + localStorage.removeItem("players"); +} + +tacticians_online.params.load = +function () +{ + tacticians_online.params.private.frequency = + localStorage.getItem("frequency"); + + tacticians_online.params.private.players = localStorage.getItem("players"); + + if (tacticians_online.params.private.frequency == null) + { + tacticians_online.params.private.frequency = 15; + } + + if (tacticians_online.params.private.players == null) + { + tacticians_online.params.private.players = []; + } +} + +tacticians_online.params.get_frequency = +function () +{ + return tacticians_online.params.private.frequency; +} + +tacticians_online.params.get_players = +function () +{ + return tacticians_online.params.private.players; +} + +tacticians_online.params.set_frequency = +function (frequency) +{ + tacticians_online.params.private.frequency = frequency; +} + +tacticians_online.params.set_players = +function (players) +{ + tacticians_online.params.private.players = players; +} + +tacticians_online.params.store_new_params = +function (params) +{ + var [frequency, players] = params; + tacticians_online.params.set_frequency(frequency); + tacticians_online.params.set_players(players); + tacticians_online.params.store(); +} + +tacticians_online.params.attach_to = +function (app) +{ + app.ports.store_new_params.subscribe( + tacticians_online.params.store_new_params + ); + + app.ports.reset_params.subscribe(tacticians_online.params.reset); +} |


