about summary refs log tree commit diff
path: root/config
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2019-02-04 04:25:59 +0100
committerGitHub <noreply@github.com>2019-02-04 04:25:59 +0100
commit364f2ff9aa2b4bf601d68a12bce758aeb5530467 (patch)
tree6e47b26ef9148d3b88dd9748460d8cf51beac748 /config
parentd14c276e58f0f223b0e4889d342a948c961081b2 (diff)
Add featured hashtags to profiles (#9755)
* Add hashtag filter to profiles

GET /@:username/tagged/:hashtag
GET /api/v1/accounts/:id/statuses?tagged=:hashtag

* Display featured hashtags on public profile

* Use separate model for featured tags

* Update featured hashtag counters on-write

* Limit featured tags to 10
Diffstat (limited to 'config')
-rw-r--r--config/locales/en.yml5
-rw-r--r--config/locales/simple_form.en.yml4
-rw-r--r--config/navigation.rb1
-rw-r--r--config/routes.rb2
4 files changed, 12 insertions, 0 deletions
diff --git a/config/locales/en.yml b/config/locales/en.yml
index f23f867e5..c92fc781c 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -588,6 +588,10 @@ en:
     lists: Lists
     mutes: You mute
     storage: Media storage
+  featured_tags:
+    add_new: Add new
+    errors:
+      limit: You have already featured the maximum amount of hashtags
   filters:
     contexts:
       home: Home timeline
@@ -807,6 +811,7 @@ en:
     development: Development
     edit_profile: Edit profile
     export: Data export
+    featured_tags: Featured hashtags
     followers: Authorized followers
     import: Import
     migrate: Account migration
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index 325114755..3a2746a53 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -37,6 +37,8 @@ en:
         setting_theme: Affects how Mastodon looks when you're logged in from any device.
         username: Your username will be unique on %{domain}
         whole_word: When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word
+      featured_tag:
+        name: 'You might want to use one of these:'
       imports:
         data: CSV file exported from another Mastodon instance
       sessions:
@@ -110,6 +112,8 @@ en:
         username: Username
         username_or_email: Username or Email
         whole_word: Whole word
+      featured_tag:
+        name: Hashtag
       interactions:
         must_be_follower: Block notifications from non-followers
         must_be_following: Block notifications from people you don't follow
diff --git a/config/navigation.rb b/config/navigation.rb
index a9521f956..1be621ac2 100644
--- a/config/navigation.rb
+++ b/config/navigation.rb
@@ -6,6 +6,7 @@ SimpleNavigation::Configuration.run do |navigation|
 
     primary.item :settings, safe_join([fa_icon('cog fw'), t('settings.settings')]), settings_profile_url do |settings|
       settings.item :profile, safe_join([fa_icon('user fw'), t('settings.edit_profile')]), settings_profile_url, highlights_on: %r{/settings/profile|/settings/migration}
+      settings.item :featured_tags, safe_join([fa_icon('hashtag fw'), t('settings.featured_tags')]), settings_featured_tags_url
       settings.item :preferences, safe_join([fa_icon('sliders fw'), t('settings.preferences')]), settings_preferences_url
       settings.item :notifications, safe_join([fa_icon('bell fw'), t('settings.notifications')]), settings_notifications_url
       settings.item :password, safe_join([fa_icon('lock fw'), t('auth.security')]), edit_user_registration_url, highlights_on: %r{/auth/edit|/settings/delete}
diff --git a/config/routes.rb b/config/routes.rb
index af49845cc..ded62981d 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -74,6 +74,7 @@ Rails.application.routes.draw do
   get '/@:username', to: 'accounts#show', as: :short_account
   get '/@:username/with_replies', to: 'accounts#show', as: :short_account_with_replies
   get '/@:username/media', to: 'accounts#show', as: :short_account_media
+  get '/@:username/tagged/:tag', to: 'accounts#show', as: :short_account_tag
   get '/@:account_username/:id', to: 'statuses#show', as: :short_account_status
   get '/@:account_username/:id/embed', to: 'statuses#embed', as: :embed_short_account_status
 
@@ -116,6 +117,7 @@ Rails.application.routes.draw do
     resource :migration, only: [:show, :update]
 
     resources :sessions, only: [:destroy]
+    resources :featured_tags, only: [:index, :create, :destroy]
   end
 
   resources :media, only: [:show] do