diff --git a/public/js/controllers/settingsCtrl.js b/public/js/controllers/settingsCtrl.js index 88aff16f43..5eb2333a23 100644 --- a/public/js/controllers/settingsCtrl.js +++ b/public/js/controllers/settingsCtrl.js @@ -49,5 +49,21 @@ habitrpg.controller('SettingsCtrl', }); } + $scope.restore = function(){ + var stats = User.user.stats, + items = User.user.items; + User.setMultiple({ + "stats.hp": stats.hp, + "stats.exp": stats.exp, + "stats.gp": stats.gp, + "stats.lvl": stats.lvl, + "items.weapon": items.weapon, + "items.armor": items.armor, + "items.head": items.head, + "items.shield": items.shield + }); + $rootScope.modals.restore = false; + } + } ]); diff --git a/views/options/settings.jade b/views/options/settings.jade index f6d2c556d1..0b7450287f 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -24,11 +24,11 @@ input(type='password', placeholder='Confirm New Password', ng-model='changePass.confirmNewPassword', required) input.btn(type='submit', value='Submit') - hr + hr h4 Danger Zone - a.btn.btn-danger(ng-click='notPorted()', data-target='#reset-modal', data-toggle='modal', tooltip='Resets your entire account (dangerous).') Reset - a.btn.btn-danger(ng-click='notPorted()', data-target='#restore-modal', data-toggle='modal', tooltip='Restores attributes to your character.') Restore - a.btn.btn-danger(ng-click='notPorted()', data-target='#delete-modal', data-toggle='modal', tooltip='Delete your account.') Delete + a.btn.btn-danger(ng-click='modals.reset = true', tooltip='Resets your entire account (dangerous).') Reset + a.btn.btn-danger(ng-click='modals.restore = true', tooltip='Restores attributes to your character.') Restore + a.btn.btn-danger(ng-click='modals.delete = true', tooltip='Delete your account.') Delete .span6 h2 API small Copy these for use in third party applications. diff --git a/views/shared/modals/index.jade b/views/shared/modals/index.jade index 8f0bfda362..3ff38b60ec 100644 --- a/views/shared/modals/index.jade +++ b/views/shared/modals/index.jade @@ -5,4 +5,5 @@ include ./death include ./new-stuff include ./why-ads include ./more-gems -include ./members \ No newline at end of file +include ./members +include ./settings \ No newline at end of file diff --git a/views/shared/modals/settings.html b/views/shared/modals/settings.html deleted file mode 100644 index b8e7a4e0f2..0000000000 --- a/views/shared/modals/settings.html +++ /dev/null @@ -1,69 +0,0 @@ - - {{#if _loggedIn}} - -

This resets your entire account - your tasks will be deleted and your character will start over.

-

This is highly discouraged because you'll lose historical data, which is useful for graphing your progress over time. However, some people find it useful in the beginning after playing with the app for a while.

- <@footer> - - - -
- - -

HabitRPG is quite Beta-quality at present, and many find they need to restore character attributes as a result. Enter your numbers here and it will be applied automatically to your character. This will be removed once Habit is more stable.

- - {#with _user} -
-

Stats

-
- - HP -
-
- - Exp -
-
- - GP -
-
- - Level -
- -

Items

-
- - Weapon -
-
- - Armor -
-
- - Helm -
-
- - Shield -
- -
- {/} - - <@footer> - - -
- - -

Woa woa woa! Are you sure? This will seriously delete your account forever, and it can never be restored. If you're absolutely certain, type DELETE into the text-box below.

-

- <@footer> - - - -
- {{/}} diff --git a/views/shared/modals/settings.jade b/views/shared/modals/settings.jade new file mode 100644 index 0000000000..485f7cef16 --- /dev/null +++ b/views/shared/modals/settings.jade @@ -0,0 +1,58 @@ +div(ng-controller='SettingsCtrl') + div(modal='modals.reset') + .modal-header + h3 Reset + .modal-body + p This resets your entire account - your tasks will be deleted and your character will start over. + p This is highly discouraged because you'll lose historical data, which is useful for graphing your progress over time. However, some people find it useful in the beginning after playing with the app for a while. + .modal-footer + button.btn.btn-default.cancel(ng-click='modals.reset = false') Close + button.btn.btn-danger(data-dismiss='modal', ng-click='notPorted()') Reset + + div(modal='modals.restore') + .modal-header + h3 Restore + .modal-body + p HabitRPG is quite Beta-quality at present, and many find they need to restore character attributes as a result. Enter your numbers here and it will be applied automatically to your character. This will be removed once Habit is more stable. + div.restore-options + form#restore-form.form-horizontal + h3 Stats + .option-group.option-medium + input.option-content(type='number', data-for='stats.hp', ng-model='user.stats.hp') + span.input-suffix HP + .option-group.option-medium + input.option-content(type='number', data-for='stats.exp', ng-model='user.stats.exp') + span.input-suffix Exp + .option-group.option-medium + input.option-content(type='number', data-for='stats.gp', ng-model='user.stats.gp') + span.input-suffix GP + .option-group.option-medium + input.option-content(type='number', data-for='stats.lvl', ng-model='user.stats.lvl') + span.input-suffix Level + h3 Items + .option-group.option-medium + input.option-content(type='number', data-for='items.weapon', ng-model='user.items.weapon') + span.input-suffix Weapon + .option-group.option-medium + input.option-content(type='number', data-for='items.armor', ng-model='user.items.armor') + span.input-suffix Armor + .option-group.option-medium + input.option-content(type='number', data-for='items.head', ng-model='user.items.head') + span.input-suffix Helm + .option-group.option-medium + input.option-content(type='number', data-for='items.shield', ng-model='user.items.shield') + span.input-suffix Shield + .modal-footer + button.btn.btn-primary(ng-click='restore()') Save & Close + + div(modal='modals.delete') + .modal-header + h3 Delete Account + .modal-body + p. + Woa woa woa! Are you sure? This will seriously delete your account forever, and it can never be restored. If you're absolutely certain, type DELETE into the text-box below. + p + input(type='text', ng-model='_deleteAccount') + footer + button.btn.btn-default(ng-click='modals.delete = false') Cancel + button.btn.btn-danger.btn-small(ng-disabled='_deleteAccount != "DELETE"', data-dismiss='modal', ng-click='notPorted()') Delete Account