From fdac6c79935fa9b773cbb9d4a0c2499726764777 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 6 Jun 2014 17:29:50 -0400 Subject: creating new users with email and password --- public/assets/javascripts/ui/MasterView.js | 30 +++ public/assets/javascripts/ui/ModalView.js | 18 ++ public/assets/javascripts/ui/SignInModal.js | 50 +++++ public/assets/javascripts/ui/SignUpModal.js | 89 ++++++++ public/assets/javascripts/ui/share.js | 25 --- public/assets/javascripts/ui/signin.js | 319 ---------------------------- public/assets/javascripts/ui/z_misc.js | 263 +++++++++++++++++++++++ public/assets/javascripts/ui/z_share.js | 25 +++ 8 files changed, 475 insertions(+), 344 deletions(-) create mode 100644 public/assets/javascripts/ui/MasterView.js create mode 100644 public/assets/javascripts/ui/ModalView.js create mode 100644 public/assets/javascripts/ui/SignInModal.js create mode 100644 public/assets/javascripts/ui/SignUpModal.js delete mode 100644 public/assets/javascripts/ui/share.js delete mode 100644 public/assets/javascripts/ui/signin.js create mode 100644 public/assets/javascripts/ui/z_misc.js create mode 100644 public/assets/javascripts/ui/z_share.js (limited to 'public/assets/javascripts/ui') diff --git a/public/assets/javascripts/ui/MasterView.js b/public/assets/javascripts/ui/MasterView.js new file mode 100644 index 0000000..9657c56 --- /dev/null +++ b/public/assets/javascripts/ui/MasterView.js @@ -0,0 +1,30 @@ + +var MasterView = View.extend({ + el: "body", + + events: { + "click [data-role='show-signup-modal']": 'showSignUpModal', + "click [data-role='show-signin-modal']": 'showSignInModal', + }, + + initialize: function(){ + this.signUpModal = new SignUpModal() + this.signInModal = new SignInModal() + + $("body").removeClass("loading") + // app.launch() + + }, + + showSignUpModal: function(e){ + e.preventDefault() + this.signUpModal.load() + }, + + showSignInModal: function(e){ + e.preventDefault() + this.signInModal.load() + }, + +}) + diff --git a/public/assets/javascripts/ui/ModalView.js b/public/assets/javascripts/ui/ModalView.js new file mode 100644 index 0000000..5c8e832 --- /dev/null +++ b/public/assets/javascripts/ui/ModalView.js @@ -0,0 +1,18 @@ + +var ModalView = View.extend({ + events: { + "click .close": 'hide', + }, + + show: function(){ + $(".mediaDrawer").removeClass("active"); + this.$el.addClass("active"); + $("body").addClass("noOverflow"); + }, + + hide: function(){ + // $(".mediaDrawer, .room1").removeClass("active editing"); + this.$el.removeClass("active"); + $("body").removeClass("noOverflow"); + } +}) diff --git a/public/assets/javascripts/ui/SignInModal.js b/public/assets/javascripts/ui/SignInModal.js new file mode 100644 index 0000000..e5cd02a --- /dev/null +++ b/public/assets/javascripts/ui/SignInModal.js @@ -0,0 +1,50 @@ + + +var SignInModal = ModalView.extend({ + el: ".mediaDrawer.signin", + action: "/auth/signin", + + events: { + "submit form": "submit" + }, + + reset: function(){ + this.$("input").not("[type='submit']").not("[type='hidden']").val("") + }, + + load: function(){ + this.reset() + this.show() + }, + + submit: function(e){ + e.preventDefault() + + this.$errors.hide(); + this.$errorList.empty() + + if (! this.validate()) return + + var fields = this.$form.serializeArray() + fields.forEach(function(pair){ + if (pair.name == "password" && pair.value.length > 0) { + pair.value = SHA1.hex('lol$' + pair.value + '$vvalls') + } + }) + var request = $.post(this.action, $.param(fields)); + request.done($.proxy(function (response) { + if (response.error) { + this.$errors.show(); + for (var key in response.error.errors) { + this.$errorList.append('
' + response.error.errors[key].message + '
'); + } + return; + } + else { + window.location.href = "/profile" + } + }, this)); + } + +}) + diff --git a/public/assets/javascripts/ui/SignUpModal.js b/public/assets/javascripts/ui/SignUpModal.js new file mode 100644 index 0000000..160323b --- /dev/null +++ b/public/assets/javascripts/ui/SignUpModal.js @@ -0,0 +1,89 @@ + + +var SignUpModal = ModalView.extend({ + el: ".mediaDrawer.signup", + action: "/auth/signup", + + events: { + "submit form": "submit", + }, + + initialize: function(){ + this.$form = this.$("form") + this.$errors = this.$(".errors") + this.$errorList = this.$(".errorList") + }, + + reset: function(){ + this.$("input").not("[type='submit']").not("[type='hidden']").val("") + }, + + load: function(){ + this.reset() + this.show() + }, + + validate: function(){ + var errors = [] + + var username = this.$("#usernameInput").val() + var email = this.$("#emailInput").val() + var pw1 = this.$("#passwordInput1").val() + var pw2 = this.$("#passwordInput2").val() + + if (! username.length) { + errors.push("Please enter a username"); + } + if (! pw1.length) { + errors.push("Please enter a password"); + } + if (! email.length) { + errors.push("Please enter an email address"); + } + else if (email.indexOf("@") === -1) { + errors.push("Please enter a valid email address"); + } + if (pw1 !== pw2) { + errors.push("Passwords don't match"); + } + + if (errors.length) { + this.$errors.show(); + for (var i in errors) { + this.$errorList.append('
' + errors[i] + '
'); + } + } + + return ! errors.length + }, + + submit: function(e){ + e.preventDefault() + + this.$errors.hide(); + this.$errorList.empty() + + if (! this.validate()) return + + var fields = this.$form.serializeArray() + fields.forEach(function(pair){ + if (pair.name == "password" && pair.value.length > 0) { + pair.value = SHA1.hex('lol$' + pair.value + '$vvalls') + } + }) + var request = $.post(this.action, $.param(fields)); + request.done($.proxy(function (response) { + if (response.error) { + this.$errors.show(); + for (var key in response.error.errors) { + this.$errorList.append('
' + response.error.errors[key].message + '
'); + } + return; + } + else { + window.location.href = "/profile" + } + }, this)); + } + +}) diff --git a/public/assets/javascripts/ui/share.js b/public/assets/javascripts/ui/share.js deleted file mode 100644 index d31aa89..0000000 --- a/public/assets/javascripts/ui/share.js +++ /dev/null @@ -1,25 +0,0 @@ -var share = { - init: function(){ - share.bind() - }, - bind: function(){ - $("#facebook").click(share.facebook) - $("#twitter").click(share.twitter) - }, - url: "http://vvalls.com/", - facebook_msg: "", - twitter_msg: "", - openLink: function (url) { - window.open(url, "_blank"); - }, - facebook: function () { - var url = "https://www.facebook.com/share.php?u=" + encodeURIComponent(share.url) + "&t=" + encodeURIComponent(share.facebook_msg); - share.openLink(url); - return false; - }, - twitter: function () { - var url = "https://twitter.com/home?status=" + encodeURIComponent(share.url + " " + share.twitter_msg); - share.openLink(url); - return false; - } -} diff --git a/public/assets/javascripts/ui/signin.js b/public/assets/javascripts/ui/signin.js deleted file mode 100644 index 06e3d44..0000000 --- a/public/assets/javascripts/ui/signin.js +++ /dev/null @@ -1,319 +0,0 @@ - - -var SignIn = function(){ - var base = this; - - base.init = function(){ - base.bind() - } - - base.bind = function(){ - $("[data-role='show-signup-modal']").click(function(){ - $(".mediaDrawer.signup").addClass("active"); - }) - } - - base.show = function(){ - } - - base.hide = function(){ - } - -} - -var SignUp = function(){ - var base = this; - - base.init = function(){ - base.bind() - } - - base.bind = function(){ - $("[data-role='show-signin-modal']").click(function(){ - $(".mediaDrawer.signin").addClass("active"); - }) - } - - base.show = function(){ - } - - base.hide = function(){ - } -} - - $(".close").click(function(){ - $(".mediaDrawer, .room1").removeClass("active editing"); - $("body").removeClass("noOverflow"); - }); - - - - - -/* - - -function bind () { - - if(is_mobile) { - $("html").addClass("mobile"); - } - else { - $("html").addClass("desktop"); - } - - $.fn.clickToToggle = function(fn){ - $(this).click(function(e){ - e.stopPropagation() - var isActive = ! $(this).hasClass("icon-close") - disable_mode() - fn(isActive) - $(this).toggleClass("icon-close", isActive); - }) - } - - $(".addMedia").clickToToggle(function(isActive){ - $(".mediaDrawer").toggleClass("active", isActive); - $(".fileUpload").toggleClass("active", isActive); - }); - - $(".room1 .editBtn").click(function () { - var room = $(this).parent(); - room.addClass('editing'); - $(this).siblings('.formHolder').find('[type="submit"]').one('click', function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - room.removeClass('editing'); - }); - }); - - // Place media logic - var $floatingImg = $('.floatingImg'); - - function placeMedia(evt, img) { - // JULES DO YO THANG - alert('Place media at (' + evt.pageX + ', ' + evt.pageY + ')'); - } - - $('.mediaContainer img').mousedown(function(e){ - e.preventDefault() - e.stopPropagation() - }) - $('.mediaContainer img').click(function (e) { - e.stopPropagation() - $(".mediaDrawer, .fileUpload, .addMedia").removeClass("active icon-close"); - $floatingImg.attr('src', $(this).attr('src')); - function _followCursor(e) { - $floatingImg.parent().css({ - top: (e.pageY - ($floatingImg.height() / 2)) + 'px', - left: (e.pageX - ($floatingImg.width() / 2)) + 'px' - }); - } - $(window).on('mousemove', _followCursor); - $(window, this).one('click', function () { - $floatingImg.attr('src', ''); - $(window).off('mousemove', _followCursor); - $floatingImg.parent().removeClass('edit'); - }); - $floatingImg.parent().addClass('edit'); - _followCursor(e); - }); - - $(".icon-arrow-resize").clickToToggle(function(isActive){ - $(".image").toggleClass("active", isActive); - }); - $(".icon-map").click(function(){ - $("#minimap").toggleClass("hide"); - $(this).toggleClass('hidden'); - }); - $(".icon-ios7-keypad-outline").clickToToggle(function(isActive){ - $(".wallpaper").toggleClass("active", isActive); - $("body").removeClass("pastePaper"); - }); - $(".paper1").click(function(){ - $("body").toggleClass("pastePaper"); - $(this).toggleClass("active"); - }); - - $(".icon-ios7-sunny-outline").clickToToggle(function(isActive){ - $(".lightcontrol").toggleClass("active", isActive); - }); - $(".delete-image-toggle").clickToToggle(function(isActive){ - $("body").toggleClass("deleteActive", isActive); - }); - $(".icon-key").clickToToggle(function(isActive){ - $(".settings").toggleClass("active", isActive); - }); - - - - $(".edit-text-toggle").clickToToggle(function(isActive){ - $(".image").toggleClass("editText", isActive); - }); - - - - $(".foundToggle").click(function(){ - $(".foundMedia").addClass("active"); - $(".myMedia").addClass("inactive"); - $('a').removeClass("active"); - $(this).addClass("active"); - }); - - $(".yourMedia").click(function(){ - $(".foundMedia").removeClass("active"); - $(".myMedia").removeClass("inactive"); - $('a').removeClass("active"); - $(this).addClass("active"); - }); - - $("#deleteMedia").click(function(){ - $("body").toggleClass("deleteArmed"); - }); - - $("#startpoint").click(function(){ - $(this).toggleClass("active"); - $("#startText").toggleClass("hide"); - $("#moveText").toggleClass("show"); - }); - - - $(".deleteArmed .mediaContainer").click(function(){ - $(this).addClass("deleted"); - }); - - - $("#createProject").click(function(){ - $(".mediaDrawer.newProject").toggleClass("active"); - $("body").addClass("noOverflow") - }); - - $(".templates span").click(function(){ - $(".templates span").removeClass("active"); - $(this).toggleClass("active"); - }); - - $(document).on("click", ".icon-close", disable_mode) - - function disable_mode(){ - $(".icon-close").removeClass("icon-close") - $('.mediaDrawer,.fileUpload,.image,.lightcontrol,.settings,.wallpaper').removeClass("active"); - $(".image").removeClass("editText") - $("body").removeClass("deleteArmed") - } - - $("#shadow-control").on({ - mousedown: function(){ app.dragging = true }, - change: function(){ - var hex = (~~($(this).int() / 100 * 0xff)).toString(10) - if (hex.length == 1) hex = "0" + hex; - var color = "rgba(" + [hex, hex, hex, "1.0"] + ")" - $(".face").css("border-color", color) - } - }) - - $("#brightness-control").on({ - mousedown: function(){ app.dragging = true }, - change: function(){ - var hex = (~~($(this).int() / 100 * 0xff)).toString(10) - var color = "rgba(" + [hex, hex, hex, "0.9"] + ")" - $("body,.face").css("background-color", color) - } - }) - - - // - // EDIT IMAGE HOVER MENU - - var hideEditImageMenuTimeout - environment.image.el.addEventListener('mouseover', function(e){ - environment.image.el.classList.add('hover') - var offset = $(".image").offset() - offset.left = max(0, offset.left + 30) - offset.top = max(0, offset.top + 50) - $(".edit-image.menu").show().offset( offset ) - clearTimeout(hideEditImageMenuTimeout) - }) - environment.image.el.addEventListener('mouseout', function(e){ - environment.image.el.classList.remove('hover') - hideEditImageMenuTimeout = setTimeout(function(){ - $(".edit-image.menu").hide() - }, 50) - }) - $(".edit-image.menu").on({ - mouseover: function(){ - clearTimeout(hideEditImageMenuTimeout) - }, - mouseout: function(){ - hideEditImageMenuTimeout = setTimeout(function(){ - $(".edit-image.menu").hide() - }, 50) - }, - mousedown: function(e){ - e.stopPropagation() - }, - mouseup: function(e){ - e.stopPropagation() - } - }) - - - // - // EDIT VIDEO HOVER MENU - - var hideEditVideoMenuTimeout - environment.video.el.addEventListener('mouseover', function(e){ - environment.video.el.classList.add('hover') - var offset = $(".video").offset() - offset.left = max(0, offset.left + 30) - offset.top = max(0, offset.top + 50) - $(".edit-video.menu").show().offset( offset ) - clearTimeout(hideEditImageMenuTimeout) - }) - environment.video.el.addEventListener('mouseout', function(e){ - environment.video.el.classList.remove('hover') - hideEditVideoMenuTimeout = setTimeout(function(){ - $(".edit-video.menu").hide() - }, 50) - }) - $(".edit-video.menu").on({ - mouseover: function(){ - clearTimeout(hideEditVideoMenuTimeout) - }, - mouseout: function(){ - hideEditVideoMenuTimeout = setTimeout(function(){ - $(".edit-video.menu").hide() - }, 50) - }, - mousedown: function(e){ - e.stopPropagation() - }, - mouseup: function(e){ - e.stopPropagation() - } - }) - $(".icon-ios7-reload,.ios7-arrow-forward").click(function(){ - $(this).toggleClass('toggled') - }) - - // - // ALL DONE - - $('body').removeClass('loading'); -} - - -$(function(){ - - var classes = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen']; - - $(".bio").addClass(choice(classes)); - - function randomizeList(listObj) { - $(listObj).each(function() { - $(this).addClass(classes[Math.Random()*classes.size]); - }); - } -}) - -*/ diff --git a/public/assets/javascripts/ui/z_misc.js b/public/assets/javascripts/ui/z_misc.js new file mode 100644 index 0000000..7580e89 --- /dev/null +++ b/public/assets/javascripts/ui/z_misc.js @@ -0,0 +1,263 @@ + +function bind () { + + if(is_mobile) { + $("html").addClass("mobile"); + } + else { + $("html").addClass("desktop"); + } + + $.fn.clickToToggle = function(fn){ + $(this).click(function(e){ + e.stopPropagation() + var isActive = ! $(this).hasClass("icon-close") + disable_mode() + fn(isActive) + $(this).toggleClass("icon-close", isActive); + }) + } + + $(".addMedia").clickToToggle(function(isActive){ + $(".mediaDrawer").toggleClass("active", isActive); + $(".fileUpload").toggleClass("active", isActive); + }); + + $(".room1 .editBtn").click(function () { + var room = $(this).parent(); + room.addClass('editing'); + $(this).siblings('.formHolder').find('[type="submit"]').one('click', function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + room.removeClass('editing'); + }); + }); + + // Place media logic + var $floatingImg = $('.floatingImg'); + + function placeMedia(evt, img) { + // JULES DO YO THANG + alert('Place media at (' + evt.pageX + ', ' + evt.pageY + ')'); + } + + $('.mediaContainer img').mousedown(function(e){ + e.preventDefault() + e.stopPropagation() + }) + $('.mediaContainer img').click(function (e) { + e.stopPropagation() + $(".mediaDrawer, .fileUpload, .addMedia").removeClass("active icon-close"); + $floatingImg.attr('src', $(this).attr('src')); + function _followCursor(e) { + $floatingImg.parent().css({ + top: (e.pageY - ($floatingImg.height() / 2)) + 'px', + left: (e.pageX - ($floatingImg.width() / 2)) + 'px' + }); + } + $(window).on('mousemove', _followCursor); + $(window, this).one('click', function () { + $floatingImg.attr('src', ''); + $(window).off('mousemove', _followCursor); + $floatingImg.parent().removeClass('edit'); + }); + $floatingImg.parent().addClass('edit'); + _followCursor(e); + }); + + $(".icon-arrow-resize").clickToToggle(function(isActive){ + $(".image").toggleClass("active", isActive); + }); + $(".icon-map").click(function(){ + $("#minimap").toggleClass("hide"); + $(this).toggleClass('hidden'); + }); + $(".icon-ios7-keypad-outline").clickToToggle(function(isActive){ + $(".wallpaper").toggleClass("active", isActive); + $("body").removeClass("pastePaper"); + }); + $(".paper1").click(function(){ + $("body").toggleClass("pastePaper"); + $(this).toggleClass("active"); + }); + + $(".icon-ios7-sunny-outline").clickToToggle(function(isActive){ + $(".lightcontrol").toggleClass("active", isActive); + }); + $(".delete-image-toggle").clickToToggle(function(isActive){ + $("body").toggleClass("deleteActive", isActive); + }); + $(".icon-key").clickToToggle(function(isActive){ + $(".settings").toggleClass("active", isActive); + }); + + + + $(".edit-text-toggle").clickToToggle(function(isActive){ + $(".image").toggleClass("editText", isActive); + }); + + + + $(".foundToggle").click(function(){ + $(".foundMedia").addClass("active"); + $(".myMedia").addClass("inactive"); + $('a').removeClass("active"); + $(this).addClass("active"); + }); + + $(".yourMedia").click(function(){ + $(".foundMedia").removeClass("active"); + $(".myMedia").removeClass("inactive"); + $('a').removeClass("active"); + $(this).addClass("active"); + }); + + $("#deleteMedia").click(function(){ + $("body").toggleClass("deleteArmed"); + }); + + $("#startpoint").click(function(){ + $(this).toggleClass("active"); + $("#startText").toggleClass("hide"); + $("#moveText").toggleClass("show"); + }); + + + $(".deleteArmed .mediaContainer").click(function(){ + $(this).addClass("deleted"); + }); + + + $("#createProject").click(function(){ + $(".mediaDrawer.newProject").toggleClass("active"); + $("body").addClass("noOverflow") + }); + + $(".templates span").click(function(){ + $(".templates span").removeClass("active"); + $(this).toggleClass("active"); + }); + + $(document).on("click", ".icon-close", disable_mode) + + function disable_mode(){ + $(".icon-close").removeClass("icon-close") + $('.mediaDrawer,.fileUpload,.image,.lightcontrol,.settings,.wallpaper').removeClass("active"); + $(".image").removeClass("editText") + $("body").removeClass("deleteArmed") + } + + $("#shadow-control").on({ + mousedown: function(){ app.dragging = true }, + change: function(){ + var hex = (~~($(this).int() / 100 * 0xff)).toString(10) + if (hex.length == 1) hex = "0" + hex; + var color = "rgba(" + [hex, hex, hex, "1.0"] + ")" + $(".face").css("border-color", color) + } + }) + + $("#brightness-control").on({ + mousedown: function(){ app.dragging = true }, + change: function(){ + var hex = (~~($(this).int() / 100 * 0xff)).toString(10) + var color = "rgba(" + [hex, hex, hex, "0.9"] + ")" + $("body,.face").css("background-color", color) + } + }) + + + // + // EDIT IMAGE HOVER MENU + + var hideEditImageMenuTimeout + environment.image.el.addEventListener('mouseover', function(e){ + environment.image.el.classList.add('hover') + var offset = $(".image").offset() + offset.left = max(0, offset.left + 30) + offset.top = max(0, offset.top + 50) + $(".edit-image.menu").show().offset( offset ) + clearTimeout(hideEditImageMenuTimeout) + }) + environment.image.el.addEventListener('mouseout', function(e){ + environment.image.el.classList.remove('hover') + hideEditImageMenuTimeout = setTimeout(function(){ + $(".edit-image.menu").hide() + }, 50) + }) + $(".edit-image.menu").on({ + mouseover: function(){ + clearTimeout(hideEditImageMenuTimeout) + }, + mouseout: function(){ + hideEditImageMenuTimeout = setTimeout(function(){ + $(".edit-image.menu").hide() + }, 50) + }, + mousedown: function(e){ + e.stopPropagation() + }, + mouseup: function(e){ + e.stopPropagation() + } + }) + + + // + // EDIT VIDEO HOVER MENU + + var hideEditVideoMenuTimeout + environment.video.el.addEventListener('mouseover', function(e){ + environment.video.el.classList.add('hover') + var offset = $(".video").offset() + offset.left = max(0, offset.left + 30) + offset.top = max(0, offset.top + 50) + $(".edit-video.menu").show().offset( offset ) + clearTimeout(hideEditImageMenuTimeout) + }) + environment.video.el.addEventListener('mouseout', function(e){ + environment.video.el.classList.remove('hover') + hideEditVideoMenuTimeout = setTimeout(function(){ + $(".edit-video.menu").hide() + }, 50) + }) + $(".edit-video.menu").on({ + mouseover: function(){ + clearTimeout(hideEditVideoMenuTimeout) + }, + mouseout: function(){ + hideEditVideoMenuTimeout = setTimeout(function(){ + $(".edit-video.menu").hide() + }, 50) + }, + mousedown: function(e){ + e.stopPropagation() + }, + mouseup: function(e){ + e.stopPropagation() + } + }) + $(".icon-ios7-reload,.ios7-arrow-forward").click(function(){ + $(this).toggleClass('toggled') + }) + + // + // ALL DONE + + $('body').removeClass('loading'); +} + + +$(function(){ + + var classes = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen']; + + $(".bio").addClass(choice(classes)); + + function randomizeList(listObj) { + $(listObj).each(function() { + $(this).addClass(classes[Math.Random()*classes.size]); + }); + } +}) diff --git a/public/assets/javascripts/ui/z_share.js b/public/assets/javascripts/ui/z_share.js new file mode 100644 index 0000000..d31aa89 --- /dev/null +++ b/public/assets/javascripts/ui/z_share.js @@ -0,0 +1,25 @@ +var share = { + init: function(){ + share.bind() + }, + bind: function(){ + $("#facebook").click(share.facebook) + $("#twitter").click(share.twitter) + }, + url: "http://vvalls.com/", + facebook_msg: "", + twitter_msg: "", + openLink: function (url) { + window.open(url, "_blank"); + }, + facebook: function () { + var url = "https://www.facebook.com/share.php?u=" + encodeURIComponent(share.url) + "&t=" + encodeURIComponent(share.facebook_msg); + share.openLink(url); + return false; + }, + twitter: function () { + var url = "https://twitter.com/home?status=" + encodeURIComponent(share.url + " " + share.twitter_msg); + share.openLink(url); + return false; + } +} -- cgit v1.2.3-70-g09d2