Time to make use of media modal

This commit is contained in:
Lim Chee Aun 2025-02-19 17:51:39 +08:00
parent 29ce176e0a
commit 87ea4372b1
3 changed files with 165 additions and 142 deletions

View file

@ -37,7 +37,6 @@ import Link from './link';
import ListAddEdit from './list-add-edit';
import Loader from './loader';
import MenuConfirm from './menu-confirm';
import MenuLink from './menu-link';
import Menu2 from './menu2';
import Modal from './modal';
import SubMenu2 from './submenu2';
@ -604,18 +603,40 @@ function AccountInfo({
</span>
</MenuItem>
<MenuDivider />
<MenuLink href={info.avatar} target="_blank">
<MenuItem
onClick={() => {
states.showMediaModal = {
mediaAttachments: [
{
type: 'image',
url: avatarStatic,
},
],
};
}}
>
<Icon icon="user" />
<span>
<Trans>View profile image</Trans>
</span>
</MenuLink>
<MenuLink href={info.header} target="_blank">
</MenuItem>
<MenuItem
onClick={() => {
states.showMediaModal = {
mediaAttachments: [
{
type: 'image',
url: headerStatic,
},
],
};
}}
>
<Icon icon="media" />
<span>
<Trans>View profile header</Trans>
</span>
</MenuLink>
</MenuItem>
</Menu2>
) : (
<AccountBlock

View file

@ -417,27 +417,29 @@ function MediaModal({
</>
)}
</Menu2>{' '}
<Link
to={`${instance ? `/${instance}` : ''}/s/${statusID}${
window.matchMedia('(min-width: calc(40em + 350px))').matches
? `?media=${currentIndex + 1}`
: ''
}`}
class="button carousel-button media-post-link"
// onClick={() => {
// // if small screen (not media query min-width 40em + 350px), run onClose
// if (
// !window.matchMedia('(min-width: calc(40em + 350px))').matches
// ) {
// onClose();
// }
// }}
>
<span class="button-label">
<Trans>View post</Trans>{' '}
</span>
&raquo;
</Link>
{!!statusID && (
<Link
to={`${instance ? `/${instance}` : ''}/s/${statusID}${
window.matchMedia('(min-width: calc(40em + 350px))').matches
? `?media=${currentIndex + 1}`
: ''
}`}
class="button carousel-button media-post-link"
// onClick={() => {
// // if small screen (not media query min-width 40em + 350px), run onClose
// if (
// !window.matchMedia('(min-width: calc(40em + 350px))').matches
// ) {
// onClose();
// }
// }}
>
<span class="button-label">
<Trans>View post</Trans>{' '}
</span>
&raquo;
</Link>
)}
</span>
</div>
{mediaAttachments?.length > 1 && (

232
src/locales/en.po generated
View file

@ -28,12 +28,12 @@ msgid "Last posted: {0}"
msgstr ""
#: src/components/account-block.jsx:162
#: src/components/account-info.jsx:638
#: src/components/account-info.jsx:659
msgid "Automated"
msgstr ""
#: src/components/account-block.jsx:169
#: src/components/account-info.jsx:643
#: src/components/account-info.jsx:664
#: src/components/status.jsx:514
msgid "Group"
msgstr ""
@ -43,17 +43,17 @@ msgid "Mutual"
msgstr ""
#: src/components/account-block.jsx:183
#: src/components/account-info.jsx:1684
#: src/components/account-info.jsx:1705
msgid "Requested"
msgstr ""
#: src/components/account-block.jsx:187
#: src/components/account-info.jsx:1675
#: src/components/account-info.jsx:1696
msgid "Following"
msgstr ""
#: src/components/account-block.jsx:191
#: src/components/account-info.jsx:1066
#: src/components/account-info.jsx:1087
msgid "Follows you"
msgstr ""
@ -62,52 +62,52 @@ msgid "{followersCount, plural, one {# follower} other {# followers}}"
msgstr ""
#: src/components/account-block.jsx:208
#: src/components/account-info.jsx:684
#: src/components/account-info.jsx:705
msgid "Verified"
msgstr ""
#. placeholder {0}: niceDateTime(createdAt, { hideTime: true, })
#. placeholder {0}: niceDateTime(createdAt, { hideTime: true, })
#: src/components/account-block.jsx:223
#: src/components/account-info.jsx:784
#: src/components/account-info.jsx:805
msgid "Joined <0>{0}</0>"
msgstr ""
#: src/components/account-info.jsx:58
#: src/components/account-info.jsx:57
msgid "Forever"
msgstr ""
#: src/components/account-info.jsx:379
#: src/components/account-info.jsx:378
msgid "Unable to load account."
msgstr ""
#: src/components/account-info.jsx:388
#: src/components/account-info.jsx:387
msgid "Go to account page"
msgstr ""
#: src/components/account-info.jsx:417
#: src/components/account-info.jsx:706
#: src/components/account-info.jsx:736
#: src/components/account-info.jsx:416
#: src/components/account-info.jsx:727
#: src/components/account-info.jsx:757
msgid "Followers"
msgstr ""
#. js-lingui-explicit-id
#: src/components/account-info.jsx:420
#: src/components/account-info.jsx:746
#: src/components/account-info.jsx:763
#: src/components/account-info.jsx:419
#: src/components/account-info.jsx:767
#: src/components/account-info.jsx:784
msgid "following.stats"
msgstr "Following"
#: src/components/account-info.jsx:423
#: src/components/account-info.jsx:780
#: src/components/account-info.jsx:422
#: src/components/account-info.jsx:801
#: src/pages/account-statuses.jsx:479
#: src/pages/search.jsx:328
#: src/pages/search.jsx:475
msgid "Posts"
msgstr ""
#: src/components/account-info.jsx:431
#: src/components/account-info.jsx:1122
#: src/components/account-info.jsx:430
#: src/components/account-info.jsx:1143
#: src/components/compose.jsx:2624
#: src/components/media-alt-modal.jsx:46
#: src/components/media-modal.jsx:358
@ -126,50 +126,50 @@ msgstr ""
msgid "More"
msgstr ""
#: src/components/account-info.jsx:443
#: src/components/account-info.jsx:442
msgid "<0>{displayName}</0> has indicated that their new account is now:"
msgstr ""
#: src/components/account-info.jsx:588
#: src/components/account-info.jsx:1280
#: src/components/account-info.jsx:587
#: src/components/account-info.jsx:1301
msgid "Handle copied"
msgstr "Handle copied"
#: src/components/account-info.jsx:591
#: src/components/account-info.jsx:1283
#: src/components/account-info.jsx:590
#: src/components/account-info.jsx:1304
msgid "Unable to copy handle"
msgstr "Unable to copy handle"
#: src/components/account-info.jsx:597
#: src/components/account-info.jsx:1289
#: src/components/account-info.jsx:596
#: src/components/account-info.jsx:1310
msgid "Copy handle"
msgstr ""
#: src/components/account-info.jsx:603
#: src/components/account-info.jsx:602
msgid "Go to original profile page"
msgstr ""
#: src/components/account-info.jsx:610
#: src/components/account-info.jsx:620
msgid "View profile image"
msgstr ""
#: src/components/account-info.jsx:616
#: src/components/account-info.jsx:637
msgid "View profile header"
msgstr ""
#: src/components/account-info.jsx:633
#: src/components/account-info.jsx:654
msgid "In Memoriam"
msgstr ""
#: src/components/account-info.jsx:713
#: src/components/account-info.jsx:754
#: src/components/account-info.jsx:734
#: src/components/account-info.jsx:775
msgid "This user has chosen to not make this information available."
msgstr "This user has chosen to not make this information available."
#. placeholder {0}: ( postingStats.originals / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
#. placeholder {1}: ( postingStats.replies / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
#. placeholder {2}: ( postingStats.boosts / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
#: src/components/account-info.jsx:809
#: src/components/account-info.jsx:830
msgid "{0} original posts, {1} replies, {2} boosts"
msgstr "{0} original posts, {1} replies, {2} boosts"
@ -180,22 +180,22 @@ msgstr "{0} original posts, {1} replies, {2} boosts"
#. placeholder {4}: postingStats.total
#. placeholder {5}: postingStats.total
#. placeholder {6}: postingStats.daysSinceLastPost
#: src/components/account-info.jsx:825
#: src/components/account-info.jsx:846
msgid "{0, plural, one {{1, plural, one {Last 1 post in the past 1 day} other {Last 1 post in the past {2} days}}} other {{3, plural, one {Last {4} posts in the past 1 day} other {Last {5} posts in the past {6} days}}}}"
msgstr ""
#. placeholder {0}: postingStats.total
#. placeholder {1}: postingStats.total
#: src/components/account-info.jsx:838
#: src/components/account-info.jsx:859
msgid "{0, plural, one {Last 1 post in the past year(s)} other {Last {1} posts in the past year(s)}}"
msgstr ""
#: src/components/account-info.jsx:862
#: src/components/account-info.jsx:883
#: src/pages/catchup.jsx:70
msgid "Original"
msgstr ""
#: src/components/account-info.jsx:866
#: src/components/account-info.jsx:887
#: src/components/status.jsx:2265
#: src/pages/catchup.jsx:71
#: src/pages/catchup.jsx:1445
@ -205,7 +205,7 @@ msgstr ""
msgid "Replies"
msgstr ""
#: src/components/account-info.jsx:870
#: src/components/account-info.jsx:891
#: src/pages/catchup.jsx:72
#: src/pages/catchup.jsx:1447
#: src/pages/catchup.jsx:2070
@ -213,210 +213,210 @@ msgstr ""
msgid "Boosts"
msgstr ""
#: src/components/account-info.jsx:876
#: src/components/account-info.jsx:897
msgid "Post stats unavailable."
msgstr ""
#: src/components/account-info.jsx:907
#: src/components/account-info.jsx:928
msgid "View post stats"
msgstr ""
#. placeholder {0}: niceDateTime(lastStatusAt, { hideTime: true, })
#: src/components/account-info.jsx:1070
#: src/components/account-info.jsx:1091
msgid "Last post: <0>{0}</0>"
msgstr ""
#: src/components/account-info.jsx:1084
#: src/components/account-info.jsx:1105
msgid "Muted"
msgstr ""
#: src/components/account-info.jsx:1089
#: src/components/account-info.jsx:1110
msgid "Blocked"
msgstr ""
#: src/components/account-info.jsx:1098
#: src/components/account-info.jsx:1119
msgid "Private note"
msgstr "Private note"
#: src/components/account-info.jsx:1155
#: src/components/account-info.jsx:1176
msgid "Mention <0>@{username}</0>"
msgstr ""
#: src/components/account-info.jsx:1167
#: src/components/account-info.jsx:1188
msgid "Translate bio"
msgstr ""
#: src/components/account-info.jsx:1178
#: src/components/account-info.jsx:1199
msgid "Edit private note"
msgstr "Edit private note"
#: src/components/account-info.jsx:1178
#: src/components/account-info.jsx:1199
msgid "Add private note"
msgstr "Add private note"
#: src/components/account-info.jsx:1198
#: src/components/account-info.jsx:1219
msgid "Notifications enabled for @{username}'s posts."
msgstr "Notifications enabled for @{username}'s posts."
#: src/components/account-info.jsx:1199
#: src/components/account-info.jsx:1220
msgid " Notifications disabled for @{username}'s posts."
msgstr " Notifications disabled for @{username}'s posts."
#: src/components/account-info.jsx:1211
#: src/components/account-info.jsx:1232
msgid "Disable notifications"
msgstr "Disable notifications"
#: src/components/account-info.jsx:1212
#: src/components/account-info.jsx:1233
msgid "Enable notifications"
msgstr "Enable notifications"
#: src/components/account-info.jsx:1229
#: src/components/account-info.jsx:1250
msgid "Boosts from @{username} enabled."
msgstr "Boosts from @{username} enabled."
#: src/components/account-info.jsx:1230
#: src/components/account-info.jsx:1251
msgid "Boosts from @{username} disabled."
msgstr "Boosts from @{username} disabled."
#: src/components/account-info.jsx:1241
#: src/components/account-info.jsx:1262
msgid "Disable boosts"
msgstr "Disable boosts"
#: src/components/account-info.jsx:1241
#: src/components/account-info.jsx:1262
msgid "Enable boosts"
msgstr "Enable boosts"
#: src/components/account-info.jsx:1257
#: src/components/account-info.jsx:1267
#: src/components/account-info.jsx:1870
#: src/components/account-info.jsx:1278
#: src/components/account-info.jsx:1288
#: src/components/account-info.jsx:1891
msgid "Add/Remove from Lists"
msgstr ""
#: src/components/account-info.jsx:1306
#: src/components/account-info.jsx:1327
#: src/components/status.jsx:1174
msgid "Link copied"
msgstr ""
#: src/components/account-info.jsx:1309
#: src/components/account-info.jsx:1330
#: src/components/status.jsx:1177
msgid "Unable to copy link"
msgstr ""
#: src/components/account-info.jsx:1315
#: src/components/account-info.jsx:1336
#: src/components/shortcuts-settings.jsx:1059
#: src/components/status.jsx:1183
#: src/components/status.jsx:3258
msgid "Copy"
msgstr ""
#: src/components/account-info.jsx:1330
#: src/components/account-info.jsx:1351
#: src/components/shortcuts-settings.jsx:1077
#: src/components/status.jsx:1199
msgid "Sharing doesn't seem to work."
msgstr ""
#: src/components/account-info.jsx:1336
#: src/components/account-info.jsx:1357
#: src/components/status.jsx:1205
msgid "Share…"
msgstr ""
#: src/components/account-info.jsx:1356
#: src/components/account-info.jsx:1377
msgid "Unmuted @{username}"
msgstr "Unmuted @{username}"
#: src/components/account-info.jsx:1368
#: src/components/account-info.jsx:1389
msgid "Unmute <0>@{username}</0>"
msgstr ""
#: src/components/account-info.jsx:1384
#: src/components/account-info.jsx:1405
msgid "Mute <0>@{username}</0>…"
msgstr ""
#. placeholder {0}: typeof MUTE_DURATIONS_LABELS[duration] === 'function' ? MUTE_DURATIONS_LABELS[duration]() : _(MUTE_DURATIONS_LABELS[duration])
#: src/components/account-info.jsx:1416
#: src/components/account-info.jsx:1437
msgid "Muted @{username} for {0}"
msgstr "Muted @{username} for {0}"
#: src/components/account-info.jsx:1428
#: src/components/account-info.jsx:1449
msgid "Unable to mute @{username}"
msgstr "Unable to mute @{username}"
#: src/components/account-info.jsx:1449
#: src/components/account-info.jsx:1470
msgid "Remove <0>@{username}</0> from followers?"
msgstr ""
#: src/components/account-info.jsx:1469
#: src/components/account-info.jsx:1490
msgid "@{username} removed from followers"
msgstr "@{username} removed from followers"
#: src/components/account-info.jsx:1481
#: src/components/account-info.jsx:1502
msgid "Remove follower…"
msgstr ""
#: src/components/account-info.jsx:1492
#: src/components/account-info.jsx:1513
msgid "Block <0>@{username}</0>?"
msgstr ""
#: src/components/account-info.jsx:1516
#: src/components/account-info.jsx:1537
msgid "Unblocked @{username}"
msgstr "Unblocked @{username}"
#: src/components/account-info.jsx:1524
#: src/components/account-info.jsx:1545
msgid "Blocked @{username}"
msgstr "Blocked @{username}"
#: src/components/account-info.jsx:1532
#: src/components/account-info.jsx:1553
msgid "Unable to unblock @{username}"
msgstr "Unable to unblock @{username}"
#: src/components/account-info.jsx:1534
#: src/components/account-info.jsx:1555
msgid "Unable to block @{username}"
msgstr "Unable to block @{username}"
#: src/components/account-info.jsx:1544
#: src/components/account-info.jsx:1565
msgid "Unblock <0>@{username}</0>"
msgstr ""
#: src/components/account-info.jsx:1553
#: src/components/account-info.jsx:1574
msgid "Block <0>@{username}</0>…"
msgstr ""
#: src/components/account-info.jsx:1570
#: src/components/account-info.jsx:1591
msgid "Report <0>@{username}</0>…"
msgstr ""
#: src/components/account-info.jsx:1590
#: src/components/account-info.jsx:2105
#: src/components/account-info.jsx:1611
#: src/components/account-info.jsx:2126
msgid "Edit profile"
msgstr ""
#: src/components/account-info.jsx:1626
#: src/components/account-info.jsx:1647
msgid "Withdraw follow request?"
msgstr "Withdraw follow request?"
#. placeholder {1}: info.acct || info.username
#: src/components/account-info.jsx:1627
#: src/components/account-info.jsx:1648
msgid "Unfollow @{1}?"
msgstr "Unfollow @{1}?"
#: src/components/account-info.jsx:1678
#: src/components/account-info.jsx:1699
msgid "Unfollow…"
msgstr ""
#: src/components/account-info.jsx:1687
#: src/components/account-info.jsx:1708
msgid "Withdraw…"
msgstr ""
#: src/components/account-info.jsx:1694
#: src/components/account-info.jsx:1698
#: src/components/account-info.jsx:1715
#: src/components/account-info.jsx:1719
#: src/pages/hashtag.jsx:262
msgid "Follow"
msgstr ""
#: src/components/account-info.jsx:1810
#: src/components/account-info.jsx:1865
#: src/components/account-info.jsx:1999
#: src/components/account-info.jsx:2100
#: src/components/account-info.jsx:1831
#: src/components/account-info.jsx:1886
#: src/components/account-info.jsx:2020
#: src/components/account-info.jsx:2121
#: src/components/account-sheet.jsx:38
#: src/components/compose.jsx:859
#: src/components/compose.jsx:2580
@ -448,77 +448,77 @@ msgstr ""
msgid "Close"
msgstr ""
#: src/components/account-info.jsx:1815
#: src/components/account-info.jsx:1836
msgid "Translated Bio"
msgstr ""
#: src/components/account-info.jsx:1910
#: src/components/account-info.jsx:1931
msgid "Unable to remove from list."
msgstr "Unable to remove from list."
#: src/components/account-info.jsx:1911
#: src/components/account-info.jsx:1932
msgid "Unable to add to list."
msgstr "Unable to add to list."
#: src/components/account-info.jsx:1930
#: src/components/account-info.jsx:1951
#: src/pages/lists.jsx:105
msgid "Unable to load lists."
msgstr ""
#: src/components/account-info.jsx:1934
#: src/components/account-info.jsx:1955
msgid "No lists."
msgstr ""
#: src/components/account-info.jsx:1945
#: src/components/account-info.jsx:1966
#: src/components/list-add-edit.jsx:40
#: src/pages/lists.jsx:59
msgid "New list"
msgstr ""
#. placeholder {0}: account?.username || account?.acct
#: src/components/account-info.jsx:2004
#: src/components/account-info.jsx:2025
msgid "Private note about <0>@{0}</0>"
msgstr ""
#: src/components/account-info.jsx:2034
#: src/components/account-info.jsx:2055
msgid "Unable to update private note."
msgstr "Unable to update private note."
#: src/components/account-info.jsx:2057
#: src/components/account-info.jsx:2228
#: src/components/account-info.jsx:2078
#: src/components/account-info.jsx:2249
msgid "Cancel"
msgstr ""
#: src/components/account-info.jsx:2062
#: src/components/account-info.jsx:2083
msgid "Save & close"
msgstr ""
#: src/components/account-info.jsx:2156
#: src/components/account-info.jsx:2177
msgid "Unable to update profile."
msgstr "Unable to update profile."
#: src/components/account-info.jsx:2163
#: src/components/account-info.jsx:2184
#: src/components/list-add-edit.jsx:105
msgid "Name"
msgstr ""
#: src/components/account-info.jsx:2176
#: src/components/account-info.jsx:2197
msgid "Bio"
msgstr ""
#: src/components/account-info.jsx:2189
#: src/components/account-info.jsx:2210
msgid "Extra fields"
msgstr ""
#: src/components/account-info.jsx:2195
#: src/components/account-info.jsx:2216
msgid "Label"
msgstr ""
#: src/components/account-info.jsx:2198
#: src/components/account-info.jsx:2219
msgid "Content"
msgstr ""
#: src/components/account-info.jsx:2231
#: src/components/account-info.jsx:2252
#: src/components/list-add-edit.jsx:150
#: src/components/shortcuts-settings.jsx:715
#: src/pages/filters.jsx:554
@ -526,11 +526,11 @@ msgstr ""
msgid "Save"
msgstr ""
#: src/components/account-info.jsx:2285
#: src/components/account-info.jsx:2306
msgid "username"
msgstr ""
#: src/components/account-info.jsx:2289
#: src/components/account-info.jsx:2310
msgid "server domain name"
msgstr ""
@ -915,13 +915,13 @@ msgid "Type to search GIFs"
msgstr ""
#: src/components/compose.jsx:3629
#: src/components/media-modal.jsx:462
#: src/components/media-modal.jsx:464
#: src/components/timeline.jsx:893
msgid "Previous"
msgstr ""
#: src/components/compose.jsx:3647
#: src/components/media-modal.jsx:481
#: src/components/media-modal.jsx:483
#: src/components/timeline.jsx:910
msgid "Next"
msgstr ""
@ -1262,7 +1262,7 @@ msgstr ""
msgid "Describe image…"
msgstr ""
#: src/components/media-modal.jsx:437
#: src/components/media-modal.jsx:438
msgid "View post"
msgstr ""