From 0446394465c505660c4b29185980e58a040da037 Mon Sep 17 00:00:00 2001
From: Claire <claire.github-309c@sitedethib.com>
Date: Wed, 16 Aug 2023 16:38:33 +0200
Subject: [PATCH] =?UTF-8?q?Fix=20=E2=80=9Clegal=E2=80=9D=20report=20catego?=
 =?UTF-8?q?ry=20not=20showing=20up=20in=20moderation=20interface=20(#26509?=
 =?UTF-8?q?)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../mastodon/components/admin/ReportReasonSelector.jsx       | 2 ++
 app/javascript/mastodon/locales/en.json                      | 1 +
 app/models/report.rb                                         | 5 ++++-
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/app/javascript/mastodon/components/admin/ReportReasonSelector.jsx b/app/javascript/mastodon/components/admin/ReportReasonSelector.jsx
index df298f333..ecce92b30 100644
--- a/app/javascript/mastodon/components/admin/ReportReasonSelector.jsx
+++ b/app/javascript/mastodon/components/admin/ReportReasonSelector.jsx
@@ -8,6 +8,7 @@ import classNames from 'classnames';
 import api from 'mastodon/api';
 
 const messages = defineMessages({
+  legal: { id: 'report.categories.legal', defaultMessage: 'Legal' },
   other: { id: 'report.categories.other', defaultMessage: 'Other' },
   spam: { id: 'report.categories.spam', defaultMessage: 'Spam' },
   violation: { id: 'report.categories.violation', defaultMessage: 'Content violates one or more server rules' },
@@ -150,6 +151,7 @@ class ReportReasonSelector extends PureComponent {
     return (
       <div className='report-reason-selector'>
         <Category id='other' text={intl.formatMessage(messages.other)} selected={category === 'other'} onSelect={this.handleSelect} disabled={disabled} />
+        <Category id='legal' text={intl.formatMessage(messages.legal)} selected={category === 'legal'} onSelect={this.handleSelect} disabled={disabled} />
         <Category id='spam' text={intl.formatMessage(messages.spam)} selected={category === 'spam'} onSelect={this.handleSelect} disabled={disabled} />
         <Category id='violation' text={intl.formatMessage(messages.violation)} selected={category === 'violation'} onSelect={this.handleSelect} disabled={disabled}>
           {rules.map(rule => <Rule key={rule.id} id={rule.id} text={rule.text} selected={rule_ids.includes(rule.id)} onToggle={this.handleToggle} disabled={disabled} />)}
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 7205bff05..d4cd8c794 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -533,6 +533,7 @@
   "reply_indicator.cancel": "Cancel",
   "report.block": "Block",
   "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
+  "report.categories.legal": "Legal",
   "report.categories.other": "Other",
   "report.categories.spam": "Spam",
   "report.categories.violation": "Content violates one or more server rules",
diff --git a/app/models/report.rb b/app/models/report.rb
index f6fd23cf3..eaf662d1e 100644
--- a/app/models/report.rb
+++ b/app/models/report.rb
@@ -48,7 +48,10 @@ class Report < ApplicationRecord
 
   validate :validate_rule_ids
 
-  # entries here needs to be kept in sync with app/javascript/mastodon/features/notifications/components/report.jsx
+  # entries here need to be kept in sync with the front-end:
+  # - app/javascript/mastodon/features/notifications/components/report.jsx
+  # - app/javascript/mastodon/features/report/category.jsx
+  # - app/javascript/mastodon/components/admin/ReportReasonSelector.jsx
   enum category: {
     other: 0,
     spam: 1_000,