Beta download page
This commit is contained in:
parent
e491461f64
commit
c8a111f5f5
|
|
@ -0,0 +1,49 @@
|
|||
context = window
|
||||
|
||||
@BetaDownloadLandingBottomPage = React.createClass({
|
||||
|
||||
render: () ->
|
||||
`<div className="top-container">
|
||||
<div className="row awesome">
|
||||
<h2 className="awesome">Updating to the JamKazam BETA App</h2>
|
||||
|
||||
<p>The JamKazam BETA app installs exactly the same as the previous versions of JamKazam. By using this version
|
||||
of the client, you will be able to play with other beta users, as well as users still on the current
|
||||
production version. If at any time you want to go back to the current (non-BETA) version of the application,
|
||||
just install the version of JamKazam found on our <a href="/downloads">downloads</a>.
|
||||
</p>
|
||||
<br/>
|
||||
<p>Below are the typical installation instructions:</p>
|
||||
|
||||
</div>
|
||||
<div className="row awesome-thing">
|
||||
<div className="awesome-item">
|
||||
<h3> <div className="awesome-number">1</div>Download the application.</h3>
|
||||
<p>
|
||||
Download the application by choosing your platform in the above section.
|
||||
<div className="clearall" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="row awesome-thing">
|
||||
<div className="awesome-item">
|
||||
<h3> <div className="awesome-number">2</div>Run the installer</h3>
|
||||
<p>
|
||||
On Windows, double-click the .msi file and follow all the prompts to update your JamKazam application to
|
||||
the BETA version. On Mac OS, double-click the .dmg file, and drag the JamKazam icon to the Application
|
||||
folder in the window that opens, and selecting 'Replace' if prompted.
|
||||
<div className="clearall" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="row awesome-thing">
|
||||
<div className="awesome-item">
|
||||
<h3> <div className="awesome-number">3</div>Launch the application</h3>
|
||||
<p>
|
||||
Launch the application exactly as you did before!
|
||||
<div className="clearall" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
})
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
context = window
|
||||
rest = context.JK.Rest()
|
||||
|
||||
@BetaDownloadLandingPage = React.createClass({
|
||||
|
||||
render: () ->
|
||||
|
||||
if this.state.done
|
||||
ctaButtonText10 = 'sending you in...'
|
||||
ctaButtonText20 = 'sending you in...'
|
||||
else if this.state.processing
|
||||
ctaButtonText10 = 'hold on...'
|
||||
ctaButtonText20 = 'hold on...'
|
||||
else
|
||||
ctaButtonText10 = `<span>ADD $10 CARD<br/>TO CART</span>`
|
||||
ctaButtonText20 = `<span>ADD $20 CARD<br/>TO CART</span>`
|
||||
|
||||
|
||||
|
||||
`<div className="top-container">
|
||||
<div className="full-row name-and-artist">
|
||||
|
||||
</div>
|
||||
<div className="row summary-text">
|
||||
<p className="top-summary">
|
||||
The JamKazam BETA app is now ready for download!<br/><br/>We've updated the client to support Windows 10, Windows 11, Mac M1/M2, and Mac Intel.<br/>All JamKazam internals are completely upgraded, resulting in better video, clearer backing tracks & JamTracks, and countless other improvements.
|
||||
</p>
|
||||
</div>
|
||||
</div>`
|
||||
|
||||
getInitialState: () ->
|
||||
{processing:false}
|
||||
|
||||
componentDidMount:() ->
|
||||
$root = $(this.getDOMNode())
|
||||
|
||||
# add item to cart, create the user if necessary, and then place the order to get the free JamTrack.
|
||||
ctaClick: (card_type, e) ->
|
||||
e.preventDefault()
|
||||
|
||||
return if @state.processing
|
||||
|
||||
loggedIn = context.JK.currentUserId?
|
||||
|
||||
rest.addGiftCardToShoppingCart({id: card_type}).done((response) =>
|
||||
|
||||
if loggedIn
|
||||
@setState({done: true})
|
||||
context.location = '/client#/shoppingCart'
|
||||
else
|
||||
@setState({done: true})
|
||||
context.location = '/client#/shoppingCart'
|
||||
|
||||
).fail((jqXHR, textStatus, errorMessage) =>
|
||||
if jqXHR.status == 422
|
||||
errors = JSON.parse(jqXHR.responseText)
|
||||
cart_errors = errors?.errors?.cart_id
|
||||
context.JK.app.ajaxError(jqXHR, textStatus, errorMessage)
|
||||
@setState({processing:false})
|
||||
)
|
||||
})
|
||||
|
|
@ -14,4 +14,5 @@
|
|||
*= require landings/posa_activation
|
||||
*= require landings/simple_jamtracks
|
||||
*= require landings/simple_jamclass
|
||||
*= require landings/beta_download
|
||||
*/
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
@import "client/common.scss";
|
||||
|
||||
body.web.individual_jamtrack .row.cta-row {
|
||||
h2 {
|
||||
margin-bottom:20px;
|
||||
}
|
||||
width:auto;
|
||||
a.cta-button {
|
||||
font-size:20px;
|
||||
border-radius: 7px;
|
||||
padding:8px;
|
||||
color:black;
|
||||
font-weight:bold;
|
||||
border-color:white;
|
||||
border-width:2px;
|
||||
border-style:solid;
|
||||
margin-right:20px;
|
||||
}
|
||||
|
||||
a#other-select {
|
||||
margin-top:20px;
|
||||
}
|
||||
}
|
||||
|
||||
body.web .landing-content {
|
||||
min-height:auto;
|
||||
}
|
||||
|
|
@ -343,6 +343,20 @@ class LandingsController < ApplicationController
|
|||
render 'buy_gift_card', layout: 'web'
|
||||
end
|
||||
|
||||
def beta_download
|
||||
@no_landing_tag = true
|
||||
@landing_tag_play_learn_earn = false
|
||||
@show_after_black_bar_border = true
|
||||
|
||||
@title = 'Download the JamKazam Beta App'
|
||||
@description = "The JamKazam Beta client app is here! Download it for MacOSX or Windows, and try it out."
|
||||
clients = ArtifactUpdate.where("product like '%JamClient%' and environment = '#{ArtifactUpdate::DEFAULT_ENVIRONMENT}'").order(:product)
|
||||
@page_data = {}
|
||||
gon.clients = clients
|
||||
|
||||
render 'beta_download', layout: 'web'
|
||||
end
|
||||
|
||||
def school_student_register
|
||||
@no_landing_tag = true
|
||||
@landing_tag_play_learn_earn = true
|
||||
|
|
|
|||
|
|
@ -0,0 +1,77 @@
|
|||
- provide(:page_name, 'landing_page full individual_jamtrack betadownload')
|
||||
- provide(:description, @description)
|
||||
- provide(:title, @title)
|
||||
|
||||
= react_component 'BetaDownloadLandingPage', @page_data.to_json
|
||||
|
||||
- content_for :after_black_bar do
|
||||
.row.cta-row
|
||||
h2 DOWNLOAD THE BETA NOW!
|
||||
p
|
||||
.cta-buttons
|
||||
a#dl-windows.cta-button.hidden Download for Windows
|
||||
a#dl-mac-intel.cta-button.hidden Download for Mac OS (Intel)
|
||||
a#dl-mac-m.cta-button.hidden Download Mac OS (M1/M2)
|
||||
|
||||
a#other-select.hidden href='#' Looking for other OS downloads?
|
||||
- content_for :white_bar do
|
||||
= react_component 'BetaDownloadLandingBottomPage', @page_data.to_json
|
||||
|
||||
- content_for :red_bar do
|
||||
.full-row
|
||||
| Thank you for your continued support of JamKazam!
|
||||
|
||||
div#client_holder *{ "data-client-downloads" => @page_data.to_json }
|
||||
javascript:
|
||||
function selectPlatform(selectedPlatform) {
|
||||
console.log("selectedPlatform", selectedPlatform);
|
||||
|
||||
|
||||
var platform = selectedPlatform; //MacOSX, Win32, Unix
|
||||
|
||||
var otherPlatform = "MacOSX"
|
||||
if(platform == "MacOSX") {
|
||||
otherPlatform = "Win32"
|
||||
}
|
||||
$('#other-select').data('platform', otherPlatform)
|
||||
|
||||
if(platform == 'MacOSX') {
|
||||
$('#dl-windows').hide();
|
||||
$('#dl-mac-intel').show();
|
||||
$('#dl-mac-m').show();
|
||||
}
|
||||
else {
|
||||
$('#dl-mac-intel').hide();
|
||||
$('#dl-mac-m').hide();
|
||||
$('#dl-windows').show();
|
||||
}
|
||||
$('#other-select').show();
|
||||
}
|
||||
|
||||
$(document).on('JAMKAZAM_READY', function(e, data) {
|
||||
var currentOS = window.JK.detectOS();
|
||||
|
||||
gon.clients.forEach(function(item){
|
||||
console.log("item", item)
|
||||
if(item.product == "JamClientModern/Win32") {
|
||||
$('#dl-windows').attr('href', item.uri.url)
|
||||
}
|
||||
else if(item.product == "JamClientModern/MacOSX-Intel") {
|
||||
$('#dl-mac-intel').attr('href', item.uri.url)
|
||||
}
|
||||
else if(item.product == "JamClientModern/MacOSX-M") {
|
||||
$('#dl-mac-m').attr('href', item.uri.url)
|
||||
}
|
||||
});
|
||||
|
||||
$('#other-select').click(function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var platform = $(this).data('platform')
|
||||
selectPlatform(platform);
|
||||
|
||||
return false;
|
||||
})
|
||||
|
||||
selectPlatform(currentOS == null || currentOS == "Unix" ? 'Win32' : currentOS);
|
||||
})
|
||||
|
|
@ -64,6 +64,7 @@ Rails.application.routes.draw do
|
|||
get '/landing/jamtracks/v2/:instrument/:plan_code', to: 'landings#individual_jamtrack_v2'
|
||||
get '/landing/jamtracks/:instrument/:plan_code', to: 'landings#individual_jamtrack', as: 'individual_jamtrack_instrument'
|
||||
get '/landing/gift-card', to: 'landings#buy_gift_card', as: 'buy_gift_card'
|
||||
get '/landing/beta-download', to: 'landings#beta_download', as: 'beta_download'
|
||||
#get '/landing/jamclass/students', to: 'landings#jam_class_students', as: 'jamclass_student_signup'
|
||||
#get '/landing/jamclass/free/students', to: 'landings#jam_class_students_free'
|
||||
#get '/landing/jamclass/teachers', to: 'landings#jam_class_teachers', as: 'jamclass_teacher_signup'
|
||||
|
|
|
|||
Loading…
Reference in New Issue