diff --git a/js/interface_profile-edit.js b/js/interface_profile-edit.js index 4ae2919..ee28e1a 100644 --- a/js/interface_profile-edit.js +++ b/js/interface_profile-edit.js @@ -8,117 +8,112 @@ var newUserWarnDisplayed = false; function initProfileEdit() { // Check for the various File API support. if (window.File && window.FileReader && window.FileList && window.Blob) { - // Great success! All the File APIs are supported. + // Great success! All the File APIs are supported. } else { - alert('The File APIs are not fully supported in this browser.'); + alert('The File APIs are not fully supported in this browser.'); } - + initInterfaceCommon(); - $(".profile-card-photo.forEdition").click( function() { $('#avatar-file').click(); } ); - $("#avatar-file").bind( "change", handleAvatarFileSelect); - $(".submit-changes").click( saveProfile ); - $(".cancel-changes").click( $.MAL.goHome ); + $('.profile-card-photo.forEdition').on('click', function() { $('#avatar-file').click(); }); + $('#avatar-file').on('change', handleAvatarFileSelect); + $('.submit-changes').on('click', saveProfile); + $('.cancel-changes').on('click', $.MAL.goHome); - initUser( function() { - if( !defaultScreenName ) { - alert(polyglot.t("username_undefined")); + initUser(function() { + if (!defaultScreenName) { + alert(polyglot.t('username_undefined')); $.MAL.goLogin(); return; } - checkNetworkStatusAndAskRedirect(verifyUserAlreadyInBlockchain); + checkNetworkStatusAndAskRedirect(); - if( defaultScreenName ) { - loadFollowing( function() { - initMentionsCount(); - initDMsCount(); - }); - } + loadFollowing(function() { + twisterFollowingO = TwisterFollowing(defaultScreenName); + verifyUserAlreadyInBlockchain(); + initMentionsCount(); + initDMsCount(); + }); - $(".profile-card-main h2").text("@" + defaultScreenName); + $('.profile-card-main h2').text('@' + defaultScreenName); loadAvatarForEdit(); loadProfileForEdit(); - - $(".secret-key-container").hide(); - - $(".toggle-priv-key").click(function () { - if ($(".secret-key-container").is(":visible")) { - $(".secret-key-container").fadeOut(function () { - $(".secret-key").text(''); - }); - } else { - dumpPrivkey(defaultScreenName, function(args, key) { - $(".secret-key").text(key); - $(".secret-key-container").fadeIn(); - }, {}); - } + + $('.secret-key-container').hide(); + + $('.toggle-priv-key').on('click', function () { + if ($('.secret-key-container').is(':visible')) { + $('.secret-key-container').fadeOut(function () { + $('.secret-key').text(''); + }); + } else { + dumpPrivkey(defaultScreenName, function(args, key) { + $('.secret-key').text(key); + $('.secret-key-container').fadeIn(); + }, {}); + } }); - }); } -function handleAvatarFileSelect(evt) { - var files = evt.target.files; // FileList object - var f = files[0]; +function handleAvatarFileSelect(event) { + var files = event.target.files; // FileList object + var file = files[0]; // Only process image files. - if (f.type.match('image.*')) { + if (file.type.match('image.*')) { var reader = new FileReader(); - reader.onload=function(e){ - var img=new Image(); - img.onload=function(){ - var MAXWidthHeight=64; - var r=MAXWidthHeight/Math.max(this.width,this.height), - w=Math.round(this.width*r), - h=Math.round(this.height*r), - c=document.createElement("canvas"); - c.width=w;c.height=h; - c.getContext("2d").drawImage(this,0,0,w,h); - - var imgURL = undefined; - for(var q = 0.9; (!imgURL || imgURL.length > 4096) && q > 0.1; q -= 0.01) { - imgURL = c.toDataURL("image/jpeg", q); - } - $(".profile-card-photo.forEdition").attr("src", imgURL ); - } - img.src=e.target.result; + reader.onload = function(event) { + var img = new Image(); + img.onload = function() { + var MAXWidthHeight = 64; + var ratio = MAXWidthHeight / Math.max(this.width, this.height); + var canvas = document.createElement('canvas'); + canvas.width = Math.round(this.width * ratio); + canvas.height = Math.round(this.height * ratio); + canvas.getContext('2d').drawImage(this, 0, 0, canvas.width, canvas.height); + + var imgURL = undefined; + for (var quality = 1.0; (!imgURL || imgURL.length > 4096) && quality > 0.1; quality -= 0.01) { + imgURL = canvas.toDataURL('image/jpeg', quality); + } + $('.profile-card-photo.forEdition').attr('src', imgURL); + } + img.src = event.target.result; } // Read in the image file as a data URL. - reader.readAsDataURL(f); + reader.readAsDataURL(file); } } -function verifyUserAlreadyInBlockchain() -{ - $.MAL.disableButton($(".submit-changes")); - +function verifyUserAlreadyInBlockchain() { + $.MAL.disableButton($('.submit-changes')); + dumpPubkey(defaultScreenName, function(args, pubkey) { - //pubkey = ""; - if( pubkey.length > 0 ) { - follow('twister', true, function() { - $.MAL.enableButton($(".submit-changes")); - }); - } else { - if( !newUserWarnDisplayed ) { - alert(polyglot.t("user_not_yet_accepted")); - newUserWarnDisplayed = true; - } - setTimeout("verifyUserAlreadyInBlockchain()", 5000); - } - }, {} ); + if (pubkey.length > 0) { + follow('twister', true, function() { + $.MAL.enableButton($('.submit-changes')); + }); + } else { + if (!newUserWarnDisplayed) { + alert(polyglot.t('user_not_yet_accepted')); + newUserWarnDisplayed = true; + } + setTimeout(verifyUserAlreadyInBlockchain, 5000); + } + }, {}); } -function localizePlaceholders() -{ - $(".input-name").attr("placeholder",polyglot.t("Full name here")); - $(".input-description").attr("placeholder",polyglot.t("Describe yourself")); - $(".input-city").attr("placeholder",polyglot.t("Location")); - $(".input-website").attr("placeholder",polyglot.t("website")); - $(".input-tox").attr("placeholder",polyglot.t("Tox address")); - $(".input-bitmessage").attr("placeholder",polyglot.t("Bitmessage address")); +function localizePlaceholders() { + $('.input-name').attr('placeholder', polyglot.t('Full name here')); + $('.input-description').attr('placeholder', polyglot.t('Describe yourself')); + $('.input-city').attr('placeholder', polyglot.t('Location')); + $('.input-website').attr('placeholder', polyglot.t('website')); + $('.input-tox').attr('placeholder', polyglot.t('Tox address')); + $('.input-bitmessage').attr('placeholder', polyglot.t('Bitmessage address')); } $(document).ready(localizePlaceholders);