app/scripts/controllers/skinSelector.js (27 lines of code) (raw):
App.SkinSelectorController = Ember.ObjectController.extend({
changeThemeTo: function (action) {
switch(action.toLowerCase()) {
case "light" : this.applyCssSkin("themes/light/main.css");
break;
case "dark" : this.applyCssSkin("themes/main/main.css");
break;
}
},
applyCssSkin: function(cssLinkValue) {
if(typeof(Storage) === "undefined") {
return;
}
var storedCssLink = localStorage.getItem("user-defined-skin");
if(!storedCssLink) {
localStorage.setItem("user-defined-skin", "themes/main/main.css");
}
var skinRefference = cssLinkValue || localStorage.getItem("user-defined-skin");
localStorage.setItem("user-defined-skin", skinRefference);
var cssLink = $("#css-skin");
if(cssLink.length === 0) {
cssLink = $("<link id='css-skin' rel='stylesheet'>");
$("head").append(cssLink);
}
cssLink.attr("href", skinRefference);
}
});