mirror of
https://github.com/neocities/neocities.git
synced 2025-08-11 20:09:26 +02:00
improvements to pagination
This commit is contained in:
parent
7714dc7c53
commit
32b4fe0d49
9 changed files with 38 additions and 69 deletions
|
@ -1,7 +1,7 @@
|
|||
get '/browse/?' do
|
||||
@current_page = params[:current_page]
|
||||
@current_page = @current_page.to_i
|
||||
@current_page = 1 if @current_page == 0
|
||||
|
||||
@page = params[:page].to_i
|
||||
@page = 1 if @page == 0
|
||||
|
||||
params.delete 'tag' if params[:tag].nil? || params[:tag].strip.empty?
|
||||
|
||||
|
@ -11,12 +11,14 @@ get '/browse/?' do
|
|||
site_dataset = browse_sites_dataset
|
||||
end
|
||||
|
||||
site_dataset = site_dataset.paginate @current_page, Site::BROWSE_PAGINATION_LENGTH
|
||||
@page_count = site_dataset.page_count || 1
|
||||
site_dataset = site_dataset.paginate @page, Site::BROWSE_PAGINATION_LENGTH
|
||||
@pagination_dataset = site_dataset
|
||||
@sites = site_dataset.all
|
||||
|
||||
if params[:tag]
|
||||
@title = "Sites tagged #{params[:tag]}"
|
||||
end
|
||||
|
||||
erb :browse
|
||||
end
|
||||
|
||||
|
|
12
app/index.rb
12
app/index.rb
|
@ -6,23 +6,23 @@ get '/?' do
|
|||
|
||||
@suggestions = current_site.suggestions
|
||||
|
||||
@current_page = params[:current_page].to_i
|
||||
@current_page = 1 if @current_page == 0
|
||||
@page = params[:page].to_i
|
||||
@page = 1 if @page == 0
|
||||
|
||||
if params[:activity] == 'mine'
|
||||
events_dataset = current_site.latest_events(@current_page, 10)
|
||||
events_dataset = current_site.latest_events(@page, 10)
|
||||
elsif params[:event_id]
|
||||
event = Event.select(:id).where(id: params[:event_id]).first
|
||||
not_found if event.nil?
|
||||
not_found if event.is_deleted
|
||||
events_dataset = Event.where(id: params[:event_id]).paginate(1, 1)
|
||||
elsif params[:activity] == 'global'
|
||||
events_dataset = Event.global_dataset @current_page
|
||||
events_dataset = Event.global_dataset @page
|
||||
else
|
||||
events_dataset = current_site.news_feed(@current_page, 10)
|
||||
events_dataset = current_site.news_feed(@page, 10)
|
||||
end
|
||||
|
||||
@page_count = events_dataset.page_count || 1
|
||||
@pagination_dataset = events_dataset
|
||||
@events = events_dataset.all
|
||||
|
||||
current_site.events_dataset.update notification_seen: true
|
||||
|
|
|
@ -13,9 +13,9 @@ get '/site/:username/?' do |username|
|
|||
|
||||
@title = site.title
|
||||
|
||||
@current_page = params[:current_page]
|
||||
@current_page = @current_page.to_i
|
||||
@current_page = 1 if @current_page == 0
|
||||
@page = params[:page]
|
||||
@page = @page.to_i
|
||||
@page = 1 if @page == 0
|
||||
|
||||
if params[:event_id]
|
||||
not_found unless params[:event_id].is_integer?
|
||||
|
@ -23,10 +23,11 @@ get '/site/:username/?' do |username|
|
|||
not_found if event.nil?
|
||||
events_dataset = Event.where(id: params[:event_id]).paginate(1, 1)
|
||||
else
|
||||
events_dataset = site.latest_events(@current_page, 10)
|
||||
events_dataset = site.latest_events(@page, 10)
|
||||
end
|
||||
|
||||
@page_count = events_dataset.page_count || 1
|
||||
@pagination_dataset = events_dataset
|
||||
@latest_events = events_dataset.all
|
||||
|
||||
erb :'site', locals: {site: site, is_current_site: site == current_site}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
get '/surf/?' do
|
||||
@current_page = params[:current_page].to_i || 1
|
||||
@page = params[:page].to_i || 1
|
||||
params.delete 'tag' if params[:tag].nil? || params[:tag].strip.empty?
|
||||
site_dataset = browse_sites_dataset
|
||||
site_dataset = site_dataset.paginate @current_page, 1
|
||||
site_dataset = site_dataset.paginate @page, 1
|
||||
@page_count = site_dataset.page_count || 1
|
||||
@site = site_dataset.first
|
||||
redirect "/browse?#{Rack::Utils.build_query params}" if @site.nil?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue