VRFS-986 recording landing page work

This commit is contained in:
Brian Smith 2014-01-14 02:49:21 -05:00
parent 59c1b02e1c
commit 59f6e10e55
23 changed files with 623 additions and 203 deletions

3
.gitignore vendored
View File

@ -1,4 +1,5 @@
.idea
*~
*.swp
HTML
HTML
.DS_Store

View File

@ -88,4 +88,4 @@ icecast.sql
home_page_promos.sql
mix_job_watch.sql
music_session_constraints.sql
mixes_drop_manifest_add_retry.sql
ms_recording_anonymous_likes.sql

View File

@ -0,0 +1,23 @@
alter table music_sessions_comments
add column ip_address inet;
alter table music_sessions_likers
add column ip_address inet;
alter table music_sessions_likers
alter column liker_id drop not null;
alter table recordings_comments
add column ip_address inet;
alter table recordings_likers
add column ip_address inet;
alter table recordings_likers
alter column liker_id drop not null;
alter table recordings_plays
add column ip_address inet;
alter table recordings_plays
alter column player_id drop not null;

View File

@ -5,6 +5,8 @@ module JamRuby
self.primary_key = 'id'
default_scope order('created_at DESC')
belongs_to :music_session, :class_name => "JamRuby::MusicSessionHistory", :foreign_key => "music_session_id"
belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "creator_id"

View File

@ -5,6 +5,8 @@ module JamRuby
self.primary_key = 'id'
default_scope order('created_at DESC')
belongs_to :recording, :class_name => "JamRuby::Recording", :foreign_key => "recording_id"
belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "creator_id"

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -71,6 +71,7 @@
// initially show avatar
function showAvatar() {
var photoUrl = context.JK.resolveAvatarUrl(userMe.photo_url);
logger.debug("photoUrl=" + photoUrl);
$('#header-avatar').attr('src', photoUrl);
}

View File

@ -0,0 +1,8 @@
(function(context,$) {
"use strict";
context.JK = context.JK || {};
})(window, jQuery)

View File

@ -15,4 +15,6 @@
//= require landing/init
//= require landing/signup
//= require web/downloads
//= require web/congratulations
//= require web/congratulations
//= require web/recordings
//= require web/sessions

View File

@ -7,12 +7,18 @@
}
#profile {
width:auto;
float:right;
height:64px;
float: right;
height: 54px;
margin-top: 30px;
text-align: right;
ul {
margin-bottom:0;
}
.signin {
position:relative;
margin-top:40px;
text-decoration: underline;
cursor: auto;
}
}
@ -35,7 +41,7 @@
border-radius:26px;
}
#user {
.user {
margin:18px 0px 0px 10px;
font-size:20px;
font-weight:200;

View File

@ -2,6 +2,10 @@ html {
height:100%;
}
p, div {
white-space: normal;
}
body.web {
background-repeat: repeat-x;
margin:0 !important;
@ -10,165 +14,240 @@ body.web {
overflow: visible !important;
width:auto !important;
#web-container {
padding:3% 0;
.logo-home {
width: 298px;
margin-top: 30px;
display: inline-block;
}
.landing-tag {
display:inline-block;
margin-left:70px;
width:400px;
}
.landing-tag h1 {
color:#ed3718;
font-size:26px;
font-weight:300;
}
.landing-content {
background-color:black;
width:100%;
padding-bottom:15px;
/*position:relative;
width:100%;
min-height: 366px;
background-color:black;
padding-top:20px;*/
}
div.wrapper {
white-space: nowrap;
p, ul {
color:#999;
line-height:160%;
margin-bottom:20px;
width:90%;
white-space:normal;
font-size:16px;
}
h2 {
font-weight:300;
}
.content-wrapper {
border-bottom: medium none;
padding: 0;
}
.black-bar{
position:relative;
width:100%;
min-height: 366px;
background-color:black;
padding-top:20px;
}
.black-bar-inner {
width:1100px;
margin: 0 auto;
position:relative;
// all custom CSS for the register page goes here
.register-page {
.register-container {
padding:10px;
}
input.register-musician {
}
.actions {
margin-top:20px;
a.button-grey {
line-height:15px; // WHY is this not universal
}
}
.error {
padding: 5px 12px 5px 5px;
margin-left:-5px;
margin-right:-12px;
}
input.register-fan {
margin-left:20px;
}
input[type=text], input[type=password] {
margin-top:1px;
width:100%;
}
select {
width:100%;
}
.right-side {
margin-left:25px;
}
.register-left {
select {
width:104%;
}
div.field {
margin-top:31px;
width:43%;
float:left;
}
}
.register-right {
margin-top:40px;
table {
border-collapse:separate;
border-spacing:6px;
}
label.instruments {
margin-bottom:2px;
}
div.field {
margin-top:15px;
}
a.tos {
text-decoration: underline;
}
.ftue-instrumentlist {
width:100%;
}
}
}
}
.after-black-bar {
position:relative;
background-color:#262626;
width:1100px;
margin:0 auto;
.after-black-bar-inner {
background-color:#262626;
position:absolute;
left:0;
right:0;
}
}
}
.header {
width:1100px;
margin:0 auto;
.logo-home {
width: 298px;
margin-top: 30px;
display: inline-block;
float:left;
}
white-space:nowrap;
position:relative;
}
#profile {
.landing-sidebar {
width:350px;
background:#353535;
border:solid 1px #ed3718;
position:absolute;
top:-80px;
right:0;
top:30px;
right:0px;
padding:25px;
padding-top:0px;
line-height:130%;
}
ul {
margin-bottom:0;
.landing-sidebar h2 {
font-size:18px !important;
line-height:normal;
color:#fff;
}
.landing-band {
float:left;
text-align:center;
width: 115px;
margin-right:25px;
font-size:17px;
color:#fff;
}
.landing-avatar {
padding:2px;
width:110px;
height:110px;
background-color:#ed3618;
-webkit-border-radius:57px;
-moz-border-radius:57px;
border-radius:57px;
margin-bottom:10px;
}
.landing-avatar img {
width:110px;
height:110px;
-webkit-border-radius:55px;
-moz-border-radius:55px;
border-radius:55px;
}
.landing-details {
float:left;
width:515px;
font-size:14px;
font-weight:400;
color:#666;
}
.landing-details a {
text-decoration:none;
color:#ccc;
}
.landing-details a:hover {
color:#fff;
}
.landing-content h2 {
font-size:24px;
color:#ccc;
font-weight:200;
}
.landing-comments {
margin-left:140px;
width:515px;
}
.landing-comments a {
text-decoration:none;
font-weight:bold;
color:#ED3618;
}
.landing-comment-scroller {
height:470px;
overflow:auto;
}
.landing .cta {
margin-top:25px;
}
.cta {
margin-top:40px;
text-align:center;
width:345px;
font-size:12px;
}
white-space: nowrap;
p, ul {
color:#999;
line-height:160%;
margin-bottom:20px;
width:90%;
white-space:normal;
font-size:16px;
}
h2 {
font-weight:300;
}
.content-wrapper {
border-bottom: medium none;
padding: 0;
}
// all custom CSS for the register page goes here
.register-page {
.register-container {
padding:10px;
}
input.register-musician {
}
.actions {
margin-top:20px;
a.button-grey {
line-height:15px; // WHY is this not universal
}
}
.error {
padding: 5px 12px 5px 5px;
margin-left:-5px;
margin-right:-12px;
}
input.register-fan {
margin-left:20px;
}
input[type=text], input[type=password] {
margin-top:1px;
width:100%;
}
select {
width:100%;
}
.right-side {
margin-left:25px;
}
.register-left {
select {
width:104%;
}
div.field {
margin-top:31px;
width:43%;
float:left;
}
}
.register-right {
margin-top:40px;
table {
border-collapse:separate;
border-spacing:6px;
}
label.instruments {
margin-bottom:2px;
}
div.field {
margin-top:15px;
}
a.tos {
text-decoration: underline;
}
.ftue-instrumentlist {
width:100%;
}
}
}
@ -215,11 +294,6 @@ body.web {
}
}
#landing-container {
padding: 3% 0;
position:relative;
text-align: center;
}
.signin-overlay {
position:relative;

View File

@ -0,0 +1,56 @@
.feed-entry .recording-controls, .feed-entry .session-controls, .landing-details .recording-controls {
margin-top:0px;
margin-bottom:5px;
padding:8px 5px 8px 10px;
width:98%;
}
.recording-position {
display:inline-block;
width:80%;
margin-left:-20px;
font-family:Arial, Helvetica, sans-serif;
font-size:11px;
height:18px;
vertical-align:top;
}
.landing-details .recording-position {
width:100%;
}
.recording-time {
display:inline-block;
height:16px;
vertical-align:top;
margin-top:4px;
}
.landing-details .recording-current {
top:8px;
}
.recording-playback {
display:inline-block;
background-image:url(../images/content/bkg_playcontrols.png);
background-repeat:repeat-x;
position:relative;
width:70%;
height:16px;
margin-top:2px;
}
.recording-slider {
position:absolute;
left:25%;
top:0px;
}
.recording-current {
font-family:Arial, Helvetica, sans-serif;
display:inline-block;
font-size:18px;
position:absolute;
top:3px;
right:4px;
}

View File

@ -0,0 +1,2 @@

View File

@ -9,4 +9,6 @@
*= require client/invitationDialog
*= require web/main
*= require web/footer
*= require web/recordings
#= require web/sessions
*/

View File

@ -3,7 +3,7 @@ require 'aws-sdk'
class ApiMusicSessionsController < ApiController
# have to be signed in currently to see this screen
before_filter :api_signed_in_user
before_filter :api_signed_in_user, :except => [ :add_like ]
before_filter :lookup_session, only: [:show, :update, :delete, :claimed_recording_start, :claimed_recording_stop]
skip_before_filter :api_signed_in_user, only: [:perf_upload]
@ -251,6 +251,7 @@ class ApiMusicSessionsController < ApiController
comment.music_session_id = params[:id]
comment.creator_id = params[:user_id]
comment.comment = params[:comment]
comment.ip_address = request.remote_ip
comment.save
if comment.errors.any?
@ -272,6 +273,7 @@ class ApiMusicSessionsController < ApiController
liker = MusicSessionLiker.new
liker.music_session_id = params[:id]
liker.liker_id = params[:user_id]
liker.ip_address = request.remote_ip
liker.save
if liker.errors.any?

View File

@ -1,6 +1,6 @@
class ApiRecordingsController < ApiController
before_filter :api_signed_in_user
before_filter :api_signed_in_user, :except => [ :add_like, :add_play ]
before_filter :look_up_recording, :only => [ :show, :stop, :claim, :discard, :keep ]
before_filter :parse_filename, :only => [ :download, :upload_next_part, :upload_sign, :upload_part_complete, :upload_complete ]
@ -97,6 +97,7 @@ class ApiRecordingsController < ApiController
comment.recording_id = params[:id]
comment.creator_id = params[:user_id]
comment.comment = params[:comment]
comment.ip_address = request.remote_ip
comment.save
if comment.errors.any?
@ -118,6 +119,7 @@ class ApiRecordingsController < ApiController
liker = RecordingLiker.new
liker.recording_id = params[:id]
liker.liker_id = params[:user_id]
liker.ip_address = request.remote_ip
liker.save
if liker.errors.any?
@ -139,6 +141,7 @@ class ApiRecordingsController < ApiController
play = RecordingPlay.new
play.recording_id = params[:id]
play.player_id = params[:user_id]
play.ip_address = request.remote_ip
play.save
if play.errors.any?
@ -209,10 +212,7 @@ class ApiRecordingsController < ApiController
end
end
private
def parse_filename
@recorded_track = RecordedTrack.find_by_recording_id_and_client_track_id!(params[:id], params[:track_id])
raise PermissionError, ValidationMessages::PERMISSION_VALIDATION_ERROR unless @recorded_track.recording.has_access?(current_user)

View File

@ -0,0 +1,10 @@
class RecordingsController < ApplicationController
respond_to :html
def show
@claimed_recording = ClaimedRecording.find(params[:id])
render :layout => "web"
end
end

View File

@ -1,13 +1,13 @@
# I'm not sure this is right at all. The idea is to bring in all the stuff you would need to play the tracks.
# I don't think I need to include URLs since that's handled by syncing. This is jsut to make the metadata
# I don't think I need to include URLs since that's handled by syncing. This is just to make the metadata
# depictable.
object @claimed_recording
attributes :id, :name, :description, :is_public, :is_downloadable
attributes :id, :name, :description, :is_public, :is_downloadable, :genre_id
child(:recording => :recording) {
attributes :id, :created_at, :duration
attributes :id, :created_at, :duration, :comment_count, :like_count, :play_count
child(:band => :band) {
attributes :id, :name
}
@ -19,9 +19,20 @@ child(:recording => :recording) {
child(:recorded_tracks => :recorded_tracks) {
attributes :id, :fully_uploaded, :url, :client_track_id, :client_id, :instrument_id
child(:user => :user) {
attributes :id, :first_name, :last_name, :city, :state, :country, :photo_url
}
child(:user => :user) {
attributes :id, :first_name, :last_name, :city, :state, :country, :photo_url
}
}
}
child(:band => :band) {
attributes :id, :name, :photo_url
}
child(:comments => :comments) {
attributes :comment, :created_at
child(:user => :creator) {
attributes :id, :first_name, :last_name, :photo_url
}
}
}

View File

@ -19,30 +19,33 @@
<%= javascript_include_tag "web/web" %>
<div class="dialog-overlay op70" style="display:none; width:100%; height:100%; z-index:99;"></div>
<div id="web-container">
<div class="wrapper">
<div class="header">
<div class="logo-home">
<%= link_to root_path do %>
<%= image_tag("web/logo_home.png", :alt => "JamKazam logo", :size => "298x54") %>
<% end %>
</div>
<div class="logo-home">
<%= link_to root_path do %>
<%= image_tag("web/logo_home.png", :alt => "JamKazam logo", :size => "298x54") %>
<% end %>
</div>
<br clear="all">
<div class="black-bar">
<div class="black-bar-inner">
<%= render "users/user_dropdown" %>
<%= yield %>
</div>
<div class="landing-tag">
<h1>Play music together over the Internet as if in the same room</h1>
</div>
<div class="after-black-bar">
<%= yield(:after_black_bar) %>
<%= render "users/user_dropdown" %>
<br clear="all" /><br /><br />
</div>
<div class="landing-content">
<div class="wrapper">
<br /><br />
<%= yield %>
</div>
</div>
<div class="wrapper">
<%= yield(:after_black_bar) %>
</div>
<div id="footer-container">
<%= render "clients/footer" %>
@ -75,8 +78,6 @@
})
</script>
</div>
<%= render "shared/ga" %>
<!-- version info: <%= version %> -->
</body>

View File

@ -0,0 +1,211 @@
<% provide(:title, "#{@claimed_recording.name}") %>
<div class="landing-band">
<div class="landing-avatar">
<img src="images/content/avatar_band4.jpg" alt=""/>
</div>
Raven &amp; The Blackbirds
</div>
<div class="landing-details">
<div class="left f20 orange"><strong>RECORDING</strong></div>
<div class="right f14 grey">Yesterday, 11:10 am</div>
<br clear="all" /><br />
<h2 class="left">You Hurt Me Bad</h2>
<div class="right"><a href="#"><img src="images/content/icon_like.png" width="12" height="12" alt=""/> LIKE</a>&nbsp;&nbsp;&nbsp;<a href="#"><img src="images/content/icon_share.png" width="13" height="15" alt=""/> SHARE</a></div>
<br clear="all" />
A sweet and sexy ballad about broken hearts and bad girls.<br />
<br />
<!-- timeline and controls -->
<div class="w100">
<!-- recording play controls -->
<div class="recording-controls">
<!-- play button -->
<a class="left" href="#"><img src="images/content/icon_playbutton.png" width="20" height="20" /></a>
<!-- playback position -->
<div class="recording-position">
<!-- start time -->
<div class="recording-time">0:00</div>
<!-- playback background & slider -->
<div class="recording-playback">
<div class="recording-slider"><img src="images/content/slider_playcontrols.png" width="5" height="16" /></div>
</div>
<!-- end time -->
<div class="recording-time">4:59</div>
</div>
<!-- end playback position -->
<!-- current playback time -->
<div class="recording-current">
1:23
</div>
</div>
<!-- end recording play controls -->
<!-- genre and social -->
<div class="left white">Blues</div>
<div class="right white">80 <img src="images/content/icon_arrow.png" width="7" height="12" align="absmiddle" />&nbsp;&nbsp;&nbsp;&nbsp;12 <img src="images/content/icon_comment.png" width="13" height="12" align="absmiddle" />&nbsp;&nbsp;&nbsp;&nbsp;35 <img src="images/content/icon_like.png" width="12" height="12" align="absmiddle" /></div>
</div>
<br clear="all" /><br />
<table class="w100">
<tr>
<td><div class="avatar-small m0"><img src="images/shared/avatar_creepyeye.jpg" alt=""/></div></td>
<td><div class="lightgrey f15 ml10">Jimmy Johnson</div></td>
<td class="p10"><div class="ml10"><img src="images/shared/icon_guitar_256.png" width="32" alt=""/></div></td>
<td width="5%"></td>
<td><div class="avatar-small m0"><img src="images/shared/avatar_silverfox.jpg" alt=""/></div></td>
<td><div class="lightgrey f15 ml10">Perry Jon Blazinsky</div></td>
<td class="p10"><div class="ml10"><img src="images/shared/icon_keyboard_256.png" width="32" alt=""/></div></td>
</tr>
<tr>
<td><div class="avatar-small m0"><img src="images/shared/avatar_saltnpepper.jpg" alt=""/></div></td>
<td><div class="lightgrey f15 ml10">Knox Pitzer</div></td>
<td class="p10"><div class="ml10"><img src="images/shared/icon_vocals_256.png" width="32" alt=""/></div></td>
<td width="5%"></td>
<td><div class="avatar-small m0"><img src="images/content/avatar_generic.png" alt=""/></div></td>
<td><div class="lightgrey f15 ml10">Coby Jones</div></td>
<td class="p10"><div class="ml10"><img src="images/shared/icon_bass_256.png" width="32" alt=""/></div></td>
</tr>
</table>
</div>
<br clear="all" />
<!-- sidebar -->
<div class="landing-sidebar"><br />
<h2>More by Raven &amp; The Blackbirds:</h2><br />
<div class="grey f16"><em>Now:</em></div>
<div class="f16"><span class="teal"><strong>SESSION:</strong></span> <a href="#" class="white">Live Session in Progress</a></div>
<div class="f13 lightgrey">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis.</div>
<br /><br />
<div class="grey f16"><em>Yesterday:</em></div>
<div class="f16"><span class="orange"><strong>RECORDING:</strong></span> <a href="#" class="white">You Hurt Me Bad</a></div>
<div class="f13 lightgrey">Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat. Sed quis velit. Nulla facilisi. </div>
<br /><br />
<div class="grey f16"><em>Dec. 18th:</em></div>
<div class="f16"><span class="teal"><strong>SESSION:</strong></span> <span class="grey">Session Ended. Unavailable.</span></div>
<div class="f13 lightgrey">Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper, lectus nunc ullamcorper orci, fermentum bibendum enim nibh eget ipsum. </div>
<br /><br />
<div class="grey f16"><em>Dec. 12th:</em></div>
<div class="f16"><span class="orange"><strong>RECORDING:</strong></span> <a href="#" class="white">Bustin' My Chops</a></div>
<div class="f13 lightgrey">Donec porttitor ligula eu dolor. Maecenas vitae nulla consequat libero cursus venenatis. Nam magna enim, accumsan eu, blandit sed, blandit a, eros.</div>
<br /><br />
<div class="grey f16"><em>Dec. 10th:</em></div>
<div class="f16"><span class="teal"><strong>SESSION:</strong></span> <span class="grey">Session Ended. Unavailable.</span></div>
<div class="f13 lightgrey">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis. Nullam sit amet enim.</div>
<br /><br />
<div class="grey f16"><em>Nov. 29th:</em></div>
<div class="f16"><span class="teal"><strong>SESSION:</strong></span> <span class="grey">Session Ended. Unavailable.</span></div>
<div class="f13 lightgrey">Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. </div>
</div>
<!-- comments -->
<% content_for :after_black_bar do %>
<div class="wrapper">
<div class="landing-comments">
<h2>Comments:</h2>
<!-- add a comment box -->
<div class="avatar-small"><img src="images/content/avatar_generic.png" /></div>
<div class="left w80 p10">
<textarea class="w100 p5 f15" rows="2" onfocus="$(this).html('')" onblur="if($(this).html() == ''){$(this).html('Enter a comment...')}">Enter a comment...</textarea>
</div>
<br clear="all" />
<!-- scrolling area -->
<div class="landing-comment-scroller">
<!-- comment -->
<div class="avatar-small mr10"><img src="images/shared/avatar_saltnpepper.jpg" alt=""/></div>
<div class="w80 left p10 lightgrey">
<a href="#">Jeremy Jones</a> Nulla facilisi. In vel sem. Morbi id urna in diam dignissim feugiat. Proin molestie tortor eu velit.
<br />
<div class="f12 grey mt5">5 minutes ago</div>
</div>
<br clear="all" />
<!-- comment -->
<div class="avatar-small mr10"><img src="images/content/avatar_generic.png" alt=""/></div>
<div class="w80 left p10 lightgrey">
<a href="#">Johnny Cameroon</a> Fusce consectetuer luctus ipsum.
<br />
<div class="f12 grey mt5">30 minutes ago</div>
</div>
<br clear="all" />
<!-- comment -->
<div class="avatar-small mr10"><img src="images/shared/avatar_creepyeye.jpg" alt=""/></div>
<div class="w80 left p10 lightgrey">
<a href="#">Perry Gaberdeen</a> Nulla facilisi. In vel sem. Morbi id urna in diam dignissim feugiat. Proin molestie tortor eu velit.
<br />
<div class="f12 grey mt5">2 hours ago</div>
</div>
<br clear="all" />
<!-- comment -->
<div class="avatar-small mr10"><img src="images/shared/avatar_silverfox.jpg" alt=""/></div>
<div class="w80 left p10 lightgrey">
<a href="#">Billy Saban</a> Ut eu ligula. Etiam ligula enim, tempor ut, blandit nec, mollis eu, lectus.
<br />
<div class="f12 grey mt5">Yesterday, 2:45 pm</div>
</div>
<br clear="all" />
<!-- comment -->
<div class="avatar-small mr10"><img src="images/shared/avatar_saltnpepper.jpg" alt=""/></div>
<div class="w80 left p10 lightgrey">
<a href="#">Jeremy Jones</a> Nulla facilisi. In vel sem. Morbi id urna in diam dignissim feugiat. Proin molestie tortor eu velit.
<br />
<div class="f12 grey mt5">5 minutes ago</div>
</div>
<br clear="all" />
<!-- comment -->
<div class="avatar-small mr10"><img src="images/content/avatar_generic.png" alt=""/></div>
<div class="w80 left p10 lightgrey">
<a href="#">Johnny Cameroon</a> Fusce consectetuer luctus ipsum.
<br />
<div class="f12 grey mt5">30 minutes ago</div>
</div>
<br clear="all" />
<!-- comment -->
<div class="avatar-small mr10"><img src="images/shared/avatar_creepyeye.jpg" alt=""/></div>
<div class="w80 left p10 lightgrey">
<a href="#">Perry Gaberdeen</a> Nulla facilisi. In vel sem. Morbi id urna in diam dignissim feugiat. Proin molestie tortor eu velit.
<br />
<div class="f12 grey mt5">2 hours ago</div>
</div>
<br clear="all" />
<!-- comment -->
<div class="avatar-small mr10"><img src="images/shared/avatar_silverfox.jpg" alt=""/></div>
<div class="w80 left p10 lightgrey">
<a href="#">Billy Saban</a> Ut eu ligula. Etiam ligula enim, tempor ut, blandit nec, mollis eu, lectus.
<br />
<div class="f12 grey mt5">Yesterday, 2:45 pm</div>
</div>
<br clear="all" />
</div>
</div>
</div>
<% end %>

View File

@ -1,14 +1,15 @@
<div id="profile" class="userinfo">
<!-- avatar -->
<a href="#" class="avatar_large">
<img id="header-avatar" src="/assets/shared/avatar_generic.png" />
</a>
<% if signed_in? %>
<!-- profile area -->
<!-- avatar -->
<div class="avatar_large">
<img id="header-avatar" />
</div>
<!-- user name -->
<div id="user"></div>
<div id="user" class="user"></div>
<div class="arrow-down"></div>
<ul class="shortcuts">
@ -36,7 +37,7 @@
<!-- end profile area -->
<% else %>
<a class="signin" href="/signin">Sign In</a>
<div class="user"><a class="signin" href="/signup">Sign Up</a>&nbsp;or&nbsp;<a class="signin" href="/signin">Sign In</a></div>
<% end %>
</div>
</div>

View File

@ -6,7 +6,6 @@ SampleApp::Application.routes.draw do
end
resources :users
resources :sessions, only: [:new, :create, :destroy]
#root to: 'static_pages#home'
@ -24,10 +23,14 @@ SampleApp::Application.routes.draw do
match '/signin', to: 'sessions#new'
match '/signout', to: 'sessions#destroy', via: :delete
# oauth
match '/auth/:provider/callback', :to => 'sessions#oauth_callback'
match '/auth/failure', :to => 'sessions#failure'
# session / recording landing pages
match '/sessions/:id' => 'music_sessions#show', :via => :get, :as => 'music_session_detail'
match '/recordings/:id' => 'recordings#show', :via => :get, :as => 'recording_detail'
match '/isp', :to => 'users#isp'
match '/isp/ping.jar', :to => redirect('/ping.jar')
@ -296,6 +299,8 @@ SampleApp::Application.routes.draw do
match '/claimed_recordings/:id' => 'api_claimed_recordings#update', :via => :put
match '/claimed_recordings/:id' => 'api_claimed_recordings#delete', :via => :delete
# Mixes
match '/mixes/schedule' => 'api_mixes#schedule', :via => :post
match '/mixes/next' => 'api_mixes#next', :via => :get
match '/mixes/:id/finish' => 'api_mixes#finish', :via => :put
match '/mixes/:id/download' => 'api_mixes#download', :via => :get