about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-12-17 03:14:28 +0100
committerGitHub <noreply@github.com>2018-12-17 03:14:28 +0100
commit087e11897137dc1f2811c21c3ccc6cec3ccdedb3 (patch)
treec690ef737c21b6c2f910c0363ec22eef8192bc70
parent628da11e38b0580a074268f32d09791ed6278def (diff)
Remove "most popular" tab from profile directory, add responsive design (#9539)
* Remove "most popular" tab from profile directory, add responsive design

* Remove unused translations
-rw-r--r--app/controllers/directories_controller.rb12
-rw-r--r--app/javascript/styles/mastodon/containers.scss6
-rw-r--r--app/javascript/styles/mastodon/widgets.scss43
-rw-r--r--app/models/account.rb3
-rw-r--r--app/views/directories/index.html.haml8
-rw-r--r--app/views/layouts/public.html.haml6
-rw-r--r--config/locales/ar.yml1
-rw-r--r--config/locales/co.yml2
-rw-r--r--config/locales/cs.yml2
-rw-r--r--config/locales/el.yml2
-rw-r--r--config/locales/en.yml2
-rw-r--r--config/locales/eu.yml2
-rw-r--r--config/locales/fr.yml2
-rw-r--r--config/locales/gl.yml2
-rw-r--r--config/locales/ja.yml2
-rw-r--r--config/locales/nl.yml2
-rw-r--r--config/locales/oc.yml2
-rw-r--r--config/locales/pl.yml2
-rw-r--r--config/locales/sk.yml2
-rw-r--r--config/routes.rb2
20 files changed, 43 insertions, 62 deletions
diff --git a/app/controllers/directories_controller.rb b/app/controllers/directories_controller.rb
index b8565af4b..df012657a 100644
--- a/app/controllers/directories_controller.rb
+++ b/app/controllers/directories_controller.rb
@@ -32,22 +32,12 @@ class DirectoriesController < ApplicationController
   end
 
   def set_accounts
-    @accounts = Account.searchable.discoverable.page(params[:page]).per(50).tap do |query|
+    @accounts = Account.discoverable.page(params[:page]).per(30).tap do |query|
       query.merge!(Account.tagged_with(@tag.id)) if @tag
-
-      if popular_requested?
-        query.merge!(Account.popular)
-      else
-        query.merge!(Account.by_recent_status)
-      end
     end
   end
 
   def set_instance_presenter
     @instance_presenter = InstancePresenter.new
   end
-
-  def popular_requested?
-    request.path.ends_with?('/popular')
-  end
 end
diff --git a/app/javascript/styles/mastodon/containers.scss b/app/javascript/styles/mastodon/containers.scss
index 44fc1e538..8de53ca98 100644
--- a/app/javascript/styles/mastodon/containers.scss
+++ b/app/javascript/styles/mastodon/containers.scss
@@ -294,6 +294,12 @@
         text-decoration: underline;
         color: $primary-text-color;
       }
+
+      @media screen and (max-width: $no-gap-breakpoint) {
+        &.optional {
+          display: none;
+        }
+      }
     }
 
     .nav-button {
diff --git a/app/javascript/styles/mastodon/widgets.scss b/app/javascript/styles/mastodon/widgets.scss
index c863e3b4f..87e633c70 100644
--- a/app/javascript/styles/mastodon/widgets.scss
+++ b/app/javascript/styles/mastodon/widgets.scss
@@ -229,18 +229,6 @@
   margin-bottom: 10px;
 }
 
-.moved-account-widget,
-.memoriam-widget,
-.box-widget,
-.contact-widget,
-.landing-page__information.contact-widget {
-  @media screen and (max-width: $no-gap-breakpoint) {
-    margin-bottom: 0;
-    box-shadow: none;
-    border-radius: 0;
-  }
-}
-
 .page-header {
   background: lighten($ui-base-color, 8%);
   box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
@@ -261,11 +249,20 @@
     font-size: 15px;
     color: $darker-text-color;
   }
+
+  @media screen and (max-width: $no-gap-breakpoint) {
+    margin-top: 0;
+    background: lighten($ui-base-color, 4%);
+
+    h1 {
+      font-size: 24px;
+    }
+  }
 }
 
 .directory {
   background: $ui-base-color;
-  border-radius: 0 0 4px 4px;
+  border-radius: 4px;
   box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
 
   &__tag {
@@ -407,4 +404,24 @@
       font-size: 14px;
     }
   }
+
+  @media screen and (max-width: $no-gap-breakpoint) {
+    tbody td.optional {
+      display: none;
+    }
+  }
+}
+
+.moved-account-widget,
+.memoriam-widget,
+.box-widget,
+.contact-widget,
+.landing-page__information.contact-widget,
+.directory,
+.page-header {
+  @media screen and (max-width: $no-gap-breakpoint) {
+    margin-bottom: 0;
+    box-shadow: none;
+    border-radius: 0;
+  }
 }
diff --git a/app/models/account.rb b/app/models/account.rb
index 9767e3767..a47741611 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -91,9 +91,8 @@ class Account < ApplicationRecord
   scope :matches_display_name, ->(value) { where(arel_table[:display_name].matches("#{value}%")) }
   scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) }
   scope :searchable, -> { where(suspended: false).where(moved_to_account_id: nil) }
-  scope :discoverable, -> { where(silenced: false).where(discoverable: true).joins(:account_stat).where(AccountStat.arel_table[:followers_count].gteq(MIN_FOLLOWERS_DISCOVERY)) }
+  scope :discoverable, -> { searchable.where(silenced: false).where(discoverable: true).joins(:account_stat).where(AccountStat.arel_table[:followers_count].gteq(MIN_FOLLOWERS_DISCOVERY)).by_recent_status }
   scope :tagged_with, ->(tag) { joins(:accounts_tags).where(accounts_tags: { tag_id: tag }) }
-  scope :popular, -> { order('account_stats.followers_count desc') }
   scope :by_recent_status, -> { order(Arel.sql('(case when account_stats.last_status_at is null then 1 else 0 end) asc, account_stats.last_status_at desc')) }
 
   delegate :email,
diff --git a/app/views/directories/index.html.haml b/app/views/directories/index.html.haml
index f70eb964a..88706def7 100644
--- a/app/views/directories/index.html.haml
+++ b/app/views/directories/index.html.haml
@@ -16,10 +16,6 @@
 
 .grid
   .column-0
-    .account__section-headline
-      = active_link_to t('directories.most_recently_active'), @tag ? explore_hashtag_path(@tag) : explore_path
-      = active_link_to t('directories.most_popular'), @tag ? explore_hashtag_popular_path(@tag) : explore_popular_path
-
     - if @accounts.empty?
       = nothing_here
     - else
@@ -29,10 +25,10 @@
             - @accounts.each do |account|
               %tr
                 %td= account_link_to account
-                %td.accounts-table__count
+                %td.accounts-table__count.optional
                   = number_to_human account.statuses_count, strip_insignificant_zeros: true
                   %small= t('accounts.posts', count: account.statuses_count).downcase
-                %td.accounts-table__count
+                %td.accounts-table__count.optional
                   = number_to_human account.followers_count, strip_insignificant_zeros: true
                   %small= t('accounts.followers', count: account.followers_count).downcase
                 %td.accounts-table__count
diff --git a/app/views/layouts/public.html.haml b/app/views/layouts/public.html.haml
index 93ed12f18..caccd5bb6 100644
--- a/app/views/layouts/public.html.haml
+++ b/app/views/layouts/public.html.haml
@@ -10,9 +10,9 @@
             = image_tag asset_pack_path('logo_full.svg'), alt: 'Mastodon'
 
           - if Setting.profile_directory
-            = link_to t('directories.directory'), explore_path, class: 'nav-link'
-          = link_to t('about.about_this'), about_more_path, class: 'nav-link'
-          = link_to t('about.apps'), 'https://joinmastodon.org/apps', class: 'nav-link'
+            = link_to t('directories.directory'), explore_path, class: 'nav-link optional'
+          = link_to t('about.about_this'), about_more_path, class: 'nav-link optional'
+          = link_to t('about.apps'), 'https://joinmastodon.org/apps', class: 'nav-link optional'
         .nav-center
         .nav-right
           - if user_signed_in?
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index eda99e24c..4de1e4e26 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -541,7 +541,6 @@ ar:
     warning_title: توافر المحتوى المنشور و المبعثَر
   directories:
     explore_mastodon: استكشف %{title}
-    most_popular: المشهورة
   errors:
     '403': ليس لك الصلاحيات الكافية لعرض هذه الصفحة.
     '404': إنّ الصفحة التي تبحث عنها لا وجود لها أصلا.
diff --git a/config/locales/co.yml b/config/locales/co.yml
index d2dcef9a4..80d2decd3 100644
--- a/config/locales/co.yml
+++ b/config/locales/co.yml
@@ -531,8 +531,6 @@ co:
     directory: Annuariu di i prufili
     explanation: Scopre utilizatori à partesi di i so centri d'interessu
     explore_mastodon: Scopre à %{title}
-    most_popular: I più pupulari
-    most_recently_active: Attività a più fresca
     people:
       one: "%{count} persona"
       other: "%{count} persone"
diff --git a/config/locales/cs.yml b/config/locales/cs.yml
index a5a3c0184..1bba55f0f 100644
--- a/config/locales/cs.yml
+++ b/config/locales/cs.yml
@@ -536,8 +536,6 @@ cs:
     directory: Adresář profilů
     explanation: Objevujte uživatele podle jejich zájmů
     explore_mastodon: Prozkoumejte %{title}
-    most_popular: Nejpopulárnější
-    most_recently_active: Naposledy aktivní
     people:
       few: "%{count} lidé"
       one: "%{count} člověk"
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 342cad91c..9d41f353f 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -531,8 +531,6 @@ el:
     directory: Κατάλογος λογαριασμών
     explanation: Βρες χρήστες βάσει των ενδιαφερόντων τους
     explore_mastodon: Εξερεύνησε %{title}
-    most_popular: Δημοφιλείς
-    most_recently_active: Πρόσφατα ενεργοί
     people:
       one: "%{count} άτομο"
       other: "%{count} άτομα"
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 314787acd..c8bfccdf7 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -535,8 +535,6 @@ en:
     directory: Profile directory
     explanation: Discover users based on their interests
     explore_mastodon: Explore %{title}
-    most_popular: Most popular
-    most_recently_active: Most recently active
     people:
       one: "%{count} person"
       other: "%{count} people"
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index 15307c76e..c96438bc3 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -531,8 +531,6 @@ eu:
     directory: Profilen direktorioa
     explanation: Deskubritu erabiltzaileak interesen arabera
     explore_mastodon: Esploratu %{title}
-    most_popular: Puri-purian
-    most_recently_active: Azkenaldian aktibo
     people:
       one: pertsona %{count}
       other: "%{count} pertsona"
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index de3070e8a..c171d9342 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -531,8 +531,6 @@ fr:
     directory: Annuaire des profils
     explanation: Découvrir des utilisateurs en se basant sur leurs centres d'intérêt
     explore_mastodon: Explorer %{title}
-    most_popular: Les plus populaires
-    most_recently_active: Les actifs les plus récents
     people:
       one: "%{count} personne"
       other: "%{count} personne"
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index 8f12587d6..5f4e420cb 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -531,8 +531,6 @@ gl:
     directory: Directorio de perfil
     explanation: Descubra usuarias según o seu interese
     explore_mastodon: Explorar %{title}
-    most_popular: Máis popular
-    most_recently_active: Máis activa recentemente
     people:
       one: "%{count} persoa"
       other: "%{count} persoas"
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 50e9522bc..9c8d7f5b9 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -530,8 +530,6 @@ ja:
   directories:
     directory: ディレクトリ
     explore_mastodon: "%{title}を探索"
-    most_popular: 人気順
-    most_recently_active: 直近の活動順
     people:
       one: "%{count} 人"
       other: "%{count} 人"
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 30af6562a..b5229d241 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -531,8 +531,6 @@ nl:
     directory: Gebruikersgids
     explanation: Ontdek gebruikers aan de hand van hun interesses
     explore_mastodon: "%{title} verkennen"
-    most_popular: Meest populair
-    most_recently_active: Recentelijk actief
     people:
       one: "%{count} gebruikers"
       other: "%{count} gebruikers"
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 8fe3e350a..9015997fc 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -587,8 +587,6 @@ oc:
     directory: Annuari de perfils
     explanation: Trobar d’utilizaires segon lor interèsses
     explore_mastodon: Explorar %{title}
-    most_popular: Mai populars
-    most_recently_active: Mai actius recentament
     people:
       one: "%{count} persona"
       other: "%{count} personas"
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 4a0d65440..79ba6f9fb 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -541,8 +541,6 @@ pl:
     directory: Katalog profilów
     explanation: Poznaj profile na podstawie zainteresowań
     explore_mastodon: Odkrywaj %{title}
-    most_popular: Napopularniejsi
-    most_recently_active: Ostatnio aktywni
     people:
       few: "%{count} osoby"
       many: "%{count} osób"
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index 5f49a2d0e..bea4ac334 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -536,8 +536,6 @@ sk:
     directory: Databáza profilov
     explanation: Pátraj po užívateľoch podľa ich záujmov
     explore_mastodon: Prebádaj %{title}
-    most_popular: Najpopulárnejšie
-    most_recently_active: Naposledy aktívni
     people:
       few: "%{count} ľudia"
       one: "%{count} človek"
diff --git a/config/routes.rb b/config/routes.rb
index 4a0289465..0aba433e2 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -81,9 +81,7 @@ Rails.application.routes.draw do
   post '/interact/:id', to: 'remote_interaction#create'
 
   get '/explore', to: 'directories#index', as: :explore
-  get '/explore/popular', to: 'directories#index', as: :explore_popular
   get '/explore/:id', to: 'directories#show', as: :explore_hashtag
-  get '/explore/:id/popular', to: 'directories#show', as: :explore_hashtag_popular
 
   namespace :settings do
     resource :profile, only: [:show, :update]