diff --git a/www/settings/app-settings.less b/www/settings/app-settings.less index 091fd8263..f64455540 100644 --- a/www/settings/app-settings.less +++ b/www/settings/app-settings.less @@ -21,6 +21,11 @@ max-width: 650px; } + div.alert { + font-size: @colortheme_app-font-size; + padding: 10px; + } + #cp-export-container { font-size: 16px; display: flex; @@ -171,7 +176,7 @@ } } - .cp-settings-change-password, .cp-settings-migrate { + .cp-settings-change-password, .cp-settings-own-drive { [type="password"], [type="text"] { width: @sidebar_button-width; flex: unset; diff --git a/www/settings/inner.js b/www/settings/inner.js index b7ad7998a..e65d6376a 100644 --- a/www/settings/inner.js +++ b/www/settings/inner.js @@ -48,12 +48,12 @@ define([ var categories = { 'account': [ + 'cp-settings-own-drive', 'cp-settings-info-block', 'cp-settings-displayname', 'cp-settings-language-selector', 'cp-settings-resettips', 'cp-settings-change-password', - 'cp-settings-migrate', 'cp-settings-delete' ], 'security': [ @@ -147,6 +147,11 @@ define([ hintFunction(safeKey).appendTo($div); } getter(function (content) { + if (content === false) { + $div.remove(); + $div = undefined; + return; + } $div.append(content); }, $div); return $div; @@ -521,19 +526,12 @@ define([ return $div; }; - create['migrate'] = function () { - if (privateData.isDriveOwned) { return; } - if (!common.isLoggedIn()) { return; } - - var $div = $('
', { 'class': 'cp-settings-migrate cp-sidebarlayout-element'}); - - $('', {'class': 'label'}).text(Messages.settings_ownDriveTitle).appendTo($div); - - $('', {'class': 'cp-sidebarlayout-description'}) - .append(Messages.settings_ownDriveHint).appendTo($div); + makeBlock('own-drive', function (cb, $div) { + if (privateData.isDriveOwned || !common.isLoggedIn()) { + return void cb(false); + } - var $ok = $('', {'class': 'fa fa-check', title: Messages.saved}); - var $spinner = $('', {'class': 'fa fa-spinner fa-pulse'}); + $div.addClass('alert alert-warning'); var form = h('div', [ UI.passwordInput({ @@ -542,13 +540,12 @@ define([ }, true), h('button.btn.btn-primary', Messages.settings_ownDriveButton) ]); - - $(form).appendTo($div); + var $form = $(form); var todo = function () { - var password = $(form).find('#cp-settings-migrate-password').val(); + var password = $form.find('#cp-settings-migrate-password').val(); if (!password) { return; } - $spinner.show(); + spinner.spin(); UI.confirm(Messages.settings_ownDriveConfirm, function (yes) { if (!yes) { return; } var data = { @@ -562,16 +559,15 @@ define([ sframeChan.query('Q_CHANGE_USER_PASSWORD', data, function (err, obj) { UI.removeLoadingScreen(); if (err || obj.error) { return UI.alert(Messages.settings_changePasswordError); } - $ok.show(); - $spinner.hide(); + spinner.done(); }); }); }; - $(form).find('button').click(function () { + $form.find('button').click(function () { todo(); }); - $(form).find('input').keydown(function (e) { + $form.find('input').keydown(function (e) { // Save on Enter if (e.which === 13) { e.preventDefault(); @@ -580,11 +576,10 @@ define([ } }); - $spinner.hide().appendTo($div); - $ok.hide().appendTo($div); + var spinner = UI.makeSpinner($div); - return $div; - }; + cb(form); + }, true); // Security