summaryrefslogtreecommitdiff
path: root/js/user.js
diff options
context:
space:
mode:
authorjules <jules@okfoc.us>2014-01-01 23:53:29 -0500
committerjules <jules@okfoc.us>2014-01-01 23:53:29 -0500
commitb0abdb7bb0980474048110d683a81fb037854103 (patch)
treef79804b9931518724689aac3acec59a635d7a330 /js/user.js
parent468ed78c18fea799091dd9c0e638beff24c6b7aa (diff)
save shaders locally
Diffstat (limited to 'js/user.js')
-rw-r--r--js/user.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/js/user.js b/js/user.js
index a1ac53e..98af86f 100644
--- a/js/user.js
+++ b/js/user.js
@@ -2,6 +2,7 @@ var user = new function(){}
user.init = function(){
user.load()
user.bind()
+ user.shaders.init()
}
user.bind = function(){
$("#username").on("input", user.save)
@@ -37,3 +38,40 @@ user.setCookie = function(username){
document.cookie = "imname="+username+";path=/;domain=.asdf.us;max-age=1086400"
localStorage.setItem("im.name", username);
}
+user.shaders = new function(){}
+user.shaders.init = function(){
+ user.shaders.bind()
+}
+user.shaders.bind = function(){
+ var shaders = JSON.parse( localStorage.getItem("im.shaders") ) || []
+ for (var i = 0; i < shaders.length; i++){
+ user.shaders.bindButton(shaders[i])
+ }
+ document.getElementById("add-shader").addEventListener("click", user.shaders.save, false)
+}
+user.shaders.bindButton = function(name){
+ var button = document.createElement("button")
+ button.innerHTML = name
+ button.addEventListener("click", user.shaders.load.bind(this, name), false)
+ document.getElementById("shaders").appendChild(button)
+}
+user.shaders.load = function(name){
+ var shader = localStorage.getItem("im.shaders." + name)
+ console.log(name,shader)
+ if (shader && shader.length > 0) {
+ $("#shader").val(shader)
+ shader_build()
+ }
+}
+user.shaders.save = function(){
+ var name = prompt("enter shader name")
+ var shader = $("#shader").val()
+ console.log(name,shader)
+ if (! name) return;
+ if (shade !== shade_no_error_handling) return;
+ localStorage.setItem("im.shaders." + name, shader)
+ var shaders = JSON.parse( localStorage.getItem("im.shaders") ) || []
+ shaders.push(name)
+ localStorage.setItem("im.shaders", JSON.stringify(shaders))
+ user.shaders.bindButton(name)
+}