diff --git a/src/components/status.jsx b/src/components/status.jsx
index 74df201b..20aa1c99 100644
--- a/src/components/status.jsx
+++ b/src/components/status.jsx
@@ -1105,51 +1105,72 @@ function Status({
>
)}
+ {(isSizeLarge ||
+ (!mediaFirst &&
+ (enableTranslate || !language || differentLanguage))) && (
+
+ )}
{!mediaFirst && (enableTranslate || !language || differentLanguage) && (
- <>
-
-
- {enableTranslate ? (
-
- ) : (
-
-
-
- Translate
-
-
- )}
- {supportsTTS && (
-
+ )}
+
+ )}
+ {isSizeLarge && (
+ {
+ try {
+ const postText = getPostText(status);
+ navigator.clipboard.writeText(postText);
+ showToast(t`Post text copied`);
+ } catch (e) {
+ console.error(e);
+ showToast(t`Unable to copy post text`);
+ }
+ }}
+ >
+
+
+ Copy post text
+
+
)}
{((!isSizeLarge && sameInstance) ||
enableTranslate ||
diff --git a/src/locales/en.po b/src/locales/en.po
index 86df01aa..c50b956e 100644
--- a/src/locales/en.po
+++ b/src/locales/en.po
@@ -111,11 +111,11 @@ msgstr ""
#: src/components/compose.jsx:2772
#: src/components/media-alt-modal.jsx:46
#: src/components/media-modal.jsx:358
-#: src/components/status.jsx:1775
-#: src/components/status.jsx:1792
-#: src/components/status.jsx:1917
-#: src/components/status.jsx:2535
-#: src/components/status.jsx:2538
+#: src/components/status.jsx:1796
+#: src/components/status.jsx:1813
+#: src/components/status.jsx:1938
+#: src/components/status.jsx:2556
+#: src/components/status.jsx:2559
#: src/pages/account-statuses.jsx:523
#: src/pages/accounts.jsx:110
#: src/pages/hashtag.jsx:200
@@ -203,7 +203,7 @@ msgid "Original"
msgstr ""
#: src/components/account-info.jsx:926
-#: src/components/status.jsx:2319
+#: src/components/status.jsx:2340
#: src/pages/catchup.jsx:72
#: src/pages/catchup.jsx:1442
#: src/pages/catchup.jsx:2057
@@ -300,30 +300,30 @@ msgid "Add/Remove from Lists"
msgstr ""
#: src/components/account-info.jsx:1384
-#: src/components/status.jsx:1215
+#: src/components/status.jsx:1236
msgid "Link copied"
msgstr ""
#: src/components/account-info.jsx:1387
-#: src/components/status.jsx:1218
+#: src/components/status.jsx:1239
msgid "Unable to copy link"
msgstr ""
#: src/components/account-info.jsx:1393
#: src/components/shortcuts-settings.jsx:1059
-#: src/components/status.jsx:1224
-#: src/components/status.jsx:3306
+#: src/components/status.jsx:1245
+#: src/components/status.jsx:3327
msgid "Copy"
msgstr ""
#: src/components/account-info.jsx:1408
#: src/components/shortcuts-settings.jsx:1077
-#: src/components/status.jsx:1240
+#: src/components/status.jsx:1261
msgid "Sharing doesn't seem to work."
msgstr ""
#: src/components/account-info.jsx:1414
-#: src/components/status.jsx:1246
+#: src/components/status.jsx:1267
msgid "Share…"
msgstr ""
@@ -437,9 +437,9 @@ msgstr ""
#: src/components/shortcuts-settings.jsx:230
#: src/components/shortcuts-settings.jsx:583
#: src/components/shortcuts-settings.jsx:783
-#: src/components/status.jsx:3030
-#: src/components/status.jsx:3270
-#: src/components/status.jsx:3779
+#: src/components/status.jsx:3051
+#: src/components/status.jsx:3291
+#: src/components/status.jsx:3800
#: src/pages/accounts.jsx:37
#: src/pages/catchup.jsx:1578
#: src/pages/filters.jsx:225
@@ -680,7 +680,7 @@ msgid "Attachment #{i} failed"
msgstr "Attachment #{i} failed"
#: src/components/compose.jsx:1211
-#: src/components/status.jsx:2105
+#: src/components/status.jsx:2126
#: src/components/timeline.jsx:993
msgid "Content warning"
msgstr ""
@@ -716,7 +716,7 @@ msgstr ""
#: src/components/compose.jsx:1278
#: src/components/status.jsx:100
-#: src/components/status.jsx:1981
+#: src/components/status.jsx:2002
msgid "Private mention"
msgstr ""
@@ -754,9 +754,9 @@ msgstr "Schedule"
#: src/components/compose.jsx:1664
#: src/components/keyboard-shortcuts-help.jsx:154
#: src/components/status.jsx:1008
-#: src/components/status.jsx:1755
-#: src/components/status.jsx:1756
-#: src/components/status.jsx:2439
+#: src/components/status.jsx:1776
+#: src/components/status.jsx:1777
+#: src/components/status.jsx:2460
msgid "Reply"
msgstr ""
@@ -978,7 +978,7 @@ msgstr ""
#: src/components/drafts.jsx:128
#: src/components/list-add-edit.jsx:186
-#: src/components/status.jsx:1390
+#: src/components/status.jsx:1411
#: src/pages/filters.jsx:603
#: src/pages/scheduled-posts.jsx:367
msgid "Delete…"
@@ -1188,9 +1188,9 @@ msgstr ""
#: src/components/keyboard-shortcuts-help.jsx:175
#: src/components/status.jsx:1016
-#: src/components/status.jsx:2466
-#: src/components/status.jsx:2489
-#: src/components/status.jsx:2490
+#: src/components/status.jsx:2487
+#: src/components/status.jsx:2510
+#: src/components/status.jsx:2511
msgid "Boost"
msgstr ""
@@ -1200,8 +1200,8 @@ msgstr ""
#: src/components/keyboard-shortcuts-help.jsx:183
#: src/components/status.jsx:1079
-#: src/components/status.jsx:2514
-#: src/components/status.jsx:2515
+#: src/components/status.jsx:2535
+#: src/components/status.jsx:2536
msgid "Bookmark"
msgstr ""
@@ -1260,14 +1260,14 @@ msgid "Media description"
msgstr ""
#: src/components/media-alt-modal.jsx:58
-#: src/components/status.jsx:1119
-#: src/components/status.jsx:1128
+#: src/components/status.jsx:1122
+#: src/components/status.jsx:1131
#: src/components/translation-block.jsx:215
msgid "Translate"
msgstr ""
#: src/components/media-alt-modal.jsx:69
-#: src/components/status.jsx:1147
+#: src/components/status.jsx:1150
msgid "Speak"
msgstr ""
@@ -1304,9 +1304,9 @@ msgid "Filtered: {filterTitleStr}"
msgstr ""
#: src/components/media-post.jsx:134
-#: src/components/status.jsx:3609
-#: src/components/status.jsx:3705
-#: src/components/status.jsx:3783
+#: src/components/status.jsx:3630
+#: src/components/status.jsx:3726
+#: src/components/status.jsx:3804
#: src/components/timeline.jsx:982
#: src/pages/catchup.jsx:76
#: src/pages/catchup.jsx:1876
@@ -1947,7 +1947,7 @@ msgid "Move down"
msgstr ""
#: src/components/shortcuts-settings.jsx:379
-#: src/components/status.jsx:1352
+#: src/components/status.jsx:1373
#: src/pages/list.jsx:171
msgid "Edit"
msgstr ""
@@ -2185,25 +2185,25 @@ msgstr ""
#: src/components/status.jsx:1016
#: src/components/status.jsx:1056
-#: src/components/status.jsx:2466
-#: src/components/status.jsx:2489
+#: src/components/status.jsx:2487
+#: src/components/status.jsx:2510
msgid "Unboost"
msgstr ""
#: src/components/status.jsx:1032
-#: src/components/status.jsx:2481
+#: src/components/status.jsx:2502
msgid "Quote"
msgstr ""
#. placeholder {0}: username || acct
#: src/components/status.jsx:1044
-#: src/components/status.jsx:1480
+#: src/components/status.jsx:1501
msgid "Unboosted @{0}'s post"
msgstr "Unboosted @{0}'s post"
#. placeholder {0}: username || acct
#: src/components/status.jsx:1045
-#: src/components/status.jsx:1481
+#: src/components/status.jsx:1502
msgid "Boosted @{0}'s post"
msgstr "Boosted @{0}'s post"
@@ -2212,247 +2212,259 @@ msgid "Boost…"
msgstr ""
#: src/components/status.jsx:1069
-#: src/components/status.jsx:1765
-#: src/components/status.jsx:2502
+#: src/components/status.jsx:1786
+#: src/components/status.jsx:2523
msgid "Unlike"
msgstr ""
#: src/components/status.jsx:1070
-#: src/components/status.jsx:1765
-#: src/components/status.jsx:1766
-#: src/components/status.jsx:2502
-#: src/components/status.jsx:2503
+#: src/components/status.jsx:1786
+#: src/components/status.jsx:1787
+#: src/components/status.jsx:2523
+#: src/components/status.jsx:2524
msgid "Like"
msgstr ""
#: src/components/status.jsx:1079
-#: src/components/status.jsx:2514
+#: src/components/status.jsx:2535
msgid "Unbookmark"
msgstr ""
+#: src/components/status.jsx:1162
+msgid "Post text copied"
+msgstr "Post text copied"
+
+#: src/components/status.jsx:1165
+msgid "Unable to copy post text"
+msgstr "Unable to copy post text"
+
+#: src/components/status.jsx:1171
+msgid "Copy post text"
+msgstr "Copy post text"
+
#. placeholder {0}: username || acct
-#: src/components/status.jsx:1168
+#: src/components/status.jsx:1189
msgid "View post by <0>@{0}0>"
msgstr ""
-#: src/components/status.jsx:1189
+#: src/components/status.jsx:1210
msgid "Show Edit History"
msgstr ""
-#: src/components/status.jsx:1192
+#: src/components/status.jsx:1213
msgid "Edited: {editedDateText}"
msgstr ""
-#: src/components/status.jsx:1259
-#: src/components/status.jsx:3275
+#: src/components/status.jsx:1280
+#: src/components/status.jsx:3296
msgid "Embed post"
msgstr ""
-#: src/components/status.jsx:1273
+#: src/components/status.jsx:1294
msgid "Conversation unmuted"
msgstr ""
-#: src/components/status.jsx:1273
+#: src/components/status.jsx:1294
msgid "Conversation muted"
msgstr ""
-#: src/components/status.jsx:1279
+#: src/components/status.jsx:1300
msgid "Unable to unmute conversation"
msgstr ""
-#: src/components/status.jsx:1280
+#: src/components/status.jsx:1301
msgid "Unable to mute conversation"
msgstr ""
-#: src/components/status.jsx:1289
+#: src/components/status.jsx:1310
msgid "Unmute conversation"
msgstr ""
-#: src/components/status.jsx:1296
+#: src/components/status.jsx:1317
msgid "Mute conversation"
msgstr ""
-#: src/components/status.jsx:1312
+#: src/components/status.jsx:1333
msgid "Post unpinned from profile"
msgstr ""
-#: src/components/status.jsx:1313
+#: src/components/status.jsx:1334
msgid "Post pinned to profile"
msgstr ""
-#: src/components/status.jsx:1318
+#: src/components/status.jsx:1339
msgid "Unable to unpin post"
msgstr ""
-#: src/components/status.jsx:1318
+#: src/components/status.jsx:1339
msgid "Unable to pin post"
msgstr ""
-#: src/components/status.jsx:1327
+#: src/components/status.jsx:1348
msgid "Unpin from profile"
msgstr ""
-#: src/components/status.jsx:1334
+#: src/components/status.jsx:1355
msgid "Pin to profile"
msgstr ""
-#: src/components/status.jsx:1363
+#: src/components/status.jsx:1384
msgid "Delete this post?"
msgstr ""
-#: src/components/status.jsx:1379
+#: src/components/status.jsx:1400
msgid "Post deleted"
msgstr ""
-#: src/components/status.jsx:1382
+#: src/components/status.jsx:1403
msgid "Unable to delete post"
msgstr ""
-#: src/components/status.jsx:1410
+#: src/components/status.jsx:1431
msgid "Report post…"
msgstr ""
-#: src/components/status.jsx:1766
-#: src/components/status.jsx:1802
-#: src/components/status.jsx:2503
+#: src/components/status.jsx:1787
+#: src/components/status.jsx:1823
+#: src/components/status.jsx:2524
msgid "Liked"
msgstr ""
-#: src/components/status.jsx:1799
-#: src/components/status.jsx:2490
+#: src/components/status.jsx:1820
+#: src/components/status.jsx:2511
msgid "Boosted"
msgstr ""
-#: src/components/status.jsx:1809
-#: src/components/status.jsx:2515
+#: src/components/status.jsx:1830
+#: src/components/status.jsx:2536
msgid "Bookmarked"
msgstr ""
-#: src/components/status.jsx:1813
+#: src/components/status.jsx:1834
msgid "Pinned"
msgstr ""
-#: src/components/status.jsx:1859
-#: src/components/status.jsx:2327
+#: src/components/status.jsx:1880
+#: src/components/status.jsx:2348
msgid "Deleted"
msgstr ""
-#: src/components/status.jsx:1900
+#: src/components/status.jsx:1921
msgid "{repliesCount, plural, one {# reply} other {# replies}}"
msgstr ""
#. placeholder {0}: snapStates.statusThreadNumber[sKey] ? ` ${snapStates.statusThreadNumber[sKey]}/X` : ''
-#: src/components/status.jsx:1990
+#: src/components/status.jsx:2011
msgid "Thread{0}"
msgstr ""
-#: src/components/status.jsx:2068
-#: src/components/status.jsx:2130
-#: src/components/status.jsx:2223
+#: src/components/status.jsx:2089
+#: src/components/status.jsx:2151
+#: src/components/status.jsx:2244
msgid "Show less"
msgstr ""
-#: src/components/status.jsx:2068
-#: src/components/status.jsx:2130
+#: src/components/status.jsx:2089
+#: src/components/status.jsx:2151
msgid "Show content"
msgstr ""
#. placeholder {0}: filterInfo.titlesStr
#. placeholder {0}: filterInfo?.titlesStr
-#: src/components/status.jsx:2219
+#: src/components/status.jsx:2240
#: src/pages/catchup.jsx:1875
msgid "Filtered: {0}"
msgstr "Filtered: {0}"
-#: src/components/status.jsx:2223
+#: src/components/status.jsx:2244
msgid "Show media"
msgstr ""
-#: src/components/status.jsx:2363
+#: src/components/status.jsx:2384
msgid "Edited"
msgstr ""
-#: src/components/status.jsx:2440
+#: src/components/status.jsx:2461
msgid "Comments"
msgstr ""
#. More from [Author]
-#: src/components/status.jsx:2733
+#: src/components/status.jsx:2754
msgid "More from <0/>"
msgstr "More from <0/>"
-#: src/components/status.jsx:3035
+#: src/components/status.jsx:3056
msgid "Edit History"
msgstr ""
-#: src/components/status.jsx:3039
+#: src/components/status.jsx:3060
msgid "Failed to load history"
msgstr ""
-#: src/components/status.jsx:3044
+#: src/components/status.jsx:3065
#: src/pages/annual-report.jsx:45
msgid "Loading…"
msgstr ""
-#: src/components/status.jsx:3280
+#: src/components/status.jsx:3301
msgid "HTML Code"
msgstr ""
-#: src/components/status.jsx:3297
+#: src/components/status.jsx:3318
msgid "HTML code copied"
msgstr ""
-#: src/components/status.jsx:3300
+#: src/components/status.jsx:3321
msgid "Unable to copy HTML code"
msgstr ""
-#: src/components/status.jsx:3312
+#: src/components/status.jsx:3333
msgid "Media attachments:"
msgstr ""
-#: src/components/status.jsx:3334
+#: src/components/status.jsx:3355
msgid "Account Emojis:"
msgstr ""
-#: src/components/status.jsx:3365
-#: src/components/status.jsx:3410
+#: src/components/status.jsx:3386
+#: src/components/status.jsx:3431
msgid "static URL"
msgstr ""
-#: src/components/status.jsx:3379
+#: src/components/status.jsx:3400
msgid "Emojis:"
msgstr ""
-#: src/components/status.jsx:3424
+#: src/components/status.jsx:3445
msgid "Notes:"
msgstr ""
-#: src/components/status.jsx:3428
+#: src/components/status.jsx:3449
msgid "This is static, unstyled and scriptless. You may need to apply your own styles and edit as needed."
msgstr ""
-#: src/components/status.jsx:3434
+#: src/components/status.jsx:3455
msgid "Polls are not interactive, becomes a list with vote counts."
msgstr ""
-#: src/components/status.jsx:3439
+#: src/components/status.jsx:3460
msgid "Media attachments can be images, videos, audios or any file types."
msgstr ""
-#: src/components/status.jsx:3445
+#: src/components/status.jsx:3466
msgid "Post could be edited or deleted later."
msgstr ""
-#: src/components/status.jsx:3451
+#: src/components/status.jsx:3472
msgid "Preview"
msgstr ""
-#: src/components/status.jsx:3460
+#: src/components/status.jsx:3481
msgid "Note: This preview is lightly styled."
msgstr ""
#. [Name] [Visibility icon] boosted
-#: src/components/status.jsx:3713
+#: src/components/status.jsx:3734
msgid "<0/> <1/> boosted"
msgstr ""