add a self-serve restore modal for users who want to restore their stats
This commit is contained in:
@@ -72,6 +72,14 @@ module.exports.app = (appExports, model) ->
|
||||
appExports.customizeArmorSet = (e, el) ->
|
||||
user.set 'preferences.armorSet', $(el).attr('data-value')
|
||||
|
||||
appExports.restoreSave = (e, el) ->
|
||||
batch = new BatchUpdate(model)
|
||||
batch.startTransaction()
|
||||
obj = batch.obj()
|
||||
_.each obj.stats, (stat, key) -> batch.set("stats.#{key}", parseInt(stat))
|
||||
_.each obj.items, (item, key) -> batch.set("items.#{key}", parseInt(item))
|
||||
batch.commit()
|
||||
|
||||
user.on 'set', 'flags.customizationsNotification', (captures, args) ->
|
||||
return unless captures == true
|
||||
$('.main-avatar').popover('destroy') #remove previous popovers
|
||||
|
||||
+52
-1
@@ -10,7 +10,8 @@
|
||||
<pre class=prettyprint>{_user.apiToken}</pre>
|
||||
|
||||
<hr/>
|
||||
<a class='btn btn-danger' data-target="#reset-modal" data-toggle="modal">Reset</a>
|
||||
<a class='btn btn-danger' data-target="#reset-modal" data-toggle="modal" rel=tooltip title="Resets your entire account (dangerous).">Reset</a>
|
||||
<a class='btn btn-danger' data-target="#restore-modal" data-toggle="modal" rel=tooltip title="Restores attributes to your character.">Restore</a>
|
||||
|
||||
<@footer>
|
||||
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
|
||||
@@ -25,6 +26,56 @@
|
||||
<button data-dismiss="modal" x-bind=click:reset class="btn btn-danger btn-large">Reset</button>
|
||||
</@footer>
|
||||
</app:modals:modal>
|
||||
|
||||
<app:modals:modal modalId="restore-modal" header="Restore">
|
||||
<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.</p>
|
||||
|
||||
{#with _user}
|
||||
<form class="form-horizontal">
|
||||
<h3>Stats</h3>
|
||||
<div class="input-prepend">
|
||||
<span class="add-on">HP</span>
|
||||
<input class="span2" type="number" value="{.stats.hp}">
|
||||
</div>
|
||||
<div class="input-prepend">
|
||||
<span class="add-on">Exp</span>
|
||||
<input class="span2" type="number" value="{.stats.exp}">
|
||||
</div>
|
||||
<div class="input-prepend">
|
||||
<span class="add-on">GP</span>
|
||||
<input class="span2" type="number" value="{.stats.gp}">
|
||||
</div>
|
||||
<div class="input-prepend">
|
||||
<span class="add-on">Level</span>
|
||||
<input class="span2" type="number" value="{.stats.lvl}">
|
||||
</div>
|
||||
|
||||
<h3>Items</h3>
|
||||
<div class="input-prepend">
|
||||
<span class="add-on">Weapon</span>
|
||||
<input class="span2" type="number" value="{.items.weapon}">
|
||||
</div>
|
||||
<div class="input-prepend">
|
||||
<span class="add-on">Armor</span>
|
||||
<input class="span2" type="number" value="{.items.armor}">
|
||||
</div>
|
||||
<div class="input-prepend">
|
||||
<span class="add-on">Helm</span>
|
||||
<input class="span2" type="number" value="{.items.head}">
|
||||
</div>
|
||||
<div class="input-prepend">
|
||||
<span class="add-on">Shield</span>
|
||||
<input class="span2" type="number" value="{.items.shield}">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
{/}
|
||||
|
||||
<@footer>
|
||||
<button class="btn" x-bind="click:restoreSave" data-dismiss="modal" aria-hidden="true">Save & Close</button>
|
||||
</@footer>
|
||||
</app:modals:modal>
|
||||
|
||||
{{else}}
|
||||
<app:modals:modal modalId="login-modal" header="Login / Register">
|
||||
<a href="/auth/facebook"><img src='/img/facebook-login-register.jpeg' alt="Login / Register With Facebook"/></a>
|
||||
|
||||
Reference in New Issue
Block a user