this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Going all in on preventing mod keys

Hopefully this will fix things

+333 -293
+1
src/components/background-service.jsx
··· 160 160 }, 161 161 { 162 162 useKey: true, 163 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey, 163 164 }, 164 165 ); 165 166
+2
src/components/columns.jsx
··· 71 71 }, 72 72 { 73 73 useKey: true, 74 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 74 75 }, 75 76 ); 76 77 ··· 104 105 }, 105 106 { 106 107 useKey: true, 108 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 107 109 }, 108 110 ); 109 111
+10 -12
src/components/compose-button.jsx
··· 53 53 const menuRef = useRef(null); 54 54 55 55 function handleButton(e) { 56 + // useKey will even listen to Shift 57 + // e.g. press Shift (without c) will trigger this 😱 58 + if (e.key.toLowerCase() !== 'c') return; 59 + 56 60 if (snapStates.composerState.minimized) { 57 61 states.composerState.minimized = false; 58 62 openOSK(); ··· 71 75 } 72 76 } 73 77 74 - useHotkeys( 75 - 'c, shift+c', 76 - handleButton, 77 - { 78 - ignoreEventWhen: (e) => { 79 - const hasModal = !!document.querySelector('#modal-container > *'); 80 - return hasModal; 81 - }, 82 - }, 83 - { 84 - useKey: true, 78 + useHotkeys('c, shift+c', handleButton, { 79 + useKey: true, 80 + ignoreEventWhen: (e) => { 81 + const hasModal = !!document.querySelector('#modal-container > *'); 82 + return hasModal || e.metaKey || e.ctrlKey || e.altKey; 85 83 }, 86 - ); 84 + }); 87 85 88 86 // Setup longpress handler to open context menu 89 87 const bindLongPress = useLongPress(
+12 -2
src/components/compose.jsx
··· 521 521 enabled: !supportsCloseWatcher, 522 522 enableOnFormTags: true, 523 523 useKey: true, 524 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 524 525 }, 525 526 ); 526 527 useHotkeys( ··· 536 537 enableOnFormTags: true, 537 538 // Use keyup because Esc keydown will close the confirm dialog on Safari 538 539 keyup: true, 539 - ignoreEventWhen: () => { 540 + ignoreEventWhen: (e) => { 540 541 const modals = document.querySelectorAll('#modal-container > *'); 541 542 const hasModal = !!modals; 542 543 const hasOnlyComposer = 543 544 modals.length === 1 && modals[0].querySelector('#compose-container'); 544 - return hasModal && !hasOnlyComposer; 545 + return ( 546 + (hasModal && !hasOnlyComposer) || 547 + e.metaKey || 548 + e.ctrlKey || 549 + e.altKey || 550 + e.shiftKey 551 + ); 545 552 }, 546 553 useKey: true, 547 554 }, ··· 3146 3153 preventDefault: true, 3147 3154 enableOnFormTags: ['input'], 3148 3155 useKey: true, 3156 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 3149 3157 }, 3150 3158 ); 3151 3159 ··· 3173 3181 preventDefault: true, 3174 3182 enableOnFormTags: ['input'], 3175 3183 useKey: true, 3184 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 3176 3185 }, 3177 3186 ); 3178 3187 ··· 3199 3208 preventDefault: true, 3200 3209 enableOnFormTags: ['input'], 3201 3210 useKey: true, 3211 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 3202 3212 }, 3203 3213 ); 3204 3214
+1 -1
src/components/keyboard-shortcuts-help.jsx
··· 28 28 useKey: true, 29 29 ignoreEventWhen: (e) => { 30 30 const isCatchUpPage = /\/catchup/i.test(location.hash); 31 - return isCatchUpPage; 31 + return isCatchUpPage || e.metaKey || e.ctrlKey || e.altKey; 32 32 // const hasModal = !!document.querySelector('#modal-container > *'); 33 33 // return hasModal; 34 34 },
+1 -1
src/components/media-modal.jsx
··· 86 86 { 87 87 ignoreEventWhen: (e) => { 88 88 const hasModal = !!document.querySelector('#modal-container > *'); 89 - return hasModal; 89 + return hasModal || e.metaKey || e.ctrlKey || e.altKey || e.shiftKey; 90 90 }, 91 91 useKey: true, 92 92 },
+1
src/components/modal.jsx
··· 44 44 keydown: false, 45 45 keyup: true, 46 46 useKey: true, 47 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 47 48 }, 48 49 [onClose], 49 50 );
+9 -1
src/components/search-command.jsx
··· 25 25 ignoreEventWhen: (e) => { 26 26 const isSearchPage = /\/search/.test(location.hash); 27 27 const hasModal = !!document.querySelector('#modal-container > *'); 28 - return isSearchPage || hasModal; 28 + return ( 29 + isSearchPage || 30 + hasModal || 31 + e.metaKey || 32 + e.ctrlKey || 33 + e.altKey || 34 + e.shiftKey 35 + ); 29 36 }, 30 37 }, 31 38 ); ··· 46 53 enableOnFormTags: true, 47 54 preventDefault: true, 48 55 useKey: true, 56 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 49 57 }, 50 58 ); 51 59
+1
src/components/shortcuts.jsx
··· 99 99 { 100 100 enabled: !isMultiColumnMode, 101 101 useKey: true, 102 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 102 103 }, 103 104 ); 104 105
+5
src/components/status.jsx
··· 1504 1504 const rRef = useHotkeys('r, shift+r', replyStatus, { 1505 1505 enabled: hotkeysEnabled, 1506 1506 useKey: true, 1507 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey, 1507 1508 }); 1508 1509 const fRef = useHotkeys('f, l', favouriteStatusNotify, { 1509 1510 enabled: hotkeysEnabled, 1511 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 1510 1512 useKey: true, 1511 1513 }); 1512 1514 const dRef = useHotkeys('d', bookmarkStatusNotify, { 1513 1515 enabled: hotkeysEnabled, 1514 1516 useKey: true, 1517 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 1515 1518 }); 1516 1519 const bRef = useHotkeys( 1517 1520 'shift+b', ··· 1535 1538 { 1536 1539 enabled: hotkeysEnabled && canBoost, 1537 1540 useKey: true, 1541 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey, 1538 1542 }, 1539 1543 ); 1540 1544 const xRef = useHotkeys( ··· 1563 1567 }, 1564 1568 { 1565 1569 useKey: true, 1570 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 1566 1571 }, 1567 1572 ); 1568 1573
+4
src/components/timeline.jsx
··· 188 188 }, 189 189 { 190 190 useKey: true, 191 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey, 191 192 }, 192 193 ); 193 194 ··· 236 237 }, 237 238 { 238 239 useKey: true, 240 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey, 239 241 }, 240 242 ); 241 243 ··· 250 252 }, 251 253 { 252 254 useKey: true, 255 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 253 256 }, 254 257 ); 255 258 ··· 264 267 }, [loadItems, showNewPostsIndicator]); 265 268 const dotRef = useHotkeys('.', handleLoadNewPosts, { 266 269 useKey: true, 270 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 267 271 }); 268 272 269 273 // const {
+270 -270
src/locales/en.po
··· 101 101 #: src/components/account-info.jsx:449 102 102 #: src/components/account-info.jsx:851 103 103 #: src/pages/account-statuses.jsx:482 104 - #: src/pages/search.jsx:341 105 - #: src/pages/search.jsx:488 104 + #: src/pages/search.jsx:344 105 + #: src/pages/search.jsx:491 106 106 msgid "Posts" 107 107 msgstr "" 108 108 109 109 #: src/components/account-info.jsx:457 110 110 #: src/components/account-info.jsx:1231 111 - #: src/components/compose.jsx:2776 111 + #: src/components/compose.jsx:2783 112 112 #: src/components/media-alt-modal.jsx:55 113 113 #: src/components/media-modal.jsx:359 114 - #: src/components/status.jsx:1830 115 - #: src/components/status.jsx:1847 116 - #: src/components/status.jsx:1972 117 - #: src/components/status.jsx:2593 118 - #: src/components/status.jsx:2596 114 + #: src/components/status.jsx:1835 115 + #: src/components/status.jsx:1852 116 + #: src/components/status.jsx:1977 117 + #: src/components/status.jsx:2598 118 + #: src/components/status.jsx:2601 119 119 #: src/pages/account-statuses.jsx:526 120 120 #: src/pages/accounts.jsx:110 121 121 #: src/pages/hashtag.jsx:202 122 122 #: src/pages/list.jsx:171 123 123 #: src/pages/public.jsx:116 124 124 #: src/pages/scheduled-posts.jsx:89 125 - #: src/pages/status.jsx:1239 125 + #: src/pages/status.jsx:1243 126 126 #: src/pages/trending.jsx:474 127 127 msgid "More" 128 128 msgstr "" ··· 203 203 msgstr "" 204 204 205 205 #: src/components/account-info.jsx:941 206 - #: src/components/status.jsx:2377 206 + #: src/components/status.jsx:2382 207 207 #: src/pages/catchup.jsx:71 208 208 #: src/pages/catchup.jsx:1448 209 209 #: src/pages/catchup.jsx:2061 210 - #: src/pages/status.jsx:962 211 - #: src/pages/status.jsx:1585 210 + #: src/pages/status.jsx:966 211 + #: src/pages/status.jsx:1589 212 212 msgid "Replies" 213 213 msgstr "" 214 214 ··· 341 341 #: src/components/account-info.jsx:1494 342 342 #: src/components/shortcuts-settings.jsx:1059 343 343 #: src/components/status.jsx:1266 344 - #: src/components/status.jsx:3371 344 + #: src/components/status.jsx:3376 345 345 msgid "Copy" 346 346 msgstr "" 347 347 ··· 449 449 #: src/components/account-info.jsx:2170 450 450 #: src/components/account-info.jsx:2290 451 451 #: src/components/account-sheet.jsx:38 452 - #: src/components/compose.jsx:884 453 - #: src/components/compose.jsx:2732 454 - #: src/components/compose.jsx:3209 455 - #: src/components/compose.jsx:3418 456 - #: src/components/compose.jsx:3648 452 + #: src/components/compose.jsx:891 453 + #: src/components/compose.jsx:2739 454 + #: src/components/compose.jsx:3219 455 + #: src/components/compose.jsx:3428 456 + #: src/components/compose.jsx:3658 457 457 #: src/components/drafts.jsx:59 458 458 #: src/components/embed-modal.jsx:13 459 459 #: src/components/generic-accounts.jsx:151 ··· 466 466 #: src/components/shortcuts-settings.jsx:230 467 467 #: src/components/shortcuts-settings.jsx:583 468 468 #: src/components/shortcuts-settings.jsx:783 469 - #: src/components/status.jsx:3095 470 - #: src/components/status.jsx:3335 471 - #: src/components/status.jsx:3844 469 + #: src/components/status.jsx:3100 470 + #: src/components/status.jsx:3340 471 + #: src/components/status.jsx:3849 472 472 #: src/pages/accounts.jsx:37 473 473 #: src/pages/catchup.jsx:1584 474 474 #: src/pages/filters.jsx:225 475 475 #: src/pages/list.jsx:302 476 - #: src/pages/notifications.jsx:939 476 + #: src/pages/notifications.jsx:942 477 477 #: src/pages/scheduled-posts.jsx:259 478 478 #: src/pages/settings.jsx:87 479 - #: src/pages/status.jsx:1326 479 + #: src/pages/status.jsx:1330 480 480 msgid "Close" 481 481 msgstr "" 482 482 ··· 562 562 #: src/components/list-add-edit.jsx:152 563 563 #: src/components/shortcuts-settings.jsx:715 564 564 #: src/pages/filters.jsx:570 565 - #: src/pages/notifications.jsx:1005 565 + #: src/pages/notifications.jsx:1008 566 566 msgid "Save" 567 567 msgstr "" 568 568 ··· 594 594 #: src/components/columns.jsx:27 595 595 #: src/components/nav-menu.jsx:181 596 596 #: src/components/shortcuts-settings.jsx:139 597 - #: src/components/timeline.jsx:465 597 + #: src/components/timeline.jsx:469 598 598 #: src/pages/catchup.jsx:883 599 599 #: src/pages/filters.jsx:90 600 600 #: src/pages/followed-hashtags.jsx:41 601 601 #: src/pages/home.jsx:54 602 - #: src/pages/notifications.jsx:584 602 + #: src/pages/notifications.jsx:587 603 603 #: src/pages/scheduled-posts.jsx:74 604 604 msgid "Home" 605 605 msgstr "" 606 606 607 - #: src/components/compose-button.jsx:143 607 + #: src/components/compose-button.jsx:141 608 608 #: src/compose.jsx:38 609 609 msgid "Compose" 610 610 msgstr "" 611 611 612 - #: src/components/compose-button.jsx:170 612 + #: src/components/compose-button.jsx:168 613 613 #: src/components/nav-menu.jsx:265 614 614 #: src/pages/scheduled-posts.jsx:31 615 615 #: src/pages/scheduled-posts.jsx:78 616 616 msgid "Scheduled Posts" 617 617 msgstr "Scheduled Posts" 618 618 619 - #: src/components/compose-button.jsx:183 619 + #: src/components/compose-button.jsx:181 620 620 msgid "Add to thread" 621 621 msgstr "Add to thread" 622 622 ··· 651 651 #. placeholder {0}: unsupportedFiles.length 652 652 #. placeholder {1}: unsupportedFiles[0].name 653 653 #. placeholder {2}: lf.format( unsupportedFiles.map((f) => f.name), ) 654 - #: src/components/compose.jsx:647 654 + #: src/components/compose.jsx:654 655 655 msgid "{0, plural, one {File {1} is not supported.} other {Files {2} are not supported.}}" 656 656 msgstr "{0, plural, one {File {1} is not supported.} other {Files {2} are not supported.}}" 657 657 658 - #: src/components/compose.jsx:657 659 - #: src/components/compose.jsx:675 660 - #: src/components/compose.jsx:1781 661 - #: src/components/compose.jsx:1906 658 + #: src/components/compose.jsx:664 659 + #: src/components/compose.jsx:682 660 + #: src/components/compose.jsx:1788 661 + #: src/components/compose.jsx:1913 662 662 msgid "{maxMediaAttachments, plural, one {You can only attach up to 1 file.} other {You can only attach up to # files.}}" 663 663 msgstr "" 664 664 665 - #: src/components/compose.jsx:865 665 + #: src/components/compose.jsx:872 666 666 msgid "Pop out" 667 667 msgstr "Pop out" 668 668 669 - #: src/components/compose.jsx:872 669 + #: src/components/compose.jsx:879 670 670 msgid "Minimize" 671 671 msgstr "Minimize" 672 672 673 - #: src/components/compose.jsx:908 673 + #: src/components/compose.jsx:915 674 674 msgid "Looks like you closed the parent window." 675 675 msgstr "Looks like you closed the parent window." 676 676 677 - #: src/components/compose.jsx:915 677 + #: src/components/compose.jsx:922 678 678 msgid "Looks like you already have a compose field open in the parent window and currently publishing. Please wait for it to be done and try again later." 679 679 msgstr "Looks like you already have a compose field open in the parent window and currently publishing. Please wait for it to be done and try again later." 680 680 681 - #: src/components/compose.jsx:920 681 + #: src/components/compose.jsx:927 682 682 msgid "Looks like you already have a compose field open in the parent window. Popping in this window will discard the changes you made in the parent window. Continue?" 683 683 msgstr "Looks like you already have a compose field open in the parent window. Popping in this window will discard the changes you made in the parent window. Continue?" 684 684 685 - #: src/components/compose.jsx:963 685 + #: src/components/compose.jsx:970 686 686 msgid "Pop in" 687 687 msgstr "Pop in" 688 688 689 689 #. placeholder {0}: replyToStatus.account.acct || replyToStatus.account.username 690 690 #. placeholder {1}: rtf.format(-replyToStatusMonthsAgo, 'month') 691 - #: src/components/compose.jsx:973 691 + #: src/components/compose.jsx:980 692 692 msgid "Replying to @{0}’s post (<0>{1}</0>)" 693 693 msgstr "" 694 694 695 695 #. placeholder {0}: replyToStatus.account.acct || replyToStatus.account.username 696 - #: src/components/compose.jsx:983 696 + #: src/components/compose.jsx:990 697 697 msgid "Replying to @{0}’s post" 698 698 msgstr "" 699 699 700 - #: src/components/compose.jsx:996 700 + #: src/components/compose.jsx:1003 701 701 msgid "Editing source post" 702 702 msgstr "" 703 703 704 - #: src/components/compose.jsx:1049 704 + #: src/components/compose.jsx:1056 705 705 msgid "Poll must have at least 2 options" 706 706 msgstr "Poll must have at least 2 options" 707 707 708 - #: src/components/compose.jsx:1053 708 + #: src/components/compose.jsx:1060 709 709 msgid "Some poll choices are empty" 710 710 msgstr "Some poll choices are empty" 711 711 712 - #: src/components/compose.jsx:1066 712 + #: src/components/compose.jsx:1073 713 713 msgid "Some media have no descriptions. Continue?" 714 714 msgstr "Some media have no descriptions. Continue?" 715 715 716 - #: src/components/compose.jsx:1118 716 + #: src/components/compose.jsx:1125 717 717 msgid "Attachment #{i} failed" 718 718 msgstr "Attachment #{i} failed" 719 719 720 - #: src/components/compose.jsx:1214 721 - #: src/components/status.jsx:2160 722 - #: src/components/timeline.jsx:1019 720 + #: src/components/compose.jsx:1221 721 + #: src/components/status.jsx:2165 722 + #: src/components/timeline.jsx:1023 723 723 msgid "Content warning" 724 724 msgstr "" 725 725 726 - #: src/components/compose.jsx:1230 726 + #: src/components/compose.jsx:1237 727 727 msgid "Content warning or sensitive media" 728 728 msgstr "Content warning or sensitive media" 729 729 730 - #: src/components/compose.jsx:1266 730 + #: src/components/compose.jsx:1273 731 731 #: src/components/status.jsx:96 732 732 #: src/pages/settings.jsx:315 733 733 msgid "Public" 734 734 msgstr "" 735 735 736 - #: src/components/compose.jsx:1271 736 + #: src/components/compose.jsx:1278 737 737 #: src/components/nav-menu.jsx:349 738 738 #: src/components/shortcuts-settings.jsx:165 739 739 #: src/components/status.jsx:97 740 740 msgid "Local" 741 741 msgstr "" 742 742 743 - #: src/components/compose.jsx:1275 743 + #: src/components/compose.jsx:1282 744 744 #: src/components/status.jsx:98 745 745 #: src/pages/settings.jsx:318 746 746 msgid "Unlisted" 747 747 msgstr "" 748 748 749 - #: src/components/compose.jsx:1278 749 + #: src/components/compose.jsx:1285 750 750 #: src/components/status.jsx:99 751 751 #: src/pages/settings.jsx:321 752 752 msgid "Followers only" 753 753 msgstr "" 754 754 755 - #: src/components/compose.jsx:1281 755 + #: src/components/compose.jsx:1288 756 756 #: src/components/status.jsx:100 757 - #: src/components/status.jsx:2036 757 + #: src/components/status.jsx:2041 758 758 msgid "Private mention" 759 759 msgstr "" 760 760 761 - #: src/components/compose.jsx:1290 761 + #: src/components/compose.jsx:1297 762 762 msgid "Post your reply" 763 763 msgstr "Post your reply" 764 764 765 - #: src/components/compose.jsx:1292 765 + #: src/components/compose.jsx:1299 766 766 msgid "Edit your post" 767 767 msgstr "Edit your post" 768 768 769 - #: src/components/compose.jsx:1293 769 + #: src/components/compose.jsx:1300 770 770 msgid "What are you doing?" 771 771 msgstr "What are you doing?" 772 772 773 - #: src/components/compose.jsx:1372 773 + #: src/components/compose.jsx:1379 774 774 msgid "Mark media as sensitive" 775 775 msgstr "" 776 776 777 - #: src/components/compose.jsx:1409 777 + #: src/components/compose.jsx:1416 778 778 msgid "Posting on <0/>" 779 779 msgstr "Posting on <0/>" 780 780 781 - #: src/components/compose.jsx:1440 782 - #: src/components/compose.jsx:3267 781 + #: src/components/compose.jsx:1447 782 + #: src/components/compose.jsx:3277 783 783 #: src/components/shortcuts-settings.jsx:715 784 784 #: src/pages/list.jsx:388 785 785 msgid "Add" 786 786 msgstr "" 787 787 788 - #: src/components/compose.jsx:1666 788 + #: src/components/compose.jsx:1673 789 789 msgid "Schedule" 790 790 msgstr "Schedule" 791 791 792 - #: src/components/compose.jsx:1668 792 + #: src/components/compose.jsx:1675 793 793 #: src/components/keyboard-shortcuts-help.jsx:155 794 794 #: src/components/status.jsx:1029 795 - #: src/components/status.jsx:1810 796 - #: src/components/status.jsx:1811 797 - #: src/components/status.jsx:2497 795 + #: src/components/status.jsx:1815 796 + #: src/components/status.jsx:1816 797 + #: src/components/status.jsx:2502 798 798 msgid "Reply" 799 799 msgstr "" 800 800 801 - #: src/components/compose.jsx:1670 801 + #: src/components/compose.jsx:1677 802 802 msgid "Update" 803 803 msgstr "Update" 804 804 805 - #: src/components/compose.jsx:1671 805 + #: src/components/compose.jsx:1678 806 806 msgctxt "Submit button in composer" 807 807 msgid "Post" 808 808 msgstr "Post" 809 809 810 - #: src/components/compose.jsx:1793 810 + #: src/components/compose.jsx:1800 811 811 msgid "Downloading GIF…" 812 812 msgstr "Downloading GIF…" 813 813 814 - #: src/components/compose.jsx:1821 814 + #: src/components/compose.jsx:1828 815 815 msgid "Failed to download GIF" 816 816 msgstr "Failed to download GIF" 817 817 818 - #: src/components/compose.jsx:2036 819 - #: src/components/compose.jsx:2113 818 + #: src/components/compose.jsx:2043 819 + #: src/components/compose.jsx:2120 820 820 #: src/components/nav-menu.jsx:244 821 821 msgid "More…" 822 822 msgstr "" 823 823 824 - #: src/components/compose.jsx:2546 824 + #: src/components/compose.jsx:2553 825 825 msgid "Uploaded" 826 826 msgstr "" 827 827 828 - #: src/components/compose.jsx:2559 828 + #: src/components/compose.jsx:2566 829 829 msgid "Image description" 830 830 msgstr "Image description" 831 831 832 - #: src/components/compose.jsx:2560 832 + #: src/components/compose.jsx:2567 833 833 msgid "Video description" 834 834 msgstr "Video description" 835 835 836 - #: src/components/compose.jsx:2561 836 + #: src/components/compose.jsx:2568 837 837 msgid "Audio description" 838 838 msgstr "Audio description" 839 839 ··· 841 841 #. placeholder {0}: prettyBytes( videoSize, ) 842 842 #. placeholder {1}: prettyBytes(imageSizeLimit) 843 843 #. placeholder {1}: prettyBytes(videoSizeLimit) 844 - #: src/components/compose.jsx:2596 845 - #: src/components/compose.jsx:2616 844 + #: src/components/compose.jsx:2603 845 + #: src/components/compose.jsx:2623 846 846 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." 847 847 msgstr "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." 848 848 ··· 850 850 #. placeholder {1}: i18n.number(height) 851 851 #. placeholder {2}: i18n.number(newWidth) 852 852 #. placeholder {3}: i18n.number( newHeight, ) 853 - #: src/components/compose.jsx:2608 854 - #: src/components/compose.jsx:2628 853 + #: src/components/compose.jsx:2615 854 + #: src/components/compose.jsx:2635 855 855 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {0}×{1}px to {2}×{3}px." 856 856 msgstr "Dimension too large. Uploading might encounter issues. Try reduce dimension from {0}×{1}px to {2}×{3}px." 857 857 858 - #: src/components/compose.jsx:2636 858 + #: src/components/compose.jsx:2643 859 859 msgid "Frame rate too high. Uploading might encounter issues." 860 860 msgstr "Frame rate too high. Uploading might encounter issues." 861 861 862 - #: src/components/compose.jsx:2696 863 - #: src/components/compose.jsx:2946 862 + #: src/components/compose.jsx:2703 863 + #: src/components/compose.jsx:2953 864 864 #: src/components/shortcuts-settings.jsx:726 865 865 #: src/pages/catchup.jsx:1081 866 866 #: src/pages/filters.jsx:413 867 867 msgid "Remove" 868 868 msgstr "" 869 869 870 - #: src/components/compose.jsx:2713 870 + #: src/components/compose.jsx:2720 871 871 #: src/compose.jsx:84 872 872 msgid "Error" 873 873 msgstr "" 874 874 875 - #: src/components/compose.jsx:2738 875 + #: src/components/compose.jsx:2745 876 876 msgid "Edit image description" 877 877 msgstr "Edit image description" 878 878 879 - #: src/components/compose.jsx:2739 879 + #: src/components/compose.jsx:2746 880 880 msgid "Edit video description" 881 881 msgstr "Edit video description" 882 882 883 - #: src/components/compose.jsx:2740 883 + #: src/components/compose.jsx:2747 884 884 msgid "Edit audio description" 885 885 msgstr "Edit audio description" 886 886 887 - #: src/components/compose.jsx:2785 888 - #: src/components/compose.jsx:2834 887 + #: src/components/compose.jsx:2792 888 + #: src/components/compose.jsx:2841 889 889 msgid "Generating description. Please wait…" 890 890 msgstr "Generating description. Please wait…" 891 891 892 892 #. placeholder {0}: e.message 893 - #: src/components/compose.jsx:2805 893 + #: src/components/compose.jsx:2812 894 894 msgid "Failed to generate description: {0}" 895 895 msgstr "Failed to generate description: {0}" 896 896 897 - #: src/components/compose.jsx:2806 897 + #: src/components/compose.jsx:2813 898 898 msgid "Failed to generate description" 899 899 msgstr "Failed to generate description" 900 900 901 - #: src/components/compose.jsx:2818 902 - #: src/components/compose.jsx:2824 903 - #: src/components/compose.jsx:2870 901 + #: src/components/compose.jsx:2825 902 + #: src/components/compose.jsx:2831 903 + #: src/components/compose.jsx:2877 904 904 msgid "Generate description…" 905 905 msgstr "" 906 906 907 907 #. placeholder {0}: e?.message ? `: ${e.message}` : '' 908 - #: src/components/compose.jsx:2857 908 + #: src/components/compose.jsx:2864 909 909 msgid "Failed to generate description{0}" 910 910 msgstr "Failed to generate description{0}" 911 911 912 912 #. placeholder {0}: localeCode2Text(lang) 913 - #: src/components/compose.jsx:2872 913 + #: src/components/compose.jsx:2879 914 914 msgid "({0}) <0>— experimental</0>" 915 915 msgstr "" 916 916 917 - #: src/components/compose.jsx:2891 917 + #: src/components/compose.jsx:2898 918 918 msgid "Done" 919 919 msgstr "" 920 920 921 921 #. placeholder {0}: i + 1 922 - #: src/components/compose.jsx:2927 922 + #: src/components/compose.jsx:2934 923 923 msgid "Choice {0}" 924 924 msgstr "Choice {0}" 925 925 926 - #: src/components/compose.jsx:2974 926 + #: src/components/compose.jsx:2981 927 927 msgid "Multiple choices" 928 928 msgstr "" 929 929 930 - #: src/components/compose.jsx:2977 930 + #: src/components/compose.jsx:2984 931 931 msgid "Duration" 932 932 msgstr "" 933 933 934 - #: src/components/compose.jsx:3008 934 + #: src/components/compose.jsx:3015 935 935 msgid "Remove poll" 936 936 msgstr "" 937 937 938 - #: src/components/compose.jsx:3226 938 + #: src/components/compose.jsx:3236 939 939 msgid "Search accounts" 940 940 msgstr "Search accounts" 941 941 942 - #: src/components/compose.jsx:3280 942 + #: src/components/compose.jsx:3290 943 943 #: src/components/generic-accounts.jsx:236 944 944 msgid "Error loading accounts" 945 945 msgstr "" 946 946 947 - #: src/components/compose.jsx:3424 947 + #: src/components/compose.jsx:3434 948 948 msgid "Custom emojis" 949 949 msgstr "" 950 950 951 - #: src/components/compose.jsx:3444 951 + #: src/components/compose.jsx:3454 952 952 msgid "Search emoji" 953 953 msgstr "Search emoji" 954 954 955 - #: src/components/compose.jsx:3475 955 + #: src/components/compose.jsx:3485 956 956 msgid "Error loading custom emojis" 957 957 msgstr "" 958 958 959 - #: src/components/compose.jsx:3486 959 + #: src/components/compose.jsx:3496 960 960 msgid "Recently used" 961 961 msgstr "Recently used" 962 962 963 - #: src/components/compose.jsx:3487 963 + #: src/components/compose.jsx:3497 964 964 msgid "Others" 965 965 msgstr "Others" 966 966 967 967 #. placeholder {0}: i18n.number(emojis.length - max) 968 - #: src/components/compose.jsx:3525 968 + #: src/components/compose.jsx:3535 969 969 msgid "{0} more…" 970 970 msgstr "" 971 971 972 - #: src/components/compose.jsx:3663 972 + #: src/components/compose.jsx:3673 973 973 msgid "Search GIFs" 974 974 msgstr "Search GIFs" 975 975 976 - #: src/components/compose.jsx:3678 976 + #: src/components/compose.jsx:3688 977 977 msgid "Powered by GIPHY" 978 978 msgstr "Powered by GIPHY" 979 979 980 - #: src/components/compose.jsx:3686 980 + #: src/components/compose.jsx:3696 981 981 msgid "Type to search GIFs" 982 982 msgstr "" 983 983 984 - #: src/components/compose.jsx:3784 984 + #: src/components/compose.jsx:3794 985 985 #: src/components/media-modal.jsx:465 986 - #: src/components/timeline.jsx:923 986 + #: src/components/timeline.jsx:927 987 987 msgid "Previous" 988 988 msgstr "" 989 989 990 - #: src/components/compose.jsx:3802 990 + #: src/components/compose.jsx:3812 991 991 #: src/components/media-modal.jsx:484 992 - #: src/components/timeline.jsx:940 992 + #: src/components/timeline.jsx:944 993 993 msgid "Next" 994 994 msgstr "" 995 995 996 - #: src/components/compose.jsx:3819 996 + #: src/components/compose.jsx:3829 997 997 msgid "Error loading GIFs" 998 998 msgstr "" 999 999 ··· 1057 1057 msgstr "" 1058 1058 1059 1059 #: src/components/follow-request-buttons.jsx:43 1060 - #: src/pages/notifications.jsx:989 1060 + #: src/pages/notifications.jsx:992 1061 1061 msgid "Accept" 1062 1062 msgstr "" 1063 1063 ··· 1066 1066 msgstr "" 1067 1067 1068 1068 #: src/components/follow-request-buttons.jsx:76 1069 - #: src/pages/notifications.jsx:1273 1069 + #: src/pages/notifications.jsx:1276 1070 1070 msgid "Accepted" 1071 1071 msgstr "" 1072 1072 ··· 1077 1077 #: src/components/generic-accounts.jsx:154 1078 1078 #: src/components/notification.jsx:449 1079 1079 #: src/pages/accounts.jsx:42 1080 - #: src/pages/search.jsx:331 1081 - #: src/pages/search.jsx:364 1080 + #: src/pages/search.jsx:334 1081 + #: src/pages/search.jsx:367 1082 1082 msgid "Accounts" 1083 1083 msgstr "" 1084 1084 1085 1085 #: src/components/generic-accounts.jsx:214 1086 - #: src/components/timeline.jsx:547 1086 + #: src/components/timeline.jsx:551 1087 1087 #: src/pages/list.jsx:321 1088 - #: src/pages/notifications.jsx:919 1089 - #: src/pages/search.jsx:558 1090 - #: src/pages/status.jsx:1359 1088 + #: src/pages/notifications.jsx:922 1089 + #: src/pages/search.jsx:561 1090 + #: src/pages/status.jsx:1363 1091 1091 msgid "Show more…" 1092 1092 msgstr "" 1093 1093 1094 1094 #: src/components/generic-accounts.jsx:219 1095 - #: src/components/timeline.jsx:552 1096 - #: src/pages/search.jsx:563 1095 + #: src/components/timeline.jsx:556 1096 + #: src/pages/search.jsx:566 1097 1097 msgid "The end." 1098 1098 msgstr "" 1099 1099 ··· 1204 1204 #: src/components/shortcuts-settings.jsx:52 1205 1205 #: src/components/shortcuts-settings.jsx:179 1206 1206 #: src/pages/search.jsx:46 1207 - #: src/pages/search.jsx:313 1207 + #: src/pages/search.jsx:316 1208 1208 msgid "Search" 1209 1209 msgstr "" 1210 1210 ··· 1226 1226 1227 1227 #: src/components/keyboard-shortcuts-help.jsx:176 1228 1228 #: src/components/status.jsx:1037 1229 - #: src/components/status.jsx:2524 1230 - #: src/components/status.jsx:2547 1231 - #: src/components/status.jsx:2548 1229 + #: src/components/status.jsx:2529 1230 + #: src/components/status.jsx:2552 1231 + #: src/components/status.jsx:2553 1232 1232 msgid "Boost" 1233 1233 msgstr "" 1234 1234 ··· 1238 1238 1239 1239 #: src/components/keyboard-shortcuts-help.jsx:184 1240 1240 #: src/components/status.jsx:1100 1241 - #: src/components/status.jsx:2572 1242 - #: src/components/status.jsx:2573 1241 + #: src/components/status.jsx:2577 1242 + #: src/components/status.jsx:2578 1243 1243 msgid "Bookmark" 1244 1244 msgstr "" 1245 1245 ··· 1348 1348 msgstr "" 1349 1349 1350 1350 #: src/components/media-post.jsx:133 1351 - #: src/components/status.jsx:3674 1352 - #: src/components/status.jsx:3770 1353 - #: src/components/status.jsx:3848 1354 - #: src/components/timeline.jsx:1008 1351 + #: src/components/status.jsx:3679 1352 + #: src/components/status.jsx:3775 1353 + #: src/components/status.jsx:3853 1354 + #: src/components/timeline.jsx:1012 1355 1355 #: src/pages/catchup.jsx:75 1356 1356 #: src/pages/catchup.jsx:1880 1357 1357 msgid "Filtered" ··· 1424 1424 #: src/pages/home.jsx:86 1425 1425 #: src/pages/home.jsx:186 1426 1426 #: src/pages/notifications.jsx:117 1427 - #: src/pages/notifications.jsx:588 1427 + #: src/pages/notifications.jsx:591 1428 1428 msgid "Notifications" 1429 1429 msgstr "" 1430 1430 ··· 1492 1492 #: src/components/nav-menu.jsx:326 1493 1493 #: src/pages/login.jsx:27 1494 1494 #: src/pages/login.jsx:190 1495 - #: src/pages/status.jsx:862 1495 + #: src/pages/status.jsx:866 1496 1496 #: src/pages/welcome.jsx:65 1497 1497 msgid "Log in" 1498 1498 msgstr "" ··· 1529 1529 msgstr "" 1530 1530 1531 1531 #: src/components/nav-menu.jsx:440 1532 - #: src/components/shortcuts.jsx:216 1532 + #: src/components/shortcuts.jsx:218 1533 1533 #: src/pages/list.jsx:139 1534 1534 msgid "All Lists" 1535 1535 msgstr "" ··· 1714 1714 #: src/components/poll.jsx:208 1715 1715 #: src/components/poll.jsx:210 1716 1716 #: src/pages/scheduled-posts.jsx:100 1717 - #: src/pages/status.jsx:1228 1718 - #: src/pages/status.jsx:1251 1717 + #: src/pages/status.jsx:1232 1718 + #: src/pages/status.jsx:1255 1719 1719 msgid "Refresh" 1720 1720 msgstr "" 1721 1721 ··· 1954 1954 msgstr "" 1955 1955 1956 1956 #: src/components/shortcuts-settings.jsx:235 1957 - #: src/components/shortcuts.jsx:193 1957 + #: src/components/shortcuts.jsx:195 1958 1958 msgid "Shortcuts" 1959 1959 msgstr "" 1960 1960 ··· 2229 2229 2230 2230 #: src/components/status.jsx:1037 2231 2231 #: src/components/status.jsx:1077 2232 - #: src/components/status.jsx:2524 2233 - #: src/components/status.jsx:2547 2232 + #: src/components/status.jsx:2529 2233 + #: src/components/status.jsx:2552 2234 2234 msgid "Unboost" 2235 2235 msgstr "" 2236 2236 2237 2237 #: src/components/status.jsx:1053 2238 - #: src/components/status.jsx:2539 2238 + #: src/components/status.jsx:2544 2239 2239 msgid "Quote" 2240 2240 msgstr "" 2241 2241 2242 2242 #. placeholder {0}: username || acct 2243 2243 #: src/components/status.jsx:1065 2244 - #: src/components/status.jsx:1528 2244 + #: src/components/status.jsx:1531 2245 2245 msgid "Unboosted @{0}'s post" 2246 2246 msgstr "Unboosted @{0}'s post" 2247 2247 2248 2248 #. placeholder {0}: username || acct 2249 2249 #: src/components/status.jsx:1066 2250 - #: src/components/status.jsx:1529 2250 + #: src/components/status.jsx:1532 2251 2251 msgid "Boosted @{0}'s post" 2252 2252 msgstr "Boosted @{0}'s post" 2253 2253 ··· 2256 2256 msgstr "" 2257 2257 2258 2258 #: src/components/status.jsx:1090 2259 - #: src/components/status.jsx:1820 2260 - #: src/components/status.jsx:2560 2259 + #: src/components/status.jsx:1825 2260 + #: src/components/status.jsx:2565 2261 2261 msgid "Unlike" 2262 2262 msgstr "" 2263 2263 2264 2264 #: src/components/status.jsx:1091 2265 - #: src/components/status.jsx:1820 2266 - #: src/components/status.jsx:1821 2267 - #: src/components/status.jsx:2560 2268 - #: src/components/status.jsx:2561 2265 + #: src/components/status.jsx:1825 2266 + #: src/components/status.jsx:1826 2267 + #: src/components/status.jsx:2565 2268 + #: src/components/status.jsx:2566 2269 2269 msgid "Like" 2270 2270 msgstr "" 2271 2271 2272 2272 #: src/components/status.jsx:1100 2273 - #: src/components/status.jsx:2572 2273 + #: src/components/status.jsx:2577 2274 2274 msgid "Unbookmark" 2275 2275 msgstr "" 2276 2276 ··· 2300 2300 msgstr "" 2301 2301 2302 2302 #: src/components/status.jsx:1301 2303 - #: src/components/status.jsx:3340 2303 + #: src/components/status.jsx:3345 2304 2304 msgid "Embed post" 2305 2305 msgstr "" 2306 2306 ··· 2368 2368 msgid "Report post…" 2369 2369 msgstr "" 2370 2370 2371 - #: src/components/status.jsx:1821 2372 - #: src/components/status.jsx:1857 2373 - #: src/components/status.jsx:2561 2371 + #: src/components/status.jsx:1826 2372 + #: src/components/status.jsx:1862 2373 + #: src/components/status.jsx:2566 2374 2374 msgid "Liked" 2375 2375 msgstr "" 2376 2376 2377 - #: src/components/status.jsx:1854 2378 - #: src/components/status.jsx:2548 2377 + #: src/components/status.jsx:1859 2378 + #: src/components/status.jsx:2553 2379 2379 msgid "Boosted" 2380 2380 msgstr "" 2381 2381 2382 - #: src/components/status.jsx:1864 2383 - #: src/components/status.jsx:2573 2382 + #: src/components/status.jsx:1869 2383 + #: src/components/status.jsx:2578 2384 2384 msgid "Bookmarked" 2385 2385 msgstr "" 2386 2386 2387 - #: src/components/status.jsx:1868 2387 + #: src/components/status.jsx:1873 2388 2388 msgid "Pinned" 2389 2389 msgstr "" 2390 2390 2391 - #: src/components/status.jsx:1914 2392 - #: src/components/status.jsx:2385 2391 + #: src/components/status.jsx:1919 2392 + #: src/components/status.jsx:2390 2393 2393 msgid "Deleted" 2394 2394 msgstr "" 2395 2395 2396 - #: src/components/status.jsx:1955 2396 + #: src/components/status.jsx:1960 2397 2397 msgid "{repliesCount, plural, one {# reply} other {# replies}}" 2398 2398 msgstr "" 2399 2399 2400 2400 #. placeholder {0}: snapStates.statusThreadNumber[sKey] ? ` ${snapStates.statusThreadNumber[sKey]}/X` : '' 2401 - #: src/components/status.jsx:2045 2401 + #: src/components/status.jsx:2050 2402 2402 msgid "Thread{0}" 2403 2403 msgstr "" 2404 2404 2405 - #: src/components/status.jsx:2123 2406 - #: src/components/status.jsx:2185 2407 - #: src/components/status.jsx:2281 2405 + #: src/components/status.jsx:2128 2406 + #: src/components/status.jsx:2190 2407 + #: src/components/status.jsx:2286 2408 2408 msgid "Show less" 2409 2409 msgstr "" 2410 2410 2411 - #: src/components/status.jsx:2123 2412 - #: src/components/status.jsx:2185 2411 + #: src/components/status.jsx:2128 2412 + #: src/components/status.jsx:2190 2413 2413 msgid "Show content" 2414 2414 msgstr "" 2415 2415 2416 2416 #. placeholder {0}: filterInfo.titlesStr 2417 2417 #. placeholder {0}: filterInfo?.titlesStr 2418 - #: src/components/status.jsx:2277 2418 + #: src/components/status.jsx:2282 2419 2419 #: src/pages/catchup.jsx:1879 2420 2420 msgid "Filtered: {0}" 2421 2421 msgstr "Filtered: {0}" 2422 2422 2423 - #: src/components/status.jsx:2281 2423 + #: src/components/status.jsx:2286 2424 2424 msgid "Show media" 2425 2425 msgstr "" 2426 2426 2427 - #: src/components/status.jsx:2421 2427 + #: src/components/status.jsx:2426 2428 2428 msgid "Edited" 2429 2429 msgstr "" 2430 2430 2431 - #: src/components/status.jsx:2498 2431 + #: src/components/status.jsx:2503 2432 2432 msgid "Comments" 2433 2433 msgstr "" 2434 2434 2435 2435 #. More from [Author] 2436 - #: src/components/status.jsx:2798 2436 + #: src/components/status.jsx:2803 2437 2437 msgid "More from <0/>" 2438 2438 msgstr "More from <0/>" 2439 2439 2440 - #: src/components/status.jsx:3100 2440 + #: src/components/status.jsx:3105 2441 2441 msgid "Edit History" 2442 2442 msgstr "" 2443 2443 2444 - #: src/components/status.jsx:3104 2444 + #: src/components/status.jsx:3109 2445 2445 msgid "Failed to load history" 2446 2446 msgstr "" 2447 2447 2448 - #: src/components/status.jsx:3109 2448 + #: src/components/status.jsx:3114 2449 2449 #: src/pages/annual-report.jsx:45 2450 2450 msgid "Loading…" 2451 2451 msgstr "" 2452 2452 2453 - #: src/components/status.jsx:3345 2453 + #: src/components/status.jsx:3350 2454 2454 msgid "HTML Code" 2455 2455 msgstr "" 2456 2456 2457 - #: src/components/status.jsx:3362 2457 + #: src/components/status.jsx:3367 2458 2458 msgid "HTML code copied" 2459 2459 msgstr "" 2460 2460 2461 - #: src/components/status.jsx:3365 2461 + #: src/components/status.jsx:3370 2462 2462 msgid "Unable to copy HTML code" 2463 2463 msgstr "" 2464 2464 2465 - #: src/components/status.jsx:3377 2465 + #: src/components/status.jsx:3382 2466 2466 msgid "Media attachments:" 2467 2467 msgstr "" 2468 2468 2469 - #: src/components/status.jsx:3399 2469 + #: src/components/status.jsx:3404 2470 2470 msgid "Account Emojis:" 2471 2471 msgstr "" 2472 2472 2473 - #: src/components/status.jsx:3430 2474 - #: src/components/status.jsx:3475 2473 + #: src/components/status.jsx:3435 2474 + #: src/components/status.jsx:3480 2475 2475 msgid "static URL" 2476 2476 msgstr "" 2477 2477 2478 - #: src/components/status.jsx:3444 2478 + #: src/components/status.jsx:3449 2479 2479 msgid "Emojis:" 2480 2480 msgstr "" 2481 2481 2482 - #: src/components/status.jsx:3489 2482 + #: src/components/status.jsx:3494 2483 2483 msgid "Notes:" 2484 2484 msgstr "" 2485 2485 2486 - #: src/components/status.jsx:3493 2486 + #: src/components/status.jsx:3498 2487 2487 msgid "This is static, unstyled and scriptless. You may need to apply your own styles and edit as needed." 2488 2488 msgstr "" 2489 2489 2490 - #: src/components/status.jsx:3499 2490 + #: src/components/status.jsx:3504 2491 2491 msgid "Polls are not interactive, becomes a list with vote counts." 2492 2492 msgstr "" 2493 2493 2494 - #: src/components/status.jsx:3504 2494 + #: src/components/status.jsx:3509 2495 2495 msgid "Media attachments can be images, videos, audios or any file types." 2496 2496 msgstr "" 2497 2497 2498 - #: src/components/status.jsx:3510 2498 + #: src/components/status.jsx:3515 2499 2499 msgid "Post could be edited or deleted later." 2500 2500 msgstr "" 2501 2501 2502 - #: src/components/status.jsx:3516 2502 + #: src/components/status.jsx:3521 2503 2503 msgid "Preview" 2504 2504 msgstr "" 2505 2505 2506 - #: src/components/status.jsx:3525 2506 + #: src/components/status.jsx:3530 2507 2507 msgid "Note: This preview is lightly styled." 2508 2508 msgstr "" 2509 2509 2510 2510 #. [Name] [Visibility icon] boosted 2511 - #: src/components/status.jsx:3778 2511 + #: src/components/status.jsx:3783 2512 2512 msgid "<0/> <1/> boosted" 2513 2513 msgstr "" 2514 2514 2515 - #: src/components/timeline.jsx:481 2515 + #: src/components/timeline.jsx:485 2516 2516 #: src/pages/settings.jsx:1188 2517 2517 msgid "New posts" 2518 2518 msgstr "" 2519 2519 2520 - #: src/components/timeline.jsx:582 2520 + #: src/components/timeline.jsx:586 2521 2521 #: src/pages/home.jsx:216 2522 - #: src/pages/notifications.jsx:895 2523 - #: src/pages/status.jsx:1015 2524 - #: src/pages/status.jsx:1388 2522 + #: src/pages/notifications.jsx:898 2523 + #: src/pages/status.jsx:1019 2524 + #: src/pages/status.jsx:1392 2525 2525 msgid "Try again" 2526 2526 msgstr "" 2527 2527 2528 2528 #. placeholder {0}: fItems.length 2529 - #: src/components/timeline.jsx:617 2529 + #: src/components/timeline.jsx:621 2530 2530 msgid "{0, plural, one {# Boost} other {# Boosts}}" 2531 2531 msgstr "{0, plural, one {# Boost} other {# Boosts}}" 2532 2532 2533 - #: src/components/timeline.jsx:622 2533 + #: src/components/timeline.jsx:626 2534 2534 msgid "Pinned posts" 2535 2535 msgstr "Pinned posts" 2536 2536 2537 - #: src/components/timeline.jsx:981 2538 - #: src/components/timeline.jsx:988 2537 + #: src/components/timeline.jsx:985 2538 + #: src/components/timeline.jsx:992 2539 2539 #: src/pages/catchup.jsx:1897 2540 2540 msgid "Thread" 2541 2541 msgstr "" 2542 2542 2543 2543 #. placeholder {0}: filterInfo.titlesStr 2544 - #: src/components/timeline.jsx:1003 2544 + #: src/components/timeline.jsx:1007 2545 2545 msgid "<0>Filtered</0>: <1>{0}</1>" 2546 2546 msgstr "" 2547 2547 ··· 2907 2907 2908 2908 #: src/pages/catchup.jsx:1319 2909 2909 #: src/pages/mentions.jsx:154 2910 - #: src/pages/search.jsx:326 2910 + #: src/pages/search.jsx:329 2911 2911 msgid "All" 2912 2912 msgstr "" 2913 2913 ··· 3367 3367 msgid "Who are limited by server moderators" 3368 3368 msgstr "" 3369 3369 3370 - #: src/pages/notifications.jsx:602 3371 - #: src/pages/notifications.jsx:943 3370 + #: src/pages/notifications.jsx:605 3371 + #: src/pages/notifications.jsx:946 3372 3372 msgid "Notifications settings" 3373 3373 msgstr "" 3374 3374 3375 - #: src/pages/notifications.jsx:620 3375 + #: src/pages/notifications.jsx:623 3376 3376 msgid "New notifications" 3377 3377 msgstr "" 3378 3378 3379 3379 #. placeholder {0}: announcements.length 3380 - #: src/pages/notifications.jsx:631 3380 + #: src/pages/notifications.jsx:634 3381 3381 msgid "{0, plural, one {Announcement} other {Announcements}}" 3382 3382 msgstr "" 3383 3383 3384 - #: src/pages/notifications.jsx:678 3384 + #: src/pages/notifications.jsx:681 3385 3385 #: src/pages/settings.jsx:1176 3386 3386 msgid "Follow requests" 3387 3387 msgstr "" 3388 3388 3389 3389 #. placeholder {0}: followRequests.length 3390 - #: src/pages/notifications.jsx:683 3390 + #: src/pages/notifications.jsx:686 3391 3391 msgid "{0, plural, one {# follow request} other {# follow requests}}" 3392 3392 msgstr "" 3393 3393 3394 3394 #. placeholder {0}: notificationsPolicy.summary.pendingRequestsCount 3395 - #: src/pages/notifications.jsx:738 3395 + #: src/pages/notifications.jsx:741 3396 3396 msgid "{0, plural, one {Filtered notifications from # person} other {Filtered notifications from # people}}" 3397 3397 msgstr "" 3398 3398 3399 - #: src/pages/notifications.jsx:811 3399 + #: src/pages/notifications.jsx:814 3400 3400 msgid "Only mentions" 3401 3401 msgstr "" 3402 3402 3403 - #: src/pages/notifications.jsx:815 3403 + #: src/pages/notifications.jsx:818 3404 3404 msgid "Today" 3405 3405 msgstr "" 3406 3406 3407 - #: src/pages/notifications.jsx:820 3407 + #: src/pages/notifications.jsx:823 3408 3408 msgid "You're all caught up." 3409 3409 msgstr "" 3410 3410 3411 - #: src/pages/notifications.jsx:843 3411 + #: src/pages/notifications.jsx:846 3412 3412 msgid "Yesterday" 3413 3413 msgstr "" 3414 3414 3415 - #: src/pages/notifications.jsx:891 3415 + #: src/pages/notifications.jsx:894 3416 3416 msgid "Unable to load notifications" 3417 3417 msgstr "" 3418 3418 3419 - #: src/pages/notifications.jsx:970 3419 + #: src/pages/notifications.jsx:973 3420 3420 msgid "Notifications settings updated" 3421 3421 msgstr "" 3422 3422 3423 - #: src/pages/notifications.jsx:978 3423 + #: src/pages/notifications.jsx:981 3424 3424 msgid "Filter out notifications from people:" 3425 3425 msgstr "" 3426 3426 3427 - #: src/pages/notifications.jsx:992 3427 + #: src/pages/notifications.jsx:995 3428 3428 msgid "Filter" 3429 3429 msgstr "" 3430 3430 3431 - #: src/pages/notifications.jsx:995 3431 + #: src/pages/notifications.jsx:998 3432 3432 msgid "Ignore" 3433 3433 msgstr "" 3434 3434 3435 3435 #. placeholder {0}: niceDateTime(updatedAtDate) 3436 - #: src/pages/notifications.jsx:1068 3436 + #: src/pages/notifications.jsx:1071 3437 3437 msgid "Updated <0>{0}</0>" 3438 3438 msgstr "" 3439 3439 3440 3440 #. placeholder {0}: account.username 3441 - #: src/pages/notifications.jsx:1136 3441 + #: src/pages/notifications.jsx:1139 3442 3442 msgid "View notifications from <0>@{0}</0>" 3443 3443 msgstr "" 3444 3444 3445 3445 #. placeholder {0}: account.username 3446 - #: src/pages/notifications.jsx:1157 3446 + #: src/pages/notifications.jsx:1160 3447 3447 msgid "Notifications from <0>@{0}</0>" 3448 3448 msgstr "" 3449 3449 3450 3450 #. placeholder {0}: request.account.username 3451 - #: src/pages/notifications.jsx:1225 3451 + #: src/pages/notifications.jsx:1228 3452 3452 msgid "Notifications from @{0} will not be filtered from now on." 3453 3453 msgstr "" 3454 3454 3455 - #: src/pages/notifications.jsx:1230 3455 + #: src/pages/notifications.jsx:1233 3456 3456 msgid "Unable to accept notification request" 3457 3457 msgstr "" 3458 3458 3459 - #: src/pages/notifications.jsx:1235 3459 + #: src/pages/notifications.jsx:1238 3460 3460 msgid "Allow" 3461 3461 msgstr "" 3462 3462 3463 3463 #. placeholder {0}: request.account.username 3464 - #: src/pages/notifications.jsx:1255 3464 + #: src/pages/notifications.jsx:1258 3465 3465 msgid "Notifications from @{0} will not show up in Filtered notifications from now on." 3466 3466 msgstr "Notifications from @{0} will not show up in Filtered notifications from now on." 3467 3467 3468 - #: src/pages/notifications.jsx:1260 3468 + #: src/pages/notifications.jsx:1263 3469 3469 msgid "Unable to dismiss notification request" 3470 3470 msgstr "" 3471 3471 3472 - #: src/pages/notifications.jsx:1265 3472 + #: src/pages/notifications.jsx:1268 3473 3473 msgid "Dismiss" 3474 3474 msgstr "" 3475 3475 3476 - #: src/pages/notifications.jsx:1280 3476 + #: src/pages/notifications.jsx:1283 3477 3477 msgid "Dismissed" 3478 3478 msgstr "" 3479 3479 ··· 3560 3560 msgid "Search: {q}" 3561 3561 msgstr "" 3562 3562 3563 - #: src/pages/search.jsx:336 3564 - #: src/pages/search.jsx:418 3563 + #: src/pages/search.jsx:339 3564 + #: src/pages/search.jsx:421 3565 3565 msgid "Hashtags" 3566 3566 msgstr "" 3567 3567 3568 - #: src/pages/search.jsx:368 3569 - #: src/pages/search.jsx:422 3570 - #: src/pages/search.jsx:492 3568 + #: src/pages/search.jsx:371 3569 + #: src/pages/search.jsx:425 3570 + #: src/pages/search.jsx:495 3571 3571 msgid "See more" 3572 3572 msgstr "" 3573 3573 3574 - #: src/pages/search.jsx:394 3574 + #: src/pages/search.jsx:397 3575 3575 msgid "See more accounts" 3576 3576 msgstr "" 3577 3577 3578 - #: src/pages/search.jsx:408 3578 + #: src/pages/search.jsx:411 3579 3579 msgid "No accounts found." 3580 3580 msgstr "" 3581 3581 3582 - #: src/pages/search.jsx:464 3582 + #: src/pages/search.jsx:467 3583 3583 msgid "See more hashtags" 3584 3584 msgstr "" 3585 3585 3586 - #: src/pages/search.jsx:478 3586 + #: src/pages/search.jsx:481 3587 3587 msgid "No hashtags found." 3588 3588 msgstr "" 3589 3589 3590 - #: src/pages/search.jsx:522 3590 + #: src/pages/search.jsx:525 3591 3591 msgid "See more posts" 3592 3592 msgstr "" 3593 3593 3594 - #: src/pages/search.jsx:536 3594 + #: src/pages/search.jsx:539 3595 3595 msgid "No posts found." 3596 3596 msgstr "" 3597 3597 3598 - #: src/pages/search.jsx:580 3598 + #: src/pages/search.jsx:583 3599 3599 msgid "Enter your search term or paste a URL above to get started." 3600 3600 msgstr "" 3601 3601 ··· 3842 3842 3843 3843 #. js-lingui-explicit-id 3844 3844 #: src/pages/status.jsx:599 3845 - #: src/pages/status.jsx:1158 3845 + #: src/pages/status.jsx:1162 3846 3846 msgid "post.title" 3847 3847 msgstr "Post" 3848 3848 3849 - #: src/pages/status.jsx:849 3849 + #: src/pages/status.jsx:853 3850 3850 msgid "You're not logged in. Interactions (reply, boost, etc) are not possible." 3851 3851 msgstr "" 3852 3852 3853 - #: src/pages/status.jsx:869 3853 + #: src/pages/status.jsx:873 3854 3854 msgid "This post is from another instance (<0>{instance}</0>). Interactions (reply, boost, etc) are not possible." 3855 3855 msgstr "" 3856 3856 3857 - #: src/pages/status.jsx:897 3857 + #: src/pages/status.jsx:901 3858 3858 msgid "Error: {e}" 3859 3859 msgstr "" 3860 3860 3861 - #: src/pages/status.jsx:904 3861 + #: src/pages/status.jsx:908 3862 3862 msgid "Switch to my instance to enable interactions" 3863 3863 msgstr "" 3864 3864 3865 - #: src/pages/status.jsx:1006 3865 + #: src/pages/status.jsx:1010 3866 3866 msgid "Unable to load replies." 3867 3867 msgstr "" 3868 3868 3869 - #: src/pages/status.jsx:1118 3869 + #: src/pages/status.jsx:1122 3870 3870 msgid "Back" 3871 3871 msgstr "" 3872 3872 3873 - #: src/pages/status.jsx:1149 3873 + #: src/pages/status.jsx:1153 3874 3874 msgid "Go to main post" 3875 3875 msgstr "" 3876 3876 3877 3877 #. placeholder {0}: ancestors.length 3878 - #: src/pages/status.jsx:1172 3878 + #: src/pages/status.jsx:1176 3879 3879 msgid "{0} posts above ‒ Go to top" 3880 3880 msgstr "" 3881 3881 3882 - #: src/pages/status.jsx:1215 3883 - #: src/pages/status.jsx:1278 3882 + #: src/pages/status.jsx:1219 3883 + #: src/pages/status.jsx:1282 3884 3884 msgid "Switch to Side Peek view" 3885 3885 msgstr "" 3886 3886 3887 - #: src/pages/status.jsx:1279 3887 + #: src/pages/status.jsx:1283 3888 3888 msgid "Switch to Full view" 3889 3889 msgstr "" 3890 3890 3891 - #: src/pages/status.jsx:1297 3891 + #: src/pages/status.jsx:1301 3892 3892 msgid "Show all sensitive content" 3893 3893 msgstr "" 3894 3894 3895 - #: src/pages/status.jsx:1302 3895 + #: src/pages/status.jsx:1306 3896 3896 msgid "Experimental" 3897 3897 msgstr "" 3898 3898 3899 - #: src/pages/status.jsx:1311 3899 + #: src/pages/status.jsx:1315 3900 3900 msgid "Unable to switch" 3901 3901 msgstr "" 3902 3902 3903 3903 #. placeholder {0}: punycode.toUnicode( postInstance, ) 3904 - #: src/pages/status.jsx:1318 3904 + #: src/pages/status.jsx:1322 3905 3905 msgid "Switch to post's instance ({0})" 3906 3906 msgstr "Switch to post's instance ({0})" 3907 3907 3908 - #: src/pages/status.jsx:1321 3908 + #: src/pages/status.jsx:1325 3909 3909 msgid "Switch to post's instance" 3910 3910 msgstr "" 3911 3911 3912 - #: src/pages/status.jsx:1379 3912 + #: src/pages/status.jsx:1383 3913 3913 msgid "Unable to load post" 3914 3914 msgstr "" 3915 3915 3916 3916 #. placeholder {0}: replies.length 3917 3917 #. placeholder {1}: shortenNumber(replies.length) 3918 - #: src/pages/status.jsx:1515 3918 + #: src/pages/status.jsx:1519 3919 3919 msgid "{0, plural, one {# reply} other {<0>{1}</0> replies}}" 3920 3920 msgstr "" 3921 3921 3922 3922 #. placeholder {0}: shortenNumber(totalComments) 3923 - #: src/pages/status.jsx:1533 3923 + #: src/pages/status.jsx:1537 3924 3924 msgid "{totalComments, plural, one {# comment} other {<0>{0}</0> comments}}" 3925 3925 msgstr "" 3926 3926 3927 - #: src/pages/status.jsx:1555 3927 + #: src/pages/status.jsx:1559 3928 3928 msgid "View post with its replies" 3929 3929 msgstr "" 3930 3930
+5 -5
src/pages/catchup.jsx
··· 718 718 { 719 719 useKey: true, 720 720 preventDefault: true, 721 - ignoreModifiers: true, 721 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 722 722 }, 723 723 ); 724 724 ··· 763 763 { 764 764 useKey: true, 765 765 preventDefault: true, 766 - ignoreModifiers: true, 766 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 767 767 }, 768 768 ); 769 769 ··· 793 793 { 794 794 useKey: true, 795 795 preventDefault: true, 796 - ignoreModifiers: true, 796 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 797 797 enableOnFormTags: ['input'], 798 798 }, 799 799 ); ··· 806 806 }, 807 807 { 808 808 preventDefault: true, 809 - ignoreModifiers: true, 809 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 810 810 enableOnFormTags: ['input'], 811 811 useKey: true, 812 812 }, ··· 823 823 { 824 824 useKey: true, 825 825 preventDefault: true, 826 - ignoreModifiers: true, 826 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 827 827 enableOnFormTags: ['input'], 828 828 }, 829 829 );
+3
src/pages/notifications.jsx
··· 488 488 }, 489 489 { 490 490 useKey: true, 491 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 491 492 }, 492 493 ); 493 494 ··· 524 525 }, 525 526 { 526 527 useKey: true, 528 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 527 529 }, 528 530 ); 529 531 ··· 538 540 }, 539 541 { 540 542 useKey: true, 543 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 541 544 }, 542 545 ); 543 546
+3
src/pages/search.jsx
··· 206 206 { 207 207 useKey: true, 208 208 preventDefault: true, 209 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 209 210 }, 210 211 ); 211 212 ··· 242 243 }, 243 244 { 244 245 useKey: true, 246 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 245 247 }, 246 248 ); 247 249 ··· 278 280 }, 279 281 { 280 282 useKey: true, 283 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 281 284 }, 282 285 ); 283 286
+5 -1
src/pages/status.jsx
··· 642 642 enabled: !showMedia, 643 643 ignoreEventWhen: (e) => { 644 644 const hasModal = !!document.querySelector('#modal-container > *'); 645 - return hasModal; 645 + return hasModal || e.metaKey || e.ctrlKey || e.altKey || e.shiftKey; 646 646 }, 647 647 useKey: true, 648 648 }, ··· 655 655 }, 656 656 { 657 657 useKey: true, 658 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 658 659 }, 659 660 ); 660 661 ··· 694 695 }, 695 696 { 696 697 useKey: true, 698 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 697 699 }, 698 700 ); 699 701 ··· 732 734 }, 733 735 { 734 736 useKey: true, 737 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 735 738 }, 736 739 ); 737 740 ··· 752 755 }, 753 756 { 754 757 useKey: true, 758 + ignoreEventWhen: (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey, 755 759 }, 756 760 ); 757 761