mirror of
https://github.com/mastodon/mastodon.git
synced 2026-10-26 14:34:43 -05:00
Some checks failed
Check i18n / check-i18n (push) Waiting to run
Chromatic / Check for relevant changes (push) Waiting to run
Chromatic / Run Chromatic (push) Blocked by required conditions
CodeQL / Analyze (actions) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
Haml Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / test (3.4) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.4) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.19.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.4, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Bundler Audit / security (push) Has been cancelled
Crowdin / Upload translations / upload-translations (push) Has been cancelled
78 lines
1.9 KiB
Ruby
78 lines
1.9 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module SettingsHelper
|
|
def filterable_languages
|
|
LanguagesHelper.sorted_locale_keys(LanguagesHelper::SUPPORTED_LOCALES.keys)
|
|
end
|
|
|
|
def ui_languages
|
|
LanguagesHelper.sorted_locale_keys(I18n.available_locales)
|
|
end
|
|
|
|
def featured_tags_hint(recently_used_tags)
|
|
recently_used_tags.present? &&
|
|
safe_join(
|
|
[
|
|
t('simple_form.hints.featured_tag.name'),
|
|
safe_join(
|
|
links_for_featured_tags(recently_used_tags),
|
|
', '
|
|
),
|
|
],
|
|
' '
|
|
)
|
|
end
|
|
|
|
def user_settings_collection(value)
|
|
UserSettings.definition_for(value)&.in || []
|
|
end
|
|
|
|
def author_attribution_name(account)
|
|
return if account.nil?
|
|
|
|
link_to(root_url, class: 'story__details__shared__author-link') do
|
|
safe_join(
|
|
[image_tag(account.avatar.url, class: 'account__avatar', size: 16, alt: ''), tag.bdi(display_name(account))]
|
|
)
|
|
end
|
|
end
|
|
|
|
def session_device_icon(session)
|
|
device = session.detection.device
|
|
|
|
if device.mobile?
|
|
'smartphone'
|
|
elsif device.tablet?
|
|
'tablet'
|
|
else
|
|
'desktop_mac'
|
|
end
|
|
end
|
|
|
|
def compact_account_link_to(account)
|
|
return if account.nil?
|
|
|
|
link_to ActivityPub::TagManager.instance.url_for(account), class: 'name-tag', title: account.acct do
|
|
safe_join([image_tag(account.avatar.url, width: 15, height: 15, alt: '', class: 'avatar'), content_tag(:span, account.acct, class: 'username')], ' ')
|
|
end
|
|
end
|
|
|
|
def time_zone_options
|
|
ActiveSupport::TimeZone.all.map { |tz| ["(GMT#{tz.now.formatted_offset}) #{tz.name}", tz.tzinfo.name] }
|
|
end
|
|
|
|
private
|
|
|
|
def links_for_featured_tags(tags)
|
|
tags.map { |tag| post_link_to_featured_tag(tag) }
|
|
end
|
|
|
|
def post_link_to_featured_tag(tag)
|
|
link_to(
|
|
"##{tag.display_name}",
|
|
settings_featured_tags_path(featured_tag: { name: tag.name }),
|
|
method: :post
|
|
)
|
|
end
|
|
end
|