diff --git a/js/app.js b/js/app.js index 4a5c4ecf..3ec1af77 100644 --- a/js/app.js +++ b/js/app.js @@ -27,8 +27,8 @@ return s.html=t.trustAs("html",p),a.full=s,a}var u={},m={};return a.$on("apiUpda return e})}function o(e,n){var r,s,o={new_settings:{_:"account.passwordInputSettings",flags:0,hint:n.hint||""}};if(r="string"==typeof n.cur_password&&n.cur_password.length>0?p(e.current_salt,n.cur_password):t.when([]),"string"==typeof n.new_password&&n.new_password.length>0){var l=new Array(8),c=bufferConcat(e.new_salt,l);i.nextBytes(l),s=p(c,n.new_password),o.new_settings.new_salt=c,o.new_settings.flags|=1}else"string"==typeof n.new_password&&(o.new_settings.flags|=1,o.new_settings.new_salt=[]),s=t.when([]);return"string"==typeof n.email&&(o.new_settings.flags|=2,o.new_settings.email=n.email||""),t.all([r,s]).then(function(e){return o.current_password_hash=e[0],o.new_settings.new_password_hash=e[1],a.invokeApi("account.updatePasswordSettings",o)})}function l(e,t,n){return p(e.current_salt,t).then(function(e){return a.invokeApi("auth.checkPassword",{password_hash:e},n)})}function c(e,t){return a.invokeApi("auth.requestPasswordRecovery",{},t)}function d(e,t){return a.invokeApi("auth.recoverPassword",{code:e},t)}function p(e,t){for(var n=unescape(encodeURIComponent(t)),a=new ArrayBuffer(n.length),i=new Uint8Array(a),s=0,o=n.length;s=1)return console.log("Skip error box, too many open",s,n,a),!1;a=a||{};var r=e.$new();angular.extend(r,n),s++;var i=t.open({templateUrl:templateUrl("error_modal"),scope:r,windowClass:a.windowClass||"error_modal_window"});return i.result["finally"](function(){s--}),i}function r(e,t){return a({title:e,description:t})}function i(n,a,r){a=a||{},r=r||{};var i=e.$new();angular.extend(i,n),angular.extend(i,{data:r});var s=t.open({templateUrl:templateUrl("confirm_modal"),scope:i,windowClass:a.windowClass||"confirm_modal_window"});return s.result}var s=0;return n.safeConfirm=function(e,t){"string"==typeof e&&(e={message:e}),i(e).then(function(e){t(e||!0)},function(){t(!1)})},{show:a,alert:r,confirm:i}}]).service("PeersSelectService",["$rootScope","$modal",function(e,t){function n(n){var a=e.$new();return a.multiSelect=!1,a.noMessages=!0,n&&angular.extend(a,n),t.open({templateUrl:templateUrl("peer_select"),controller:"PeerSelectController",scope:a,windowClass:"peer_select_window mobile_modal",backdrop:"single"}).result}function a(a){if(Config.Mobile)return n(a).then(function(e){return[e]});var r=e.$new();return r.multiSelect=!0,r.noMessages=!0,a&&angular.extend(r,a),t.open({templateUrl:templateUrl("peer_select"),controller:"PeerSelectController",scope:r,windowClass:"peer_select_window mobile_modal",backdrop:"single"}).result}return{selectPeer:n,selectPeers:a}}]).service("ContactsSelectService",["$rootScope","$modal",function(e,t){function n(n,a){a=a||{};var r=e.$new();return r.multiSelect=n,angular.extend(r,a),!r.action&&n&&(r.action="select"),t.open({templateUrl:templateUrl("contacts_modal"),controller:"ContactsModalController",scope:r,windowClass:"contacts_modal_window mobile_modal",backdrop:"single"}).result}return{selectContacts:function(e){return n(!0,e)},selectContact:function(e){return n(!1,e)}}}]).service("ChangelogNotifyService",["Storage","$rootScope","$modal","$timeout","MtpApiManager","ApiUpdatesManager",function(e,t,n,a,r,i){function s(){r.getUserID().then(function(t){t&&a(function(){e.get("last_version").then(function(t){t!=Config.App.version&&(t?r.invokeApi("help.getAppChangelog",{prev_app_version:t},{noErrorBox:!0}).then(function(t){return!("updates"==t._&&!t.updates.length)&&(i.processUpdateMessage(t),void e.set({last_version:Config.App.version}))}):e.set({last_version:Config.App.version}))})},5e3)})}function o(e){var a=t.$new();a.lastVersion=e,n.open({controller:"ChangelogModalController",templateUrl:templateUrl("changelog_modal"),scope:a,windowClass:"changelog_modal_window mobile_modal"})}return{checkUpdate:s,showChangelog:o}}]).service("HttpsMigrateService",["ErrorService","Storage",function(e,t){function n(){t.get("https_dismiss").then(function(n){(!n||tsNow()>n+432e5)&&e.confirm({type:"MIGRATE_TO_HTTPS"}).then(function(){var e;try{e=window.open("https://web.telegram.org","_blank")}catch(t){}e||(location.href="https://web.telegram.org")},function(){t.set({https_dismiss:tsNow()})})})}function a(){r||"http:"!=location.protocol||Config.Modes.http||Config.App.domains.indexOf(location.hostname)==-1||(r=!0,setTimeout(n,12e4))}var r=!1;return{start:a,check:n}}]).service("LayoutSwitchService",["ErrorService","Storage","AppRuntimeManager","$window",function(e,t,n,a){function r(e){ConfigStorage.noPrefix(),t.set({layout_selected:e?"mobile":"desktop",layout_width:$(window).width()}).then(function(){n.reload()})}function i(n){if(!l){var a=$(window).width(),i=a<600;!a||!n&&(Config.Navigator.mobile?a<=800:i)||i!=Config.Mobile&&(ConfigStorage.noPrefix(),t.get("layout_width").then(function(n){return a!=n&&(l=!0,void e.confirm({type:i?"SWITCH_MOBILE_VERSION":"SWITCH_DESKTOP_VERSION"}).then(function(){r(i)},function(){ConfigStorage.noPrefix(),t.set({layout_width:a}),l=!1}))}))}}function s(){o||Config.Navigator.mobile||(o=!0,i(),$(a).on("resize",i))}var o=!1,l=!1;return{start:s,switchLayout:r}}]).service("TelegramMeWebService",["Storage",function(e){function t(t){return!n&&void e.get("tgme_sync").then(function(n){var a=tsNow(!0);if(t&&n&&n.canRedirect==t&&n.ts+86400>a)return!1;e.set({tgme_sync:{canRedirect:t,ts:a}});var r=$("