bstart building challenges

This commit is contained in:
Tyler Renelle 2013-05-12 00:05:13 +01:00
parent 92e8e5b597
commit 836787906d
6 changed files with 97 additions and 1 deletions

19
src/app/challenges.coffee Normal file
View file

@ -0,0 +1,19 @@
module.exports.app = (appExports, model) ->
user = model.at '_user'
appExports.challengeCreate = ->
model.set '_challenge.new',
name: ''
habits: []
dailies: []
todos: []
rewards: []
assignees: 'party'
model.set '_challenge.creating', true
appExports.challengeSave = ->
#TODO
appExports.challengeDiscard = ->
model.set '_challenge.new', {}
model.set '_challenge.creating', false

View file

@ -102,6 +102,8 @@ setupSubscriptions = (page, model, params, next, cb) ->
get '/', (page, model, params, next) ->
return page.redirect '/' if page.params?.query?.play?
model.set '_gamePane', true
# removed force-ssl (handled in nginx), see git for code
setupSubscriptions page, model, params, next, ->
cleanupCorruptTasks(model) # https://github.com/lefnire/habitrpg/issues/634
@ -131,3 +133,4 @@ ready (model) ->
require('./browser').app(exports, model, app)
require('./unlock').app(exports, model)
require('./filters').app(exports, model)
require('./challenges').app(exports, model)

View file

@ -165,4 +165,5 @@ hr
background-color #dfe9ea
padding 1px 3px 1px 3px
.nav li > a
cursor: pointer

67
views/app/challenges.html Normal file
View file

@ -0,0 +1,67 @@
<main:>
<ul class="nav nav-tabs">
<li class="active"><a data-toggle='tab' data-target="#challengesView">Challenges</a></li>
<li ><a data-toggle='tab' data-target="#challengesCreate">Create Challenge</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="challengesView">
<app:challenges:view />
</div>
<div class="tab-pane" id="challengesCreate">
<app:challenges:create />
</div>
</div>
<view:>
<div>
<ul class="nav nav-pills">
<li class="active"><a data-toggle='tab' data-target="#challengesViewMine">Mine</a></li>
<li><a data-toggle='tab' data-target="#challengesViewParty">Party</a></li>
<li><a data-toggle='tab' data-target="#challengesViewGuild">Guild</a></li>
<li><a data-toggle='tab' data-target="#challengesViewPublic">Public</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="challengesViewMine">
Mine
</div>
<div class="tab-pane" id="challengesViewParty">
Party
</div>
<div class="tab-pane" id="challengesViewGuild">
Guild
</div>
<div class="tab-pane" id="challengesViewPublic">
Public
</div>
</div>
</div>
<create:>
<div>
{#unless _challenge.creating}
<a x-bind='click:challengeCreate' class='btn btn-large btn-success'>Create New Challenge</a>
{else}
<form x-bind='submit:challengeSave' class=form-horizontal>
<input id='newChallengeName' type='text' value={_challenge.new.name} placeholder="Challenge Title" required/>
<div class="grid">
...
</div>
<input type='submit' class='btn btn-large btn-success' value='Save' />
<input type='button' x-bind='click:challengeDiscard' class='btn btn-large btn-danger' value=Discard />
</form>
{/}
</div>

View file

@ -14,6 +14,7 @@
{/if}
<li><a data-toggle='tab' data-target="#profileTavern"><i class='icon-eye-close'></i> Tavern</a></li>
<li><a data-toggle='tab' data-target="#profileAchievements"><i class='icon-certificate'></i> Achievements</a></li>
<li><a data-toggle='tab' data-target="#profileChallenges"><i class='icon-bullhorn'></i> Challenges</a></li>
{{#if _loggedIn}}
<li><a data-toggle='tab' data-target="#profileSettings"><i class='icon-wrench'></i> Settings</a></li>
{{/}}
@ -64,6 +65,10 @@
<app:game-pane:tavern />
</div>
<div class="tab-pane" id="profileChallenges">
<app:challenges:main />
</div>
<div class="tab-pane" id="profileSettings">
{{#if _loggedIn}}
<app:settings:settings-pane />

View file

@ -10,6 +10,7 @@
<import: src="pets">
<import: src="game-pane">
<import: src="filters">
<import: src="challenges">
<Title:>
HabitRPG | Gamify Your Life