From b0abdb7bb0980474048110d683a81fb037854103 Mon Sep 17 00:00:00 2001 From: jules Date: Wed, 1 Jan 2014 23:53:29 -0500 Subject: save shaders locally --- js/user.js | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'js/user.js') 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) +} -- cgit v1.2.3-70-g09d2