diff --git a/app/assets/javascripts/pages.js.coffee b/app/assets/javascripts/pages.js.coffee new file mode 100644 index 00000000..9dc5fdb2 --- /dev/null +++ b/app/assets/javascripts/pages.js.coffee @@ -0,0 +1,24 @@ +$(document).on 'turbolinks:load', -> + $('.digest .filter').each -> + $(this).before ' + + + ' + $( '#nearMe').click (event) -> + event.preventDefault() + nearMe() + +nearMe = -> + if (navigator.geolocation) + navigator.geolocation.getCurrentPosition showPosition + +showPosition = (position) -> + coords = "[#{position.coords.latitude}, #{position.coords.longitude}]" + url = location.href + if location.search + url = url.replace 'near=', '' + url += '&' + else + url += '?' + url += "near[location]=#{coords}&near[distance]=20" + location.replace url diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 15403ad5..5c6eb318 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -10,9 +10,7 @@ = favicon_link_tag '/favicon.ico' = auto_discovery_link_tag :rss, controller: '/events', format: :rss - - = stylesheet_link_tag 'application', media: 'all', - 'data-turbolinks-track' => true + = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true = javascript_include_tag 'application', 'data-turbolinks-track' => true = csrf_meta_tags diff --git a/app/views/pages/_search.haml b/app/views/pages/_search.haml index 1bbbce91..29990629 100644 --- a/app/views/pages/_search.haml +++ b/app/views/pages/_search.haml @@ -3,18 +3,19 @@ - if params[:tag].present? = render partial: '/tags/context', locals: { tags: params[:tag] } - - if params[:near].present? && params[:near][:location].present? && params[:near][:distance].present? + - if params[:near].present? && params[:near][:location].present? %span.near %em.fa.fa-map-pin = params[:near][:location] - %em.fa.fa-arrows-alt-h - = params[:near][:distance] - km + - if params[:near][:distance].present? + %em.fa.fa-arrows-alt-h + = params[:near][:distance] + km %a(href="?near=") %em.fa.fa-times - if params[:tag].blank? && (params[:near].blank? || params[:near][:location].blank?) - = link_to page_path('filter') do + = link_to page_path('filter'), class: 'filter' do = t 'title', scope: 'pages.filter' = link_to page_path('filter'), title: t('title', scope: 'pages.filter') do