mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-14 07:00:01 -04:00
Separating contact emails into premium subscriber support and basic general support.
This commit is contained in:
parent
ffa3366b8a
commit
d801ed61ce
16 changed files with 32 additions and 58 deletions
|
@ -477,12 +477,13 @@
|
|||
contact:
|
||||
contact_us: "Contact CodeCombat"
|
||||
welcome: "Good to hear from you! Use this form to send us email. "
|
||||
contribute_prefix: "If you're interested in contributing, check out our "
|
||||
contribute_page: "contribute page"
|
||||
contribute_suffix: "!"
|
||||
forum_prefix: "For anything public, please try "
|
||||
forum_page: "our forum"
|
||||
forum_suffix: " instead."
|
||||
subscribe_prefix: "If you need help figuring out a level, please"
|
||||
subscribe: "buy a CodeCombat subscription"
|
||||
subscribe_suffix: "and we'll be happy to help you with your code."
|
||||
subscriber_support: "Since you're a CodeCombat subscriber, your email will get our priority support."
|
||||
where_reply: "Where should we reply?"
|
||||
send: "Send Feedback"
|
||||
contact_candidate: "Contact Candidate" # Deprecated
|
||||
|
|
|
@ -206,16 +206,8 @@ $level-resize-transition-time: 0.5s
|
|||
@include opacity(1)
|
||||
|
||||
@media screen and (min-aspect-ratio: 17/10)
|
||||
display: none
|
||||
|
||||
.hour-of-code-explanation
|
||||
margin-top: 5px
|
||||
color: white
|
||||
font-size: 12px
|
||||
|
||||
a
|
||||
color: white
|
||||
text-decoration: underline
|
||||
&:not(.premium)
|
||||
display: none
|
||||
|
||||
#fullscreen-editor-background-screen
|
||||
background-color: black
|
||||
|
|
|
@ -104,13 +104,6 @@
|
|||
&.btn-#{nth($tuple, 1)}
|
||||
@include banner-button(nth($tuple, 2), #FFF)
|
||||
|
||||
.footer .footer-link-text a
|
||||
@include opacity(0.75)
|
||||
@include transition(opacity .10s linear)
|
||||
|
||||
&:hover, &:active
|
||||
@include opacity(1)
|
||||
|
||||
$GI: 0.5 // gradient intensity; can tweak this 0-1
|
||||
|
||||
.gradient
|
||||
|
@ -152,22 +145,3 @@
|
|||
top: 0
|
||||
height: 100%
|
||||
width: 2%
|
||||
|
||||
.footer
|
||||
@media screen and (min-aspect-ratio: 17/10)
|
||||
display: none
|
||||
|
||||
&:not(:hover)
|
||||
@include opacity(0.6)
|
||||
|
||||
.hour-of-code-explanation
|
||||
margin-top: 5px
|
||||
color: white
|
||||
font-size: 12px
|
||||
|
||||
&:not(:hover)
|
||||
@include opacity(0.75)
|
||||
|
||||
a
|
||||
color: white
|
||||
text-decoration: underline
|
||||
|
|
|
@ -6,13 +6,16 @@ block modal-header-content
|
|||
block modal-body-content
|
||||
p
|
||||
span(data-i18n="contact.welcome") Good to hear from you! Use this form to send us email.
|
||||
span(data-i18n="contact.contribute_prefix") If you're interested in contributing, check out our
|
||||
a(href="/contribute", data-dismiss="modal", data-i18n="contact.contribute_page") contribute page
|
||||
span(data-i18n="contact.contribute_suffix") !
|
||||
p
|
||||
span(data-i18n="contact.forum_prefix") For anything public, please try
|
||||
span.spl(data-i18n="contact.forum_prefix") For anything public, please try
|
||||
a(href="http://discourse.codecombat.com/", data-i18n="contact.forum_page") our forum
|
||||
span(data-i18n="contact.forum_suffix") instead.
|
||||
if me.isPremium()
|
||||
p(data-i18n="contact.subscriber_support") Since you're a CodeCombat subscriber, your email will get our priority support.
|
||||
else
|
||||
p
|
||||
span(data-i18n="contact.subscribe_prefix") If you need help figuring out a level, please
|
||||
a.spl.spr(data-toggle="coco-modal", data-target="core/SubscribeModal", data-i18n="contact.subscribe") buy a CodeCombat subscription
|
||||
span(data-i18n="contact.subscribe_suffix") and we'll be happy to help you with your code.
|
||||
.form
|
||||
.form-group
|
||||
label.control-label(for="contact-email", data-i18n="general.email") Email
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
|
||||
button.btn.btn-lg.btn-warning.banner.header-font#stop-real-time-playback-button(title="Stop real-time playback", data-i18n="play_level.skip") Skip
|
||||
|
||||
#play-footer
|
||||
p(class='footer-link-text')
|
||||
a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") Contact
|
||||
if !me.get('anonymous')
|
||||
#play-footer(class=me.isPremium() ? "premium" : "")
|
||||
p(class='footer-link-text')
|
||||
a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") Contact
|
||||
|
|
|
@ -11,7 +11,3 @@
|
|||
#level-chat-view
|
||||
#playback-view
|
||||
#thang-hud
|
||||
.footer
|
||||
.content
|
||||
p(class='footer-link-text')
|
||||
a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") Contact
|
|
@ -83,6 +83,9 @@
|
|||
else
|
||||
span.player-name.spr= me.get('name')
|
||||
button#logout-button.btn.btn-illustrated.btn-warning(data-i18n="login.log_out") Log Out
|
||||
if me.isPremium()
|
||||
button.btn.btn-illustrated.btn-primary(data-i18n="nav.contact", data-toggle="coco-modal", data-target="core/ContactModal") Contact
|
||||
|
||||
|
||||
button.btn.btn-lg.btn-inverse#volume-button(title="Adjust volume")
|
||||
.glyphicon.glyphicon-volume-off
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
RootView = require 'views/core/RootView'
|
||||
template = require 'templates/account/subscription-view'
|
||||
CocoCollection = require 'collections/CocoCollection'
|
||||
SubscribeModal = require 'views/play/modal/SubscribeModal'
|
||||
SubscribeModal = require 'views/core/SubscribeModal'
|
||||
|
||||
module.exports = class SubscriptionView extends RootView
|
||||
id: "subscription-view"
|
||||
|
@ -33,7 +33,7 @@ module.exports = class SubscriptionView extends RootView
|
|||
c.cost = "$#{(subscription.plan.amount/100).toFixed(2)}"
|
||||
if card = @stripeInfo.cards?.data?[0]
|
||||
c.card = "#{card.brand}: x#{card.last4}"
|
||||
|
||||
|
||||
c.stripeInfo = @stripeInfo
|
||||
c.subscribed = me.get('stripe')?.planID
|
||||
c.active = me.isPremium()
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
ModalView = require 'views/core/ModalView'
|
||||
template = require 'templates/play/modal/subscribe-modal'
|
||||
template = require 'templates/core/subscribe-modal'
|
||||
stripeHandler = require 'core/services/stripe'
|
||||
utils = require 'core/utils'
|
||||
AuthModal = require 'views/core/AuthModal'
|
|
@ -9,7 +9,7 @@ ThangType = require 'models/ThangType'
|
|||
MusicPlayer = require 'lib/surface/MusicPlayer'
|
||||
storage = require 'core/storage'
|
||||
AuthModal = require 'views/core/AuthModal'
|
||||
SubscribeModal = require 'views/play/modal/SubscribeModal'
|
||||
SubscribeModal = require 'views/core/SubscribeModal'
|
||||
Level = require 'models/Level'
|
||||
|
||||
trackedHourOfCode = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
CocoView = require 'views/core/CocoView'
|
||||
template = require 'templates/play/level/level_loading'
|
||||
utils = require 'core/utils'
|
||||
SubscribeModal = require 'views/play/modal/SubscribeModal'
|
||||
SubscribeModal = require 'views/core/SubscribeModal'
|
||||
|
||||
module.exports = class LevelLoadingView extends CocoView
|
||||
id: 'level-loading-view'
|
||||
|
|
|
@ -17,7 +17,7 @@ createMailContext = (sender, message, user, recipientID, subject, done) ->
|
|||
context =
|
||||
email_id: sendwithus.templates.plain_text_email
|
||||
recipient:
|
||||
address: config.mail.username
|
||||
address: if user?.isPremium() then config.mail.supportPremium else config.mail.supportPrimary
|
||||
sender:
|
||||
address: config.mail.username
|
||||
reply_to: sender
|
||||
|
|
|
@ -36,6 +36,9 @@ else
|
|||
config.mongo.password = process.env.COCO_MONGO_PASSWORD or ''
|
||||
|
||||
config.mail =
|
||||
username: process.env.COCO_MAIL_SERVICE_USERNAME or ''
|
||||
supportPrimary: process.env.COCO_MAIL_SUPPORT_PRIMARY or ''
|
||||
supportPremium: process.env.COCO_MAIL_SUPPORT_PREMIUM or ''
|
||||
username: process.env.COCO_MAIL_SERVICE_USERNAME or ''
|
||||
mailchimpAPIKey: process.env.COCO_MAILCHIMP_API_KEY or ''
|
||||
mailchimpWebhook: process.env.COCO_MAILCHIMP_WEBHOOK or '/mail/webhook'
|
||||
|
|
|
@ -58,11 +58,12 @@ setupExpressMiddleware = (app) ->
|
|||
express.logger.format('prod', productionLogging)
|
||||
app.use(express.logger('prod'))
|
||||
app.use express.compress filter: (req, res) ->
|
||||
return false if req.headers.host is 'codecombat.com' # CloudFlare will gzip it for us on codecombat.com
|
||||
compressible res.getHeader('Content-Type')
|
||||
else
|
||||
express.logger.format('dev', developmentLogging)
|
||||
app.use(express.logger('dev'))
|
||||
app.use(express.static(path.join(__dirname, 'public')))
|
||||
app.use(express.static(path.join(__dirname, 'public'), maxAge: 30 * 60 * 1000))
|
||||
app.use(useragent.express())
|
||||
|
||||
app.use(express.favicon())
|
||||
|
|
Loading…
Reference in a new issue