feat(administrators): start adding features page for admin accounts

This commit is contained in:
Tyler Renelle 2014-01-27 18:24:24 -08:00
parent 0ddaae4d75
commit f7f4a0c166
10 changed files with 133 additions and 126 deletions

View file

@ -28,6 +28,7 @@
@import "./challenges.styl"
@import "./classes.styl"
@import "./quests.styl"
@import "./shared.styl"
// fix exploding to very wide for some reason
.datepicker
@ -199,22 +200,3 @@ a
.gem-wallet
padding-top: 2px
.subscription-features
tr
td
height 59px
/*font-size: 1.75em;*/
/*line-height: 1.714285714em;*/
vertical-align middle
text-align center
th
max-width: 150px
font-weight normal
th.feature-name
text-align center
font-weight: bold
.dashed-underline
border-bottom:1px dashed #000
text-decoration:none
cursor pointer

16
public/css/shared.styl Normal file
View file

@ -0,0 +1,16 @@
.subscription-features
tr
td
//height 59px
vertical-align middle
text-align center
th
max-width: 150px
font-weight normal
th.feature-name
text-align center
font-weight: bold
.dashed-underline
border-bottom:1px dashed #000
text-decoration:none
cursor pointer

View file

@ -5,4 +5,5 @@
@import "../bower_components/angular-loading-bar/build/loading-bar.css"
@import "./static-pages.css"
@import "./shared.styl"
@import "./footer"

View file

@ -1,6 +1,6 @@
"use strict";
window.habitrpgStatic = angular.module('habitrpgStatic', ['notificationServices', 'userServices', 'chieffancypants.loadingBar', 'authCtrl'])
window.habitrpgStatic = angular.module('habitrpgStatic', ['notificationServices', 'userServices', 'chieffancypants.loadingBar', 'authCtrl', 'ui.bootstrap'])
.constant("API_URL", "")
.constant("STORAGE_USER_ID", 'habitrpg-user')
.constant("STORAGE_SETTINGS_ID", 'habit-mobile-settings')

View file

@ -76,6 +76,10 @@
"bower_components/bootstrap/docs/assets/js/bootstrap.js",
"bower_components/angular-ui/build/angular-ui.js",
"bower_components/angular-bootstrap/ui-bootstrap.js",
"bower_components/angular-bootstrap/ui-bootstrap-tpls.js",
"bower_components/angular-loading-bar/build/loading-bar.js",
"js/static.js",
"js/services/notificationServices.js",

View file

@ -43,8 +43,8 @@ router.get('/static/contact', middleware.locals, function(req, res) {
res.render('static/contact', {env: res.locals.habitrpg});
});
router.get('/static/pricing', middleware.locals, function(req, res) {
res.render('static/pricing', {env: res.locals.habitrpg});
router.get('/static/plans', middleware.locals, function(req, res) {
res.render('static/plans', {env: res.locals.habitrpg});
});
// --------- Redirects --------

View file

@ -159,96 +159,4 @@ script(id='partials/options.settings.subscription.html',type='text/ng-template')
i.icon-ok
| Subscribed
div(ng-include="'partials/options.settings.subscription.perks.html'")
.btn.btn-small.btn-danger(ng-click='cancelSubscription()') Cancel Subscription
//-.well.subscription-features
h2 Administrator Subscriptions
table.table.table-striped
tr
th.feature-name
//th.feature-name.muted Family (Coming Soon)
//th.feature-name.muted Bronze (Coming Soon)
//th.feature-name.muted Silver (Coming Soon)
th.feature-name Gold
th.feature-name.muted More Plans<br/>Coming Soon
tr
th
span.dashed-underline(popover="Members of the organization participate outside of HabitRPG proper, providing focus for your participants.",popover-trigger='mouseenter',popover-placement='right')
| Private Organization
//td(ng-include="'partials/feature-matrix-check.html'")
//td(ng-include="'partials/feature-matrix-check.html'")
//td(ng-include="'partials/feature-matrix-check.html'")
td(ng-include="'partials/feature-matrix-check.html'")
td
tr
th
span.dashed-underline(popover="Shared hosting means your organization uses the same database as HabitRPG proper even though you don't interact with Habitica. Dedicated means you get your own database and server. You can choose to have HabitRPG host your server/db, or we can install it on your own servers.",popover-trigger='mouseenter',popover-placement='right')
| Hosting Type
//td Shared
//td Shared
//td Shared
td Dedicated
td
tr
th
span.dashed-underline(popover="We can optionally give you your own domain for the installation.",popover-trigger='mouseenter',popover-placement='right')
| Custom Domain
//td.muted
//td.muted
//td.muted
td(ng-include="'partials/feature-matrix-check.html'")
td
tr
th
span.dashed-underline(popover="The maximum number of players in your private organization.",popover-trigger='mouseenter',popover-placement='right')
| Max Participants
//td.muted 10
//td.muted 50
//td.muted 150
td Unlimited
td
tr
th
span.dashed-underline(popover="First to be provided for with support.",popover-trigger='mouseenter',popover-placement='right')
| Priority support on tickets & hosting
//td.muted
//td.muted
//td.muted
td(ng-include="'partials/feature-matrix-check.html'")
td
tr
th
span.dashed-underline(popover="We will provide support for training, bugs, installation, and feature requests.",popover-trigger='mouseenter',popover-placement='right')
| Support Hours / Month
//td.muted 10
//td.muted 20
//td.muted 30
td Unlimited
td
tr
th
h5 In-Game features
ul(style='margin:0 0 10px 25px;')
li Ads disabled for members
li
span.dashed-underline(popover="Members will be able to purchase gems with gold, meaning none of your participants need to buy anything with real money.",popover-trigger='mouseenter',popover-placement='right')
| Gems purchasable with gold
li
span.dashed-underline(popover="We will provide the organization leaders with as many gems as they need, for things like challenge prizes, guild-creation, etc.",popover-trigger='mouseenter',popover-placement='right')
| Infinite leader gems
//td(ng-include="'partials/feature-matrix-check.html'")
//td(ng-include="'partials/feature-matrix-check.html'")
//td(ng-include="'partials/feature-matrix-check.html'")
td(ng-include="'partials/feature-matrix-check.html'")
td
tr
th
| Price
//td.alert.alert-info ??? USD / Month
//td.alert.alert-info ??? USD / Month
//td.alert.alert-info ??? USD / Month
td.alert.alert-info ??? USD / Month
td
.btn.btn-small.btn-danger(ng-click='cancelSubscription()') Cancel Subscription

View file

@ -29,11 +29,14 @@ html
li(class='#{menuItem=="home" ? "active" : ""}')
a(href='/static/front') Home
li(class='#{menuItem=="about" ? "active" : ""}')
a(href='/static/about') About
//li(class='#{menuItem=="pricing" ? "active" : ""}')
a(href='/static/pricing') Pricing
a(href='/static/about') Learn More
li
a(href='http://blog.habitrpg.com/') Blog
li(class='#{menuItem=="plans" ? "active" : ""}')
a(href='/static/plans') Group Plans
//li(class='#{menuItem=="contact" ? "active" : ""}')
a(href='/static/contact') Contact
.container
block content

101
views/static/plans.jade Normal file
View file

@ -0,0 +1,101 @@
extends ./layout
block vars
- var layoutEnv = env
- var menuItem = 'plans'
block title
title Administrator Plans
block content
.subscription-features
h2 Administrator Subscriptions
table.table.table-striped
tr
th.feature-name
//th.feature-name.muted Family (Coming Soon)
//th.feature-name.muted Bronze (Coming Soon)
//th.feature-name.muted Silver (Coming Soon)
th.feature-name Gold
th.feature-name.muted More Plans<br/>Coming Soon
tr
th
span.dashed-underline(popover="Members of the organization participate outside of HabitRPG proper, providing focus for your participants.",popover-trigger='mouseenter',popover-placement='right')
| Private Organization
//td(ng-include="'partials/feature-matrix-check.html'")
//td(ng-include="'partials/feature-matrix-check.html'")
//td(ng-include="'partials/feature-matrix-check.html'")
td
i.icon-ok
td
tr
th
span.dashed-underline(popover="Shared hosting means your organization uses the same database as HabitRPG proper even though you don't interact with Habitica. Dedicated means you get your own database and server. You can choose to have HabitRPG host your server/db, or we can install it on your own servers.",popover-trigger='mouseenter',popover-placement='right')
| Hosting Type
//td Shared
//td Shared
//td Shared
td Dedicated
td
tr
th
span.dashed-underline(popover="We can optionally give you your own domain for the installation.",popover-trigger='mouseenter',popover-placement='right')
| Custom Domain
//td.muted
//td.muted
//td.muted
td
i.icon-ok
td
tr
th
span.dashed-underline(popover="The maximum number of players in your private organization.",popover-trigger='mouseenter',popover-placement='right')
| Max Participants
//td.muted 10
//td.muted 50
//td.muted 150
td Unlimited
td
tr
th
span.dashed-underline(popover="First to be provided for with support.",popover-trigger='mouseenter',popover-placement='right')
| Priority Support On Tickets & Hosting
//td.muted
//td.muted
//td.muted
td
i.icon-ok
td
tr
th
span.dashed-underline(popover="We will provide support for training, bugs, installation, and feature requests.",popover-trigger='mouseenter',popover-placement='right')
| Support Hours / Month
//td.muted 10
//td.muted 20
//td.muted 30
td 10
td
tr
th
h5 In-Game features
ul
li Ads disabled for members
li
span.dashed-underline(popover="Members will be able to purchase gems with gold, meaning none of your participants need to buy anything with real money.",popover-trigger='mouseenter',popover-placement='right')
| Gems purchasable with gold
li
span.dashed-underline(popover="We will provide the organization leaders with as many gems as they need, for things like challenge prizes, guild-creation, etc.",popover-trigger='mouseenter',popover-placement='right')
| Infinite leader gems
//td(ng-include="'partials/feature-matrix-check.html'")
//td(ng-include="'partials/feature-matrix-check.html'")
//td(ng-include="'partials/feature-matrix-check.html'")
td
i.icon-ok
td
tr
th
//| Price
//td.alert.alert-info ??? USD / Month
//td.alert.alert-info ??? USD / Month
//td.alert.alert-info ??? USD / Month
td
a.btn.btn-primary(href='https://docs.google.com/forms/d/12Jqj_8f3oQS0B3ZUHewHbK61uLjBdzBeB0zyEqB9lxM/viewform') Contact Us
td

View file

@ -1,8 +0,0 @@
extends ./layout
block vars
- var layoutEnv = env
- var menuItem = 'pricing'
block title
title Pricing
block content
// content here