About page, lots of fixin

This commit is contained in:
magnolia-fan
2011-06-29 08:11:54 +04:00
parent 08295f01aa
commit bfd1cd3ff8
31 changed files with 267 additions and 69 deletions
+9 -1
View File
@@ -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
+3 -2
View File
@@ -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()
+14
View File
@@ -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
+4
View File
@@ -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
+20 -2
View File
@@ -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
+27 -11
View File
@@ -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