Home screen and session create screen re-worked
This commit is contained in:
parent
b13ffe2d32
commit
a14b58f2fe
|
|
@ -927,6 +927,31 @@ module JamRuby
|
|||
end
|
||||
end
|
||||
|
||||
def student_test_drive_no_bill(lesson_session)
|
||||
@student = lesson_session.student
|
||||
@teacher = lesson_session.teacher
|
||||
@session_name = lesson_session.music_session.name
|
||||
@session_description = lesson_session.music_session.description
|
||||
@session_date = lesson_session.slot.pretty_scheduled_start(true)
|
||||
@session_url = lesson_session.web_url
|
||||
@lesson_session = lesson_session
|
||||
|
||||
email = @student.email
|
||||
subject = "Your TestDrive with #{@teacher.name} will not be billed"
|
||||
unique_args = {:type => "student_test_drive_no_bill"}
|
||||
|
||||
sendgrid_category "Notification"
|
||||
sendgrid_unique_args :type => unique_args[:type]
|
||||
|
||||
sendgrid_recipients([email])
|
||||
sendgrid_substitute('@USERID', [@student.id])
|
||||
|
||||
mail(:to => email, :subject => subject) do |format|
|
||||
format.text
|
||||
format.html { render :layout => "from_user_mailer" }
|
||||
end
|
||||
end
|
||||
|
||||
# successfully completed, but no more test drives left
|
||||
def student_test_drive_lesson_done(lesson_session)
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
Hello <%= @student.name %>,
|
||||
</p>
|
||||
|
||||
<p>You will not be billed for today's session with <%= @teacher.name %>
|
||||
<p>You will not be billed for today's session with <%= @teacher.name %>.
|
||||
<br/>
|
||||
<br/>
|
||||
Click the button below to see more information about this session.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
Hello <%= @student.name %>,
|
||||
|
||||
You will not be billed for today's session with <%= @teacher.name %>
|
||||
You will not be billed for today's session with <%= @teacher.name %>.
|
||||
|
||||
To see this lesson, click here: <%= @lesson_session.web_url %>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
<% provide(:title, "Your TestDrive with #{@teacher.name} will not be billed") %>
|
||||
<% provide(:photo_url, @teacher.resolved_photo_url) %>
|
||||
|
||||
<% content_for :note do %>
|
||||
<p>
|
||||
Hello <%= @student.name %>,
|
||||
</p>
|
||||
|
||||
<p>You have not used a credit for today's TestDrive with <%= @teacher.name %>.
|
||||
<br/>
|
||||
<br/>
|
||||
Click the button below to see more information about this session.
|
||||
</p>
|
||||
<p>
|
||||
<a href="<%= @lesson_session.web_url %>" style="margin: 8px 0 0 0;background-color: #ed3618;border: solid 1px #F27861;padding: 3px 10px;font-size: 12px;font-weight: 300;cursor: pointer;color: #FC9;text-decoration: none;line-height: 12px;text-align: center;">VIEW
|
||||
LESSON DETAILS</a>
|
||||
</p>
|
||||
<p>
|
||||
Best Regards,<br>Team JamKazam
|
||||
</p>
|
||||
<% end %>
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
Hello <%= @student.name %>,
|
||||
|
||||
You have not used a credit for today's TestDrive with <%= @teacher.name %>.
|
||||
|
||||
To see this lesson, click here: <%= @lesson_session.web_url %>
|
||||
|
|
@ -22,6 +22,7 @@ module JamRuby
|
|||
CREATE_TYPE_IMMEDIATE = 'immediately'
|
||||
CREATE_TYPE_QUICK_START = 'quick-start'
|
||||
CREATE_TYPE_LESSON = 'lesson'
|
||||
CREATE_TYPE_QUICK_PUBLIC = 'quick-public'
|
||||
|
||||
attr_accessor :legal_terms, :language_description, :access_description, :scheduling_info_changed
|
||||
|
||||
|
|
@ -323,11 +324,29 @@ module JamRuby
|
|||
# let session be restarted for up to 2 hours after finishing
|
||||
session_finished = "(music_sessions.session_removed_at > NOW() - '2 hour'::INTERVAL)"
|
||||
|
||||
query = MusicSession.where("music_sessions.canceled = FALSE")
|
||||
query = MusicSession.joins(
|
||||
%Q{
|
||||
LEFT OUTER JOIN
|
||||
invitations
|
||||
ON
|
||||
music_sessions.id = invitations.music_session_id AND invitations.receiver_id = '#{user.id}'
|
||||
}
|
||||
)
|
||||
query = query.where("music_sessions.canceled = FALSE")
|
||||
query = query.where('music_sessions.fan_access = TRUE or music_sessions.musician_access = TRUE') if only_public
|
||||
query = query.where("music_sessions.user_id = '#{user.id}'")
|
||||
#query = query.where("music_sessions.user_id = '#{user.id}' OR invitations.id IS NOT NULL")
|
||||
query = query.where("music_sessions.id in (
|
||||
select distinct(rs.music_session_id)
|
||||
from rsvp_slots rs
|
||||
where rs.id in (
|
||||
select rrrs.rsvp_slot_id
|
||||
from rsvp_requests rr
|
||||
inner join rsvp_requests_rsvp_slots rrrs on rr.id = rrrs.rsvp_request_id
|
||||
where rr.user_id = '#{user.id}'AND rrrs.chosen = true
|
||||
)
|
||||
) OR invitations.id IS NOT NULL OR music_sessions.user_id = '#{user.id}'")
|
||||
query = query.where("music_sessions.scheduled_start IS NULL OR #{session_not_started} OR #{session_finished} OR #{session_started_not_finished}")
|
||||
query = query.where("music_sessions.create_type IS NULL OR music_sessions.create_type != '#{CREATE_TYPE_QUICK_START}'")
|
||||
query = query.where("music_sessions.create_type IS NULL OR (music_sessions.create_type != '#{CREATE_TYPE_QUICK_START}' AND music_sessions.create_type != '#{CREATE_TYPE_QUICK_PUBLIC}')")
|
||||
query = query.order("music_sessions.scheduled_start ASC")
|
||||
|
||||
query
|
||||
|
|
@ -339,7 +358,7 @@ module JamRuby
|
|||
filter_approved = only_approved ? 'AND rrrs.chosen = true' : ''
|
||||
|
||||
MusicSession.where(%Q{music_sessions.canceled = FALSE AND
|
||||
(music_sessions.create_type is NULL OR music_sessions.create_type != '#{CREATE_TYPE_QUICK_START}') AND
|
||||
(music_sessions.create_type is NULL OR (music_sessions.create_type != '#{CREATE_TYPE_QUICK_START}' AND music_sessions.create_type != '#{CREATE_TYPE_QUICK_PUBLIC}')) AND
|
||||
(music_sessions.scheduled_start is NULL OR music_sessions.scheduled_start > NOW() - '4 hour'::INTERVAL) AND
|
||||
music_sessions.id in (
|
||||
select distinct(rs.music_session_id)
|
||||
|
|
@ -760,7 +779,7 @@ module JamRuby
|
|||
|
||||
query = query.offset(offset)
|
||||
query = query.limit(limit)
|
||||
query = query.where("music_sessions.create_type IS NULL OR (music_sessions.create_type != ? AND music_sessions.create_type != ?)", MusicSession::CREATE_TYPE_QUICK_START, MusicSession::CREATE_TYPE_IMMEDIATE)
|
||||
query = query.where("music_sessions.create_type IS NULL OR (music_sessions.create_type != ? AND music_sessions.create_type != ? AND music_sessions.create_type != ?)", MusicSession::CREATE_TYPE_QUICK_START, MusicSession::CREATE_TYPE_IMMEDIATE, MusicSession::CREATE_TYPE_QUICK_PUBLIC)
|
||||
query = query.where("music_sessions.genre_id = ?", genre) unless genre.blank?
|
||||
query = query.where('music_sessions.language = ?', lang) unless lang.blank?
|
||||
query = query.where("(description_tsv @@ to_tsquery('jamenglish', ?))", ActiveRecord::Base.connection.quote(keyword) + ':*') unless keyword.blank?
|
||||
|
|
|
|||
|
|
@ -2051,7 +2051,7 @@ module JamRuby
|
|||
self.remaining_test_drives = self.remaining_test_drives + 1
|
||||
self.save(validate: false)
|
||||
|
||||
UserMailer.test_drive_no_bill(self, lesson_session).deliver
|
||||
UserMailer.student_test_drive_no_bill(lesson_session).deliver
|
||||
end
|
||||
|
||||
def used_test_drives
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ describe LessonBooking do
|
|||
purchase.last_billing_attempt_at.should eql time
|
||||
purchase.sent_billing_notices.should eql false
|
||||
|
||||
user.card_approved(create_stripe_token, '78759')
|
||||
user.card_approved(create_stripe_token, '78759', booking.id)
|
||||
user.save!
|
||||
|
||||
day = day + 1
|
||||
|
|
@ -137,7 +137,7 @@ describe LessonBooking do
|
|||
end
|
||||
|
||||
it "advances to next month" do
|
||||
user.card_approved(create_stripe_token, '78759')
|
||||
user.card_approved(create_stripe_token, '78759', booking.id)
|
||||
user.save!
|
||||
|
||||
day = Date.new(2016, 1, 20)
|
||||
|
|
@ -258,7 +258,7 @@ describe LessonBooking do
|
|||
purchase.billed.should be false
|
||||
|
||||
# now that it's suspended, let's unsuspend it
|
||||
user.card_approved(create_stripe_token, '78759')
|
||||
user.card_approved(create_stripe_token, '78759', booking.id)
|
||||
user.save!
|
||||
|
||||
day = day + 1
|
||||
|
|
|
|||
|
|
@ -362,6 +362,31 @@ describe MusicSession do
|
|||
end
|
||||
|
||||
describe "scheduled" do
|
||||
|
||||
it "includes any RSVP'ed" do
|
||||
rsvp_request = FactoryGirl.create(:rsvp_request_for_multiple_slots, user: some_user, music_session: music_session1, number: 2, chosen:true)
|
||||
|
||||
approved_rsvps = music_session1.approved_rsvps
|
||||
approved_rsvps.length.should == 2
|
||||
|
||||
|
||||
sessions = MusicSession.scheduled(approved_rsvps[0])
|
||||
sessions.length.should == 1
|
||||
|
||||
sessions = MusicSession.scheduled(approved_rsvps[1])
|
||||
sessions.length.should == 1
|
||||
end
|
||||
|
||||
it "includes invited" do
|
||||
invitee = FactoryGirl.create(:user, last_jam_audio_latency: 30, last_jam_locidispid: 3)
|
||||
FactoryGirl.create(:friendship, user: creator, friend: invitee)
|
||||
FactoryGirl.create(:friendship, user: invitee, friend: creator)
|
||||
music_session = FactoryGirl.create(:music_session, creator: creator)
|
||||
FactoryGirl.create(:invitation, receiver:invitee, sender:creator, music_session: music_session)
|
||||
|
||||
sessions = MusicSession.scheduled(invitee)
|
||||
sessions.length.should == 1
|
||||
end
|
||||
it "excludes based on time-range" do
|
||||
session = FactoryGirl.create(:music_session, scheduled_start: Time.now)
|
||||
|
||||
|
|
|
|||
|
|
@ -89,6 +89,13 @@
|
|||
if(gon.allow_force_native_client) {
|
||||
$('body').on('keyup', switchClientMode);
|
||||
}
|
||||
|
||||
$('.homecard.jamclass').on('click', function() {
|
||||
|
||||
context.JK.Banner.showNotice("Coming Soon!", "JamClass is just around the corner.")
|
||||
|
||||
return false;
|
||||
})
|
||||
}
|
||||
|
||||
this.initialize = function() {
|
||||
|
|
|
|||
|
|
@ -222,10 +222,10 @@
|
|||
var childLayout = me.getCardLayout(gridWidth, gridHeight, gridRows, gridCols,
|
||||
childRow, childCol, childRowspan, childColspan);
|
||||
|
||||
if($(this).is('.feed')) {
|
||||
if($(this).is('.jamtrack')) {
|
||||
feedCardLayout = childLayout;
|
||||
}
|
||||
else if($(this).is('.findsession')) {
|
||||
else if($(this).is('.jamclass')) {
|
||||
findCardLayout = childLayout;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ UserStore = context.UserStore
|
|||
{beforeShow: @beforeShow, afterShow: @afterShow, beforeHide: @beforeHide})
|
||||
|
||||
onUserChanged: (userState) ->
|
||||
console.log("userState", userState)
|
||||
@setState({user: userState?.user})
|
||||
|
||||
checkboxChanged: (e) ->
|
||||
|
|
|
|||
|
|
@ -48,6 +48,10 @@
|
|||
var $btnSelectFiles = null;
|
||||
var $selectedFilenames = null;
|
||||
var $uploadSpinner = null;
|
||||
var $quickStartSoloBtn = null;
|
||||
var $quickStartOpenBtn = null;
|
||||
var $startOrScheduledBtn = null;
|
||||
var $featureSessions = null;
|
||||
|
||||
// Step1 layout
|
||||
var $screenStep1 = null;
|
||||
|
|
@ -57,17 +61,19 @@
|
|||
var $fetchingSpinner = null;
|
||||
var $fetchingSpinnerLabel = null;
|
||||
var $noSessionFound = null;
|
||||
var $sessionHeader = null;
|
||||
var scheduledSessions = {};
|
||||
|
||||
// Step4 layout
|
||||
var $policyTypes = null;
|
||||
|
||||
var TOTAL_STEPS = 5;
|
||||
var STEP_SELECT_TYPE = 0;
|
||||
var STEP_SELECT_PLAYING = 1;
|
||||
var STEP_SELECT_INVITE = 2;
|
||||
var STEP_SELECT_POLICY = 3;
|
||||
var STEP_SELECT_CONFIRM = 4;
|
||||
var TOTAL_STEPS = 6;
|
||||
var STEP_HOME = 0;
|
||||
var STEP_SELECT_TYPE = 1;
|
||||
var STEP_SELECT_PLAYING = 2;
|
||||
var STEP_SELECT_INVITE = 3;
|
||||
var STEP_SELECT_POLICY = 4;
|
||||
var STEP_SELECT_CONFIRM = 5;
|
||||
|
||||
var ONE_HOUR = 3600 * 1000;
|
||||
var ONE_MINUTE = 60 * 1000;
|
||||
|
|
@ -92,6 +98,84 @@
|
|||
|
||||
function afterLoadScheduledSessions(sessionList) {
|
||||
|
||||
$featureSessions.empty()
|
||||
|
||||
createSessionSettings.session_count = sessionList.length;
|
||||
|
||||
if (createSessionSettings.session_count == 0) {
|
||||
createSessionSettings.selectedSessionId = null;
|
||||
$featureSessions.append('<tr><td colspan="4">No sessions</td></tr>')
|
||||
}
|
||||
else {
|
||||
$.each(sessionList, function (i, session) {
|
||||
scheduledSessions[session.id] = session;
|
||||
});
|
||||
|
||||
context._.each(sessionList, function (session) {
|
||||
session.scheduled_start = new Date(session.scheduled_start).toDateString() + ', ' +
|
||||
context.JK.formatUtcTime(new Date(session.scheduled_start), false);
|
||||
|
||||
var time = session.pretty_scheduled_start_with_timezone;
|
||||
var receivedUsers = {}
|
||||
var sessionLink = '/client#/account/sessionDetail/' + session.id
|
||||
var isActive = session.active_music_session && session.active_music_session.participants.length > 0
|
||||
|
||||
if(isActive) {
|
||||
time = 'NOW'
|
||||
|
||||
context._.each(session.active_music_session.participants, function(participant) {
|
||||
receivedUsers[participant.id] = participant.name;
|
||||
})
|
||||
|
||||
sessionLink = '/sessions/' + session.id
|
||||
}
|
||||
else {
|
||||
|
||||
context._.each(session.approved_rsvps, function(approved_rsvp) {
|
||||
receivedUsers[approved_rsvp.id] = approved_rsvp.name;
|
||||
})
|
||||
|
||||
context._.each(session.invitations, function(invitation) {
|
||||
receivedUsers[invitation.receiver_id] = invitation.receiver_name;
|
||||
})
|
||||
}
|
||||
var $row = $('<tr><td class="session-link"></td><td class="session-users"></td><td>' + session.pretty_scheduled_start_short + '</td><td class="actions"></td></tr>')
|
||||
var $sessionCell = $row.find('.session-link')
|
||||
if (isActive) {
|
||||
var $sessionLink = $('<a href="' + sessionLink + '" style="color:#fc0" rel="external">' + session.name + '</a>')
|
||||
$sessionCell.append($sessionLink)
|
||||
context.JK.popExternalLinks($sessionCell)
|
||||
}
|
||||
else
|
||||
{
|
||||
var $sessionLink = $('<a href="' + sessionLink + '" style="color:#fc0">' + session.name + '</a>')
|
||||
$sessionCell.append($sessionLink)
|
||||
}
|
||||
|
||||
var $actionsCell = $row.find('.actions');
|
||||
var $actionsLink = $('<a href="/client#/session/' + session.id + '" style="color:#fc0">join</a>')
|
||||
$actionsCell.append($actionsLink)
|
||||
|
||||
var msg = '';
|
||||
context._.each(receivedUsers, function(value, key) {
|
||||
var url = '/client#/profile/' + key
|
||||
msg += '<a href="' + url +'">' + value + '</a>, '
|
||||
})
|
||||
|
||||
if (msg.length > 0) {
|
||||
msg = msg.slice(0, -2)
|
||||
}
|
||||
var $usersCell = $row.find('.session-users')
|
||||
$usersCell.append(msg)
|
||||
|
||||
$featureSessions.append($row);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function afterLoadScheduledSessions2(sessionList) {
|
||||
|
||||
createSessionSettings.session_count = sessionList.length;
|
||||
|
||||
if (createSessionSettings.session_count == 0) {
|
||||
|
|
@ -157,6 +241,30 @@
|
|||
}
|
||||
}
|
||||
|
||||
function clickQuickStartSolo () {
|
||||
|
||||
logger.debug("user clicked quick start solo")
|
||||
createSessionSettings.createType = '<%= MusicSession::CREATE_TYPE_QUICK_START %>'
|
||||
next();
|
||||
return false;
|
||||
}
|
||||
|
||||
function clickQuickStartPublic () {
|
||||
|
||||
logger.debug("user clicked quick start public")
|
||||
createSessionSettings.createType = '<%= MusicSession::CREATE_TYPE_QUICK_PUBLIC %>'
|
||||
next();
|
||||
return false;
|
||||
}
|
||||
|
||||
function clickStartOrSchedule () {
|
||||
|
||||
logger.debug("user clicked start or scheduled")
|
||||
toggleCreateType(null, '<%= MusicSession::CREATE_TYPE_IMMEDIATE %>')
|
||||
next();
|
||||
return false;
|
||||
}
|
||||
|
||||
function afterLoadUserDetail(userDetail) {
|
||||
var userInstruments = [];
|
||||
$.each(userDetail.instruments, function(index, userInstrument) {
|
||||
|
|
@ -180,23 +288,33 @@
|
|||
});
|
||||
}
|
||||
|
||||
function beforeShowStep1() {
|
||||
function beforeShowStep0() {
|
||||
$scheduledSessions.empty();
|
||||
$noSessionFound.hide();
|
||||
$fetchingSpinner.show();
|
||||
$fetchingSpinnerLabel.show();
|
||||
|
||||
rest.findScheduledSessions({})
|
||||
.done(afterLoadScheduledSessions)
|
||||
.fail(app.ajaxError)
|
||||
.always(function(response) {
|
||||
$fetchingSpinner.hide();
|
||||
$fetchingSpinnerLabel.hide();
|
||||
});
|
||||
.done(afterLoadScheduledSessions)
|
||||
.fail(app.ajaxError)
|
||||
.always(function(response) {
|
||||
$fetchingSpinner.hide();
|
||||
$fetchingSpinnerLabel.hide();
|
||||
});
|
||||
|
||||
rest.getUserDetail()
|
||||
.done(afterLoadUserDetail)
|
||||
.fail(app.ajaxError);
|
||||
.done(afterLoadUserDetail)
|
||||
.fail(app.ajaxError);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function beforeShowStep1() {
|
||||
$scheduledSessions.empty();
|
||||
$noSessionFound.hide();
|
||||
$fetchingSpinner.show();
|
||||
$fetchingSpinnerLabel.show();
|
||||
|
||||
createSessionSettings.startDate = createSessionSettings.startDate || (new Date().toDateString());
|
||||
|
||||
|
|
@ -362,6 +480,10 @@
|
|||
$screen.find('#session-policy-disp').html(createSessionSettings.session_policy);
|
||||
}
|
||||
|
||||
function beforeMoveStep0() {
|
||||
return true;
|
||||
}
|
||||
|
||||
function beforeMoveStep1() {
|
||||
if (createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_START_SCHEDULED%>') {
|
||||
createSessionSettings.selectedSessionId = $scheduledSessions.find('.iradio_minimal.checked input[name="scheduled-session-info"]').attr('data-session-id');
|
||||
|
|
@ -427,6 +549,24 @@
|
|||
createSessionSettings.recurring_mode.label = 'Not Recurring';
|
||||
createSessionSettings.recurring_mode.value = 'once';
|
||||
}
|
||||
else if (createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_PUBLIC %>') {
|
||||
createSessionSettings.genresValues = ['Pop'];
|
||||
createSessionSettings.genres = ['pop'];
|
||||
createSessionSettings.timezone.label = "(GMT-06:00) Central Time (US & Canada)";
|
||||
createSessionSettings.timezone.value = "Central Time (US & Canada),America/Chicago";
|
||||
createSessionSettings.name = "Open Session";
|
||||
createSessionSettings.description = "Feel free to join this session, it's open!";
|
||||
createSessionSettings.notations = [];
|
||||
createSessionSettings.language.label = 'English';
|
||||
createSessionSettings.language.value = 'eng';
|
||||
createSessionSettings.session_policy = 'Standard';
|
||||
createSessionSettings.musician_access.label = "Musicians may join at will";
|
||||
createSessionSettings.musician_access.value = "musicians";
|
||||
createSessionSettings.fans_access.label = "Fans can listen to you while you're playing in session, and can text chat with each other while listening.";
|
||||
createSessionSettings.fans_access.value = "listen-chat-each";
|
||||
createSessionSettings.recurring_mode.label = 'Not Recurring';
|
||||
createSessionSettings.recurring_mode.value = 'once';
|
||||
}
|
||||
else {
|
||||
createSessionSettings.startDate = $screen.find('#session-start-date').val();
|
||||
createSessionSettings.startTime = $startTimeList.val();
|
||||
|
|
@ -660,7 +800,7 @@
|
|||
data.legal_terms = true;
|
||||
data.language = createSessionSettings.language.value;
|
||||
data.band = createSessionSettings.band.value;
|
||||
if (createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_START %>' || createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_IMMEDIATE %>') {
|
||||
if (createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_START %>' || createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_IMMEDIATE %>' || createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_PUBLIC %>') {
|
||||
data.start = new Date().toDateString() + ' ' + context.JK.formatUtcTime(new Date(), false);
|
||||
data.duration = "60";
|
||||
}
|
||||
|
|
@ -748,7 +888,7 @@
|
|||
$('#create-session-buttons .btn-next').off('click');
|
||||
var newSessionId = response.id;
|
||||
|
||||
if (createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_START %>' || createSessionSettings.createType == "immediately") {
|
||||
if (createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_START %>' || createSessionSettings.createType == "immediately" || createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_PUBLIC %>') {
|
||||
joinSession(newSessionId);
|
||||
}
|
||||
else {
|
||||
|
|
@ -766,22 +906,26 @@
|
|||
|
||||
var STEPS = {
|
||||
0: {
|
||||
beforeShow: beforeShowStep0,
|
||||
beforeMove: beforeMoveStep0
|
||||
},
|
||||
1: {
|
||||
beforeShow: beforeShowStep1,
|
||||
beforeMove: beforeMoveStep1
|
||||
},
|
||||
1: {
|
||||
2: {
|
||||
beforeShow: beforeShowStep2,
|
||||
beforeMove: beforeMoveStep2
|
||||
},
|
||||
2: {
|
||||
3: {
|
||||
beforeShow: beforeShowStep3,
|
||||
beforeMove: beforeMoveStep3
|
||||
},
|
||||
3: {
|
||||
4: {
|
||||
beforeShow: beforeShowStep4,
|
||||
beforeMove: beforeMoveStep4
|
||||
},
|
||||
4: {
|
||||
5: {
|
||||
beforeShow: beforeShowStep5,
|
||||
beforeMove: beforeMoveStep5
|
||||
}
|
||||
|
|
@ -850,6 +994,12 @@
|
|||
$createSessionSteps.find("#todo-steps").append($("<div class='clearall'></div>"));
|
||||
$screen.find('#create-session-steps').replaceWith($createSessionSteps);
|
||||
|
||||
if (step == 0) {
|
||||
$sessionHeader.hide()
|
||||
}
|
||||
else {
|
||||
$sessionHeader.show()
|
||||
}
|
||||
beforeShowStep();
|
||||
|
||||
// update buttons
|
||||
|
|
@ -862,6 +1012,10 @@
|
|||
// hide back button if 1st step or last step
|
||||
if (step == 0) {
|
||||
$btnBack.hide();
|
||||
$btnNext.hide();
|
||||
}
|
||||
else {
|
||||
$btnNext.show();
|
||||
}
|
||||
|
||||
if (step == STEP_SELECT_TYPE && createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_START_SCHEDULED%>' && createSessionSettings.selectedSessionId == null) {
|
||||
|
|
@ -907,14 +1061,16 @@
|
|||
function willOptionStartSession() {
|
||||
return createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_START_SCHEDULED%>' ||
|
||||
createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_IMMEDIATE %>' ||
|
||||
createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_START %>';
|
||||
createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_START %>' ||
|
||||
createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_PUBLIC%>';
|
||||
}
|
||||
|
||||
function optionRequiresMultiplayerProfile() {
|
||||
return createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_START_SCHEDULED%>' ||
|
||||
createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_IMMEDIATE %>' ||
|
||||
createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_RSVP %>' ||
|
||||
createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_SCHEDULE_FUTURE %>';
|
||||
createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_SCHEDULE_FUTURE %>' ||
|
||||
createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_PUBLIC %>';
|
||||
}
|
||||
|
||||
function next(event) {
|
||||
|
|
@ -923,7 +1079,7 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
if(createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_START %>') {
|
||||
if(createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_START %>' || createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_PUBLIC %>') {
|
||||
// short-cut added for private sessions; just get it going
|
||||
beforeMoveStep1(); // this will populate the createSessionSettings structure
|
||||
startSessionClicked(); // and this will create the session
|
||||
|
|
@ -939,6 +1095,7 @@
|
|||
|
||||
var valid = beforeMoveStep();
|
||||
if (!valid) {
|
||||
console.log("beforeMoveStep check invalid")
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -947,7 +1104,7 @@
|
|||
}
|
||||
if ($(this).is('.disabled')) return false;
|
||||
|
||||
if ($.inArray(createSessionSettings.createType, ['<%= MusicSession::CREATE_TYPE_START_SCHEDULED%>', '<%= MusicSession::CREATE_TYPE_QUICK_START %>']) > -1)
|
||||
if ($.inArray(createSessionSettings.createType, ['<%= MusicSession::CREATE_TYPE_START_SCHEDULED%>', '<%= MusicSession::CREATE_TYPE_QUICK_START %>', '<%= MusicSession::CREATE_TYPE_QUICK_PUBLIC %>']) > -1)
|
||||
step = STEP_SELECT_CONFIRM;
|
||||
else
|
||||
step++;
|
||||
|
|
@ -1094,6 +1251,8 @@
|
|||
context.JK.helpBubble($sessionPlusMusiciansLabel, 'session-plus-musicians', {}, {offsetParent: $sessionPlusMusiciansLabel.closest('.content-wrapper')});
|
||||
|
||||
$editScheduledSessions.on('click', onEditSessions);
|
||||
|
||||
context.JK.popExternalLinks($screen)
|
||||
}
|
||||
|
||||
function changeSelectedFiles() {
|
||||
|
|
@ -1144,19 +1303,19 @@
|
|||
|
||||
if ($.inArray(createSessionSettings.createType, ['<%= MusicSession::CREATE_TYPE_START_SCHEDULED%>', '<%= MusicSession::CREATE_TYPE_QUICK_START %>']) > -1) {
|
||||
if (step == STEP_SELECT_CONFIRM) {
|
||||
for (var i = 1; i < 4; i++) {
|
||||
$screen.find('#create-session-steps .session-stepnumber[data-step-number="' + i + '"]').hide();
|
||||
}
|
||||
$screen.find('#create-session-steps .session-stepnumber[data-step-number="4"]').html("2");
|
||||
$screen.find('#create-session-steps .session-stepnumber[data-step-number="0"]').on('click', back);
|
||||
$screen.find('#create-session-steps .session-stepnumber[data-step-number="0"]').addClass('session-stephover');
|
||||
}
|
||||
else if (step == STEP_SELECT_TYPE) {
|
||||
for (var i = 2; i < 5; i++) {
|
||||
$screen.find('#create-session-steps .session-stepnumber[data-step-number="' + i + '"]').hide();
|
||||
}
|
||||
$screen.find('#create-session-steps .session-stepnumber[data-step-number="4"]').html("5");
|
||||
var $nextStep = $screen.find('#create-session-steps .session-stepnumber[data-step-number="1"]');
|
||||
$screen.find('#create-session-steps .session-stepnumber[data-step-number="5"]').html("2");
|
||||
$screen.find('#create-session-steps .session-stepnumber[data-step-number="1"]').on('click', back);
|
||||
$screen.find('#create-session-steps .session-stepnumber[data-step-number="1"]').addClass('session-stephover');
|
||||
}
|
||||
else if (step == STEP_SELECT_TYPE) {
|
||||
for (var i = 3; i < 6; i++) {
|
||||
$screen.find('#create-session-steps .session-stepnumber[data-step-number="' + i + '"]').hide();
|
||||
}
|
||||
$screen.find('#create-session-steps .session-stepnumber[data-step-number="5"]').html("5");
|
||||
var $nextStep = $screen.find('#create-session-steps .session-stepnumber[data-step-number="2"]');
|
||||
if (createSessionSettings.createType == '<%= MusicSession::CREATE_TYPE_QUICK_START %>') {
|
||||
$nextStep.on('click', next);
|
||||
$nextStep.addClass('session-stephover')
|
||||
|
|
@ -1176,10 +1335,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
function toggleCreateType(event) {
|
||||
function toggleCreateType(event, checkedType) {
|
||||
|
||||
var $checkedType = $(event.target);
|
||||
var checkedType = $checkedType.attr('info-value');
|
||||
if(!checkedType) {
|
||||
var $checkedType = $(event.target);
|
||||
var checkedType = $checkedType.attr('info-value');
|
||||
}
|
||||
|
||||
if (checkedType == createSessionSettings.createType) return;
|
||||
|
||||
|
|
@ -1293,6 +1454,10 @@
|
|||
|
||||
$inputFiles.on('change', changeSelectedFiles);
|
||||
$btnSelectFiles.on('click', toggleSelectFiles);
|
||||
|
||||
$quickStartSoloBtn.on('click', clickQuickStartSolo)
|
||||
$quickStartOpenBtn.on('click', clickQuickStartPublic)
|
||||
$startOrScheduledBtn.on('click', clickStartOrSchedule)
|
||||
}
|
||||
|
||||
function initialize(invitationDialogInstance, friendSelectorDialog, instrumentSelectorInstance, instrumentRSVPSelectorInstance) {
|
||||
|
|
@ -1332,6 +1497,11 @@
|
|||
$fetchingSpinner = $screen.find('#fetching-spinner');
|
||||
$fetchingSpinnerLabel = $screen.find('#fetching-spinner-label');
|
||||
$noSessionFound = $screen.find("#scheduled-session-not-found");
|
||||
$sessionHeader = $screen.find('.session-header')
|
||||
$quickStartSoloBtn = $screen.find('.quick-start-solo')
|
||||
$quickStartOpenBtn = $screen.find('.quick-start-open')
|
||||
$startOrScheduledBtn = $screen.find('.start-or-schedule')
|
||||
$featureSessions = $screen.find('.featured-sessions tbody')
|
||||
|
||||
initializeControls();
|
||||
events();
|
||||
|
|
|
|||
|
|
@ -17,6 +17,93 @@
|
|||
font-size: 13px;
|
||||
}
|
||||
|
||||
.column {
|
||||
h2 {
|
||||
margin-bottom:20px;
|
||||
}
|
||||
&.column-left {
|
||||
width:60%;
|
||||
float:left;
|
||||
padding-right:10px;
|
||||
@include border_box_sizing;
|
||||
}
|
||||
&.column-right{
|
||||
width:40%;
|
||||
float:left;
|
||||
padding-left:10px;
|
||||
@include border_box_sizing;
|
||||
|
||||
p {
|
||||
margin:0;
|
||||
font-size: 12px;
|
||||
line-height: 125%;
|
||||
width:100%;
|
||||
@include border_box_sizing;
|
||||
}
|
||||
a.button-orange {
|
||||
margin:0 0 15px 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.find-sessions, .view-the-feed {
|
||||
margin-bottom:20px;
|
||||
}
|
||||
.view-the-feed {
|
||||
margin-top:30px;
|
||||
}
|
||||
.view-the-feed-learn-more, .find-session-learn-more {
|
||||
margin-top:10px;
|
||||
font-size:12px;
|
||||
}
|
||||
.quick-option {
|
||||
position:relative;
|
||||
margin-bottom:20px;
|
||||
}
|
||||
.quick-options {
|
||||
margin: 0 0 35px 0;
|
||||
a {
|
||||
width:130px;
|
||||
margin-left:0px;
|
||||
position:absolute;
|
||||
top:5px;
|
||||
left: 0;
|
||||
}
|
||||
p {
|
||||
margin:0;
|
||||
font-size: 12px;
|
||||
line-height: 125%;
|
||||
width:100%;
|
||||
padding-left:176px;
|
||||
@include border_box_sizing;
|
||||
}
|
||||
a.schedule-learn-more {
|
||||
position:static;
|
||||
margin-left:176px;
|
||||
font-size:12px;
|
||||
padding-top:12px;
|
||||
}
|
||||
}
|
||||
.learn-more-sessions-header {
|
||||
margin-top:40px;
|
||||
}
|
||||
.learn-more-sessions {
|
||||
a {
|
||||
display:block;
|
||||
font-size:12px;
|
||||
margin-bottom:3px;
|
||||
}
|
||||
p {
|
||||
margin-bottom:20px !important;
|
||||
}
|
||||
}
|
||||
table.featured-sessions {
|
||||
.actions {
|
||||
text-align:center;
|
||||
}
|
||||
.session-users {
|
||||
a { color:#fc0; }
|
||||
}
|
||||
}
|
||||
.session-header {
|
||||
padding: 15px 35px;
|
||||
.session-stepnumber {
|
||||
|
|
@ -101,7 +188,7 @@
|
|||
padding-left:5px;
|
||||
}
|
||||
|
||||
#session-step-1 {
|
||||
#session-step-2 {
|
||||
ul#create-session-type {
|
||||
margin-left: 0px;
|
||||
list-style: none;
|
||||
|
|
@ -143,7 +230,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
#session-step-2 {
|
||||
#session-step-3 {
|
||||
|
||||
#select-genre {
|
||||
padding-bottom: 10px;
|
||||
|
|
@ -200,7 +287,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
#session-step-3 {
|
||||
#session-step-4 {
|
||||
|
||||
.session-instrumentlist {
|
||||
padding: 10px;
|
||||
|
|
@ -275,7 +362,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
#session-step-4 {
|
||||
#session-step-5 {
|
||||
|
||||
.terms-checkbox {
|
||||
float:left;
|
||||
|
|
@ -305,7 +392,7 @@
|
|||
|
||||
}
|
||||
|
||||
#session-step-5 {
|
||||
#session-step-6 {
|
||||
}
|
||||
|
||||
#session-name-disp {
|
||||
|
|
|
|||
|
|
@ -1,81 +1,64 @@
|
|||
.screen.no-login-required layout="screen" layout-id="home"
|
||||
/ Layout is different if jam_tracks tile available:
|
||||
-jamtracks=Rails.configuration.jam_tracks_available || (current_user && current_user.admin)
|
||||
-if (jamtracks)
|
||||
-small_tile_size="2.4"
|
||||
-column_positions=["0.0,1", "2.4,1", "4.8,1", "7.2,1", "9.6,1"]
|
||||
-else
|
||||
-small_tile_size="3.0"
|
||||
-column_positions=["0,1", "3,1", "0,1", "6,1", "9,1"]
|
||||
/ Grid is the count of the smallest spaces, then
|
||||
/ individual spells span those spaces
|
||||
-if @nativeClient
|
||||
.grid layout-grid="2x12"
|
||||
.homecard.createsession layout-grid-columns="4" layout-grid-position="0,0" layout-grid-rows="1" layout-link="createSession" type="createSession" class="#{logged_in_not_logged_in_class}"
|
||||
h2 create session
|
||||
h2 sessions
|
||||
.homebox-info
|
||||
/! 4 friends online, 2 currently in sessions
|
||||
.homecard.findsession layout-grid-columns="4" layout-grid-position="4,0" layout-grid-rows="1" layout-link="findSession" type="findSession" class="#{logged_in_not_logged_in_class}"
|
||||
h2 find session
|
||||
.homecard.jamclass layout-grid-columns="4" layout-grid-position="4,0" layout-grid-rows="1" layout-link="jamclass" type="jamclass" class="#{logged_in_not_logged_in_class}"
|
||||
h2 jamclass
|
||||
.homebox-info
|
||||
/! 1 session invitation, 19 public sessions active
|
||||
.homecard.feed layout-grid-columns="4" layout-grid-position="8,0" layout-grid-rows="1" layout-link="feed" class="#{logged_in_not_logged_in_class}"
|
||||
h2 feed
|
||||
.homecard.jamtrack layout-grid-columns="4" layout-grid-position="8,0" layout-grid-rows="1" layout-link="jamtrack" type="jamtrack"
|
||||
h2 jamtracks
|
||||
.homebox-info
|
||||
/! 4 friends online, 2 currently in sessions
|
||||
.homecard.musicians layout-grid-columns=small_tile_size layout-grid-position=column_positions[0] layout-grid-rows="1" layout-link="musicians" class="#{logged_in_not_logged_in_class}"
|
||||
/! 5 followers, 3 following
|
||||
.homecard.musicians layout-grid-columns="3" layout-grid-position="0,1" layout-grid-rows="1" layout-link="musicians" class="#{logged_in_not_logged_in_class}"
|
||||
h2 musicians
|
||||
.homebox-info
|
||||
/! 5 followers, 3 following
|
||||
.homecard.bands layout-grid-columns=small_tile_size layout-grid-position=column_positions[1] layout-grid-rows="1" layout-link="bands" class="#{logged_in_not_logged_in_class}"
|
||||
.homecard.bands layout-grid-columns="3" layout-grid-position="3,1" layout-grid-rows="1" layout-link="bands" class="#{logged_in_not_logged_in_class}"
|
||||
h2 bands
|
||||
.homebox-info
|
||||
/! 1 session invitation, 19 public sessions active
|
||||
-if jamtracks
|
||||
.homecard.jamtrack layout-grid-columns=small_tile_size layout-grid-position=column_positions[2] layout-grid-rows="1" layout-link="jamtrack"
|
||||
h2 jamtracks
|
||||
.homebox-info
|
||||
/! 5 followers, 3 following
|
||||
.homecard.profile layout-grid-columns=small_tile_size layout-grid-position=column_positions[3] layout-grid-rows="1" class="#{logged_in_not_logged_in_class}"
|
||||
.homecard.profile layout-grid-columns="3" layout-grid-position="6,1" layout-grid-rows="1" class="#{logged_in_not_logged_in_class}"
|
||||
h2 profile
|
||||
.homebox-info
|
||||
/! 5 followers, 3 following
|
||||
.homecard.account layout-grid-columns=small_tile_size layout-grid-position=column_positions[4] layout-grid-rows="1" layout-link="account" class="#{logged_in_not_logged_in_class}"
|
||||
.homecard.account layout-grid-columns="3" layout-grid-position="9,1" layout-grid-rows="1" layout-link="account" class="#{logged_in_not_logged_in_class}"
|
||||
h2 account
|
||||
.homebox-info
|
||||
/! free service level
|
||||
-else
|
||||
.grid layout-grid="2x12"
|
||||
.homecard.createsession layout-grid-columns="4" layout-grid-position="0,0" layout-grid-rows="1" layout-link="createSession" type="createSession" class="#{logged_in_not_logged_in_class}"
|
||||
h2 create session
|
||||
h2 sessions
|
||||
.homebox-info
|
||||
/! 4 friends online, 2 currently in sessions
|
||||
.homecard.findsession layout-grid-columns="4" layout-grid-position="4,0" layout-grid-rows="1" layout-link="findSession" type="findSession" class="#{logged_in_not_logged_in_class}"
|
||||
h2 find session
|
||||
/! 4 friends online, 2 currently in sessions
|
||||
.homecard.jamclass layout-grid-columns="4" layout-grid-position="4,0" layout-grid-rows="1" layout-link="jamclass" type="jamclass" class="#{logged_in_not_logged_in_class}"
|
||||
h2 jamclass
|
||||
.homebox-info
|
||||
/! 1 session invitation, 19 public sessions active
|
||||
.homecard.feed layout-grid-columns="4" layout-grid-position="8,0" layout-grid-rows="1" layout-link="feed" class="#{logged_in_not_logged_in_class}"
|
||||
h2 feed
|
||||
/! 1 session invitation, 19 public sessions active
|
||||
.homecard.jamtrack layout-grid-columns="4" layout-grid-position="8,0" layout-grid-rows="1" layout-link="jamtrack" type="jamtrack"
|
||||
h2 jamtracks
|
||||
.homebox-info
|
||||
/! 4 friends online, 2 currently in sessions
|
||||
.homecard.musicians layout-grid-columns=small_tile_size layout-grid-position=column_positions[0] layout-grid-rows="1" layout-link="musicians" class="#{logged_in_not_logged_in_class}"
|
||||
/! 5 followers, 3 following
|
||||
.homecard.musicians layout-grid-columns="3" layout-grid-position="0,1" layout-grid-rows="1" layout-link="musicians" class="#{logged_in_not_logged_in_class}"
|
||||
h2 musicians
|
||||
.homebox-info
|
||||
/! 5 followers, 3 following
|
||||
.homecard.bands layout-grid-columns=small_tile_size layout-grid-position=column_positions[1] layout-grid-rows="1" layout-link="bands" class="#{logged_in_not_logged_in_class}"
|
||||
/! 5 followers, 3 following
|
||||
.homecard.bands layout-grid-columns="3" layout-grid-position="3,1" layout-grid-rows="1" layout-link="bands" class="#{logged_in_not_logged_in_class}"
|
||||
h2 bands
|
||||
.homebox-info
|
||||
-if jamtracks
|
||||
/! 1 session invitation, 19 public sessions active
|
||||
.homecard.jamtrack layout-grid-columns=small_tile_size layout-grid-position=column_positions[2] layout-grid-rows="1" layout-link="jamtrack"
|
||||
h2 jamtracks
|
||||
.homebox-info
|
||||
/! 5 followers, 3 following
|
||||
.homecard.profile layout-grid-columns=small_tile_size layout-grid-position=column_positions[3] layout-grid-rows="1" class="#{logged_in_not_logged_in_class}"
|
||||
/! 1 session invitation, 19 public sessions active
|
||||
.homecard.profile layout-grid-columns="3" layout-grid-position="6,1" layout-grid-rows="1" class="#{logged_in_not_logged_in_class}"
|
||||
h2 profile
|
||||
.homebox-info
|
||||
/! 5 followers, 3 following
|
||||
.homecard.account layout-grid-columns=small_tile_size layout-grid-position=column_positions[4] layout-grid-rows="1" layout-link="account" class="#{logged_in_not_logged_in_class}"
|
||||
/! 5 followers, 3 following
|
||||
.homecard.account layout-grid-columns="3" layout-grid-position="9,1" layout-grid-rows="1" layout-link="account" class="#{logged_in_not_logged_in_class}"
|
||||
h2 account
|
||||
.homebox-info
|
||||
/! free service level
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<%= image_tag "content/icon_add.png", :size => "19x19" %>
|
||||
</div>
|
||||
|
||||
<h1>create session</h1>
|
||||
<h1>sessions</h1>
|
||||
|
||||
<%= render "screen_navigation" %>
|
||||
<div class="clearall"></div>
|
||||
|
|
@ -21,19 +21,60 @@
|
|||
<!-- left column -->
|
||||
<div class="session-wrapper">
|
||||
<div id="session-step-1" class="create-session-wizard" layout-wizard-step="0">
|
||||
<div class="column column-left">
|
||||
<h2>start a session</h2>
|
||||
<div class="quick-options">
|
||||
<div class="quick-option"><a class="button-orange quick-start-solo" href="#" >QUICK START SOLO</a><p>Use this button to quick start a private session just for yourself. Good for solo practice and gear testing.</p></div>
|
||||
<div class="quick-option"><a class="button-orange quick-start-open" href="#" >QUICK START OPEN</a><p>Use this button to quick start an open session that anyone can join to play with you, and that fans can listen to.</p></div>
|
||||
<div class="quick-option"><a class="button-orange start-or-schedule" href="#" >START OR SCHEDULE</a><p>Use this button start a wizard that will let you have more control over your session. Schedule future sessions. Start private sessions. Invite other musicians. And lots more...</p><a class="schedule-learn-more" href="https://jamkazam.desk.com/customer/portal/articles/1599977-creating-a-session-to-play-alone-or-with-others" rel="external">learn more</a></div>
|
||||
</div>
|
||||
<h2>featured sessions</h2>
|
||||
<table class="jamtable featured-sessions">
|
||||
<thead>
|
||||
<tr><th>SESSION</th><th>MUSICIANS</th><th>DATE/TIME</th><th>ACTIONS</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="column column-right">
|
||||
<h2>check out other sessions</h2>
|
||||
|
||||
<div class="find-sessions">
|
||||
<a href="/client#/findSession" class="button-orange">FIND SESSIONS</a>
|
||||
<p>
|
||||
Use the Find Sessions feature to browse through current and future/scheduled sessions you can join to play with other musicians.
|
||||
</p>
|
||||
<a class="find-session-learn-more" href="https://jamkazam.desk.com/customer/en/portal/articles/1599978-finding-a-session-to-play-with-others" rel="external">learn more</a>
|
||||
</div>
|
||||
|
||||
<div class="view-the-feed">
|
||||
<a href="/client#/feed" class="button-orange">VIEW THE FEED</a>
|
||||
<p>
|
||||
Use the Feed to check out current and past sessions and session recordings, and to listen to current sessions.
|
||||
</p>
|
||||
<a class="view-the-feed-learn-more" href="https://jamkazam.desk.com/customer/portal/articles/2404708-checking-out-current-past-sessions" rel="external">learn more</a>
|
||||
</div>
|
||||
|
||||
<h2 class="learn-more-sessions-header">learn more about online sessions</h2>
|
||||
<div class="learn-more-sessions">
|
||||
<p>Use the following links to learn more:</p>
|
||||
<a href="https://jamkazam.desk.com/customer/en/portal/topics/564807-gear-recommendations-to-play-in-online-sessions/articles" rel="external">System Requirements & Gear Recommendations</a>
|
||||
<a href="https://jamkazam.desk.com/customer/en/portal/topics/930331-setting-up-your-gear-to-play-in-online-sessions/articles" rel="external">Setting Up Your Gear</a>
|
||||
<a href="https://jamkazam.desk.com/customer/en/portal/topics/673198-key-features-to-use-for-online-sessions/articles" rel="external">Key Features to Use for Online Sessions</a>
|
||||
<a href="https://jamkazam.desk.com/customer/en/portal/topics/930494-key-features-to-use-beyond-online-sessions/articles" rel="external">Key Features to Use Beyond Online Sessions</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="session-step-2" class="create-session-wizard" layout-wizard-step="1">
|
||||
<div class="w60 left">
|
||||
<h3>When do you want to schedule and play in this session?</h3>
|
||||
<br />
|
||||
|
||||
<div class="icheckbuttons">
|
||||
<ul id="create-session-type">
|
||||
<li create-type="<%= MusicSession::CREATE_TYPE_START_SCHEDULED %>">
|
||||
<input type="radio" name="session-when" id="session-when-start-scheduled" checked="checked" info-value="start-scheduled" />
|
||||
<label for="session-when-start-scheduled" class="radio-text">
|
||||
I have already scheduled a session, and I want to start it now
|
||||
</label>
|
||||
<div class="clearall"></div>
|
||||
</li>
|
||||
<li create-type="<%= MusicSession::CREATE_TYPE_SCHEDULE_FUTURE %>">
|
||||
<input type="radio" name="session-when" id="session-when-schedule-future" info-value="schedule-future" />
|
||||
<label for="session-when-schedule-future" class="radio-text">
|
||||
|
|
@ -55,13 +96,6 @@
|
|||
</label>
|
||||
<div class="clearall"></div>
|
||||
</li>
|
||||
<li create-type="<%= MusicSession::CREATE_TYPE_QUICK_START %>">
|
||||
<input type="radio" name="session-when" id="session-when-quick-start" info-value="quick-start" />
|
||||
<label for="session-when-quick-start" class="radio-text">
|
||||
I want to quick start a test session just for me
|
||||
</label>
|
||||
<div class="clearall"></div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="session-when-info info-box">
|
||||
|
|
@ -159,7 +193,7 @@
|
|||
</div>
|
||||
<div class="clearall"></div>
|
||||
</div>
|
||||
<div id="session-step-2" class="create-session-wizard" layout-wizard-step="1">
|
||||
<div id="session-step-3" class="create-session-wizard" layout-wizard-step="2">
|
||||
<div class="w100">
|
||||
<div id="divSessionGenre" class="left w40">
|
||||
<h3 class="mb5">Please select a genre for your session:</h3>
|
||||
|
|
@ -221,7 +255,7 @@
|
|||
<div class="clearall"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="session-step-3" class="create-session-wizard" layout-wizard-step="2">
|
||||
<div id="session-step-4" class="create-session-wizard" layout-wizard-step="3">
|
||||
<div class="w45 left">
|
||||
<div id="create-session-invite-musicians"></div>
|
||||
<div class="plus-any-interested-section">
|
||||
|
|
@ -266,7 +300,7 @@
|
|||
</div>
|
||||
<div class="clearall"></div>
|
||||
</div>
|
||||
<div id="session-step-4" class="create-session-wizard" layout-wizard-step="3">
|
||||
<div id="session-step-5" class="create-session-wizard" layout-wizard-step="4">
|
||||
<div class="left w55 f13">
|
||||
<div class="icheckbuttons">
|
||||
<ul id="session-policy">
|
||||
|
|
@ -380,7 +414,7 @@
|
|||
</div>
|
||||
<div class="clearall"></div>
|
||||
</div>
|
||||
<div id="session-step-5" class="create-session-wizard" layout-wizard-step="4">
|
||||
<div id="session-step-6" class="create-session-wizard" layout-wizard-step="5">
|
||||
<div class="left w55">
|
||||
<h3>When are you starting your session?</h3>
|
||||
<div id="session-start-type-disp" class="mt5"></div>
|
||||
|
|
@ -435,15 +469,15 @@
|
|||
<!-- Current step display template -->
|
||||
<script type="text/template" id="template-session-steps">
|
||||
<div class="sessionsteps-inner">
|
||||
<a href='#' class="session-stepnumber left" data-step-number="0">1</a>
|
||||
<a href='#' class="session-stepnumber left" data-step-number="1">1</a>
|
||||
<div class="session-step-title">When Is Your Session?</div>
|
||||
<a href='#' class="session-stepnumber left" data-step-number="1">2</a>
|
||||
<a href='#' class="session-stepnumber left" data-step-number="2">2</a>
|
||||
<div class="session-step-title">What Are You Playing?</div>
|
||||
<a href='#' class="session-stepnumber left" data-step-number="2">3</a>
|
||||
<a href='#' class="session-stepnumber left" data-step-number="3">3</a>
|
||||
<div class="session-step-title">Who Is Playing With You?</div>
|
||||
<a href='#' class="session-stepnumber left" data-step-number="3">4</a>
|
||||
<a href='#' class="session-stepnumber left" data-step-number="4">4</a>
|
||||
<div class="session-step-title">What Are Your Policies?</div>
|
||||
<a href='#' class="session-stepnumber left" data-step-number="4">5</a>
|
||||
<a href='#' class="session-stepnumber left" data-step-number="5">5</a>
|
||||
<div class="session-step-title">Review & Confirm</div>
|
||||
<div class="clearall"></div>
|
||||
</div>
|
||||
|
|
@ -451,9 +485,6 @@
|
|||
|
||||
<script type="text/template" id="template-session-buttons">
|
||||
<div class="sessionbuttons-holder">
|
||||
<div class="left-buttons">
|
||||
<a class="button-grey btn-help" href="http://jamkazam.desk.com/" target="_blank">HELP</a>
|
||||
</div>
|
||||
<div class="right-buttons">
|
||||
<a class="button-grey btn-back" href="#">BACK</a>
|
||||
<a class="button-orange btn-next" href="#">NEXT</a>
|
||||
|
|
|
|||
Loading…
Reference in New Issue