Compare commits

..

15 Commits

Author SHA1 Message Date
Stefan Zermatten
d9368b06d0 Merge branch 'bugfix-0.6.8' 2015-08-27 12:07:42 +02:00
Stefan Zermatten
2703367681 Proficiencies now get disabled when their features are disabled 2015-08-27 12:05:56 +02:00
Stefan Zermatten
d419442549 Fixed share dialog not finding usernames or email addresses 2015-08-27 11:59:38 +02:00
Stefan Zermatten
99df01c950 Prevented negative temporary hitpoints being added 2015-08-27 11:43:34 +02:00
Stefan Zermatten
d76349b3bb Merge branch 'release-0.6.7a' 2015-07-29 09:57:06 +02:00
Stefan Zermatten
39c061f4e8 Fixed formatting of not found page, now has a toolbar and centered text 2015-07-29 09:55:22 +02:00
Stefan Zermatten
6d167ddb22 Fixed formatting of loading page, more padding 2015-07-29 09:55:01 +02:00
Stefan Zermatten
037acbd459 Added Starter Set Wizard to the front page 2015-07-29 09:54:43 +02:00
Stefan Zermatten
4d3fc3bb09 Fixed accidental back() requests when closing detail dialogs 2015-07-29 09:54:18 +02:00
Stefan Zermatten
4b984d4fac Made analytics show all characters as the same page 2015-07-29 09:53:46 +02:00
Stefan Zermatten
58843613ba Merge branch 'release-0.6.7' 2015-07-27 13:12:42 +02:00
Stefan Zermatten
39b549b24b Bumped version 2015-07-27 13:12:28 +02:00
Stefan Zermatten
c79177de72 Added Google Analytics 2015-07-27 13:10:33 +02:00
Stefan Zermatten
11d09b1487 Fixed effect values not being visible on mobile 2015-07-27 12:16:02 +02:00
Stefan Zermatten
85b63f152f Merge branch 'release-0.6.6' into develop 2015-07-27 11:23:12 +02:00
16 changed files with 67 additions and 22 deletions

1
rpg-docs/.gitignore vendored
View File

@@ -1,5 +1,6 @@
.meteor/local .meteor/local
.meteor/meteorite .meteor/meteorite
settings.json
public/components public/components
nohup.out nohup.out
dump dump

View File

@@ -28,3 +28,4 @@ wolves:bourbon
meteorhacks:subs-manager meteorhacks:subs-manager
meteorhacks:kadira meteorhacks:kadira
chuangbo:marked chuangbo:marked
reywood:iron-router-ga

View File

@@ -71,6 +71,7 @@ reactive-dict@1.1.0
reactive-var@1.0.5 reactive-var@1.0.5
reload@1.1.3 reload@1.1.3
retry@1.0.3 retry@1.0.3
reywood:iron-router-ga@0.6.0
routepolicy@1.0.5 routepolicy@1.0.5
service-configuration@1.0.4 service-configuration@1.0.4
session@1.1.0 session@1.1.0

View File

@@ -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);

View File

@@ -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,

View File

@@ -1,6 +1,7 @@
Router.configure({ Router.configure({
loadingTemplate: "loading", loadingTemplate: "loading",
layoutTemplate: "layout", layoutTemplate: "layout",
trackPageView: true,
}); });
Router.plugin("ensureSignedIn", { Router.plugin("ensureSignedIn", {
@@ -56,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", {

View File

@@ -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);

View File

@@ -44,7 +44,8 @@
label="Value" label="Value"
floatinglabel floatinglabel
value={{effectValue}} value={{effectValue}}
flex> flex
style="flex-basis: 100px;">
</paper-input> </paper-input>
</template> </template>

View File

@@ -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,
}); });
} }

View File

@@ -1,14 +1,14 @@
<template name="healthCard"> <template name="healthCard">
<paper-shadow class="card container healthCard" <paper-shadow class="card container healthCard"
hero-id="main" {{detailHero "hitPoints" _id}} hero-id="main" {{detailHero "hitPoints" _id}}
layout horizontal wrap> layout horizontal wrap>
<div class="green white-text subhead left" <div class="green white-text subhead left"
hero-id="toolbar" {{detailHero "hitPoints" _id}} hero-id="toolbar" {{detailHero "hitPoints" _id}}
layout vertical center center-justified> layout vertical center center-justified>
<div class="hitPointTitle clickable">Hit Points</div> <div class="hitPointTitle clickable">Hit Points</div>
<paper-icon-button class="white54" <paper-icon-button class="white54"
id="addTempHP" id="addTempHP"
icon="add" icon="add"
disabled={{#unless canEditCharacter _id}}true{{/unless}}> disabled={{#unless canEditCharacter _id}}true{{/unless}}>
</paper-icon-button> </paper-icon-button>
</div> </div>
@@ -33,14 +33,14 @@
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}}
<div class="caption"> <div class="caption">
{{#if multipliers.immunities.length}} {{#if multipliers.immunities.length}}
<div> <div>
Immune: {{#each multipliers.immunities}} {{name}} {{/each}} Immune: {{#each multipliers.immunities}} {{name}} {{/each}}
</div> </div>

View File

@@ -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>

View File

@@ -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");
}, },

View File

@@ -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>

View File

@@ -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>

View File

@@ -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;
} }

View File

@@ -235,3 +235,11 @@ ChangeLogs.insert({
"Text fields now accept github-flavor markdown formatting", "Text fields now accept github-flavor markdown formatting",
], ],
}); });
ChangeLogs.insert({
version: "0.6.7",
changes: [
"Fixed effect values not being visible on small screens",
"Added basic analytics",
],
});