From 4bc1a00a5f7048618712616a28da51c2341c40f0 Mon Sep 17 00:00:00 2001 From: jules Date: Mon, 6 Jan 2014 00:47:33 -0500 Subject: remember last choice of shader --- js/user.js | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'js') diff --git a/js/user.js b/js/user.js index 58713a5..c3dfe60 100644 --- a/js/user.js +++ b/js/user.js @@ -2,7 +2,6 @@ var user = new function(){} user.init = function(){ user.load() user.bind() - user.shaders.init() } user.bind = function(){ $("#username").on("input", user.save) @@ -66,7 +65,6 @@ user.shaders.bindButton = function(data){ user.shaders.buttons[data.name] = button } user.shaders.load = function(data){ - console.log(data.name) var shader = data.shader if (shader && shader.length > 0) { user.shaders.name = data.name @@ -75,18 +73,31 @@ user.shaders.load = function(data){ shader_build() $(".active").removeClass("active") $(user.shaders.buttons[data.name]).addClass("active") + user.shaders.setLastAccessed(data.name) } } +user.shaders.loadLastAccessed = function(){ + var name = localStorage.getItem("im.lastShader") || "colorcycle" + if (name in user.shaders.buttons) { + $(user.shaders.buttons[name]).trigger("click") + } +} +user.shaders.setLastAccessed = function(name){ + localStorage.setItem("im.lastShader", name) +} +user.shaders.getShaderByName = function(name){ + return { name: name, shader: user.shaders.getShaderBody(name) } +} user.shaders.getShaderIndex = function(){ return JSON.parse( localStorage.getItem("im.shaders") ) || [] } -user.shaders.getShader = function(name){ +user.shaders.getShaderBody = function(name){ return localStorage.getItem("im.shaders."+name) || null } user.shaders.getShaders = function(){ var shaders = user.shaders.getShaderIndex() - return shaders.map(function(name){ return { name: name, shader: user.shaders.getShader(name) } }) + return shaders.map(function(name){ return { name: name, shader: user.shaders.getShaderBody(name) } }) } user.shaders.setShaderIndex = function(shaders){ localStorage.setItem("im.shaders", JSON.stringify(shaders)) @@ -114,6 +125,9 @@ user.shaders.save = function(){ user.shaders.name = name user.shaders.bindButton({ name: name, shader: shader }) + + $(".active").removeClass("active") + $(user.shaders.buttons[name]).addClass("active") } user.shaders.remove = function(){ var name = user.shaders.name -- cgit v1.2.3-70-g09d2