Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d9368b06d0 | ||
|
|
2703367681 | ||
|
|
d419442549 | ||
|
|
99df01c950 | ||
|
|
d76349b3bb | ||
|
|
39c061f4e8 | ||
|
|
6d167ddb22 | ||
|
|
037acbd459 | ||
|
|
4d3fc3bb09 | ||
|
|
4b984d4fac |
@@ -30,7 +30,7 @@ Schemas.Proficiency = new SimpleSchema({
|
|||||||
Proficiencies.attachSchema(Schemas.Proficiency);
|
Proficiencies.attachSchema(Schemas.Proficiency);
|
||||||
|
|
||||||
Proficiencies.attachBehaviour("softRemovable");
|
Proficiencies.attachBehaviour("softRemovable");
|
||||||
makeChild(Proficiencies);
|
makeChild(Proficiencies, ["enabled"]);
|
||||||
|
|
||||||
Proficiencies.allow(CHARACTER_SUBSCHEMA_ALLOW);
|
Proficiencies.allow(CHARACTER_SUBSCHEMA_ALLOW);
|
||||||
Proficiencies.deny(CHARACTER_SUBSCHEMA_DENY);
|
Proficiencies.deny(CHARACTER_SUBSCHEMA_DENY);
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ TemporaryHitPoints = new Mongo.Collection("temporaryHitPoints");
|
|||||||
Schemas.TemporaryHitPoints = new SimpleSchema({
|
Schemas.TemporaryHitPoints = new SimpleSchema({
|
||||||
charId: {type: String, regEx: SimpleSchema.RegEx.Id},
|
charId: {type: String, regEx: SimpleSchema.RegEx.Id},
|
||||||
name: {type: String, optional: true},
|
name: {type: String, optional: true},
|
||||||
maximum: {type: Number, defaultValue: 0},
|
maximum: {type: Number, defaultValue: 0, min: 0, max: 500},
|
||||||
used: {type: Number, defaultValue: 0},
|
used: {type: Number, defaultValue: 0, min: 0, max: 500},
|
||||||
deleteOnZero:{type: Boolean, defaultValue: false},
|
deleteOnZero:{type: Boolean, defaultValue: false},
|
||||||
dateAdded: {
|
dateAdded: {
|
||||||
type: Date,
|
type: Date,
|
||||||
|
|||||||
@@ -57,6 +57,12 @@ Router.map(function() {
|
|||||||
document.title = name;
|
document.title = name;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
//analytics
|
||||||
|
trackPageView: false,
|
||||||
|
onRun: function() {
|
||||||
|
window.ga && window.ga("send", "pageview", "/character");
|
||||||
|
this.next();
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
this.route("loading", {
|
this.route("loading", {
|
||||||
|
|||||||
@@ -77,10 +77,10 @@ this.GlobalUI = (function() {
|
|||||||
|
|
||||||
var throttleBack = _.throttle(function() {
|
var throttleBack = _.throttle(function() {
|
||||||
history.back();
|
history.back();
|
||||||
}, 800, {trailing: false});
|
}, 100, {trailing: false});
|
||||||
|
|
||||||
GlobalUI.closeDetail = function() {
|
GlobalUI.closeDetail = function() {
|
||||||
if (!!(window.history && window.history.pushState)) {
|
if (window.history && history.pushState && history.state.detail === "opened") {
|
||||||
throttleBack();
|
throttleBack();
|
||||||
} else {
|
} else {
|
||||||
Session.set("global.ui.detailShow", false);
|
Session.set("global.ui.detailShow", false);
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
Template.addTHPDialog.events({
|
Template.addTHPDialog.events({
|
||||||
"tap #addButton": function(event, instance){
|
"tap #addButton": function(event, instance){
|
||||||
|
var max = +instance.find("#quantityInput").value;
|
||||||
|
if (!max || max < 0) max = 0;
|
||||||
TemporaryHitPoints.insert({
|
TemporaryHitPoints.insert({
|
||||||
charId: this.charId,
|
charId: this.charId,
|
||||||
name: instance.find("#nameInput").value,
|
name: instance.find("#nameInput").value,
|
||||||
maximum: +instance.find("#quantityInput").value,
|
maximum: max,
|
||||||
deleteOnZero: !!instance.find("#deleteWhenZeroCheckbox").checked,
|
deleteOnZero: !!instance.find("#deleteWhenZeroCheckbox").checked,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,9 +33,9 @@
|
|||||||
role="slider"
|
role="slider"
|
||||||
flex
|
flex
|
||||||
></paper-diff-slider>
|
></paper-diff-slider>
|
||||||
{{#unless left}}{{#unless deleteOnZero}}
|
{{#unless left}}
|
||||||
<paper-icon-button class="deleteTHP" icon="delete"></paper-icon-button>
|
<paper-icon-button class="deleteTHP" icon="delete"></paper-icon-button>
|
||||||
{{/unless}}{{/unless}}
|
{{/unless}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|||||||
@@ -45,6 +45,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="bottom text">Lawful Good Human</div>
|
<div class="bottom text">Lawful Good Human</div>
|
||||||
</paper-shadow>
|
</paper-shadow>
|
||||||
|
<paper-shadow class="card characterCard ssWizard clickable"
|
||||||
|
z="2">
|
||||||
|
<div class="top subhead deep-purple white-text">
|
||||||
|
<div class="subhead" flex>
|
||||||
|
Starter Set Wizard
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom text">Chaotic Good High Elf</div>
|
||||||
|
</paper-shadow>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ Template.intro.events({
|
|||||||
"tap .ssArcher": function() {
|
"tap .ssArcher": function() {
|
||||||
Router.go("/character/yBWwt5XQTTHZiRQxq");
|
Router.go("/character/yBWwt5XQTTHZiRQxq");
|
||||||
},
|
},
|
||||||
|
"tap .ssWizard": function() {
|
||||||
|
Router.go("/character/KxHKskm22fS2Xogah");
|
||||||
|
},
|
||||||
"tap .guideButton": function() {
|
"tap .guideButton": function() {
|
||||||
Router.go("/guide");
|
Router.go("/guide");
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,6 +4,9 @@
|
|||||||
</core-toolbar>
|
</core-toolbar>
|
||||||
<div fit layout vertical center center-justified>
|
<div fit layout vertical center center-justified>
|
||||||
<paper-spinner class="bigSpinner" active></paper-spinner>
|
<paper-spinner class="bigSpinner" active></paper-spinner>
|
||||||
<div class="subhead">{{randomHint}}</div>
|
<div class="subhead"
|
||||||
|
style="margin-left: 16px;
|
||||||
|
margin-right: 16px;
|
||||||
|
text-align: center;">{{randomHint}}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
<template name="notFound">
|
<template name="notFound">
|
||||||
<div layout vertical center center-justified fit>
|
<core-toolbar class="app-grey white-text">
|
||||||
<h2>The data for the page you requested could not be found.</h2>
|
<core-icon-button icon="menu" core-drawer-toggle></core-icon-button>
|
||||||
|
</core-toolbar>
|
||||||
|
<div layout vertical center center-justified fit
|
||||||
|
style="padding: 16px; text-align: center;">
|
||||||
|
<h2 style="margin-bottom: 12px;">The data for the page you requested could not be found.</h2>
|
||||||
{{#if currentUser}}
|
{{#if currentUser}}
|
||||||
<h2>It might not exist, or you might not have permission to view it.</h2>
|
<h3>It might not exist, or you might not have permission to view it.</h3>
|
||||||
{{else}}
|
{{else}}
|
||||||
<h2>Perhaps you need to sign in first:</h2>
|
<h3>Perhaps you need to sign in first:</h3>
|
||||||
{{atForm}}
|
{{atForm}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
Meteor.methods({
|
Meteor.methods({
|
||||||
"getUserId": function(username){
|
"getUserId": function(username){
|
||||||
if (!username) return;
|
if (!username) return;
|
||||||
|
regex = new RegExp("^" + username + "$", "i")
|
||||||
var user = Meteor.users.findOne(
|
var user = Meteor.users.findOne(
|
||||||
{$or: [{username: username}, {"emails.address": username}]}
|
{$or: [
|
||||||
|
{username: username},
|
||||||
|
{"emails.address": regex},
|
||||||
|
{"services.google.email": regex},
|
||||||
|
]}
|
||||||
);
|
);
|
||||||
return user && user._id;
|
return user && user._id;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user