mirror of
https://github.com/neocities/neocities.git
synced 2025-04-25 09:42:36 +02:00
sort by followers
This commit is contained in:
parent
6452442f42
commit
3023c8badd
2 changed files with 9 additions and 2 deletions
|
@ -43,6 +43,12 @@ def browse_sites_dataset
|
||||||
end
|
end
|
||||||
|
|
||||||
case params[:sort_by]
|
case params[:sort_by]
|
||||||
|
when 'followers'
|
||||||
|
site_dataset = site_dataset.association_left_join :follows
|
||||||
|
site_dataset.select_all! :sites
|
||||||
|
site_dataset.select_append! Sequel.lit("count(follows.site_id) AS follow_count")
|
||||||
|
site_dataset.group! :sites__id
|
||||||
|
site_dataset.order! :follow_count.desc, :updated_at.desc
|
||||||
when 'supporters'
|
when 'supporters'
|
||||||
site_dataset.exclude! plan_type: nil
|
site_dataset.exclude! plan_type: nil
|
||||||
site_dataset.exclude! plan_type: 'free'
|
site_dataset.exclude! plan_type: 'free'
|
||||||
|
@ -81,7 +87,7 @@ def browse_sites_dataset
|
||||||
|
|
||||||
site_dataset.where! ['sites.is_nsfw = ?', (params[:is_nsfw] == 'true' ? true : false)]
|
site_dataset.where! ['sites.is_nsfw = ?', (params[:is_nsfw] == 'true' ? true : false)]
|
||||||
|
|
||||||
if params[:tag]
|
if params[:tag] && params[:sort_by] != 'followers'
|
||||||
site_dataset = site_dataset.association_join(:tags).select_all(:sites)
|
site_dataset = site_dataset.association_join(:tags).select_all(:sites)
|
||||||
site_dataset.where! ['tags.name = ?', params[:tag]]
|
site_dataset.where! ['tags.name = ?', params[:tag]]
|
||||||
site_dataset.where! ['tags.is_nsfw = ?', (params[:is_nsfw] == 'true' ? true : false)]
|
site_dataset.where! ['tags.is_nsfw = ?', (params[:is_nsfw] == 'true' ? true : false)]
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
<div class="select-Container">
|
<div class="select-Container">
|
||||||
<select name="sort_by" id="sort_by" class="input-Select">
|
<select name="sort_by" id="sort_by" class="input-Select">
|
||||||
<option value="last_updated" <%= params[:sort_by] == 'last_updated' ? 'selected' : '' %>>Last Updated</option>
|
<option value="last_updated" <%= params[:sort_by] == 'last_updated' ? 'selected' : '' %>>Last Updated</option>
|
||||||
|
<option value="followers" <%= params[:sort_by] == 'followers' ? 'selected' : '' %>>Most Followers</option>
|
||||||
<option value="supporters" <%= params[:sort_by] == 'supporters' ? 'selected' : '' %>>Neocities Supporters</option>
|
<option value="supporters" <%= params[:sort_by] == 'supporters' ? 'selected' : '' %>>Neocities Supporters</option>
|
||||||
<option value="featured" <%= params[:sort_by] == 'featured' ? 'selected' : '' %>>Featured</option>
|
<option value="featured" <%= params[:sort_by] == 'featured' ? 'selected' : '' %>>Featured</option>
|
||||||
<option value="views" <%= params[:sort_by] == 'views' ? 'selected' : '' %>>Most Views</option>
|
<option value="views" <%= params[:sort_by] == 'views' ? 'selected' : '' %>>Most Views</option>
|
||||||
|
@ -48,7 +49,7 @@
|
||||||
<div class="col col-50 filter">
|
<div class="col col-50 filter">
|
||||||
<form method="GET" action="browse">
|
<form method="GET" action="browse">
|
||||||
<fieldset class="grouping">
|
<fieldset class="grouping">
|
||||||
<% unless is_education? %>
|
<% unless is_education? || params[:sort_by] == 'followers' %>
|
||||||
<label class="text-Label" for="tag"><span class="hide-on-mobile">Search by </span>Tag:</label>
|
<label class="text-Label" for="tag"><span class="hide-on-mobile">Search by </span>Tag:</label>
|
||||||
<input class="input-Area typeahead" id="tag" name="tag" type="text" placeholder="pokemon" value="<%= params[:tag] %>" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" dir="auto">
|
<input class="input-Area typeahead" id="tag" name="tag" type="text" placeholder="pokemon" value="<%= params[:tag] %>" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" dir="auto">
|
||||||
<input style="vertical-align: -4px;margin-left: 4px;" type="submit" class="btn-Action" value="Search">
|
<input style="vertical-align: -4px;margin-left: 4px;" type="submit" class="btn-Action" value="Search">
|
||||||
|
|
Loading…
Add table
Reference in a new issue