From 05f5cd619a73e29a7cccd3e27caa05bb1704d81d Mon Sep 17 00:00:00 2001 From: Seth Call Date: Tue, 5 May 2015 16:38:29 -0500 Subject: [PATCH] * VRFS-3193 - indicate on jamtrack browse page that 1st jamtrack is free --- ruby/lib/jam_ruby/models/anonymous_user.rb | 2 +- .../javascripts/jam_track_screen.js.coffee | 18 +++++++++++++++--- .../stylesheets/client/jamtrack.css.scss | 9 +++++++++ web/app/views/clients/_jamtrack.html.slim | 4 +++- 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/ruby/lib/jam_ruby/models/anonymous_user.rb b/ruby/lib/jam_ruby/models/anonymous_user.rb index bd3037922..3d3d6e656 100644 --- a/ruby/lib/jam_ruby/models/anonymous_user.rb +++ b/ruby/lib/jam_ruby/models/anonymous_user.rb @@ -23,7 +23,7 @@ module JamRuby end def has_redeemable_jamtrack - true + APP_CONFIG.one_free_jamtrack_per_user end end end diff --git a/web/app/assets/javascripts/jam_track_screen.js.coffee b/web/app/assets/javascripts/jam_track_screen.js.coffee index df5e488ff..c80970df6 100644 --- a/web/app/assets/javascripts/jam_track_screen.js.coffee +++ b/web/app/assets/javascripts/jam_track_screen.js.coffee @@ -24,8 +24,15 @@ context.JK.JamTrackScreen=class JamTrackScreen beforeShow:(data) => this.setFilterFromURL() - this.refresh() - + + if context.JK.currentUserId? + @app.user().done((user) => + @user = user + this.refresh() + ) + else + this.refresh() + afterShow:(data) => beforeHide: () => @@ -145,7 +152,7 @@ context.JK.JamTrackScreen=class JamTrackScreen @currentPage++ this.buildQuery() this.registerInfiniteScroll() - + registerInfiniteScroll:() => that = this @@ -262,9 +269,14 @@ context.JK.JamTrackScreen=class JamTrackScreen if track.part != '' track.instrument_desc += ' (' + track.part + ')' + free_state = if gon.global.one_free_jamtrack_per_user then 'free' else 'non-free' + if @user + free_state = if @user.free_jamtrack then 'free' else 'non-free' + options = jamtrack: trackRow expanded: false + free_state: free_state @jamtrackItem = $(context._.template($('#template-jamtrack').html(), options, variable: 'data')) that.renderJamtrack(@jamtrackItem, jamtrack) that.registerEvents(@jamtrackItem) diff --git a/web/app/assets/stylesheets/client/jamtrack.css.scss b/web/app/assets/stylesheets/client/jamtrack.css.scss index 7e1e28e11..b460fb214 100644 --- a/web/app/assets/stylesheets/client/jamtrack.css.scss +++ b/web/app/assets/stylesheets/client/jamtrack.css.scss @@ -146,6 +146,15 @@ .jamtrack-price { margin-top: 5px; font-size: 20px; + + &.free { + margin-top:0; + .free-state { + font-size: 11px; + margin-top: 5px; + display:block; + } + } } .jamtrack-add-cart, .jamtrack-add-cart-disabled { diff --git a/web/app/views/clients/_jamtrack.html.slim b/web/app/views/clients/_jamtrack.html.slim index c65a4eda5..0d3a5478f 100644 --- a/web/app/views/clients/_jamtrack.html.slim +++ b/web/app/views/clients/_jamtrack.html.slim @@ -65,8 +65,10 @@ script#template-jamtrack type='text/template' td.jamtrack-action / a.play-button href="#" data-jamtrack-id="{{data.jamtrack.id}}" / =image_tag "shared/play_button.png" - .jamtrack-price + .jamtrack-price class="{{data.free_state}}" | {{"$ " + data.jamtrack.price}} + .free-state.hidden + | (first one is FREE) ="{% if (data.jamtrack.purchased) { %}" a.jamtrack-add-cart-disabled.button-grey.button-disabled href="javascript:void(0)" PURCHASED ="{% } else if (data.jamtrack.added_cart) { %}"