diff --git a/app/soapbox/features/direct_timeline/index.js b/app/soapbox/features/direct_timeline/index.js
index 3c81c5d14..b09a58158 100644
--- a/app/soapbox/features/direct_timeline/index.js
+++ b/app/soapbox/features/direct_timeline/index.js
@@ -75,6 +75,7 @@ class DirectTimeline extends React.PureComponent {
timelineId='direct'
onLoadMore={this.handleLoadMore}
emptyMessage={
}
+ divideType='space'
/>
);
diff --git a/app/soapbox/features/ui/components/confirmation_modal.js b/app/soapbox/features/ui/components/confirmation_modal.js
index 76327ed73..ab740a940 100644
--- a/app/soapbox/features/ui/components/confirmation_modal.js
+++ b/app/soapbox/features/ui/components/confirmation_modal.js
@@ -61,7 +61,7 @@ class ConfirmationModal extends React.PureComponent {
cancelText={
}
cancelAction={this.handleCancel}
secondaryText={secondary}
- sectondaryAction={this.handleSecondary}
+ secondaryAction={this.props.onSecondary && this.handleSecondary}
>
{message}
diff --git a/app/soapbox/features/ui/components/missing_description_modal.js b/app/soapbox/features/ui/components/missing_description_modal.js
deleted file mode 100644
index d7b472bec..000000000
--- a/app/soapbox/features/ui/components/missing_description_modal.js
+++ /dev/null
@@ -1,52 +0,0 @@
-import PropTypes from 'prop-types';
-import React from 'react';
-import { injectIntl, FormattedMessage } from 'react-intl';
-
-import { Button } from '../../../components/ui';
-
-export default @injectIntl
-class MissingDescriptionModal extends React.PureComponent {
-
- static propTypes = {
- onClose: PropTypes.func,
- onContinue: PropTypes.func.isRequired,
- intl: PropTypes.object.isRequired,
- };
-
- componentDidMount() {
- this.button.focus();
- }
-
- handleContinue = () => {
- this.props.onClose();
- this.props.onContinue();
- }
-
- handleCancel = () => {
- this.props.onClose();
- }
-
- setRef = (c) => {
- this.button = c;
- }
-
- render() {
- return (
-
-
-
-
-
-
-
-
-
-
- );
- }
-
-}
diff --git a/app/soapbox/features/ui/components/missing_description_modal.tsx b/app/soapbox/features/ui/components/missing_description_modal.tsx
new file mode 100644
index 000000000..8268ff3e8
--- /dev/null
+++ b/app/soapbox/features/ui/components/missing_description_modal.tsx
@@ -0,0 +1,35 @@
+import React from 'react';
+import { injectIntl, FormattedMessage, IntlShape, defineMessages } from 'react-intl';
+
+import { Modal } from 'soapbox/components/ui';
+
+const messages = defineMessages({
+ modalTitle: { id: 'missing_description_modal.text', defaultMessage: 'You have not entered a description for all attachments.' },
+ post: { id: 'missing_description_modal.continue', defaultMessage: 'Post' },
+ cancel: { id: 'missing_description_modal.cancel', defaultMessage: 'Cancel' },
+});
+
+interface IMissingDescriptionModal {
+ onClose: () => void,
+ onContinue: () => void,
+ intl: IntlShape,
+}
+
+const MissingDescriptionModal: React.FC
= ({ onClose, onContinue, intl }) => {
+ return (
+
+
+
+
+
+ );
+};
+
+export default injectIntl(MissingDescriptionModal);
diff --git a/app/soapbox/features/ui/components/profile_info_panel.js b/app/soapbox/features/ui/components/profile_info_panel.js
index ce89ee6cb..57dfcf48e 100644
--- a/app/soapbox/features/ui/components/profile_info_panel.js
+++ b/app/soapbox/features/ui/components/profile_info_panel.js
@@ -92,7 +92,7 @@ class ProfileInfoPanel extends ImmutablePureComponent {
@@ -191,7 +191,7 @@ class ProfileInfoPanel extends ImmutablePureComponent {
@@ -208,7 +208,7 @@ class ProfileInfoPanel extends ImmutablePureComponent {
@@ -221,13 +221,13 @@ class ProfileInfoPanel extends ImmutablePureComponent {
{isSafeUrl(account.get('website')) ? (
- {account.get('website')}
+ {account.get('website')}
) : (
account.get('website')
)}
diff --git a/app/soapbox/features/ui/components/reactions_modal.js b/app/soapbox/features/ui/components/reactions_modal.js
index bea2c3567..36f79ea66 100644
--- a/app/soapbox/features/ui/components/reactions_modal.js
+++ b/app/soapbox/features/ui/components/reactions_modal.js
@@ -107,6 +107,7 @@ class ReactionsModal extends React.PureComponent {
{accounts.map((account) =>
,
diff --git a/app/soapbox/locales/en-Shaw.json b/app/soapbox/locales/en-Shaw.json
index ae0b73eb2..584c53c8d 100644
--- a/app/soapbox/locales/en-Shaw.json
+++ b/app/soapbox/locales/en-Shaw.json
@@ -595,7 +595,8 @@
"mfa.setup_warning": "๐ฎ๐ฒ๐ ๐๐ฐ๐ ๐๐ด๐๐ ๐๐ฌ๐ฏ ๐น ๐๐ฑ๐ ๐๐ง๐ฅ ๐๐ณ๐ฅ๐ข๐บ ๐๐ฆ๐๐๐ซ๐ผ - ๐ณ๐๐ผ๐ข๐ฒ๐ ๐ฟ ๐ข๐ด๐ฏ๐ ๐๐ฐ ๐๐ง๐ฅ ๐ฉ๐๐ฑ๐ฏ. ๐ฆ๐ ๐ฟ ๐ค๐ต๐ ๐จ๐๐๐ง๐ ๐ ๐๐น 2FA ๐จ๐ ๐ฏ ๐ฎ๐ฆ๐๐ณ๐๐ผ๐ฆ ๐๐ด๐๐ ๐ฟ๐ค ๐๐ฐ ๐ค๐ช๐๐ ๐ฌ๐ ๐ ๐๐น ๐ฉ๐๐ฌ๐ฏ๐.",
"missing_description_modal.cancel": "๐๐จ๐ฏ๐๐ฉ๐ค",
"missing_description_modal.continue": "๐๐ด๐๐",
- "missing_description_modal.text": "๐ฟ ๐ฃ๐จ๐ ๐ฏ๐ช๐ ๐ง๐ฏ๐๐ผ๐ ๐ฉ ๐๐ฆ๐๐๐ฎ๐ฆ๐๐๐ฉ๐ฏ ๐ ๐ท๐ค ๐ฉ๐๐จ๐๐ฅ๐ฉ๐ฏ๐๐. ๐๐ฉ๐ฏ๐๐ฆ๐ฏ๐ฟ ๐ง๐ฏ๐ฆ๐ข๐ฑ?",
+ "missing_description_modal.description": "๐๐ฉ๐ฏ๐๐ฆ๐ฏ๐ฟ ๐ง๐ฏ๐ฆ๐ข๐ฑ?",
+ "missing_description_modal.text": "๐ฟ ๐ฃ๐จ๐ ๐ฏ๐ช๐ ๐ง๐ฏ๐๐ผ๐ ๐ฉ ๐๐ฆ๐๐๐ฎ๐ฆ๐๐๐ฉ๐ฏ ๐ ๐ท๐ค ๐ฉ๐๐จ๐๐ฅ๐ฉ๐ฏ๐๐.",
"missing_indicator.label": "๐ฏ๐ช๐ ๐๐ฌ๐ฏ๐",
"missing_indicator.sublabel": "๐๐ฆ๐ ๐ฎ๐ฆ๐๐น๐ ๐๐ซ๐ ๐ฏ๐ช๐ ๐๐ฐ ๐๐ฌ๐ฏ๐",
"morefollows.followers_label": "โฆ๐ฏ {count} ๐ฅ๐น {count, plural, one {follower} other {followers}} ๐ช๐ฏ ๐ฎ๐ฆ๐ฅ๐ด๐ ๐๐ฒ๐๐.",
diff --git a/app/soapbox/locales/he.json b/app/soapbox/locales/he.json
index a454c56de..62c4fce07 100644
--- a/app/soapbox/locales/he.json
+++ b/app/soapbox/locales/he.json
@@ -598,7 +598,8 @@
"mfa.setup_warning": "ืจืฉืื ืืช ืืงืืืื ืืืื ืื ืฉืืืจ ืืืชื ืืืงืื ืืืืืื - ืืืจืช ืื ืชืจืื ืืืชื ืฉืื. ืื ืชืืื ืืช ืืืืฉื ืืืคืืืงืฆืืืช 2FA ืืืงืืื ืืฉืืืืจ ืฉืื ืชืื ืขื ืืืืฅ ืืืฉืืื ืฉืื.",
"missing_description_modal.cancel": "ืืื",
"missing_description_modal.continue": "ืฉืื",
- "missing_description_modal.text": "ืื ืืื ืช ืชืืืืจ ืขืืืจ ืื ืืงืืฆืื ืืืฆืืจืคืื. ืืืฉื ืืื ืืืช?",
+ "missing_description_modal.description": "ืืืฉื ืืื ืืืช?",
+ "missing_description_modal.text": "ืื ืืื ืช ืชืืืืจ ืขืืืจ ืื ืืงืืฆืื ืืืฆืืจืคืื.",
"missing_indicator.label": "ืื ื ืืฆื",
"missing_indicator.sublabel": "ืืฉืื ืื ืื ื ืืฆื",
"morefollows.followers_label": "ื-{count} ืขืื {count, plural, one {ืขืืงื} other {ืขืืงืืื}} ืืืชืจืื ืืจืืืงืื.",
diff --git a/app/soapbox/locales/pl.json b/app/soapbox/locales/pl.json
index ebb61e18e..d4feae868 100644
--- a/app/soapbox/locales/pl.json
+++ b/app/soapbox/locales/pl.json
@@ -640,7 +640,8 @@
"migration.submit": "Przenieล obserwujฤ
cych",
"missing_description_modal.cancel": "Anuluj",
"missing_description_modal.continue": "Opublikuj",
- "missing_description_modal.text": "Nie podaลeล(-aล) opisu dla wszystkich zaลฤ
cznikรณw. Czy na pewno chcesz kontynuowaฤ?",
+ "missing_description_modal.description": "Czy na pewno chcesz kontynuowaฤ?",
+ "missing_description_modal.text": "Nie podaลeล(-aล) opisu dla wszystkich zaลฤ
cznikรณw.",
"missing_indicator.label": "Nie znaleziono",
"missing_indicator.sublabel": "Nie moลผna odnaleลบฤ tego zasobu",
"morefollows.followers_label": "โฆi {count} wiฤcej {count, plural, one {obserwujฤ
cy(-a)} few {obserwujฤ
cych} many {obserwujฤ
cych} other {obserwujฤ
cych}} na zdalnych stronach.",
diff --git a/app/soapbox/locales/zh-CN.json b/app/soapbox/locales/zh-CN.json
index 86e92a1c4..2a62dfa38 100644
--- a/app/soapbox/locales/zh-CN.json
+++ b/app/soapbox/locales/zh-CN.json
@@ -595,7 +595,8 @@
"mfa.setup_warning": "่ฏท็ซๅณๅฐๆขๅคไปฃ็ ไฟๅญๆๅๅฐ็บธไธ๏ผๅฆๅไฝ ๅฏ่ฝๆ ๆณ็ปๅฝๅธๅทใ",
"missing_description_modal.cancel": "ๅๆถ",
"missing_description_modal.continue": "ๅๅธ",
- "missing_description_modal.text": "้ไปถๆฒกๆๆ่ฟฐไฟกๆฏ๏ผไป็ถ็ปง็ปญๅๅธๅ๏ผ",
+ "missing_description_modal.description": "ไป็ถ็ปง็ปญๅๅธๅ๏ผ",
+ "missing_description_modal.text": "้ไปถๆฒกๆๆ่ฟฐไฟกๆฏใ",
"missing_indicator.label": "ๆพไธๅฐๅ
ๅฎน",
"missing_indicator.sublabel": "ๆ ๆณๆพๅฐๆญค่ตๆบ",
"morefollows.followers_label": "ๅ{count} ๆฅ่ชๅ
ถไป็ซ็น็ {count, plural, one {ๅ
ณๆณจ่
} other {ๅ
ณๆณจ่
}} ใ",