mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-08-02 04:00:36 +00:00
bstart building challenges
This commit is contained in:
parent
92e8e5b597
commit
836787906d
6 changed files with 97 additions and 1 deletions
19
src/app/challenges.coffee
Normal file
19
src/app/challenges.coffee
Normal 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
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
67
views/app/challenges.html
Normal 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>
|
||||
|
||||
|
|
@ -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 />
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
<import: src="pets">
|
||||
<import: src="game-pane">
|
||||
<import: src="filters">
|
||||
<import: src="challenges">
|
||||
|
||||
<Title:>
|
||||
HabitRPG | Gamify Your Life
|
||||
|
|
|
|||
Loading…
Reference in a new issue