Render artist page with serialized data, artist playlist by name

This commit is contained in:
magnolia-fan
2011-11-27 17:01:46 +04:00
parent 9ec28708c5
commit 9032e8380b
7 changed files with 47 additions and 42 deletions
+24 -30
View File
@@ -1,22 +1,22 @@
- if @artist.status == 0
- if @status == "loading"
.alert-message.warning
%p= t('search.loading')
.row.artist-info
.span4.columns.pic
= image_tag @artist.pic_url unless @artist.pic_url.nil?
= image_tag @data[:pic_url] unless @data[:pic_url].nil?
.span7.columns.desc
%h2
=@artist.name
%small= " "+@artist.original_name.to_s
%p= @artist.desc.html_safe unless @artist.desc.nil?
- unless @artist.artist_links.empty?
=@data[:name]
%small= " "+@data[:original_name].to_s
%p= @data[:desc].html_safe unless @data[:desc].nil?
- unless @data[:artist_links].empty?
.service-icons
%a.foreign-link{ href: "http://last.fm/artist/#{@artist.name.gsub(" ", "+")}", target: '_blank' }
%a.foreign-link{ href: "http://last.fm/artist/#{@data[:url_name]}", target: '_blank' }
= image_tag 'services/lastfm.ico'
- @artist.artist_links.each do |service|
- if ['wikipedia', 'microblog', 'official_homepage', 'social_network', 'youtube'].include?(service.service)
%a.foreign-link{ href: service.url, target: '_blank' }
= image_tag 'services/'+service.service+(service.service == 'official_homepage' ? '.png' : '.ico')
- @data[:artist_links].each do |link|
- if ['wikipedia', 'microblog', 'official_homepage', 'social_network', 'youtube'].include?(link[:service])
%a.foreign-link{ href: link[:url], target: '_blank' }
= image_tag 'services/'+link[:service]+(link[:service] == 'official_homepage' ? '.png' : '.ico')
.row
.span7.offset4
@@ -24,29 +24,23 @@
%table.zebra-striped
%tr
%td
%span.label.success.set-playlist{ href: "", 'data-playlist' => "lastfm-top50/#{@artist.id}" }= t('player.set_playlist')
%a.page-link.playlist-name{ href: "/playlist/lastfm-top50/#{@artist.id}" }= "#{@artist.name}: Last.fm TOP"
- @artist.playlists.each do |playlist|
%tr
- @artist.playlists.each do |playlist|
%td
%span.label.success.set-playlist{ href: "", 'data-playlist' => playlist.id }= t('player.set_playlist')
%a.playlist-name{ href: "", 'data-playlist-id' => playlist.id }= playlist.name
%span.label.success.set-playlist{ href: "", 'data-playlist' => "lastfm-top50/#{@data[:url_name]}" }= t('player.set_playlist')
%a.page-link.playlist-name{ href: "/playlist/lastfm-top50/#{@data[:url_name]}" }= "#{@data[:name]}: Last.fm TOP"
- @artist.albums.each do |album|
- @data[:albums].each do |album|
.row.album
.span4.columns.art
%img{ src: album.pic_url }
%img{ src: album[:pic_url] }
.button-container
%a.btn.add-album{ 'data-tracks' => album.tracks.map(&:id).join(",") }= t('player.add')
%a.btn.add-album{ 'data-tracks' => album[:tracks].map{|_|_[:id]}.join(",") }= t('player.add')
.span7.columns.tracks
%h3{ 'data-album-id' => album.id }
= album.name
%small= " ("+album.year.to_s+")"
%h3
= album[:name]
%small= " ("+album[:year].to_s+")"
%table.zebra-striped.tracklist
- album.tracks.each do |track|
%tr{ class: (track.available == false ? "unavailable" : nil) }
%td.song-title= track.name
- album[:tracks].each do |track|
%tr{ class: (track[:available] == false ? "unavailable" : nil) }
%td.song-title= track[:name]
%td.song-duration
.s-duration= (track.duration != '0:00' ? track.duration : ' '.html_safe)
%span.label.success.s-add{ 'data-album-id' => album.id, 'data-id' => track.id }= t('player.add_one')
.s-duration= (track[:duration] != '0:00' ? track[:duration] : ' '.html_safe)
%span.label.success.s-add{ 'data-id' => track[:id] }= t('player.add_one')