mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-05 03:52:14 +00:00
Merge branch 'master' into preen-users
This commit is contained in:
commit
77ac68ecc0
10 changed files with 246 additions and 147 deletions
|
|
@ -17,6 +17,12 @@ html,body,p,h1,ul,li,table,tr,th,td
|
|||
box-shadow: inset 0 1px #f7f7f7, 0 1px #888, 0 2px #e7e7e7
|
||||
padding: 12px 16px
|
||||
white-space: nowrap
|
||||
position:fixed
|
||||
width: 100%;
|
||||
|
||||
#head .pull-right
|
||||
margin-right: 2%
|
||||
margin-left: 1%
|
||||
|
||||
.color-worst pre
|
||||
background-color: rgb(230, 184, 175)
|
||||
|
|
@ -176,7 +182,6 @@ li:hover .task-meta-controls .hover-show
|
|||
/* Bootstrap website boilerplate */
|
||||
.footer {
|
||||
padding: 70px 0;
|
||||
margin-top: 70px;
|
||||
border-top: 1px solid #e5e5e5;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
|
@ -194,7 +199,7 @@ li:hover .task-meta-controls .hover-show
|
|||
|
||||
/* Customizations to make footer sticky */
|
||||
/*html, body {height: 100%;}*/
|
||||
#wrap {min-height: 100%;}
|
||||
#wrap {min-height: 100%; margin-top:130px; z-index:-1}
|
||||
#main
|
||||
/*overflow:auto;*/
|
||||
padding-bottom: 250px; /* don't know why this works, sticky footers are weird */
|
||||
|
|
|
|||
1
styles/bootstrap-responsive.styl
vendored
1
styles/bootstrap-responsive.styl
vendored
|
|
@ -89,6 +89,7 @@
|
|||
.hidden-phone {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
.connection {
|
||||
position: absolute;
|
||||
position: fixed;
|
||||
text-align: center;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
|
|
|||
|
|
@ -1,65 +1,45 @@
|
|||
helpers = require('./helpers')
|
||||
casper = helpers.casper
|
||||
utils = helpers.utils
|
||||
url = helpers.url
|
||||
helper = new require('./test/casper/helpers')()
|
||||
casper = helper.casper
|
||||
utils = helper.utils
|
||||
url = helper.url
|
||||
|
||||
casper.start url + '/?play=1'
|
||||
|
||||
# ---------- Daily ------------
|
||||
casper.then ->
|
||||
reset()
|
||||
addTasks()
|
||||
helper.reset()
|
||||
helper.addTasks()
|
||||
|
||||
# Gained exp on +daily
|
||||
casper.then ->
|
||||
user = userBeforeAfter (-> casper.click '.dailys input[type="checkbox"]')
|
||||
user = helper.userBeforeAfter (-> casper.click '.dailys input[type="checkbox"]')
|
||||
@test.assertEquals user.before.stats.hp, user.after.stats.hp, '+daily =hp'
|
||||
@test.assert user.before.stats.exp < user.after.stats.exp, '+daily +exp'
|
||||
@test.assert user.before.stats.money < user.after.stats.money, '+daily +money'
|
||||
|
||||
# -daily acts as undo
|
||||
casper.then ->
|
||||
user = userBeforeAfter (-> casper.click '.dailys input[type="checkbox"]')
|
||||
user = helper.userBeforeAfter (-> casper.click '.dailys input[type="checkbox"]')
|
||||
@test.assertEquals user.before.stats.hp, user.after.stats.hp, '-daily =hp'
|
||||
@test.assert user.before.stats.exp > user.after.stats.exp, '-daily -exp'
|
||||
@test.assert user.before.stats.money > user.after.stats.money, '-daily -money'
|
||||
|
||||
|
||||
# ---------- Cron ------------
|
||||
|
||||
casper.then ->
|
||||
reset()
|
||||
addTasks()
|
||||
helper.reset()
|
||||
helper.addTasks()
|
||||
|
||||
casper.then ->
|
||||
user = {before:getUser()}
|
||||
tasks =
|
||||
before:
|
||||
daily: @evaluate -> window.DERBY.app.model.get('_dailyList')
|
||||
todo: @evaluate -> window.DERBY.app.model.get('_todoList')
|
||||
runCron()
|
||||
|
||||
@then ->
|
||||
@wait 1050, -> # user's hp is updated after 1s for animation
|
||||
user.after = getUser()
|
||||
@test.assertEqual user.before.id, user.after.id, 'user id equal after cron'
|
||||
tasks.after =
|
||||
daily: @evaluate -> window.DERBY.app.model.get('_dailyList')
|
||||
todo: @evaluate -> window.DERBY.app.model.get('_todoList')
|
||||
|
||||
@test.assertEqual user.before.tasks.length, user.after.tasks.length, "Didn't lose anything on cron"
|
||||
|
||||
#TODO make sure true for all dailies
|
||||
dailyId = tasks.before.daily[0].id
|
||||
utils.dump tasks.before.daily
|
||||
utils.dump
|
||||
dailyBefore:user.before.tasks[dailyId].value
|
||||
dailyAfter:user.before.tasks[dailyId].value
|
||||
@test.assert user.before.tasks[dailyId].value < user.before.tasks[dailyId].value, "todo gained value on cron"
|
||||
@test.assert user.before.stats.hp < user.after.stats.hp, 'user lost HP on cron'
|
||||
|
||||
#TODO make sure true for all todos
|
||||
todoId = tasks.before.todo[0].id
|
||||
@test.assert user.before.tasks[todoId].value < user.before.tasks[todoId].value, "todo gained value on cron"
|
||||
helper.cronBeforeAfter (beforeAfter) ->
|
||||
casper.then ->
|
||||
#TODO make sure true for all dailies
|
||||
dailyId = beforeAfter.before.tasks.daily[0].id
|
||||
# utils.dump
|
||||
# dailyBefore:user.before.tasks[dailyId].value
|
||||
# dailyAfter:user.before.tasks[dailyId].value
|
||||
casper.test.assert beforeAfter.before.user.tasks[dailyId].value < beforeAfter.after.user.tasks[dailyId].value, "daily:cron:daily gained value"
|
||||
casper.test.assert beforeAfter.before.user.stats.hp < beforeAfter.after.user.stats.hp, 'daily:cron:hp lost value'
|
||||
|
||||
# ---------- Run ------------
|
||||
|
||||
|
|
|
|||
|
|
@ -1,30 +1,37 @@
|
|||
helpers = require('./helpers')
|
||||
casper = helpers.casper
|
||||
utils = helpers.utils
|
||||
url = helpers.url
|
||||
helper = new require('./test/casper/helpers')()
|
||||
casper = helper.casper
|
||||
utils = helper.utils
|
||||
url = helper.url
|
||||
|
||||
casper.start url + '/?play=1'
|
||||
|
||||
# ---------- Register ------------
|
||||
user = undefined
|
||||
casper.then -> helper.register()
|
||||
casper.then -> user = helper.getUser()
|
||||
|
||||
# ---------- Habits ------------
|
||||
casper.then ->
|
||||
reset()
|
||||
addTasks()
|
||||
helper.reset()
|
||||
helper.addTasks()
|
||||
|
||||
casper.then ->
|
||||
user = userBeforeAfter (-> casper.click '.habits a[data-direction="down"]')
|
||||
@test.assert user.before.stats.hp > user.after.stats.hp, '-habit -hp'
|
||||
@test.assert user.before.stats.exp == user.after.stats.exp, '-habit =exp'
|
||||
u = helper.userBeforeAfter (-> casper.click '.habits a[data-direction="down"]')
|
||||
casper.test.assert u.before.stats.hp > u.after.stats.hp, '-habit -hp'
|
||||
casper.test.assert u.before.stats.exp == u.after.stats.exp, '-habit =exp'
|
||||
|
||||
@then ->
|
||||
user = userBeforeAfter (-> casper.click '.habits a[data-direction="up"]')
|
||||
@test.assert user.before.stats.exp < user.after.stats.exp, '+habit +exp'
|
||||
@test.assertEquals user.before.stats.hp, user.after.stats.hp, '+habit =hp'
|
||||
casper.then ->
|
||||
u = helper.userBeforeAfter (-> casper.click '.habits a[data-direction="up"]')
|
||||
casper.test.assert u.before.stats.exp < u.after.stats.exp, '+habit +exp'
|
||||
casper.test.assertEquals u.before.stats.hp, u.after.stats.hp, '+habit =hp'
|
||||
|
||||
# Test Death
|
||||
casper.then ->
|
||||
@repeat 50, (-> casper.click '.habits a[data-direction="down"]')
|
||||
@then ->
|
||||
user = getUser()
|
||||
@test.assertEquals user.stats.hp, 0, 'hp==0 (death by habits)'
|
||||
@test.assertEquals user.stats.lvl, 0, 'lvl==0 (death by habits)'
|
||||
casper.then ->
|
||||
u = helper.getUser()
|
||||
@test.assertEquals u.stats.hp, 0, 'hp==0 (death by habits)'
|
||||
@test.assertEquals u.stats.lvl, 0, 'lvl==0 (death by habits)'
|
||||
@test.assert(@visible('#dead-modal'), 'Revive Modal Visible')
|
||||
|
||||
# ---------- Run ------------
|
||||
|
|
|
|||
|
|
@ -1,39 +1,86 @@
|
|||
utils = require('utils')
|
||||
|
||||
module.exports = ->
|
||||
|
||||
url: 'http://localhost:3000/?play=1'
|
||||
random = Math.random().toString(36).substring(7)
|
||||
|
||||
casper: require("casper").create
|
||||
casper = require("casper").create
|
||||
clientScripts: 'test/includes/lodash.min.js'
|
||||
|
||||
utils: require('utils')
|
||||
{
|
||||
casper: casper
|
||||
|
||||
getUser: -> casper.evaluate -> window.DERBY.app.model.get('_user')
|
||||
url: 'http://localhost:3000'
|
||||
|
||||
addTasks: ->
|
||||
['habit', 'daily', 'todo', 'reward'].forEach (type) ->
|
||||
# Add 15 of each task type
|
||||
num = 0
|
||||
casper.repeat 15, ->
|
||||
casper.fill "form#new-#{type}", {'new-task': "#{type}-#{num}"} # why can't I use true here?
|
||||
casper.click "form#new-#{type} input[type=submit]"
|
||||
utils: utils
|
||||
|
||||
reset: -> casper.evaluate -> window.DERBY.app.reset()
|
||||
getUser: ->
|
||||
casper.evaluate -> window.DERBY.app.model.get('_user')
|
||||
|
||||
userBeforeAfter: (callback) ->
|
||||
user = {}
|
||||
user.before = getUser()
|
||||
callback()
|
||||
user.after = getUser()
|
||||
user
|
||||
addTasks: ->
|
||||
['habit', 'daily', 'todo', 'reward'].forEach (type) ->
|
||||
# Add 15 of each task type
|
||||
num = 0
|
||||
casper.repeat 15, ->
|
||||
casper.fill "form#new-#{type}", {'new-task': "#{type}-#{num}"} # why can't I use true here?
|
||||
casper.click "form#new-#{type} input[type=submit]"
|
||||
|
||||
runCron: ->
|
||||
casper.evaluate -> window.DERBY.model.set('_user.lastCron', new Date('01/10/2013'))
|
||||
casper.reload()
|
||||
reset: ->
|
||||
casper.evaluate -> window.DERBY.app.reset()
|
||||
|
||||
register: ->
|
||||
casper.fill 'form#derby-auth-register',
|
||||
username: 'lefnire'
|
||||
email: 'x@x.com'
|
||||
'email-confirmation': 'x@x.com'
|
||||
password: 'habitrpg123'
|
||||
, true
|
||||
userBeforeAfter: (callback) ->
|
||||
user = {}
|
||||
user.before = @getUser()
|
||||
callback()
|
||||
user.after = @getUser()
|
||||
user
|
||||
|
||||
runCron: ->
|
||||
casper.evaluate -> window.DERBY.model.set('_user.lastCron', new Date('01/25/2013'))
|
||||
casper.reload()
|
||||
|
||||
cronBeforeAfter: (cb) ->
|
||||
that = @
|
||||
|
||||
getLists = ->
|
||||
{
|
||||
habit: casper.evaluate -> window.DERBY.app.model.get('_habitList')
|
||||
daily: casper.evaluate -> window.DERBY.app.model.get('_dailyList')
|
||||
todo: casper.evaluate -> window.DERBY.app.model.get('_todoList')
|
||||
reward: casper.evaluate -> window.DERBY.app.model.get('_rewardList')
|
||||
}
|
||||
|
||||
beforeAfter =
|
||||
before:
|
||||
user: that.getUser()
|
||||
tasks: getLists()
|
||||
|
||||
casper.then -> that.runCron()
|
||||
|
||||
casper.then ->
|
||||
casper.wait 1050, -> # user's hp is updated after 1s for animation
|
||||
beforeAfter.after =
|
||||
user: that.getUser()
|
||||
tasks: getLists()
|
||||
|
||||
casper.then ->
|
||||
casper.test.assertEqual beforeAfter.before.user.id, beforeAfter.after.user.id, 'user id equal after cron'
|
||||
casper.test.assertEqual beforeAfter.before.user.tasks.length, beforeAfter.after.user.tasks.length, "Didn't lose anything on cron"
|
||||
cb(beforeAfter)
|
||||
|
||||
|
||||
register: ->
|
||||
casper.fill 'form#derby-auth-register',
|
||||
username: random
|
||||
email: random + '@gmail.com'
|
||||
'email-confirmation': random + '@gmail.com'
|
||||
password: random
|
||||
, true
|
||||
|
||||
login: ->
|
||||
casper.fill 'form#derby-auth-login',
|
||||
username: random
|
||||
password: random
|
||||
, true
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,23 +1,35 @@
|
|||
helpers = require('./helpers')
|
||||
casper = helpers.casper
|
||||
utils = helpers.utils
|
||||
url = helpers.url
|
||||
helper = new require('./test/casper/helpers')()
|
||||
casper = helper.casper
|
||||
utils = helper.utils
|
||||
url = helper.url
|
||||
|
||||
casper.start url + '/?play=1'
|
||||
|
||||
# ---------- Register ------------
|
||||
user = undefined
|
||||
casper.then -> helper.register()
|
||||
casper.then -> user = helper.getUser()
|
||||
casper.then -> casper.reload()
|
||||
casper.then ->
|
||||
helpers.register()
|
||||
casper.then -> user = helpers.getUser()
|
||||
casper.then -> reload()
|
||||
casper.then ->
|
||||
nowUser = getUser()
|
||||
nowUser = helper.getUser()
|
||||
casper.then ->
|
||||
casper.test.assertEqual user.id, nowUser.id, 'user registered and maintained session'
|
||||
|
||||
# ---------- Log Out ------------
|
||||
casper.thenOpen helper.url + '/logout'
|
||||
casper.thenOpen helper.url + '/?play=1'
|
||||
casper.then ->
|
||||
nowUser = helper.getUser()
|
||||
casper.then ->
|
||||
casper.test.assertNotEquals user.id, nowUser.id, 'user logged out'
|
||||
|
||||
# ---------- Login ------------
|
||||
#TODO logout
|
||||
#TODO login
|
||||
#TODO make sure same id
|
||||
casper.then -> helper.login()
|
||||
casper.then -> utils.dump casper.debugHTML '#derby-auth-login'
|
||||
casper.then ->
|
||||
nowUser = helper.getUser()
|
||||
casper.then ->
|
||||
casper.test.assertEqual user.id, nowUser.id, 'user logged in'
|
||||
|
||||
# ---------- Run ------------
|
||||
casper.run ->
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
helper = new require('./test/casper/helpers')()
|
||||
casper = helper.casper
|
||||
utils = helper.utils
|
||||
url = helper.url
|
||||
|
||||
casper.start url + '/?play=1'
|
||||
|
||||
# ---------- Rewardsj1 ------------
|
||||
casper.then ->
|
||||
helper.reset()
|
||||
helper.addTasks()
|
||||
|
||||
casper.then -> @test.assertDoesntExist('ul.items')
|
||||
casper.then -> @repeat 50, -> casper.click('.habits a[data-direction="up"]')
|
||||
casper.then -> @test.assertExists('ul.items')
|
||||
|
||||
# ---------- Run ------------
|
||||
casper.run ->
|
||||
casper.test.renderResults true
|
||||
|
|
@ -1,18 +1,46 @@
|
|||
helper = new require('./test/casper/helpers')()
|
||||
casper = helper.casper
|
||||
utils = helper.utils
|
||||
url = helper.url
|
||||
|
||||
casper.start url + '/?play=1'
|
||||
|
||||
# ---------- Todos ------------
|
||||
casper.then ->
|
||||
reset()
|
||||
addTasks()
|
||||
helper.reset()
|
||||
helper.addTasks()
|
||||
|
||||
# Gained exp on +daily
|
||||
casper.then ->
|
||||
user = userBeforeAfter (-> casper.click '.todos input[type="checkbox"]')
|
||||
@test.assertEquals user.before.stats.hp, user.after.stats.hp, '+daily =hp'
|
||||
@test.assert user.before.stats.exp < user.after.stats.exp, '+daily +exp'
|
||||
@test.assert user.before.stats.money < user.after.stats.money, '+daily +money'
|
||||
user = helper.userBeforeAfter (-> casper.click '.todos input[type="checkbox"]')
|
||||
@test.assertEquals user.before.stats.hp, user.after.stats.hp, '+todo =hp'
|
||||
@test.assert user.before.stats.exp < user.after.stats.exp, '+todo +exp'
|
||||
@test.assert user.before.stats.money < user.after.stats.money, '+todo +money'
|
||||
|
||||
# -daily acts as undo
|
||||
casper.then ->
|
||||
user = userBeforeAfter (-> casper.click '.todos input[type="checkbox"]')
|
||||
@test.assertEquals user.before.stats.hp, user.after.stats.hp, '-daily =hp'
|
||||
@test.assert user.before.stats.exp > user.after.stats.exp, '-daily -exp'
|
||||
@test.assert user.before.stats.money > user.after.stats.money, '-daily -money'
|
||||
user = helper.userBeforeAfter (-> casper.click '.todos input[type="checkbox"]')
|
||||
@test.assertEquals user.before.stats.hp, user.after.stats.hp, '-todo =hp'
|
||||
@test.assert user.before.stats.exp > user.after.stats.exp, '-todo -exp'
|
||||
@test.assert user.before.stats.money > user.after.stats.money, '-todo -money'
|
||||
|
||||
# ---------- Cron ------------
|
||||
casper.then ->
|
||||
helper.reset()
|
||||
helper.addTasks()
|
||||
|
||||
casper.then ->
|
||||
helper.cronBeforeAfter (beforeAfter) ->
|
||||
casper.then ->
|
||||
#TODO make sure true for all todos
|
||||
todoId = beforeAfter.before.tasks.todo[0].id
|
||||
# utils.dump
|
||||
# dailyBefore:user.before.tasks[dailyId].value
|
||||
# dailyAfter:user.before.tasks[dailyId].value
|
||||
casper.test.assert beforeAfter.before.user.tasks[todoId].value < beforeAfter.after.user.tasks[todoId].value, "todo:cron:todo gained value"
|
||||
casper.test.assertEqual beforeAfter.before.user.stats.hp, beforeAfter.after.user.stats.hp, 'todo:cron:hp no change'
|
||||
|
||||
|
||||
# ---------- Run ------------
|
||||
casper.run ->
|
||||
casper.test.renderResults true
|
||||
|
|
@ -78,42 +78,43 @@
|
|||
</@footer>
|
||||
</app:myModal>
|
||||
|
||||
<alerts:>
|
||||
{#if equal(_user.notifications.kickstarter,'show')}
|
||||
<div class='alert alert-success'>
|
||||
<a x-bind="click:closeKickstarterNofitication" class='pull-right'>Dismiss</a>
|
||||
Help Habit by backing the <strong><a href="http://kck.st/XoA3Yg">Kickstarter</a></strong>! Funds iPhone & Android apps, <a href="https://github.com/lefnire/habitrpg/issues?labels=critical&page=1&state=open">bug fixes</a>, and the <a href="https://github.com/lefnire/habitrpg/issues/58">Groups feature</a>.
|
||||
</div>
|
||||
{/}
|
||||
|
||||
<!-- change to equal(_user.flags.aws_migrating,'show') when you're ready -->
|
||||
{#if false}
|
||||
<div class='alert'>
|
||||
<div id="mc_embed_signup">
|
||||
<form action="http://habitrpg.us6.list-manage.com/subscribe/post?u=274fbd56713d1968df2e18e18&id=7d09ec341f" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
|
||||
Tyler Here. You're awesome. I'm working on scaling the site as fast as I can. Add your email if you want to be reminded. Thank you for understanding.
|
||||
<div class="indicates-required"></div>
|
||||
<div class="mc-field-group">
|
||||
<label for="mce-EMAIL">Email Address <span class="asterisk">*</span></label>
|
||||
<input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL">
|
||||
</div>
|
||||
<div id="mce-responses" class="clear">
|
||||
<div class="response" id="mce-error-response" style="display:none"></div>
|
||||
<div class="response" id="mce-success-response" style="display:none"></div>
|
||||
</div>
|
||||
<div class="clear">
|
||||
<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button">
|
||||
</div>
|
||||
<div class='clear-both'></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<Header:>
|
||||
<app:modalDialogs />
|
||||
<ui:connectionAlert>
|
||||
<div id="head">
|
||||
|
||||
{#if equal(_user.notifications.kickstarter,'show')}
|
||||
<div class='alert alert-success'>
|
||||
<a x-bind="click:closeKickstarterNofitication" class='pull-right'>Dismiss</a>
|
||||
Help Habit by backing the <strong><a href="http://kck.st/XoA3Yg">Kickstarter</a></strong>! Funds iPhone & Android apps, <a href="https://github.com/lefnire/habitrpg/issues?labels=critical&page=1&state=open">bug fixes</a>, and the <a href="https://github.com/lefnire/habitrpg/issues/58">Groups feature</a>.
|
||||
</div>
|
||||
{/}
|
||||
|
||||
<!-- change to equal(_user.flags.aws_migrating,'show') when you're ready -->
|
||||
{#if false}
|
||||
<div class='alert'>
|
||||
<div id="mc_embed_signup">
|
||||
<form action="http://habitrpg.us6.list-manage.com/subscribe/post?u=274fbd56713d1968df2e18e18&id=7d09ec341f" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
|
||||
Tyler Here. You're awesome. I'm working on scaling the site as fast as I can. Add your email if you want to be reminded. Thank you for understanding.
|
||||
<div class="indicates-required"></div>
|
||||
<div class="mc-field-group">
|
||||
<label for="mce-EMAIL">Email Address <span class="asterisk">*</span></label>
|
||||
<input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL">
|
||||
</div>
|
||||
<div id="mce-responses" class="clear">
|
||||
<div class="response" id="mce-error-response" style="display:none"></div>
|
||||
<div class="response" id="mce-success-response" style="display:none"></div>
|
||||
</div>
|
||||
<div class="clear">
|
||||
<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button">
|
||||
</div>
|
||||
<div class='clear-both'></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class='pull-right'>
|
||||
{#unless _loggedIn}
|
||||
<a class="btn btn-small btn-info" href="#login-modal" data-toggle="modal">Login / Register</a>
|
||||
|
|
@ -178,6 +179,9 @@
|
|||
<Body:>
|
||||
<br/>
|
||||
<div id=wrap class=container-fluid>
|
||||
|
||||
<app:alerts />
|
||||
|
||||
<div id=main class=row-fluid>
|
||||
<!-- would rather have one component: <app:taskList>, which handles taskList, task, and newTask. However,
|
||||
can't pass references as paramters. so <app:taskList newModel={_newHabit} list={_habitList}> doesn't work
|
||||
|
|
@ -354,11 +358,7 @@
|
|||
</div>
|
||||
|
||||
{#if :task.notes}
|
||||
{#if equal(:task.type,'reward')}
|
||||
<span rel="popover" data-trigger="hover" data-placement="left" data-content="{:task.notes}" data-original-title="{:task.text}" class='task-notes'><i class="icon-comment"></i></span>
|
||||
{else}
|
||||
<span rel="popover" data-trigger="hover" data-content="{:task.notes}" data-original-title="{:task.text}" class='task-notes'><i class="icon-comment"></i></span>
|
||||
{/}
|
||||
<span rel="popover" data-trigger="hover" data-placement="left" data-content="{:task.notes}" data-original-title="{:task.text}" class='task-notes'><i class="icon-comment"></i></span>
|
||||
{/}
|
||||
</div>
|
||||
|
||||
|
|
@ -455,4 +455,4 @@
|
|||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
{/}
|
||||
{/}
|
||||
|
|
|
|||
Loading…
Reference in a new issue