diff --git a/Gemfile b/Gemfile
index 6863a70..07cc83c 100644
--- a/Gemfile
+++ b/Gemfile
@@ -14,8 +14,8 @@ gem 'barista'
gem 'awesome_print', :require => 'ap'
gem 'delayed_job'
-gem 'lastfm-client', :git => 'http://github.com/magnolia-fan/lastfm-client.git'
-gem 'musicbrainz', '~> 0.4.3'
+gem 'lastfm-client', :git => 'http://github.com/pch/lastfm-client.git'
+gem 'musicbrainz'
gem 'bitmask_attributes'
diff --git a/Gemfile.lock b/Gemfile.lock
index e8b6c2b..80af4b9 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,6 +1,6 @@
GIT
- remote: http://github.com/magnolia-fan/lastfm-client.git
- revision: 26fec825943d0bb77606bf058386e786ee97572b
+ remote: http://github.com/pch/lastfm-client.git
+ revision: d17806722c1da685f7d2f283b0064cb92eb96965
specs:
lastfm-client (0.0.2)
json (>= 1.4.6)
@@ -128,7 +128,7 @@ DEPENDENCIES
haml
json
lastfm-client!
- musicbrainz (~> 0.4.3)
+ musicbrainz
nokogiri
pg
rails (= 3.1.0)
diff --git a/app/assets/javascripts/ajax.coffee b/app/assets/javascripts/ajax.coffee
index 905be2b..3355629 100644
--- a/app/assets/javascripts/ajax.coffee
+++ b/app/assets/javascripts/ajax.coffee
@@ -9,12 +9,12 @@ class window.Ajax
loadIndexPage: ->
$('#content').load '/greetings/'
+ _ajax.setTitle ''
false
loadAboutPage: ->
- $.get '/templates/about.html', (data) ->
- _page.renderTextpage data
- _ajax.setTitle 'About'
+ $('#content').load '/about/'
+ _ajax.setTitle 'About'
false
setArchor: (anchor) ->
@@ -34,14 +34,12 @@ class window.Ajax
detectPage: () ->
if m = _ajax.getAnchor().match /\/artist\/(.+)\//
_search.loadArtistData m[1]
- else if _ajax.getAnchor() == ''
- _ajax.loadIndexPage();
else if _ajax.getAnchor().match /\/settings\//
_settings.loadSettingsPage()
else if _ajax.getAnchor().match /\/about\//
_ajax.loadAboutPage()
else
- #_ajax.loadSearchPage()
+ _ajax.loadIndexPage();
false
$(window).bind 'hashchange', ->
diff --git a/app/assets/javascripts/page.coffee b/app/assets/javascripts/page.coffee
index c1ee9bc..65bcc1b 100644
--- a/app/assets/javascripts/page.coffee
+++ b/app/assets/javascripts/page.coffee
@@ -29,6 +29,9 @@ class window.Page
false
$ ->
+ $('#logo').live 'click', ->
+ _ajax.go '/'
+ false
$('.about').live 'click', ->
_ajax.go '/about/'
false
diff --git a/app/assets/javascripts/player.coffee b/app/assets/javascripts/player.coffee
index 9c9b9ae..0d42ada 100644
--- a/app/assets/javascripts/player.coffee
+++ b/app/assets/javascripts/player.coffee
@@ -147,10 +147,10 @@ class window.Player
false
onShuffle: ->
- #return $('#shuffle').hasClass 'active'
+ return $('.shuffle').hasClass 'on'
onRepeat: ->
- #return $('#repeat').hasClass 'active'
+ return $('.repeat').hasClass 'on'
updateNowListening: (track) ->
if _session.getUser().lastfm_username
@@ -184,11 +184,11 @@ $('.player .progress').live 'click', (e) ->
# Player Additional Controls
-$('#repeat, #shuffle').live 'click', ->
- $(this).toggleClass 'active'
+$('.repeat, .shuffle').live 'click', ->
+ $(this).toggleClass 'on'
false
-$('#empty-playlist').live 'click', ->
+$('.do_empty').live 'click', ->
if confirm('Are you sure?')
$('.playlist li').remove()
$('#jplayer').jPlayer 'clearMedia'
diff --git a/app/assets/javascripts/search.coffee b/app/assets/javascripts/search.coffee
index a1effa6..decbbc9 100644
--- a/app/assets/javascripts/search.coffee
+++ b/app/assets/javascripts/search.coffee
@@ -19,8 +19,10 @@ class window.Search
if data.status in ['ok', 'loading']
_ajax.setArchor '/artist/' +name+ '/'
_page.print data.html
- for album in data.albums
- _player.albums[album.id] = album
+ if _session.getUser().id
+ for album in data.albums
+ _player.albums[album.id] = album
+ $('.button-container').show()
_search.hideSpinner()
if data.status is 'loading'
setTimeout () ->
diff --git a/app/assets/javascripts/vkontakte.coffee b/app/assets/javascripts/vkontakte.coffee
index 3fe62d4..f9f07fd 100644
--- a/app/assets/javascripts/vkontakte.coffee
+++ b/app/assets/javascripts/vkontakte.coffee
@@ -132,8 +132,8 @@ $('#login').live 'click', ->
, 8
false
$('#logout').live 'click', ->
- _ajax.go '/search/';
VK.Auth.logout (response) ->
_vkontakte.authInfo(response)
+ $('.button-container').hide()
false
false
diff --git a/app/assets/stylesheets/albums.scss b/app/assets/stylesheets/albums.scss
index ae85418..9805228 100644
--- a/app/assets/stylesheets/albums.scss
+++ b/app/assets/stylesheets/albums.scss
@@ -19,6 +19,7 @@
max-width: 220px;
}
.button-container {
+ display: none;
text-align: center;
margin-top: 10px;
}
diff --git a/app/assets/stylesheets/player.scss b/app/assets/stylesheets/player.scss
index b5e75fc..2b19f9e 100644
--- a/app/assets/stylesheets/player.scss
+++ b/app/assets/stylesheets/player.scss
@@ -34,6 +34,24 @@
}
}
}
+ .secondary-buttons {
+ margin: 10px 0;
+ text-align: center;
+ a {
+ font-size: 11px;
+ color: #cacaca;
+ font-weight: bold;
+ text-decoration: none;
+ cursor: pointer;
+
+ &:hover {
+ color: #b0b0b0;
+ }
+ &.on {
+ color: #606060;
+ }
+ }
+ }
}
.playlist {
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 881fe78..6ac1097 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -11,6 +11,10 @@ class ApplicationController < ActionController::Base
render :partial => 'greetings'
end
+ def about
+ render :partial => 'about'
+ end
+
protected
def authorize
diff --git a/app/views/application/_about.en.html.haml b/app/views/application/_about.en.html.haml
new file mode 100644
index 0000000..21d4cf7
--- /dev/null
+++ b/app/views/application/_about.en.html.haml
@@ -0,0 +1,13 @@
+%h2 Write us a letter!
+%br
+.row
+ .span3
+ %address
+ %strong Site issues?
+ %br
+ %a{ :href => "mailto:support@beathaven.org" } support@beathaven.org
+ .span6
+ %address
+ %strong Everything else (suggestions, compliments, threats)
+ %br
+ %a{ :href => "mailto:contact@beathaven.org" } contact@beathaven.org
\ No newline at end of file
diff --git a/app/views/application/_about.ru.html.haml b/app/views/application/_about.ru.html.haml
new file mode 100644
index 0000000..9fc8bf6
--- /dev/null
+++ b/app/views/application/_about.ru.html.haml
@@ -0,0 +1,13 @@
+%h2 Напишите нам письмо!
+%br
+.row
+ .span3
+ %address
+ %strong Проблемы с сайтом?
+ %br
+ %a{ :href => "mailto:support@beathaven.org" } support@beathaven.org
+ .span6
+ %address
+ %strong Все остальное (пожелания, благодарности, угрозы)
+ %br
+ %a{ :href => "mailto:contact@beathaven.org" } contact@beathaven.org
\ No newline at end of file
diff --git a/app/views/application/_greetings.en.html.haml b/app/views/application/_greetings.en.html.haml
new file mode 100644
index 0000000..4a346a2
--- /dev/null
+++ b/app/views/application/_greetings.en.html.haml
@@ -0,0 +1 @@
+%h2 Halló!
\ No newline at end of file
diff --git a/app/views/application/_greetings.ru.html.haml b/app/views/application/_greetings.ru.html.haml
index 4628499..196a8bb 100644
--- a/app/views/application/_greetings.ru.html.haml
+++ b/app/views/application/_greetings.ru.html.haml
@@ -1 +1 @@
-%h1 Привет!
\ No newline at end of file
+%h2 Привет!
\ No newline at end of file
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 4df60a6..36bb410 100644
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -15,10 +15,10 @@
.topbar-inner
.container
%h3
- %a{ :href => "#/" } BeatHaven
+ %a#logo{ :href => "#/" } BeatHaven
%ul.nav
%li
- %a{ :href => "http://blog.beathaven.org/" }= I18n.t 'global.news'
+ %a{ :href => "http://blog.beathaven.org/", :target => "_blank" }= I18n.t 'global.news'
%li
%a.about{ :href => "#/about/" }= I18n.t 'global.about'
%form#search-form{ :action => "" }
@@ -61,6 +61,10 @@
%a.btn.large.play ►
%a.btn.large.pause II
%a.btn.small-round.next »
+ .secondary-buttons
+ %a.shuffle= (I18n.t 'player.shuffle').upcase
+ %a.repeat= (I18n.t 'player.repeat').upcase
+ %a.do_empty= (I18n.t 'player.do_empty').upcase
%ul.playlist
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 28e6318..5086dbf 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -7,9 +7,6 @@ en:
logout: "Log out"
do_add: "Add some music to playlist"
do_login: "Don't forget to log in, please. It's simple."
- repeat: "Repeat"
- shuffle: "Shuffle"
- do_empty: "Empty playlist"
hello: "Hi there"
settings: "Settings"
your_ad_here: "Your ad couldn't
be here"
@@ -48,4 +45,7 @@ en:
reload_alert: "To change application language it is needed to reload page. Your current playlist will be emptied and music will stop. Do you really wish to continue?"
player:
- add: "Add to Now Playing"
\ No newline at end of file
+ add: "Add to Now Playing"
+ repeat: "Repeat"
+ shuffle: "Shuffle"
+ do_empty: "Empty"
\ No newline at end of file
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index d0f2fd4..b9e12d7 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -7,9 +7,6 @@ ru:
logout: "Выйти"
do_add: "Добавьте музыку в плей-лист"
do_login: "Авторизуйтесь, пожалуйста. Это действительно просто."
- repeat: "Повторять"
- shuffle: "Перемешать"
- do_empty: "Очистить"
hello: "Привет"
settings: "Настройки"
your_ad_here: "Здесь не могла бы
быть Ваша реклама"
@@ -48,4 +45,7 @@ ru:
reload_alert: "Чтобы изменить язык приложения, необходимо перезагрузить страницу. Ваш текущий плей-лист будет очищен и музыка остановится. Вы действительно хотите продолжить?"
player:
- add: "Добавить в плей-лист"
\ No newline at end of file
+ add: "Добавить в плей-лист"
+ repeat: "Повторять"
+ shuffle: "Перемешать"
+ do_empty: "Очистить"
\ No newline at end of file
diff --git a/config/routes.rb b/config/routes.rb
index 776864d..ba3142f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -58,6 +58,7 @@ Beathaven::Application.routes.draw do
match '/' => 'application#index'
match '/greetings/' => 'application#greetings'
+ match '/about/' => 'application#about'
match 'user/auth' => 'user#auth'
match 'user/update' => 'user#update'