About page, lots of fixin
This commit is contained in:
@@ -20,10 +20,10 @@ class Ajax
|
||||
else if data.status == 'loading_failed'
|
||||
_search.hideSpinner()
|
||||
_search.showError()
|
||||
_beathaven.redrawScrollbar()
|
||||
else
|
||||
_ajax.setArchor '/artist/' +name+ '/'
|
||||
_pages.renderArtist data
|
||||
_beathaven.redrawScrollbar()
|
||||
false
|
||||
|
||||
loadSearchPage: ->
|
||||
@@ -44,6 +44,12 @@ class Ajax
|
||||
_beathaven.redrawScrollbar()
|
||||
false
|
||||
|
||||
loadAboutPage: ->
|
||||
$.get '/templates/about.html', (data) ->
|
||||
_pages.renderTextpage data
|
||||
_ajax.setTitle 'About'
|
||||
false
|
||||
|
||||
setArchor: (anchor) ->
|
||||
@referer = this.getAnchor()
|
||||
window.location.hash = '#' +anchor
|
||||
@@ -65,6 +71,8 @@ class Ajax
|
||||
_ajax.loadSearchPage();
|
||||
else if _ajax.getAnchor().match /\/settings\//
|
||||
_ajax.loadSettingsPage()
|
||||
else if _ajax.getAnchor().match /\/about\//
|
||||
_ajax.loadAboutPage()
|
||||
else
|
||||
_ajax.loadSearchPage()
|
||||
false
|
||||
|
||||
@@ -10,7 +10,7 @@ _settings = null
|
||||
|
||||
$ ->
|
||||
l = document.location
|
||||
if l.host not in ['beathaven.org', 'localhost']
|
||||
if l.host not in ['beathaven.org', 'local.beathaven.org']
|
||||
l.href = 'http://beathaven.org/'+ l.hash
|
||||
|
||||
_beathaven = new BeatHaven()
|
||||
@@ -30,7 +30,8 @@ class BeatHaven
|
||||
this.adjustSizes()
|
||||
this.checkRedrawScrollbar()
|
||||
|
||||
_vkontakte = new Vkontakte(if document.location.host == 'beathaven.org' then 2335068 else 2383163)
|
||||
# if document.location.host == 'beathaven.org' then 2335068 else 2383163
|
||||
_vkontakte = new Vkontakte(2335068)
|
||||
_vkontakte.init()
|
||||
|
||||
_ajax = new Ajax()
|
||||
|
||||
@@ -49,6 +49,7 @@ class Pages
|
||||
|
||||
yaCounter7596904.hit _ajax.getAnchor(), data.artist.name, _ajax.referer
|
||||
_ajax.setTitle data.artist.name
|
||||
_beathaven.redrawScrollbar()
|
||||
false
|
||||
|
||||
renderSearch: (data) ->
|
||||
@@ -79,9 +80,22 @@ class Pages
|
||||
false
|
||||
|
||||
renderSettings: (data) ->
|
||||
unless _session.getUser().name?
|
||||
_ajax.go('/search/')
|
||||
return false
|
||||
$('.data-container').css background: 'none'
|
||||
$('.data-container .inner').html data
|
||||
yaCounter7596904.hit _ajax.getAnchor(), 'Settings', _ajax.referer
|
||||
_ajax.setTitle 'Settings'
|
||||
$('.settings-container .tabs .tab').first().trigger 'click'
|
||||
false
|
||||
|
||||
renderTextpage: (data) ->
|
||||
$('.data-container').css background: 'url(/images/concrete_wall_2.png) 0 -30px repeat'
|
||||
$('.data-container .inner').html data
|
||||
_beathaven.redrawScrollbar()
|
||||
false
|
||||
|
||||
$('.about').live 'click', ->
|
||||
_ajax.go '/about/'
|
||||
false
|
||||
@@ -24,3 +24,7 @@ class Session
|
||||
q_params[key] = val
|
||||
$.post url, q_params, callback
|
||||
false
|
||||
|
||||
reloadSession: ->
|
||||
_session.query '/user/auth', {}, (ar) ->
|
||||
_session.setUser ar.user
|
||||
@@ -2,9 +2,11 @@ class Settings
|
||||
|
||||
getAccountInfo: (callback) ->
|
||||
_session.query '/user/update/', {}, callback
|
||||
false
|
||||
|
||||
saveAccountInfo: (params, callback) ->
|
||||
_session.query '/user/update', params, callback
|
||||
false
|
||||
|
||||
loadFormData: (form) ->
|
||||
if form == 'account'
|
||||
@@ -13,10 +15,21 @@ class Settings
|
||||
else if form == 'lastfm'
|
||||
if _session.getUser().lastfm_username
|
||||
$('.form-container input[name$="username"]').first().val _session.getUser().lastfm_username
|
||||
false
|
||||
|
||||
updateLastfmLogin: ->
|
||||
if window.lastfm_popup.closed
|
||||
_session.query '/user/auth', {}, (ar) ->
|
||||
_session.setUser ar.user
|
||||
_settings.loadFormData 'lastfm'
|
||||
else
|
||||
setTimeout _settings.updateLastfmLogin, 100
|
||||
false
|
||||
|
||||
|
||||
$('.settings') .live 'click', ->
|
||||
_ajax.go('/settings/');
|
||||
false
|
||||
|
||||
$('.settings-container .tabs .tab').live 'click', ->
|
||||
if not $(this).hasClass 'active'
|
||||
@@ -24,9 +37,12 @@ $('.settings-container .tabs .tab').live 'click', ->
|
||||
$(this).addClass 'active'
|
||||
$('.form-container').html $('.forms .'+ $(this).attr 'data-fieldset').html()
|
||||
_settings.loadFormData $(this).attr 'data-fieldset'
|
||||
false
|
||||
|
||||
$('.lastfm-connect') .live 'click', ->
|
||||
window.open _session.getUser().lastfm_login_url
|
||||
window.lastfm_popup = window.open _session.getUser().lastfm_login_url
|
||||
setTimeout _settings.updateLastfmLogin, 100
|
||||
false
|
||||
|
||||
$('.settings-container .form input').live 'blur', ->
|
||||
active_tab = $('.settings-container .tabs .tab.active').attr 'data-fieldset'
|
||||
@@ -35,4 +51,6 @@ $('.settings-container .form input').live 'blur', ->
|
||||
username: $('.settings-container .form input[name$="username"]').first().val()
|
||||
email: $('.settings-container .form input[name$="email"]').first().val()
|
||||
_settings.saveAccountInfo params, ->
|
||||
$('#header-container .hello .greating').text 'Hi there, ' +(if params.username.length > 0 then params.username else '%username%')+ '!'
|
||||
$('.header-container .hello .greating span').text (if params.username.length > 0 then params.username else '%username%')
|
||||
false
|
||||
false
|
||||
@@ -1,15 +1,24 @@
|
||||
class Vkontakte
|
||||
|
||||
qr: null
|
||||
api_id: null
|
||||
|
||||
constructor: (@api_id) ->
|
||||
|
||||
getApiId: ->
|
||||
@api_id
|
||||
|
||||
init: ->
|
||||
@qr = []
|
||||
VK.init
|
||||
apiId: @api_id
|
||||
|
||||
VK.Auth.getLoginStatus this.authInfo
|
||||
window.vkAsyncInit = ->
|
||||
VK.init apiId: _vkontakte.getApiId()
|
||||
VK.Auth.getLoginStatus _vkontakte.authInfo
|
||||
|
||||
|
||||
setTimeout ->
|
||||
$('#vk_api_transport').append('<script async="async" src="http://vkontakte.ru/js/api/openapi.js"></script>')
|
||||
, 0
|
||||
|
||||
authInfo: (response) ->
|
||||
if typeof response isnt 'undefined' and response.session
|
||||
@@ -26,16 +35,18 @@ class Vkontakte
|
||||
_session.query '/user/update', name: r.response, (ar2) ->
|
||||
_session.setUser ar2.user
|
||||
$('.header-container .hello .greating')
|
||||
.text 'Hi there, ' +(if _session.getUser().name then _session.getUser().name else '%username%')+ '!'
|
||||
.html 'Tēnā koe, <span class="settings">' +(if _session.getUser().name then _session.getUser().name else '%username%')+ '</span>!'
|
||||
else
|
||||
_session.setUser ar.user
|
||||
|
||||
$('.header-container .hello').show()
|
||||
$('.header-container .hello .greating')
|
||||
.text 'Hi there, ' +(if _session.getUser().name then _session.getUser().name else '%username%')+ '!'
|
||||
.html 'Tēnā koe, <span class="settings">' +(if _session.getUser().name then _session.getUser().name else '%username%')+ '</span>!'
|
||||
else
|
||||
_session = new Session({})
|
||||
_session.setUser {}
|
||||
$('#vk_login, .auth_notice').css display: 'block'
|
||||
$('#vk_logout').hide()
|
||||
$('.header-container .hello').hide()
|
||||
window._session = _session
|
||||
|
||||
loadTracksData: (artist, track, duration, callback) ->
|
||||
@@ -96,8 +107,13 @@ class Vkontakte
|
||||
@qr[query]
|
||||
false
|
||||
|
||||
$ ->
|
||||
$('#vk_login').click ->
|
||||
VK.Auth.login _vkontakte.authInfo(), 8
|
||||
$('#vk_logout').click ->
|
||||
VK.Auth.logout _vkontakte.authInfo()
|
||||
$('#vk_login').live 'click', ->
|
||||
VK.Auth.login (response) ->
|
||||
_vkontakte.authInfo(response)
|
||||
false
|
||||
, 8
|
||||
false
|
||||
$('#vk_logout').live 'click', ->
|
||||
_ajax.go '/search/';
|
||||
VK.Auth.logout _vkontakte.authInfo
|
||||
false
|
||||
|
||||
@@ -4,7 +4,8 @@ class ApplicationController < ActionController::Base
|
||||
protect_from_forgery
|
||||
|
||||
def authorized?
|
||||
secret_key = request.host == 'beathaven.org' ? 'sdgwSbl3nNE4ZxafuPrp' : 's5zyjb693z6uV4rbhEyc'
|
||||
# secret_key = request.host == 'beathaven.org' ? 'sdgwSbl3nNE4ZxafuPrp' : 's5zyjb693z6uV4rbhEyc'
|
||||
secret_key = 'sdgwSbl3nNE4ZxafuPrp'
|
||||
unless params[:expire].nil? or params[:mid].nil? or params[:secret].nil? or params[:sid].nil? or params[:sig].nil?
|
||||
# Calculating hash
|
||||
hash = 'expire='+ params[:expire] +'mid='+ params[:mid] +'secret='+ params[:secret] +'sid='+ params[:sid] + secret_key
|
||||
|
||||
@@ -4,6 +4,10 @@ class ArtistController < ApplicationController
|
||||
@@default_album_types = ['Album', 'Soundtrack']
|
||||
def data
|
||||
data = {}
|
||||
if params[:name].nil? or params[:name].length == 0
|
||||
render :json => {status: 'loading_failed', pics: []}
|
||||
return
|
||||
end
|
||||
name = params[:name].gsub('%20', ' ').gsub('+', ' ')
|
||||
artist = Artist.find_by_name(name)
|
||||
if artist and artist.status == 0
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
class Artist < ActiveRecord::Base
|
||||
has_many :albums, :order => 'year ASC, id ASC', :dependent => :destroy
|
||||
has_many :albums, :order => 'pic_url DESC, year ASC, id ASC', :dependent => :destroy
|
||||
end
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
<meta charset="utf-8"/>
|
||||
<link rel="shortcut icon" href="/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" media="screen" href="/stylesheets/beathaven.css" />
|
||||
<script type="text/javascript" charset="windows-1251" src="http://vkontakte.ru/js/api/openapi.js"></script>
|
||||
<%= javascript_include_tag "jquery/jquery.min.js" %>
|
||||
<%= javascript_include_tag "jquery/jquery-ui/js/jquery-ui-1.8.13.custom.min.js" %>
|
||||
<%= javascript_include_tag "jquery/jquery.autocomplete.js" %>
|
||||
@@ -59,12 +58,13 @@
|
||||
<div class="header-container">
|
||||
<div class="hello">
|
||||
<span class="greating"></span>
|
||||
<div class="settings"></div>
|
||||
<div class="settings settings-button"></div>
|
||||
</div>
|
||||
<ul class="navigation">
|
||||
<li class="logo search">BeatHaven<div class="version">0.4</div></li>
|
||||
<li class="search">Search</li>
|
||||
<li><a href="https://twitter.com/#!/beat_haven" target="_blank">News</a></li>
|
||||
<li class="about">About</li>
|
||||
<li class="vk_auth" id="vk_login">Login</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user