done
This commit is contained in:
parent
48fc8152a4
commit
4de066e505
|
|
@ -155,4 +155,4 @@ CREATE INDEX mixes_recording_id_idx ON mixes USING btree (recording_id);
|
|||
CREATE INDEX msuh_id_idx ON music_sessions_user_history USING btree (id);
|
||||
CREATE INDEX quick_mixes_user_id_idx ON quick_mixes USING btree (user_id);
|
||||
CREATE INDEX recorded_videos_user_id_idx ON recorded_videos USING btree (user_id);
|
||||
CREATE INDEX CONCURRENTLY music_sessions_user_id_idx ON music_sessions USING btree (user_id);
|
||||
CREATE INDEX music_sessions_user_id_idx ON music_sessions USING btree (user_id);
|
||||
|
|
|
|||
|
|
@ -2862,6 +2862,11 @@ module JamRuby
|
|||
end
|
||||
end
|
||||
|
||||
def has_support?
|
||||
return false if !subscription_trial_ended?
|
||||
return true if admin
|
||||
SubscriptionDefinitions.rules(self.subscription_plan_code)[:has_support]
|
||||
end
|
||||
|
||||
def subscription_rules(dynamic_definitions = true)
|
||||
rules = SubscriptionDefinitions.rules(self.subscription_plan_code)
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ module JamRuby
|
|||
broadcasting_type: 3,
|
||||
max_players: 4,
|
||||
pro_audio: false,
|
||||
has_support: false,
|
||||
name: 'Free'
|
||||
|
||||
}
|
||||
|
|
@ -52,8 +53,9 @@ module JamRuby
|
|||
audio_max_bitrate: 2, #192
|
||||
can_broadcast: true,
|
||||
broadcasting_type: 3,
|
||||
max_players: 6,
|
||||
max_players: nil,
|
||||
pro_audio: false,
|
||||
has_support: false,
|
||||
name: 'Silver'
|
||||
}
|
||||
|
||||
|
|
@ -70,6 +72,7 @@ module JamRuby
|
|||
broadcasting_type: 3,
|
||||
max_players: nil,
|
||||
pro_audio: true,
|
||||
has_support: true,
|
||||
name: 'Gold'
|
||||
}
|
||||
|
||||
|
|
@ -86,6 +89,7 @@ module JamRuby
|
|||
broadcasting_type: 3,
|
||||
max_players: nil,
|
||||
pro_audio: true,
|
||||
has_support: true,
|
||||
name: 'Platinum'
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
2.0.0-p247
|
||||
2.3.1
|
||||
|
|
|
|||
|
|
@ -375,7 +375,7 @@ context = window
|
|||
rel="external">privacy</a> | <a
|
||||
href="/corp/terms" rel="external">terms of
|
||||
service</a> | <a
|
||||
href="/corp/help" rel="external">help</a>
|
||||
href="/help_desk" rel="external">help</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
window.JK = window.JK || {};
|
||||
window.JK.Actions = {}
|
||||
window.JK.Stores = {}
|
||||
window.JK.Components = {}
|
||||
|
|
@ -0,0 +1 @@
|
|||
//= require_directory ./react-components
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
window.SupportPage = React.createClass({
|
||||
|
||||
render: function () {
|
||||
|
||||
|
||||
var support_space = null;
|
||||
var support_warning = null;
|
||||
|
||||
if(gon.has_support) {
|
||||
var src = `https://jamkazam.freshdesk.com/widgets/feedback_widget/new?&helpdesk_ticket[requester]=${encodeURIComponent(gon.email)}&widgetType=embedded&formTitle=JamKazam+Support&submitTitle=Send+Feedback&submitThanks=Thank+you+for+your+message.+We+will+use+our+best+efforts+to+reply+within+24+hours.`
|
||||
|
||||
support_space = <div className="buffer"><iframe title="Get Help Form" class="freshwidget-embedded-form" id="freshwidget-embedded-form" src={src} scrolling="no" height="700px" width="100%" frameBorder="0" >
|
||||
</iframe></div>
|
||||
}
|
||||
else {
|
||||
if(gon.in_trial) {
|
||||
support_space=<div className="support-warning">The functionality on this page is disabled because you are currently in the free trial period and are not eligible for support.<br/><br/>You can <a href="/client#/account/subscription">change your plan</a> here.</div>
|
||||
}
|
||||
else {
|
||||
support_space=<div className="support-warning">The functionality on this page is disabled because you must have a Platinum or Gold plan to use support.<br/><br/>You can <a href="/client#/account/subscription">change your plan</a> here.</div>
|
||||
}
|
||||
}
|
||||
|
||||
var response = <div>
|
||||
<div id="header">
|
||||
<a href="/client#/home" className="logo-holder"><span id="help-desk">Help Desk</span></a>
|
||||
</div>
|
||||
<div id="top-container">
|
||||
{support_warning}
|
||||
<div className="description">
|
||||
The JamKazam help desk offers 1:1 help desk support only to our Gold and Platinum plan
|
||||
subscribers. <a href="https://jamkazam.freshdesk.com/support/solutions/articles/66000122535-what-are-jamkazam-s-free-vs-premium-features-"
|
||||
target="_blank">More information on subscription plans can be found here</a>.<br/><br/> If you are not a Gold or Platinum subscriber,
|
||||
we'd suggest that you look for help in our <a href="https://jamkazam.freshdesk.com/support/home" target="_blank">extensive knowledge base of
|
||||
help articles</a>,
|
||||
or check out our <a href="https://forum.jamkazam.com/" target="_blank">user forum</a> to see if
|
||||
other JamKazam users can help you.
|
||||
</div>
|
||||
|
||||
{support_space}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
return response
|
||||
}
|
||||
})
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
//= require reflux
|
||||
//= require react
|
||||
//= require react_ujs
|
||||
//= require react-init
|
||||
//= require react-input-autosize
|
||||
//= require react-select
|
||||
//= require ./react-components
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
$base-font-family: 'arial', sans-serif;
|
||||
|
||||
$large-font-size: 1.5rem;
|
||||
$standard-font-size: 1rem;
|
||||
$smaller-font-size: .8rem;
|
||||
$small-font-size: .7rem;
|
||||
$input-font-size: 1.0rem;
|
||||
$submit-button-width:9rem;
|
||||
$checkbox-label-width:14rem;
|
||||
$create-account-width:10rem;
|
||||
$start-promo-btn-width:13rem;
|
||||
$jamkazam-background:#323232;
|
||||
$jamkazam-background2:#2c2c2c;
|
||||
|
||||
$copy-color-on-dark: #b9b9b9;
|
||||
$copy-color-on-white: #575757;
|
||||
$cta-color: #e03d04;
|
||||
$chunkyBorderWidth: 6px;
|
||||
|
|
@ -0,0 +1,172 @@
|
|||
@import "support/constants";
|
||||
@import "client/common.scss";
|
||||
|
||||
[data-react-class="SupportPage"] {
|
||||
width:100%;
|
||||
|
||||
.EventsPage {
|
||||
width:100%;
|
||||
}
|
||||
|
||||
#header {
|
||||
display:grid;
|
||||
justify-content: center;
|
||||
width:100%;
|
||||
background-color:$jamkazam-background2;
|
||||
padding:1.5rem 0;
|
||||
}
|
||||
|
||||
#root {
|
||||
min-height: 100%;
|
||||
|
||||
align-items: center;
|
||||
//justify-content: center;
|
||||
min-width: 50%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
|
||||
.logo-holder {
|
||||
background: url('/assets/logo.png') no-repeat;
|
||||
height: 47px;
|
||||
width: 252px;
|
||||
color:white;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.description {
|
||||
font-size: 1rem;
|
||||
margin-top: .2rem;
|
||||
width:1000px;
|
||||
margin-bottom:2rem;
|
||||
color:$copy-color-on-white;
|
||||
a {
|
||||
color:darken(#fc0, 20%);
|
||||
white-space:nowrap;
|
||||
}
|
||||
line-height:150%;
|
||||
}
|
||||
|
||||
iframe {
|
||||
background-color:white;
|
||||
}
|
||||
|
||||
.buffer {
|
||||
background-color:white;
|
||||
padding:1rem;
|
||||
}
|
||||
|
||||
.support-warning {
|
||||
background-color:lightgrey;
|
||||
font-weight:bold;
|
||||
font-size: 1rem;
|
||||
margin-top: 1rem;
|
||||
width:1000px;
|
||||
margin-bottom:2.5rem;
|
||||
padding:1rem;
|
||||
color:$copy-color-on-white;
|
||||
a {
|
||||
color:darken(#fc0, 20%);
|
||||
white-space:nowrap;
|
||||
}
|
||||
line-height:150%;
|
||||
}
|
||||
|
||||
#powered-by, #powered-by-2 {
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
position: absolute;
|
||||
top: -3rem;
|
||||
margin: auto;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
span {
|
||||
font-size: .8rem;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.powered-by {
|
||||
background: url("/assets/shared/jk_logo_small.png") no-repeat center;
|
||||
height: 26px;
|
||||
width: 142px;
|
||||
}
|
||||
|
||||
#powered-by-2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
#body-content {
|
||||
background-color:black;
|
||||
display:grid;
|
||||
grid-template-columns: 60% 2% 38%;
|
||||
justify-content:center;
|
||||
margin-bottom:6rem;
|
||||
padding:0 1rem;
|
||||
}
|
||||
|
||||
#top-container {
|
||||
background-color:white;
|
||||
display: grid;
|
||||
justify-content:center;
|
||||
padding:2rem 0 7rem 0;
|
||||
grid-template-columns: min-content;
|
||||
}
|
||||
|
||||
|
||||
.logo-holder {
|
||||
max-width: 300px;
|
||||
min-width:0;
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
position:relative;
|
||||
}
|
||||
|
||||
#help-desk {
|
||||
position:absolute;
|
||||
bottom: -25px;
|
||||
left: 134px;
|
||||
font-size:1.5rem;
|
||||
}
|
||||
|
||||
|
||||
div.root {
|
||||
flex-grow: 1;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.header {
|
||||
font-size: $large-font-size;
|
||||
margin-top: 1rem;
|
||||
min-width: 1000px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
@media (min-width:1px) and (max-width: 1199px) {
|
||||
html {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
.header {
|
||||
min-width:90%;
|
||||
padding-left:1.5rem;
|
||||
}
|
||||
.description {
|
||||
width:90%;
|
||||
padding-left:1.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
/**
|
||||
|
||||
*= require_directory ./react-components
|
||||
*/
|
||||
|
||||
@import "support/constants";
|
||||
|
||||
html,
|
||||
body {
|
||||
min-height: 100%;
|
||||
overflow:auto;
|
||||
//background-color:$jamkazam-background;
|
||||
background-color:white;
|
||||
color:white;
|
||||
}
|
||||
|
||||
body {
|
||||
min-height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
font-size: 16px;
|
||||
line-height: 1.2;
|
||||
font-family: Raleway, Arial, Helvetica, sans-serif;
|
||||
|
||||
}
|
||||
|
||||
#footer {
|
||||
display:inline-block;
|
||||
margin-top: 30px;
|
||||
padding-top: 10px;
|
||||
border-top:solid 1px #444;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
color: white;
|
||||
text-align: center;
|
||||
background-color:#323232;
|
||||
}
|
||||
|
||||
#copyright {
|
||||
float:left;
|
||||
font-size:11px;
|
||||
color:#ccc;
|
||||
}
|
||||
|
||||
#footer-links {
|
||||
float:right;
|
||||
font-size:11px;
|
||||
color:#ccc;
|
||||
}
|
||||
|
||||
#footer-links a {
|
||||
color:#ccc;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
#footer-links a:hover {
|
||||
color:#fff;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
#version {
|
||||
font-size:11px;
|
||||
color:#ccc;
|
||||
text-align: center;
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
class SupportsController < ApplicationController
|
||||
|
||||
respond_to :html
|
||||
def show
|
||||
if current_user.nil?
|
||||
redirect_to signin_url + "?redirect-to=" + URI.escape("/help_desk"), notice: "Please sign in."
|
||||
return
|
||||
end
|
||||
gon.has_support = current_user.has_support?
|
||||
gon.email = current_user.email
|
||||
gon.in_trial = !current_user.subscription_trial_ended?
|
||||
|
||||
@title = "Help Desk"
|
||||
@description = "The JamKazam help desk offers 1:1 help desk support only to our Gold and Platinum plan subscribers."
|
||||
render 'show', :layout => 'support'
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
<!-- footer links -->
|
||||
<div id="footer-links">
|
||||
<%= link_to "about", corp_about_path , :rel=>"external" %> | <%= link_to "news", corp_news_path , :rel=>"external" %> | <%= link_to "media", corp_media_center_path , :rel=>"external" %> | <%= link_to "contact", corp_contact_path , :rel=>"external" %> | <%= link_to "privacy", corp_privacy_path, :rel=>"external" %> | <%= link_to "terms of service", corp_terms_path , :rel=>"external" %> | <%= link_to "help", corp_help_path , :rel=>"external" %>
|
||||
<%= link_to "about", corp_about_path , :rel=>"external" %> | <%= link_to "news", corp_news_path , :rel=>"external" %> | <%= link_to "media", corp_media_center_path , :rel=>"external" %> | <%= link_to "contact", corp_contact_path , :rel=>"external" %> | <%= link_to "privacy", corp_privacy_path, :rel=>"external" %> | <%= link_to "terms of service", corp_terms_path , :rel=>"external" %> | <%= link_to "help", help_desk_path, :rel=>"external" %>
|
||||
</div>
|
||||
|
||||
<%= render "clients/recordingManager" %>
|
||||
|
|
|
|||
|
|
@ -9,5 +9,5 @@
|
|||
Desk.com service using your JamKazam credentials, so you won't have to register for a separate support account.</p>
|
||||
|
||||
<p class="support">
|
||||
<a rel="external" href="https://forum.jamkazam.com/showthread.php?tid=69">JamKazam Support</a>
|
||||
<a rel="external" href="/help_desk">JamKazam Support</a>
|
||||
</p>
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
<div id="copyright">Copyright © <%= Time.now.year %> JamKazam, Inc. All Rights Reserved</div>
|
||||
|
||||
<!-- footer links -->
|
||||
<div id="footer-links"><%= link_to "about", corp_about_path %> | <%= link_to "news", corp_news_path %> | <%= link_to "media", corp_media_center_path %> | <%= link_to "contact", corp_contact_path %> | <%= link_to "privacy", corp_privacy_path %> | <%= link_to "terms of service", corp_terms_path %> | <%= link_to "help", corp_help_path %></div>
|
||||
<div id="footer-links"><%= link_to "about", corp_about_path %> | <%= link_to "news", corp_news_path %> | <%= link_to "media", corp_media_center_path %> | <%= link_to "contact", corp_contact_path %> | <%= link_to "privacy", corp_privacy_path %> | <%= link_to "terms of service", corp_terms_path %> | <%= link_to "help", help_desk_path, :rel=>"external" %></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title><%= full_title(yield(:title)) %></title>
|
||||
|
||||
<!--[if IE]>
|
||||
<link rel="stylesheet" type="text/css" href="css/ie.css" media="screen, projection"/>
|
||||
<![endif]-->
|
||||
<script type="text/javascript" src="https://s3.amazonaws.com/assets.freshdesk.com/widget/freshwidget.js"></script>
|
||||
<style type="text/css" media="screen, projection">
|
||||
@import url(https://s3.amazonaws.com/assets.freshdesk.com/widget/freshwidget.css);
|
||||
</style>
|
||||
<link href='http://fonts.googleapis.com/css?family=Raleway:100,200,300,400,500,600,700' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" href="https://cdn.plyr.io/3.5.10/plyr.css" />
|
||||
<%= stylesheet_link_tag "support/support", media: "all" %>
|
||||
<%= include_gon(:init => true) %>
|
||||
<%= csrf_meta_tags %>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta name="description" content="<%= meta_description(yield(:description)) %>">
|
||||
<% if content_for?(:social_meta) %>
|
||||
<%= yield(:social_meta) %>
|
||||
<% else %>
|
||||
<%= render "layouts/social_meta" %>
|
||||
<% end %>
|
||||
<%= render "shared/ad_sense" %>
|
||||
</head>
|
||||
<body class="support <%= yield(:page_name) %>">
|
||||
<div id="basic-container">
|
||||
<%= javascript_include_tag "support/support" %>
|
||||
<div class="wrapper">
|
||||
<%= yield %>
|
||||
<div id="footer">
|
||||
|
||||
<!-- copyright -->
|
||||
<div id="copyright">Copyright © <%= Time.now.year %> JamKazam, Inc. All Rights Reserved</div>
|
||||
|
||||
<!-- footer links -->
|
||||
<div id="footer-links"><%= link_to "about", corp_about_path %> | <%= link_to "news", corp_news_path %> | <%= link_to "media", corp_media_center_path %> | <%= link_to "contact", corp_contact_path %> | <%= link_to "privacy", corp_privacy_path %> | <%= link_to "terms of service", corp_terms_path %> | <%= link_to "help", help_desk_path %></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%= render "shared/ga" %>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
- provide(:page_name, 'Open Support Ticket')
|
||||
- provide(:description, @description)
|
||||
- provide(:title, @title)
|
||||
|
||||
#root
|
||||
= react_component 'SupportPage'
|
||||
|
|
@ -64,11 +64,11 @@
|
|||
<% if false #@nativeClient %>
|
||||
<li class="test-network"><%= link_to "Test Network", '#' %></li>
|
||||
<% end %>
|
||||
<li class="get-help"><%= link_to "Get Help", 'https://forum.jamkazam.com/', :rel => "external" %></li>
|
||||
<li class="get-help"><%= link_to "Get Help", help_desk_path, :rel => "external" %></li>
|
||||
<li class="sign-out"><%= link_to "Sign Out", signout_path, method: "delete" %></li>
|
||||
<% else %>
|
||||
<li class="download-app"><%= link_to "Download App", downloads_path, :rel => "external" %></li>
|
||||
<li class="get-help"><%= link_to "Get Help", 'https://forum.jamkazam.com/', :rel => "external" %></li>
|
||||
<li class="get-help"><%= link_to "Get Help", help_desk_path, :rel => "external" %></li>
|
||||
<% end %>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -91,6 +91,7 @@ if defined?(Bundler)
|
|||
config.assets.precompile += %w( modern/modern.js modern/modern.css )
|
||||
config.assets.precompile += %w( basic/basic.js basic/basic.css )
|
||||
config.assets.precompile += %w( events/events.js events/events.scss )
|
||||
config.assets.precompile += %w( support/support.js support/support.scss )
|
||||
|
||||
# where is rabbitmq?
|
||||
config.rabbitmq_host = "127.0.0.1"
|
||||
|
|
|
|||
|
|
@ -141,6 +141,7 @@ Rails.application.routes.draw do
|
|||
|
||||
get '/events/:slug', to: 'events#show', :as => 'event'
|
||||
get '/events', to: 'events#list', as: 'events'
|
||||
get '/help_desk', to:'supports#show', as: 'help_desk'
|
||||
|
||||
get '/endorse/:id/:service', to: 'users#endorse', :as => 'endorse'
|
||||
|
||||
|
|
|
|||
|
|
@ -1505,7 +1505,6 @@ module JamWebsockets
|
|||
#
|
||||
#end
|
||||
|
||||
puts "periodical_check_connections"
|
||||
@client_lookup.each do |client_id, client_context|
|
||||
if Time.now - client_context.updated_at > @connect_time_expire_client
|
||||
cleanup_client_with_id(client_id)
|
||||
|
|
|
|||
Loading…
Reference in New Issue