diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb index c0addbeccc..47690e81eb 100644 --- a/app/controllers/about_controller.rb +++ b/app/controllers/about_controller.rb @@ -4,7 +4,10 @@ class AboutController < ApplicationController before_action :set_body_classes before_action :set_instance_presenter, only: [:show, :more, :terms] - def show; end + def show + serializable_resource = ActiveModelSerializers::SerializableResource.new(InitialStatePresenter.new(initial_state_params), serializer: InitialStateSerializer) + @initial_state_json = serializable_resource.to_json + end def more; end @@ -15,6 +18,7 @@ class AboutController < ApplicationController def new_user User.new.tap(&:build_account) end + helper_method :new_user def set_instance_presenter @@ -24,4 +28,11 @@ class AboutController < ApplicationController def set_body_classes @body_classes = 'about-body' end + + def initial_state_params + { + settings: {}, + token: current_session&.token, + } + end end diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb index f27a1f4d45..29b590d7a3 100644 --- a/app/controllers/admin/settings_controller.rb +++ b/app/controllers/admin/settings_controller.rb @@ -11,8 +11,15 @@ module Admin site_terms open_registrations closed_registrations_message + open_deletion + timeline_preview + ).freeze + + BOOLEAN_SETTINGS = %w( + open_registrations + open_deletion + timeline_preview ).freeze - BOOLEAN_SETTINGS = %w(open_registrations).freeze def edit @settings = Setting.all_as_records diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 218da69066..8a8b9ec76b 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -15,12 +15,16 @@ class HomeController < ApplicationController end def set_initial_state_json - state = InitialStatePresenter.new(settings: Web::Setting.find_by(user: current_user)&.data || {}, - current_account: current_account, - token: current_session.token, - admin: Account.find_local(Setting.site_contact_username)) - - serializable_resource = ActiveModelSerializers::SerializableResource.new(state, serializer: InitialStateSerializer) + serializable_resource = ActiveModelSerializers::SerializableResource.new(InitialStatePresenter.new(initial_state_params), serializer: InitialStateSerializer) @initial_state_json = serializable_resource.to_json end + + def initial_state_params + { + settings: Web::Setting.find_by(user: current_user)&.data || {}, + current_account: current_account, + token: current_session.token, + admin: Account.find_local(Setting.site_contact_username), + } + end end diff --git a/app/javascript/fonts/montserrat/Montserrat-Medium.ttf b/app/javascript/fonts/montserrat/Montserrat-Medium.ttf new file mode 100644 index 0000000000..88d70b89c3 Binary files /dev/null and b/app/javascript/fonts/montserrat/Montserrat-Medium.ttf differ diff --git a/app/javascript/images/cloud2.png b/app/javascript/images/cloud2.png new file mode 100644 index 0000000000..f325ca6de0 Binary files /dev/null and b/app/javascript/images/cloud2.png differ diff --git a/app/javascript/images/cloud3.png b/app/javascript/images/cloud3.png new file mode 100644 index 0000000000..ab194d0b85 Binary files /dev/null and b/app/javascript/images/cloud3.png differ diff --git a/app/javascript/images/cloud4.png b/app/javascript/images/cloud4.png new file mode 100644 index 0000000000..98323f5a27 Binary files /dev/null and b/app/javascript/images/cloud4.png differ diff --git a/app/javascript/images/elephant-fren.png b/app/javascript/images/elephant-fren.png new file mode 100644 index 0000000000..3b64edf084 Binary files /dev/null and b/app/javascript/images/elephant-fren.png differ diff --git a/app/javascript/images/logo.svg b/app/javascript/images/logo.svg index c233db8428..16cb3a9440 100644 --- a/app/javascript/images/logo.svg +++ b/app/javascript/images/logo.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/app/javascript/mastodon/components/dropdown_menu.js b/app/javascript/mastodon/components/dropdown_menu.js index 12e1b44fa2..98323b0691 100644 --- a/app/javascript/mastodon/components/dropdown_menu.js +++ b/app/javascript/mastodon/components/dropdown_menu.js @@ -14,6 +14,7 @@ export default class DropdownMenu extends React.PureComponent { size: PropTypes.number.isRequired, direction: PropTypes.string, ariaLabel: PropTypes.string, + disabled: PropTypes.bool, }; static defaultProps = { @@ -68,9 +69,19 @@ export default class DropdownMenu extends React.PureComponent { } render () { - const { icon, items, size, direction, ariaLabel } = this.props; - const { expanded } = this.state; + const { icon, items, size, direction, ariaLabel, disabled } = this.props; + const { expanded } = this.state; const directionClass = (direction === 'left') ? 'dropdown__left' : 'dropdown__right'; + const iconStyle = { fontSize: `${size}px`, width: `${size}px`, lineHeight: `${size}px` }; + const iconClassname = `fa fa-fw fa-${icon} dropdown__icon`; + + if (disabled) { + return ( +
{' '} @@ -157,7 +162,7 @@ export default class StatusContent extends React.PureComponent { return (
<a>
and <em>
.
@@ -185,7 +193,7 @@ en:
title: Extended site description
site_terms:
desc_html: Displayed on terms pageあなたがこのサイトに登録すると、ここで共有された情報を読んだり、書いたり、評価したりして、フォーラムでの情報を集める事ができます。
このサイトに登録する際には、名前とメールアドレスの入力を求めることがあります。ただし、登録をすることなくこのサイトを利用することも可能です。あなたのメールアドレスは、固有のリンクを含んだメールで確認されます。そのリンクにアクセスした場合にメールアドレスを制御することとなります。
diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 844e78908b..c8ad38d418 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -3,23 +3,12 @@ ko: about: about_mastodon: Mastodon 은자유로운 오픈 소스소셜 네트워크입니다. 상용 플랫폼의 대체로써 분산형 구조를 채택해, 여러분의 대화가 한 회사에 독점되는 것을 방지합니다. 신뢰할 수 있는 인스턴스를 선택하세요 — 어떤 인스턴스를 고르더라도, 누구와도 대화할 수 있습니다. 누구나 자신만의 Mastodon 인스턴스를 만들 수 있으며, Seamless하게 소셜 네트워크에 참가할 수 있습니다. about_this: 이 인스턴스에 대해서 - apps: 어플리케이션 business_email: '비즈니스 메일 주소:' closed_registrations: 현재 이 인스턴스에서는 신규 등록을 받고 있지 않습니다. contact: 연락처 description_headline: "%{domain} 는 무엇인가요?" domain_count_after: 개의 인스턴스 domain_count_before: 연결됨 - features: - api: 어플리케이션이나 그 외 서비스에 API를 공개 - blocks: 강력한 차단 및 뮤트 기능 - characters: 한번에 500자까지 포스팅 가능 - chronology: 시간 순서의 타임라인 - ethics: 광고도 트래킹도 없습니다 - gifv: GIFV나 짧은 동영상도 지원 - privacy: 각 포스팅마다 공개 범위를 상세히 설정 가능 - public: 공개 타임라인 - features_headline: Mastodon 의 특징 get_started: 참가하기 links: 링크 other_instances: 다른 인스턴스 @@ -151,7 +140,7 @@ ko: nsfw: 'false': NSFW 꺼짐 'true': NSFW 켜짐 - report: "신고 #%{id}" + report: '신고 #%{id}' report_contents: 내용 reported_account: 신고 대상 계정 reported_by: 신고자 @@ -173,8 +162,6 @@ ko: desc_html: 신규 등록을 받지 않을 때 프론트 페이지에 표시됩니다.Dokument jest dostępny na licencji CC-BY-SA. Ostatnio modyfikowany 31 maja 2013, przetłumaczony 4 lipca 2017. Tłumaczenie (mimo dołożenia wszelkich starań) może nie być w pełni poprawne.
Tekst bazuje na polityce prywatności Discourse.
- title: "Zasady korzystania i polityka prywatności %{instance}"
+ title: Zasady korzystania i polityka prywatności %{instance}
time:
formats:
default: "%b %d, %Y, %H:%M"
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 973a8d401f..fb5e03c8c7 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -3,23 +3,12 @@ pt-BR:
about:
about_mastodon: Mastodon é um servidor de rede social grátis, e open-source. Uma alternativa descentralizada ás plataformas comerciais, que evita o risco de uma única empresa monopolizar a sua comunicação. Escolha um servidor que você confie — qualquer um que escolher, você poderá interagir com todo o resto. Qualquer um pode ter uma instância Mastodon e assim participar na rede social federada sem problemas.
about_this: Sobre essa instância
- apps: Aplicações
business_email: 'Email comercial:'
closed_registrations: Registros estão fechadas para essa instância.
contact: Contato
description_headline: O que é %{domain}?
domain_count_after: outras instâncias
domain_count_before: Conectado a
- features:
- api: Aberto para API de aplicações e serviços
- blocks: Bloqueos e ferramentas para mudar
- characters: 500 caracteres por post
- chronology: Timeline são cronologicas
- ethics: 'Design ético: sem propaganda, sem tracking'
- gifv: GIFV e vídeos curtos
- privacy: Granular, privacidade setada por post
- public: Timelines públicas
- features_headline: O que torna Mastodon diferente
get_started: Comece aqui
links: Links
other_instances: Outras instâncias
@@ -159,8 +148,6 @@ pt-BR:
desc_html: Mostrar na página inicial quando registros estão fecados
Você pode usar tags HTML
title: Mensagem de registro fechados
open:
- disabled: Desabilitado
- enabled: Habilitado
title: Aberto para registro
setting: Preferências
site_description:
diff --git a/config/locales/pt.yml b/config/locales/pt.yml
index dff2898c06..0f59185a76 100644
--- a/config/locales/pt.yml
+++ b/config/locales/pt.yml
@@ -3,23 +3,12 @@ pt:
about:
about_mastodon: Mastodon é uma rede social grátis e em código aberto. Uma alternativa descentralizada às plataformas comerciais, que evita o risco de uma única empresa monopolizar a tua comunicação. Escolhe um servidor que confies, não importa qual, pois vais poder comunicar com todos os outros. Qualquer um pode criar uma instância Mastodon e participar nesta rede social.
about_this: Sobre esta instância
- apps: Aplicações
business_email: 'Email comercial:'
closed_registrations: Novos registos estão fechados nesta instância.
contact: Contacto
description_headline: O que é o %{domain}?
domain_count_after: outras instâncias
domain_count_before: Ligado a
- features:
- api: API aberta para aplicações e serviços
- blocks: Ferramentas para silenciar e bloquear
- characters: 500 caracteres por post
- chronology: Timelines cronológicas
- ethics: 'Design ético: sem públicidade ou tracking'
- gifv: GIFV e pequenos vídeos
- privacy: Privacidade granular por post
- public: Timelines públicas
- features_headline: O que torna Mastodon diferente
get_started: Começar
links: Links
other_instances: Outras instâncias
@@ -154,8 +143,6 @@ pt:
desc_html: Mostrar na página inicial quando registos estão encerrados
Podes usar tags HTML
title: Mensagem de registos encerrados
open:
- disabled: Desabilitado
- enabled: Habilitado
title: Aceitar novos registos
setting: Preferências
site_description:
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 6321e96eb0..414d39dd21 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -3,23 +3,12 @@ ru:
about:
about_mastodon: Mastodon - это свободная социальная сеть с открытым исходным кодом. Как децентрализованная альтернатива коммерческим платформам, Mastodon предотвращает риск монополизации Вашего общения одной компанией. Выберите сервер, которому Вы доверяете — что бы Вы ни выбрали, Вы сможете общаться со всеми остальными. Любой может запустить свой собственный узел Mastodon и участвовать в социальной сети совершенно бесшовно.
about_this: Об этом узле
- apps: Приложения
business_email: 'Деловой e-mail:'
closed_registrations: В данный момент регистрация на этом узле закрыта.
contact: Связаться
description_headline: Что такое %{domain}?
domain_count_after: другими узлами
domain_count_before: Связан с
- features:
- api: Открытый API для приложений и сервисов
- blocks: Продвинутые инструменты блокирования и глушения
- characters: 500 символов на пост
- chronology: Хронологические ленты
- ethics: 'Этичный дизайн: нет рекламы, нет слежения'
- gifv: GIFV и короткие видео
- privacy: Тонкие настройки приватности для каждого поста
- public: Публичные ленты
- features_headline: Что выделяет Mastodon
get_started: Начать
links: Ссылки
other_instances: Другие узлы
@@ -141,8 +130,6 @@ ru:
desc_html: Отображается на титульной странице, когда закрыта регистрация
Можно использовать HTML-теги
title: Сообщение о закрытой регистрации
open:
- disabled: Закрыта
- enabled: Открыта
title: Открыть регистрацию
setting: Настройка
site_description:
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 322e5e74bf..a71252afef 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -3,23 +3,12 @@ th:
about:
about_mastodon: แมสโทดอน เป็น ดีเซ็นทรัลไลซ์ฟรีโอเพ่นซอร์ส โซเชี่ยวเน็ตเวริ์ค. เป็นทางเลือกทดแทนโซเชี่ยวเน็ตเวิร์คที่ทำเป็นธุรกิจการค้า, ป้องกันการผูกขาดช่องทางการสื่อสารของคุณ. เลือกเซร์ฟเวอร์ที่คุณไว้ใจ — ที่คุณเลือกได้เอง, สื่อสารกับคนที่คุณต้องการได้เสมอ. ใครๆก็รันแมสโทดอนอินซะแตนซ์ได้ และ เชื่อมต่อกับโซเชี่ยวเน็ตเวิร์ค โดยไม่มีอะไรมาขวางกั้น.
about_this: เกี่ยวกับอินซะแตนซ์นี้
- apps: แอ๊ฟ
business_email: 'อีเมล์ธุรกิจ:'
closed_registrations: อินซะแตนซ์นี้ปิดรับลงทะเบียนแล้ว.
contact: ติดต่อ
description_headline: โดเมนคือ %{domain} ?
domain_count_after: อินซะแตนซ์อื่นๆ
domain_count_before: เชื่อมต่อกับ
- features:
- api: API เปิดสำหรับ Apps และ Services
- blocks: มีเครื่องมือสำหรับ Block และ Mute
- characters: เขียนได้ 500 ตัวอักษรต่อโพสต์
- chronology: Timelines are chronological
- ethics: 'ออกแบบด้วยจรรยาบรรณ: ไม่มีโฆษณา, ไม่มีการแทรค'
- gifv: รองรับภาพ GIFV และ วีดีโอสั้น
- privacy: Granular, per-post privacy settings
- public: ไทม์ไลน์สาธารณะ
- features_headline: What sets Mastodon apart
get_started: เริ่มกันเลย
links: ลิงก์
other_instances: อินซะแตนซ์อื่นๆ
@@ -160,8 +149,6 @@ th:
desc_html: Displayed on frontpage when registrations are closed
ใช้ HTML tags ได้
title: ปิดข้อความลงทะเบียน
open:
- disabled: ปิดการใช้งาน
- enabled: ปิดใช้งาน
title: เปิดรับลงทะเบียน
setting: ตั้งค่า
site_description:
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index 0e33e2efe7..a8927eaa85 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -3,23 +3,12 @@ tr:
about:
about_mastodon: Mastodon ücretsiz ve açık kaynaklı bir sosyal ağdır. Merkezileştirilmemiş yapısı sayesinde diğer ticari sosyal platformların aksine iletişimininizin tek bir firmada tutulmasının/yönetilmesinin önüne geçer. Güvendiğiniz bir sunucuyu seçerek oradaki kişilerle etkileşimde bulunabilirsiniz. Herkes kendi Mastodon sunucusunu kurabilir ve sorunsuz bir şekilde Mastodon sosyal ağına dahil edebilir.
about_this: Bu sunucu hakkında
- apps: Uygulamalar
business_email: 'İş e-postası:'
closed_registrations: Bu sunucu şu anda yeni kayıt almamaktadır.
contact: İletişim
description_headline: Peki %{domain} nedir?
domain_count_after: sunucu var.
domain_count_before: Bağlı olduğu
- features:
- api: Uygulama ve servisler için açık API
- blocks: Zengin blok ve iletişim araçları
- characters: 500 karakterlik gönderiler
- chronology: Kronolojik zaman tüneli
- ethics: 'Etik tasarım: reklam ve izleme yok'
- gifv: GIFV ve diğer video türleri
- privacy: Gönderi bazlı gizlilik
- public: Herkese açık zaman tünelleri
- features_headline: Mastodon'ı diğerlerinden ayıran nedir?
get_started: Kayıt ol
links: Bağlantılar
other_instances: Diğer sunucular
@@ -159,8 +148,6 @@ tr:
desc_html: Kayıt alımları kapatıldığında ana sayfada görüntülenecek mesajdır.
HTML etiketleri kullanabilirsiniz.
title: Kayıt alımları kapatılma mesajı
open:
- disabled: Kapalı
- enabled: Açık
title: Kayıt alımları
setting: Ayar adı
site_description:
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index 1327c1a7b2..65f1aabf52 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -3,23 +3,12 @@ uk:
about:
about_mastodon: Mastodon - це вільна соціальна мережа з відкритим вихідним кодом. Вона є децентралізованою альтернативою комерційним платформам, що дозволяє уникнути ризиків монополізації вашого спілкування однією компанією. Виберіть сервер, якому ви довіряєте — що б ви не вибрали, Ви зможете спілкуватись з усіма іншими. Будь-який користувач може запустити власну інстанцію Mastodon та без проблем брати участь в соціальній мережі.
about_this: Про цю інстанцію
- apps: Додатки
business_email: 'Діловий email:'
closed_registrations: На даний момент реєстрація на цій інстанції закрита.
contact: Зв'язатися
description_headline: Що таке %{domain}?
domain_count_after: іншими інстанціями
domain_count_before: Зв'язаний з
- features:
- api: Відкритий API для додаків та сервісів
- blocks: Продвинуті інструменти самомодерації
- characters: 500 символів на пост
- chronology: Хронологічні стрічки
- ethics: 'Этичний дизайн: немає реклами, немає стеження'
- gifv: GIFV та короткі відео
- privacy: Тонкі налаштування приватності для кожного поста
- public: Публічні стрічки
- features_headline: Що виділяє Mastodon
get_started: Почати
links: Посилання
other_instances: Інші інстанції
@@ -141,8 +130,6 @@ uk:
desc_html: Відображається на титульній сторінці, коли реєстрація закрита
Можна використовувати HTML-теги
title: Повідомлення про закриту реєстрацію
open:
- disabled: Закрита
- enabled: Відкрита
title: Відкрити реєстрацію
setting: Налаштування
site_description:
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index 6c8e9fc6d9..d5d1b672c4 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -3,23 +3,12 @@ zh-CN:
about:
about_mastodon: Mastodon(长毛象)是一个自由、开放源码的社交网站。它是一个分布式的服务,避免你的通信被单一商业机构垄断操控。请你选择一家你信任的 Mastodon 实例,在上面创建帐号,然后你就可以和任一 Mastodon 实例上的用户互通,享受无缝的社交交流。
about_this: 关于本实例
- apps: 应用程序
business_email: 商业电邮︰
closed_registrations: 这个实例目前不开放注册 _(:3」∠)_
contact: 联络
description_headline: 关于 %{domain}
domain_count_after: 个其它实例
domain_count_before: 现已接入
- features:
- api: 开放 API,供各式应用程序及服务接入
- blocks: 完善的封锁用户、静音功能
- characters: 每篇嘟文最多 500 字
- chronology: 纯粹按时间排序,不作多余处理
- ethics: 良心设计︰没有广告,不追踪你的使用行为
- gifv: 支持显示 GIFV 动图小视频
- privacy: 可逐篇嘟文设置隐私
- public: 提供公共时间轴
- features_headline: 是什么让 Mastodon 与众不同
get_started: 上手使用
links: 链接
other_instances: 其它实例
@@ -166,8 +155,6 @@ zh-CN:
desc_html: 当本站暂停接受注册时,会显示这个消息。
可使用 HTML
title: 暂停注册消息
open:
- disabled: 停用
- enabled: 启用
title: 开放注册
setting: 设置
site_description:
diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml
index 4d8262c5b7..aa9f27912c 100644
--- a/config/locales/zh-HK.yml
+++ b/config/locales/zh-HK.yml
@@ -3,23 +3,12 @@ zh-HK:
about:
about_mastodon: Mastodon(萬象)是自由、開源的社交網絡。服務站各自獨立而互連,避免單一商業機構壟斷。找你所信任的服務站,建立帳號,你即可與任何服務站上的用戶溝通,享受無縫的網絡交流。
about_this: 關於本服務站
- apps: 應用程式
business_email: 聯絡網站管理者︰
closed_registrations: 本服務站暫時停止接受登記。
contact: 聯絡
description_headline: 關於 %{domain}
domain_count_after: 個其他服務站
domain_count_before: 已連接至
- features:
- api: 開放 API,供各式應用程式及服務連入
- blocks: 完善的封鎖用戶、靜音功能
- characters: 每篇文章最多 500 字
- chronology: 時間軸忠實按時排序,不多餘處理
- ethics: 良心設計︰無廣告,不追蹤用戶
- gifv: 支援顯示 GIFV 短片圖組
- privacy: 可逐篇文章設定私隱度
- public: 公共時間軸
- features_headline: 甚麼讓 Mastodon 與眾不同
get_started: 立即登記
links: 連結
other_instances: 其他服務站
@@ -159,8 +148,6 @@ zh-HK:
desc_html: 當本站暫停接受註冊時,會顯示這個訊息。
可使用 HTML
title: 暫停註冊訊息
open:
- disabled: 停用
- enabled: 啟用
title: 開放註冊
setting: 設定
site_description:
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index 754175a7ae..58caf78481 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -3,23 +3,12 @@ zh-TW:
about:
about_mastodon: Mastodon (長毛象)是一個自由、開放原始碼的社群網站。它是一個分散式的服務,避免您的通訊被單一商業機構壟斷操控。請您選擇一家您信任的 Mastodon 服務站,在上面建立帳號,然後您就可以和任一 Mastodon 服務站上的使用者互通,享受無縫的社群網路交流。
about_this: 關於本服務站
- apps: 應用程式
business_email: 商務信箱︰
closed_registrations: 本服務站暫時停止接受註冊。
contact: 聯絡我們
description_headline: 關於 %{domain}
domain_count_after: 個服務站相連
domain_count_before: 與其他
- features:
- api: 開放 API,供各式應用程式及服務串接
- blocks: 完善的封鎖使用者、靜音功能
- characters: 每篇文章最多 500 字
- chronology: 時間軸按時序顯示文章,不作多餘處理
- ethics: 良心設計︰沒有廣告,不追蹤您的使用行為
- gifv: 支援顯示 GIFV 短片
- privacy: 可逐篇文章調整隱私設定
- public: 公開時間軸
- features_headline: Mastodon 與眾不同之處
get_started: 立即註冊
links: 連結
other_instances: 其他服務站
@@ -120,8 +109,6 @@ zh-TW:
desc_html: 關閉註冊時顯示在首頁的內容,可使用 HTML 標籤。
title: 關閉註冊訊息
open:
- disabled: 停用
- enabled: 啟用
title: 開放註冊
setting: 設定
site_description:
diff --git a/config/settings.yml b/config/settings.yml
index be2a7a1f83..579ba2929a 100644
--- a/config/settings.yml
+++ b/config/settings.yml
@@ -16,6 +16,7 @@ defaults: &defaults
open_registrations: true
closed_registrations_message: ''
open_deletion: true
+ timeline_preview: true
boost_modal: false
auto_play_gif: false
delete_modal: true
diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake
index 0e182c7556..bd70937e48 100644
--- a/lib/tasks/mastodon.rake
+++ b/lib/tasks/mastodon.rake
@@ -161,16 +161,12 @@ namespace :mastodon do
namespace :settings do
desc 'Open registrations on this instance'
task open_registrations: :environment do
- setting = Setting.where(var: 'open_registrations').first
- setting.value = true
- setting.save
+ Setting.open_registrations = true
end
desc 'Close registrations on this instance'
task close_registrations: :environment do
- setting = Setting.where(var: 'open_registrations').first
- setting.value = false
- setting.save
+ Setting.open_registrations = false
end
end
diff --git a/spec/requests/localization_spec.rb b/spec/requests/localization_spec.rb
index 2f7a5e91ef..f625a93a4f 100644
--- a/spec/requests/localization_spec.rb
+++ b/spec/requests/localization_spec.rb
@@ -6,13 +6,13 @@ describe 'Localization' do
after(:all) do
I18n.locale = I18n.default_locale
end
-
+
it 'uses a specific region when provided' do
headers = { 'Accept-Language' => 'zh-HK' }
get "/about", headers: headers
expect(response.body).to include(
- I18n.t('about.about_mastodon', locale: 'zh-HK')
+ I18n.t('about.about_mastodon_html', locale: 'zh-HK')
)
end
@@ -21,7 +21,7 @@ describe 'Localization' do
get "/about", headers: headers
expect(response.body).to include(
- I18n.t('about.about_mastodon', locale: 'es')
+ I18n.t('about.about_mastodon_html', locale: 'es')
)
end
it 'falls back to english when locale is missing' do
@@ -29,7 +29,7 @@ describe 'Localization' do
get "/about", headers: headers
expect(response.body).to include(
- I18n.t('about.about_mastodon', locale: 'en')
+ I18n.t('about.about_mastodon_html', locale: 'en')
)
end
end
diff --git a/spec/views/about/show.html.haml_spec.rb b/spec/views/about/show.html.haml_spec.rb
index 2c5130d849..c0ead63491 100644
--- a/spec/views/about/show.html.haml_spec.rb
+++ b/spec/views/about/show.html.haml_spec.rb
@@ -10,10 +10,11 @@ describe 'about/show.html.haml', without_verify_partial_doubles: true do
it 'has valid open graph tags' do
instance_presenter = double(:instance_presenter,
- site_description: 'something',
- open_registrations: false,
- closed_registrations_message: 'yes',
- )
+ site_title: 'something',
+ site_description: 'something',
+ version_number: '1.0',
+ open_registrations: false,
+ closed_registrations_message: 'yes')
assign(:instance_presenter, instance_presenter)
render