summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/user.js22
-rw-r--r--shader-picker.html4
2 files changed, 21 insertions, 5 deletions
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
diff --git a/shader-picker.html b/shader-picker.html
index 02ad0f6..368608c 100644
--- a/shader-picker.html
+++ b/shader-picker.html
@@ -184,7 +184,9 @@ function init(){
if (user.username.length) {
console.log("signed in as", user.username)
}
- $(user.shaders.buttons["colorcycle"]).trigger("click")
+
+ user.shaders.init()
+ user.shaders.loadLastAccessed()
$("#test-js").click(function(){
var script = $("#shader").val()