tangled mirror of catsky-🐱 Soothing soft social-app fork with all the niche toggles! (Unofficial); for issues and PRs please put them on github:NekoDrone/catsky-social

PWI behavior updates (#2207)

* Enable PWI

* Disable access to feeds on PWI

* Remove feeds nav item from drawer when signed out

* Replace discover feed on home with a CTA

* Wire up the sign in and create account buttons to go straight to their respective screens

* Give a custom ScreenHider interface for no-pwi

* Add side borders on desktop to the screen hider

* Filter accounts in the autocomplete according to mod settings

* Trim replies in the post thread that are pwi opt-out

* Show 'learn more' on the content hider when no-override is enabled

* Apply the moderation filter on profile cards

* Disable post search on logged-out view

* Update locale files

* Bump api pkg

* Ensure feeds with no posts don't show as NSFPublic

* Fix types

---------

Co-authored-by: Eric Bailey <git@esb.lol>

authored by Paul Frazee Eric Bailey and committed by GitHub 075ffdf5 7fd79702

+1 -1
package.json
··· 35 35 "intl:compile": "lingui compile" 36 36 }, 37 37 "dependencies": { 38 - "@atproto/api": "^0.7.3", 38 + "@atproto/api": "^0.7.4", 39 39 "@bam.tech/react-native-image-resizer": "^3.0.4", 40 40 "@braintree/sanitize-url": "^6.0.2", 41 41 "@emoji-mart/react": "^1.1.1",
+6 -2
src/Navigation.tsx
··· 182 182 <Stack.Screen 183 183 name="ProfileFeed" 184 184 getComponent={() => ProfileFeedScreen} 185 - options={{title: title('Feed')}} 185 + options={{title: title('Feed'), requireAuth: true}} 186 186 /> 187 187 <Stack.Screen 188 188 name="ProfileFeedLikedBy" ··· 327 327 animationDuration: 250, 328 328 contentStyle, 329 329 }}> 330 - <FeedsTab.Screen name="Feeds" getComponent={() => FeedsScreen} /> 330 + <FeedsTab.Screen 331 + name="Feeds" 332 + getComponent={() => FeedsScreen} 333 + options={{requireAuth: true}} 334 + /> 331 335 {commonScreens(FeedsTab as typeof HomeTab)} 332 336 </FeedsTab.Navigator> 333 337 )
+1 -1
src/lib/build-flags.ts
··· 1 1 export const LOGIN_INCLUDE_DEV_SERVERS = true 2 - export const PWI_ENABLED = false 2 + export const PWI_ENABLED = true
+138 -98
src/locale/locales/en/messages.po
··· 47 47 msgid "{invitesAvailable} invite codes available" 48 48 msgstr "" 49 49 50 - #: src/view/screens/Search/Search.tsx:87 50 + #: src/view/screens/Search/Search.tsx:88 51 51 msgid "{message}" 52 52 msgstr "" 53 53 ··· 95 95 96 96 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 97 97 #: src/view/com/modals/UserAddRemoveLists.tsx:193 98 - #: src/view/screens/ProfileList.tsx:783 98 + #: src/view/screens/ProfileList.tsx:753 99 99 msgid "Add" 100 100 msgstr "" 101 101 ··· 103 103 msgid "Add a content warning" 104 104 msgstr "" 105 105 106 - #: src/view/screens/ProfileList.tsx:773 106 + #: src/view/screens/ProfileList.tsx:743 107 107 msgid "Add a user to this list" 108 108 msgstr "" 109 109 ··· 142 142 msgid "Add to Lists" 143 143 msgstr "" 144 144 145 - #: src/view/screens/ProfileFeed.tsx:280 145 + #: src/view/screens/ProfileFeed.tsx:275 146 146 msgid "Add to my feeds" 147 147 msgstr "" 148 148 ··· 228 228 msgid "Are you sure you'd like to discard this draft?" 229 229 msgstr "" 230 230 231 - #: src/view/screens/ProfileList.tsx:375 231 + #: src/view/screens/ProfileList.tsx:351 232 232 msgid "Are you sure?" 233 233 msgstr "" 234 234 ··· 250 250 #: src/view/com/auth/login/LoginForm.tsx:249 251 251 #: src/view/com/auth/login/SetNewPasswordForm.tsx:148 252 252 #: src/view/com/modals/report/InputIssueDetails.tsx:45 253 - #: src/view/com/post-thread/PostThread.tsx:392 254 - #: src/view/com/post-thread/PostThread.tsx:442 255 - #: src/view/com/post-thread/PostThread.tsx:450 253 + #: src/view/com/post-thread/PostThread.tsx:395 254 + #: src/view/com/post-thread/PostThread.tsx:445 255 + #: src/view/com/post-thread/PostThread.tsx:453 256 256 #: src/view/com/profile/ProfileHeader.tsx:672 257 257 msgid "Back" 258 258 msgstr "" ··· 275 275 msgid "Block Account" 276 276 msgstr "" 277 277 278 - #: src/view/screens/ProfileList.tsx:545 278 + #: src/view/screens/ProfileList.tsx:521 279 279 msgid "Block accounts" 280 280 msgstr "" 281 281 282 - #: src/view/screens/ProfileList.tsx:495 282 + #: src/view/screens/ProfileList.tsx:471 283 283 msgid "Block list" 284 284 msgstr "" 285 285 286 - #: src/view/screens/ProfileList.tsx:330 286 + #: src/view/screens/ProfileList.tsx:306 287 287 msgid "Block these accounts?" 288 288 msgstr "" 289 289 ··· 303 303 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours." 304 304 msgstr "" 305 305 306 - #: src/view/com/post-thread/PostThread.tsx:248 306 + #: src/view/com/post-thread/PostThread.tsx:251 307 307 msgid "Blocked post." 308 308 msgstr "" 309 309 310 - #: src/view/screens/ProfileList.tsx:332 310 + #: src/view/screens/ProfileList.tsx:308 311 311 msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." 312 312 msgstr "" 313 313 314 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:93 315 + msgid "Blog" 316 + msgstr "" 317 + 318 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:31 314 319 #: src/view/com/auth/SplashScreen.tsx:26 315 320 msgid "Bluesky" 316 321 msgstr "" ··· 343 348 msgid "Build version {0} {1}" 344 349 msgstr "" 345 350 351 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:87 352 + msgid "Business" 353 + msgstr "" 354 + 346 355 #: src/view/com/composer/photos/OpenCameraBtn.tsx:60 347 356 #: src/view/com/util/UserAvatar.tsx:221 348 357 #: src/view/com/util/UserBanner.tsx:38 ··· 368 377 #: src/view/com/modals/LinkWarning.tsx:85 369 378 #: src/view/com/modals/Repost.tsx:73 370 379 #: src/view/com/modals/Waitlist.tsx:136 371 - #: src/view/screens/Search/Search.tsx:558 380 + #: src/view/screens/Search/Search.tsx:592 372 381 #: src/view/shell/desktop/Search.tsx:182 373 382 msgid "Cancel" 374 383 msgstr "" ··· 473 482 msgstr "" 474 483 475 484 #: src/view/com/util/forms/SearchInput.tsx:73 476 - #: src/view/screens/Search/Search.tsx:543 485 + #: src/view/screens/Search/Search.tsx:577 477 486 msgid "Clear search query" 478 487 msgstr "" 479 488 ··· 551 560 msgid "Content Languages" 552 561 msgstr "" 553 562 554 - #: src/view/com/util/moderation/ScreenHider.tsx:69 563 + #: src/view/com/util/moderation/ScreenHider.tsx:78 555 564 msgid "Content Warning" 556 565 msgstr "" 557 566 ··· 573 582 msgid "Copy" 574 583 msgstr "" 575 584 576 - #: src/view/screens/ProfileList.tsx:407 585 + #: src/view/screens/ProfileList.tsx:383 577 586 msgid "Copy link to list" 578 587 msgstr "" 579 588 ··· 593 602 msgid "Copyright Policy" 594 603 msgstr "" 595 604 596 - #: src/view/screens/ProfileFeed.tsx:103 605 + #: src/view/screens/ProfileFeed.tsx:98 597 606 msgid "Could not load feed" 598 607 msgstr "" 599 608 600 - #: src/view/screens/ProfileList.tsx:860 609 + #: src/view/screens/ProfileList.tsx:829 601 610 msgid "Could not load list" 602 611 msgstr "" 603 612 613 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:62 604 614 #: src/view/com/auth/SplashScreen.tsx:41 605 615 msgid "Create a new account" 606 616 msgstr "" ··· 609 619 msgid "Create Account" 610 620 msgstr "" 611 621 622 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 612 623 #: src/view/com/auth/SplashScreen.tsx:38 613 624 msgid "Create new account" 614 625 msgstr "" ··· 643 654 msgid "Delete app password" 644 655 msgstr "" 645 656 646 - #: src/view/screens/ProfileList.tsx:374 647 - #: src/view/screens/ProfileList.tsx:434 657 + #: src/view/screens/ProfileList.tsx:350 658 + #: src/view/screens/ProfileList.tsx:410 648 659 msgid "Delete List" 649 660 msgstr "" 650 661 ··· 664 675 msgid "Delete this post?" 665 676 msgstr "" 666 677 667 - #: src/view/com/post-thread/PostThread.tsx:240 678 + #: src/view/com/post-thread/PostThread.tsx:243 668 679 msgid "Deleted post." 669 680 msgstr "" 670 681 ··· 739 750 msgid "Edit image" 740 751 msgstr "" 741 752 742 - #: src/view/screens/ProfileList.tsx:422 753 + #: src/view/screens/ProfileList.tsx:398 743 754 msgid "Edit list details" 744 755 msgstr "" 745 756 ··· 787 798 msgid "Enable this setting to only see replies between people you follow." 788 799 msgstr "" 789 800 790 - #: src/view/screens/Profile.tsx:471 801 + #: src/view/screens/Profile.tsx:425 791 802 msgid "End of feed" 792 803 msgstr "" 793 804 ··· 815 826 msgid "Enter your username and password" 816 827 msgstr "" 817 828 818 - #: src/view/screens/Search/Search.tsx:105 829 + #: src/view/screens/Search/Search.tsx:106 819 830 msgid "Error:" 820 831 msgstr "" 821 832 ··· 836 847 msgid "Feed offline" 837 848 msgstr "" 838 849 839 - #: src/view/com/feeds/FeedPage.tsx:140 850 + #: src/view/com/feeds/FeedPage.tsx:143 840 851 msgid "Feed Preferences" 841 852 msgstr "" 842 853 ··· 847 858 848 859 #: src/view/screens/Feeds.tsx:475 849 860 #: src/view/screens/Profile.tsx:164 850 - #: src/view/shell/bottom-bar/BottomBar.tsx:160 851 - #: src/view/shell/desktop/LeftNav.tsx:333 861 + #: src/view/shell/bottom-bar/BottomBar.tsx:163 862 + #: src/view/shell/desktop/LeftNav.tsx:335 852 863 #: src/view/shell/Drawer.tsx:455 853 864 #: src/view/shell/Drawer.tsx:456 854 865 msgid "Feeds" ··· 862 873 msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." 863 874 msgstr "" 864 875 876 + #: src/view/screens/Search/Search.tsx:422 877 + msgid "Find users on Bluesky" 878 + msgstr "" 879 + 880 + #: src/view/screens/Search/Search.tsx:420 881 + msgid "Find users with the search tool on the right" 882 + msgstr "" 883 + 865 884 #: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150 866 885 msgid "Finding similar accounts..." 867 886 msgstr "" ··· 940 959 msgid "Get Started" 941 960 msgstr "" 942 961 943 - #: src/view/com/auth/LoggedOut.tsx:68 944 - #: src/view/com/auth/LoggedOut.tsx:69 945 - #: src/view/com/util/moderation/ScreenHider.tsx:105 962 + #: src/view/com/auth/LoggedOut.tsx:70 963 + #: src/view/com/auth/LoggedOut.tsx:71 964 + #: src/view/com/util/moderation/ScreenHider.tsx:123 946 965 #: src/view/shell/desktop/LeftNav.tsx:103 947 966 msgid "Go back" 948 967 msgstr "" 949 968 969 + #: src/view/screens/ProfileFeed.tsx:107 950 970 #: src/view/screens/ProfileFeed.tsx:112 951 - #: src/view/screens/ProfileFeed.tsx:117 952 - #: src/view/screens/ProfileList.tsx:869 953 - #: src/view/screens/ProfileList.tsx:874 971 + #: src/view/screens/ProfileList.tsx:838 972 + #: src/view/screens/ProfileList.tsx:843 954 973 msgid "Go Back" 955 974 msgstr "" 956 975 ··· 974 993 msgstr "" 975 994 976 995 #: src/view/com/notifications/FeedItem.tsx:316 996 + #: src/view/com/util/moderation/ContentHider.tsx:103 977 997 msgid "Hide" 978 998 msgstr "" 979 999 ··· 1082 1102 msgid "Invite codes: {invitesAvailable} available" 1083 1103 msgstr "" 1084 1104 1105 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 1106 + msgid "Jobs" 1107 + msgstr "" 1108 + 1085 1109 #: src/view/com/modals/Waitlist.tsx:67 1086 1110 msgid "Join the waitlist" 1087 1111 msgstr "" ··· 1107 1131 msgid "Languages" 1108 1132 msgstr "" 1109 1133 1134 + #: src/view/com/util/moderation/ContentHider.tsx:101 1135 + msgid "Learn more" 1136 + msgstr "" 1137 + 1110 1138 #: src/view/com/util/moderation/PostAlerts.tsx:47 1111 1139 #: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65 1112 - #: src/view/com/util/moderation/ScreenHider.tsx:88 1140 + #: src/view/com/util/moderation/ScreenHider.tsx:104 1113 1141 msgid "Learn More" 1114 1142 msgstr "" 1115 1143 ··· 1117 1145 #: src/view/com/util/moderation/PostAlerts.tsx:40 1118 1146 #: src/view/com/util/moderation/PostHider.tsx:76 1119 1147 #: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49 1120 - #: src/view/com/util/moderation/ScreenHider.tsx:85 1148 + #: src/view/com/util/moderation/ScreenHider.tsx:101 1121 1149 msgid "Learn more about this warning" 1122 1150 msgstr "" 1123 1151 ··· 1147 1175 #~ msgid "Light" 1148 1176 #~ msgstr "" 1149 1177 1150 - #: src/view/screens/ProfileFeed.tsx:643 1178 + #: src/view/screens/ProfileFeed.tsx:627 1151 1179 msgid "Like this feed" 1152 1180 msgstr "" 1153 1181 ··· 1177 1205 msgstr "" 1178 1206 1179 1207 #: src/view/screens/Profile.tsx:165 1180 - #: src/view/shell/desktop/LeftNav.tsx:373 1208 + #: src/view/shell/desktop/LeftNav.tsx:372 1181 1209 #: src/view/shell/Drawer.tsx:471 1182 1210 #: src/view/shell/Drawer.tsx:472 1183 1211 msgid "Lists" 1184 1212 msgstr "" 1185 1213 1186 - #: src/view/com/post-thread/PostThread.tsx:257 1187 - #: src/view/com/post-thread/PostThread.tsx:265 1214 + #: src/view/com/post-thread/PostThread.tsx:260 1215 + #: src/view/com/post-thread/PostThread.tsx:268 1188 1216 msgid "Load more posts" 1189 1217 msgstr "" 1190 1218 1191 - #: src/view/screens/Notifications.tsx:141 1219 + #: src/view/screens/Notifications.tsx:144 1192 1220 msgid "Load new notifications" 1193 1221 msgstr "" 1194 1222 1195 - #: src/view/com/feeds/FeedPage.tsx:185 1223 + #: src/view/com/feeds/FeedPage.tsx:189 1196 1224 msgid "Load new posts" 1197 1225 msgstr "" 1198 1226 ··· 1216 1244 msgid "Login to account that is not listed" 1217 1245 msgstr "" 1218 1246 1219 - #: src/view/screens/ProfileFeed.tsx:482 1247 + #: src/view/screens/ProfileFeed.tsx:472 1220 1248 msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" 1221 1249 msgstr "" 1222 1250 ··· 1236 1264 msgid "Mentioned users" 1237 1265 msgstr "" 1238 1266 1239 - #: src/view/screens/Search/Search.tsx:503 1267 + #: src/view/screens/Search/Search.tsx:537 1240 1268 msgid "Menu" 1241 1269 msgstr "" 1242 1270 1243 1271 #: src/view/com/posts/FeedErrorMessage.tsx:194 1244 - #: src/view/screens/ProfileFeed.tsx:490 1272 + #: src/view/screens/ProfileFeed.tsx:480 1245 1273 msgid "Message from server" 1246 1274 msgstr "" 1247 1275 1248 1276 #: src/view/screens/Moderation.tsx:64 1249 1277 #: src/view/screens/Settings.tsx:563 1250 - #: src/view/shell/desktop/LeftNav.tsx:391 1278 + #: src/view/shell/desktop/LeftNav.tsx:390 1251 1279 #: src/view/shell/Drawer.tsx:490 1252 1280 #: src/view/shell/Drawer.tsx:491 1253 1281 msgid "Moderation" ··· 1266 1294 msgstr "" 1267 1295 1268 1296 #: src/view/com/profile/ProfileHeader.tsx:548 1269 - #: src/view/screens/ProfileFeed.tsx:370 1270 - #: src/view/screens/ProfileList.tsx:606 1297 + #: src/view/screens/ProfileFeed.tsx:365 1298 + #: src/view/screens/ProfileList.tsx:582 1271 1299 msgid "More options" 1272 1300 msgstr "" 1273 1301 ··· 1279 1307 msgid "Mute Account" 1280 1308 msgstr "" 1281 1309 1282 - #: src/view/screens/ProfileList.tsx:533 1310 + #: src/view/screens/ProfileList.tsx:509 1283 1311 msgid "Mute accounts" 1284 1312 msgstr "" 1285 1313 1286 - #: src/view/screens/ProfileList.tsx:480 1314 + #: src/view/screens/ProfileList.tsx:456 1287 1315 msgid "Mute list" 1288 1316 msgstr "" 1289 1317 1290 - #: src/view/screens/ProfileList.tsx:293 1318 + #: src/view/screens/ProfileList.tsx:269 1291 1319 msgid "Mute these accounts?" 1292 1320 msgstr "" 1293 1321 ··· 1307 1335 msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." 1308 1336 msgstr "" 1309 1337 1310 - #: src/view/screens/ProfileList.tsx:295 1338 + #: src/view/screens/ProfileList.tsx:271 1311 1339 msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them." 1312 1340 msgstr "" 1313 1341 ··· 1345 1373 msgid "New" 1346 1374 msgstr "" 1347 1375 1348 - #: src/view/com/feeds/FeedPage.tsx:196 1376 + #: src/view/com/feeds/FeedPage.tsx:200 1349 1377 #: src/view/screens/Feeds.tsx:510 1350 - #: src/view/screens/Profile.tsx:389 1351 - #: src/view/screens/ProfileFeed.tsx:451 1352 - #: src/view/screens/ProfileList.tsx:212 1353 - #: src/view/screens/ProfileList.tsx:244 1378 + #: src/view/screens/Profile.tsx:353 1379 + #: src/view/screens/ProfileFeed.tsx:441 1380 + #: src/view/screens/ProfileList.tsx:192 1381 + #: src/view/screens/ProfileList.tsx:220 1354 1382 #: src/view/shell/desktop/LeftNav.tsx:246 1355 1383 msgid "New post" 1356 1384 msgstr "" ··· 1379 1407 msgid "No" 1380 1408 msgstr "" 1381 1409 1382 - #: src/view/screens/ProfileFeed.tsx:636 1383 - #: src/view/screens/ProfileList.tsx:740 1410 + #: src/view/screens/ProfileFeed.tsx:620 1411 + #: src/view/screens/ProfileList.tsx:710 1384 1412 msgid "No description" 1385 1413 msgstr "" 1386 1414 ··· 1398 1426 #~ msgstr "" 1399 1427 1400 1428 #: src/view/com/modals/ListAddRemoveUsers.tsx:127 1401 - #: src/view/screens/Search/Search.tsx:270 1402 - #: src/view/screens/Search/Search.tsx:298 1403 - #: src/view/screens/Search/Search.tsx:581 1429 + #: src/view/screens/Search/Search.tsx:271 1430 + #: src/view/screens/Search/Search.tsx:299 1431 + #: src/view/screens/Search/Search.tsx:615 1404 1432 #: src/view/shell/desktop/Search.tsx:210 1405 1433 msgid "No results found for {query}" 1406 1434 msgstr "" ··· 1429 1457 #~ msgid "Note: Third-party apps that display Bluesky content may not respect this setting." 1430 1458 #~ msgstr "" 1431 1459 1432 - #: src/view/screens/Notifications.tsx:108 1433 - #: src/view/screens/Notifications.tsx:132 1460 + #: src/view/screens/Notifications.tsx:109 1461 + #: src/view/screens/Notifications.tsx:133 1434 1462 #: src/view/shell/bottom-bar/BottomBar.tsx:187 1435 - #: src/view/shell/desktop/LeftNav.tsx:355 1463 + #: src/view/shell/desktop/LeftNav.tsx:354 1436 1464 #: src/view/shell/Drawer.tsx:416 1437 1465 #: src/view/shell/Drawer.tsx:417 1438 1466 msgid "Notifications" ··· 1570 1598 msgstr "" 1571 1599 1572 1600 #: src/view/com/composer/Composer.tsx:331 1573 - #: src/view/com/post-thread/PostThread.tsx:223 1601 + #: src/view/com/post-thread/PostThread.tsx:226 1574 1602 #: src/view/screens/PostThread.tsx:78 1575 1603 msgid "Post" 1576 1604 msgstr "" 1577 1605 1578 - #: src/view/com/post-thread/PostThread.tsx:382 1606 + #: src/view/com/post-thread/PostThread.tsx:385 1579 1607 msgid "Post hidden" 1580 1608 msgstr "" 1581 1609 ··· 1587 1615 msgid "Post Languages" 1588 1616 msgstr "" 1589 1617 1590 - #: src/view/com/post-thread/PostThread.tsx:434 1618 + #: src/view/com/post-thread/PostThread.tsx:437 1591 1619 msgid "Post not found" 1592 1620 msgstr "" 1593 1621 ··· 1690 1718 1691 1719 #: src/view/com/feeds/FeedSourceCard.tsx:105 1692 1720 #: src/view/com/feeds/FeedSourceCard.tsx:172 1693 - #: src/view/screens/ProfileFeed.tsx:280 1721 + #: src/view/screens/ProfileFeed.tsx:275 1694 1722 msgid "Remove from my feeds" 1695 1723 msgstr "" 1696 1724 ··· 1735 1763 msgid "Report Account" 1736 1764 msgstr "" 1737 1765 1738 - #: src/view/screens/ProfileFeed.tsx:300 1766 + #: src/view/screens/ProfileFeed.tsx:295 1739 1767 msgid "Report feed" 1740 1768 msgstr "" 1741 1769 1742 - #: src/view/screens/ProfileList.tsx:448 1770 + #: src/view/screens/ProfileList.tsx:424 1743 1771 msgid "Report List" 1744 1772 msgstr "" 1745 1773 ··· 1851 1879 1852 1880 #: src/view/com/modals/ListAddRemoveUsers.tsx:75 1853 1881 #: src/view/com/util/forms/SearchInput.tsx:64 1854 - #: src/view/screens/Search/Search.tsx:381 1855 - #: src/view/screens/Search/Search.tsx:533 1882 + #: src/view/screens/Search/Search.tsx:401 1883 + #: src/view/screens/Search/Search.tsx:567 1856 1884 #: src/view/shell/bottom-bar/BottomBar.tsx:138 1857 1885 #: src/view/shell/desktop/LeftNav.tsx:315 1858 1886 #: src/view/shell/desktop/Search.tsx:161 ··· 1863 1891 msgstr "" 1864 1892 1865 1893 #: src/view/screens/Search/Search.tsx:390 1866 - msgid "Search for posts and users." 1867 - msgstr "" 1894 + #~ msgid "Search for posts and users." 1895 + #~ msgstr "" 1868 1896 1869 1897 #: src/view/com/modals/ChangeEmail.tsx:110 1870 1898 msgid "Security Step Required" 1871 1899 msgstr "" 1872 1900 1901 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:39 1873 1902 #: src/view/com/auth/SplashScreen.tsx:29 1874 1903 msgid "See what's next" 1875 1904 msgstr "" ··· 1944 1973 msgstr "" 1945 1974 1946 1975 #: src/view/screens/Settings.tsx:277 1947 - #: src/view/shell/desktop/LeftNav.tsx:427 1976 + #: src/view/shell/desktop/LeftNav.tsx:426 1948 1977 #: src/view/shell/Drawer.tsx:546 1949 1978 #: src/view/shell/Drawer.tsx:547 1950 1979 msgid "Settings" ··· 1956 1985 1957 1986 #: src/view/com/profile/ProfileHeader.tsx:338 1958 1987 #: src/view/com/util/forms/PostDropdownBtn.tsx:129 1959 - #: src/view/screens/ProfileList.tsx:407 1988 + #: src/view/screens/ProfileList.tsx:383 1960 1989 msgid "Share" 1961 1990 msgstr "" 1962 1991 1963 - #: src/view/screens/ProfileFeed.tsx:312 1992 + #: src/view/screens/ProfileFeed.tsx:307 1964 1993 msgid "Share feed" 1965 1994 msgstr "" 1966 1995 ··· 1968 1997 #~ msgid "Share link" 1969 1998 #~ msgstr "" 1970 1999 2000 + #: src/view/com/util/moderation/ContentHider.tsx:105 1971 2001 #: src/view/screens/Settings.tsx:316 1972 2002 msgid "Show" 1973 2003 msgstr "" 1974 2004 1975 - #: src/view/com/util/moderation/ScreenHider.tsx:114 2005 + #: src/view/com/util/moderation/ScreenHider.tsx:132 1976 2006 msgid "Show anyway" 1977 2007 msgstr "" 1978 2008 ··· 2000 2030 msgid "Show users" 2001 2031 msgstr "" 2002 2032 2033 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 2003 2034 #: src/view/com/auth/login/Login.tsx:98 2004 2035 #: src/view/com/auth/SplashScreen.tsx:49 2005 - #: src/view/shell/NavSignupCard.tsx:52 2006 - #: src/view/shell/NavSignupCard.tsx:53 2036 + #: src/view/shell/NavSignupCard.tsx:58 2037 + #: src/view/shell/NavSignupCard.tsx:59 2007 2038 msgid "Sign in" 2008 2039 msgstr "" 2009 2040 2041 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:78 2010 2042 #: src/view/com/auth/SplashScreen.tsx:52 2011 2043 #: src/view/com/auth/SplashScreen.web.tsx:84 2012 2044 msgid "Sign In" ··· 2030 2062 msgid "Sign out" 2031 2063 msgstr "" 2032 2064 2033 - #: src/view/shell/NavSignupCard.tsx:43 2034 - #: src/view/shell/NavSignupCard.tsx:44 2035 - #: src/view/shell/NavSignupCard.tsx:46 2065 + #: src/view/shell/NavSignupCard.tsx:49 2066 + #: src/view/shell/NavSignupCard.tsx:50 2067 + #: src/view/shell/NavSignupCard.tsx:52 2036 2068 msgid "Sign up" 2037 2069 msgstr "" 2038 2070 2039 - #: src/view/shell/NavSignupCard.tsx:36 2071 + #: src/view/shell/NavSignupCard.tsx:42 2040 2072 msgid "Sign up or sign in to join the conversation" 2073 + msgstr "" 2074 + 2075 + #: src/view/com/util/moderation/ScreenHider.tsx:76 2076 + msgid "Sign-in Required" 2041 2077 msgstr "" 2042 2078 2043 2079 #: src/view/screens/Settings.tsx:327 ··· 2077 2113 msgid "Submit" 2078 2114 msgstr "Submit" 2079 2115 2080 - #: src/view/screens/ProfileList.tsx:597 2116 + #: src/view/screens/ProfileList.tsx:573 2081 2117 msgid "Subscribe" 2082 2118 msgstr "" 2083 2119 2084 - #: src/view/screens/ProfileList.tsx:593 2120 + #: src/view/screens/ProfileList.tsx:569 2085 2121 msgid "Subscribe to this list" 2086 2122 msgstr "" 2087 2123 2088 - #: src/view/screens/Search/Search.tsx:354 2124 + #: src/view/screens/Search/Search.tsx:357 2089 2125 msgid "Suggested Follows" 2090 2126 msgstr "" 2091 2127 ··· 2135 2171 msgid "The Copyright Policy has been moved to <0/>" 2136 2172 msgstr "" 2137 2173 2138 - #: src/view/com/post-thread/PostThread.tsx:437 2174 + #: src/view/com/post-thread/PostThread.tsx:440 2139 2175 msgid "The post may have been deleted." 2140 2176 msgstr "" 2141 2177 ··· 2159 2195 msgid "This {0} has been labeled." 2160 2196 msgstr "" 2161 2197 2162 - #: src/view/com/util/moderation/ScreenHider.tsx:72 2198 + #: src/view/com/util/moderation/ScreenHider.tsx:88 2163 2199 msgid "This {screenDescription} has been flagged:" 2200 + msgstr "" 2201 + 2202 + #: src/view/com/util/moderation/ScreenHider.tsx:83 2203 + msgid "This account has requested that users sign in to view their profile." 2164 2204 msgstr "" 2165 2205 2166 2206 #: src/view/com/posts/FeedErrorMessage.tsx:107 ··· 2222 2262 msgid "Try again" 2223 2263 msgstr "" 2224 2264 2225 - #: src/view/screens/ProfileList.tsx:495 2265 + #: src/view/screens/ProfileList.tsx:471 2226 2266 msgid "Un-block list" 2227 2267 msgstr "" 2228 2268 2229 - #: src/view/screens/ProfileList.tsx:480 2269 + #: src/view/screens/ProfileList.tsx:456 2230 2270 msgid "Un-mute list" 2231 2271 msgstr "" 2232 2272 ··· 2262 2302 msgid "Unmute thread" 2263 2303 msgstr "" 2264 2304 2265 - #: src/view/screens/ProfileList.tsx:463 2305 + #: src/view/screens/ProfileList.tsx:439 2266 2306 msgid "Unpin moderation list" 2267 2307 msgstr "" 2268 2308 ··· 2311 2351 msgid "Username or email address" 2312 2352 msgstr "" 2313 2353 2314 - #: src/view/screens/ProfileList.tsx:767 2354 + #: src/view/screens/ProfileList.tsx:737 2315 2355 msgid "Users" 2316 2356 msgstr "" 2317 2357 ··· 2368 2408 #~ msgid "We're sorry, but this feed is currently receiving high traffic and is temporarily unavailable. Please try again later." 2369 2409 #~ msgstr "" 2370 2410 2371 - #: src/view/screens/Search/Search.tsx:237 2411 + #: src/view/screens/Search/Search.tsx:238 2372 2412 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." 2373 2413 msgstr "" 2374 2414 ··· 2444 2484 msgid "You don't have any saved feeds." 2445 2485 msgstr "" 2446 2486 2447 - #: src/view/com/post-thread/PostThread.tsx:385 2487 + #: src/view/com/post-thread/PostThread.tsx:388 2448 2488 msgid "You have blocked the author or you have been blocked by the author." 2449 2489 msgstr "" 2450 2490 2451 - #: src/view/com/feeds/ProfileFeedgens.tsx:154 2491 + #: src/view/com/feeds/ProfileFeedgens.tsx:141 2452 2492 msgid "You have no feeds." 2453 2493 msgstr "" 2454 2494 2455 2495 #: src/view/com/lists/MyLists.tsx:89 2456 - #: src/view/com/lists/ProfileLists.tsx:158 2496 + #: src/view/com/lists/ProfileLists.tsx:145 2457 2497 msgid "You have no lists." 2458 2498 msgstr "" 2459 2499
+138 -98
src/locale/locales/hi/messages.po
··· 47 47 msgid "{invitesAvailable} invite codes available" 48 48 msgstr "" 49 49 50 - #: src/view/screens/Search/Search.tsx:87 50 + #: src/view/screens/Search/Search.tsx:88 51 51 msgid "{message}" 52 52 msgstr "" 53 53 ··· 95 95 96 96 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 97 97 #: src/view/com/modals/UserAddRemoveLists.tsx:193 98 - #: src/view/screens/ProfileList.tsx:783 98 + #: src/view/screens/ProfileList.tsx:753 99 99 msgid "Add" 100 100 msgstr "ऐड करो" 101 101 ··· 103 103 msgid "Add a content warning" 104 104 msgstr "सामग्री चेतावनी जोड़ें" 105 105 106 - #: src/view/screens/ProfileList.tsx:773 106 + #: src/view/screens/ProfileList.tsx:743 107 107 msgid "Add a user to this list" 108 108 msgstr "इस सूची में किसी को जोड़ें" 109 109 ··· 142 142 msgid "Add to Lists" 143 143 msgstr "सूचियों में जोड़ें" 144 144 145 - #: src/view/screens/ProfileFeed.tsx:280 145 + #: src/view/screens/ProfileFeed.tsx:275 146 146 msgid "Add to my feeds" 147 147 msgstr "इस फ़ीड को सहेजें" 148 148 ··· 228 228 msgid "Are you sure you'd like to discard this draft?" 229 229 msgstr "क्या आप वाकई इस ड्राफ्ट को हटाना करना चाहेंगे?" 230 230 231 - #: src/view/screens/ProfileList.tsx:375 231 + #: src/view/screens/ProfileList.tsx:351 232 232 msgid "Are you sure?" 233 233 msgstr "क्या आप वास्तव में इसे करना चाहते हैं?" 234 234 ··· 250 250 #: src/view/com/auth/login/LoginForm.tsx:249 251 251 #: src/view/com/auth/login/SetNewPasswordForm.tsx:148 252 252 #: src/view/com/modals/report/InputIssueDetails.tsx:45 253 - #: src/view/com/post-thread/PostThread.tsx:392 254 - #: src/view/com/post-thread/PostThread.tsx:442 255 - #: src/view/com/post-thread/PostThread.tsx:450 253 + #: src/view/com/post-thread/PostThread.tsx:395 254 + #: src/view/com/post-thread/PostThread.tsx:445 255 + #: src/view/com/post-thread/PostThread.tsx:453 256 256 #: src/view/com/profile/ProfileHeader.tsx:672 257 257 msgid "Back" 258 258 msgstr "वापस" ··· 275 275 msgid "Block Account" 276 276 msgstr "खाता ब्लॉक करें" 277 277 278 - #: src/view/screens/ProfileList.tsx:545 278 + #: src/view/screens/ProfileList.tsx:521 279 279 msgid "Block accounts" 280 280 msgstr "खाता ब्लॉक करें" 281 281 282 - #: src/view/screens/ProfileList.tsx:495 282 + #: src/view/screens/ProfileList.tsx:471 283 283 msgid "Block list" 284 284 msgstr "" 285 285 286 - #: src/view/screens/ProfileList.tsx:330 286 + #: src/view/screens/ProfileList.tsx:306 287 287 msgid "Block these accounts?" 288 288 msgstr "खाता ब्लॉक करें?" 289 289 ··· 303 303 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours." 304 304 msgstr "अवरुद्ध खाते आपके थ्रेड्स में उत्तर नहीं दे सकते, आपका उल्लेख नहीं कर सकते, या अन्यथा आपके साथ बातचीत नहीं कर सकते। आप उनकी सामग्री नहीं देख पाएंगे और उन्हें आपकी सामग्री देखने से रोका जाएगा।" 305 305 306 - #: src/view/com/post-thread/PostThread.tsx:248 306 + #: src/view/com/post-thread/PostThread.tsx:251 307 307 msgid "Blocked post." 308 308 msgstr "ब्लॉक पोस्ट।" 309 309 310 - #: src/view/screens/ProfileList.tsx:332 310 + #: src/view/screens/ProfileList.tsx:308 311 311 msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." 312 312 msgstr "अवरोधन सार्वजनिक है. अवरुद्ध खाते आपके थ्रेड्स में उत्तर नहीं दे सकते, आपका उल्लेख नहीं कर सकते, या अन्यथा आपके साथ बातचीत नहीं कर सकते।" 313 313 314 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:93 315 + msgid "Blog" 316 + msgstr "" 317 + 318 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:31 314 319 #: src/view/com/auth/SplashScreen.tsx:26 315 320 msgid "Bluesky" 316 321 msgstr "Bluesky" ··· 343 348 msgid "Build version {0} {1}" 344 349 msgstr "Build version {0} {1}" 345 350 351 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:87 352 + msgid "Business" 353 + msgstr "" 354 + 346 355 #: src/view/com/composer/photos/OpenCameraBtn.tsx:60 347 356 #: src/view/com/util/UserAvatar.tsx:221 348 357 #: src/view/com/util/UserBanner.tsx:38 ··· 368 377 #: src/view/com/modals/LinkWarning.tsx:85 369 378 #: src/view/com/modals/Repost.tsx:73 370 379 #: src/view/com/modals/Waitlist.tsx:136 371 - #: src/view/screens/Search/Search.tsx:558 380 + #: src/view/screens/Search/Search.tsx:592 372 381 #: src/view/shell/desktop/Search.tsx:182 373 382 msgid "Cancel" 374 383 msgstr "कैंसिल" ··· 469 478 msgstr "" 470 479 471 480 #: src/view/com/util/forms/SearchInput.tsx:73 472 - #: src/view/screens/Search/Search.tsx:543 481 + #: src/view/screens/Search/Search.tsx:577 473 482 msgid "Clear search query" 474 483 msgstr "खोज क्वेरी साफ़ करें" 475 484 ··· 547 556 msgid "Content Languages" 548 557 msgstr "सामग्री भाषा" 549 558 550 - #: src/view/com/util/moderation/ScreenHider.tsx:69 559 + #: src/view/com/util/moderation/ScreenHider.tsx:78 551 560 msgid "Content Warning" 552 561 msgstr "सामग्री चेतावनी" 553 562 ··· 569 578 msgid "Copy" 570 579 msgstr "कॉपी" 571 580 572 - #: src/view/screens/ProfileList.tsx:407 581 + #: src/view/screens/ProfileList.tsx:383 573 582 msgid "Copy link to list" 574 583 msgstr "" 575 584 ··· 589 598 msgid "Copyright Policy" 590 599 msgstr "कॉपीराइट नीति" 591 600 592 - #: src/view/screens/ProfileFeed.tsx:103 601 + #: src/view/screens/ProfileFeed.tsx:98 593 602 msgid "Could not load feed" 594 603 msgstr "फ़ीड लोड नहीं कर सकता" 595 604 596 - #: src/view/screens/ProfileList.tsx:860 605 + #: src/view/screens/ProfileList.tsx:829 597 606 msgid "Could not load list" 598 607 msgstr "सूची लोड नहीं कर सकता" 599 608 609 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:62 600 610 #: src/view/com/auth/SplashScreen.tsx:41 601 611 msgid "Create a new account" 602 612 msgstr "नया खाता बनाएं" ··· 605 615 msgid "Create Account" 606 616 msgstr "खाता बनाएँ" 607 617 618 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 608 619 #: src/view/com/auth/SplashScreen.tsx:38 609 620 msgid "Create new account" 610 621 msgstr "नया खाता बनाएं" ··· 639 650 msgid "Delete app password" 640 651 msgstr "अप्प पासवर्ड हटाएं" 641 652 642 - #: src/view/screens/ProfileList.tsx:374 643 - #: src/view/screens/ProfileList.tsx:434 653 + #: src/view/screens/ProfileList.tsx:350 654 + #: src/view/screens/ProfileList.tsx:410 644 655 msgid "Delete List" 645 656 msgstr "सूची हटाएँ" 646 657 ··· 660 671 msgid "Delete this post?" 661 672 msgstr "इस पोस्ट को डीलीट करें?" 662 673 663 - #: src/view/com/post-thread/PostThread.tsx:240 674 + #: src/view/com/post-thread/PostThread.tsx:243 664 675 msgid "Deleted post." 665 676 msgstr "यह पोस्ट मिटाई जा चुकी है" 666 677 ··· 735 746 msgid "Edit image" 736 747 msgstr "छवि संपादित करें" 737 748 738 - #: src/view/screens/ProfileList.tsx:422 749 + #: src/view/screens/ProfileList.tsx:398 739 750 msgid "Edit list details" 740 751 msgstr "सूची विवरण संपादित करें" 741 752 ··· 783 794 msgid "Enable this setting to only see replies between people you follow." 784 795 msgstr "इस सेटिंग को केवल उन लोगों के बीच जवाब देखने में सक्षम करें जिन्हें आप फॉलो करते हैं।।" 785 796 786 - #: src/view/screens/Profile.tsx:471 797 + #: src/view/screens/Profile.tsx:425 787 798 msgid "End of feed" 788 799 msgstr "" 789 800 ··· 811 822 msgid "Enter your username and password" 812 823 msgstr "अपने यूज़रनेम और पासवर्ड दर्ज करें" 813 824 814 - #: src/view/screens/Search/Search.tsx:105 825 + #: src/view/screens/Search/Search.tsx:106 815 826 msgid "Error:" 816 827 msgstr "" 817 828 ··· 832 843 msgid "Feed offline" 833 844 msgstr "फ़ीड ऑफ़लाइन है" 834 845 835 - #: src/view/com/feeds/FeedPage.tsx:140 846 + #: src/view/com/feeds/FeedPage.tsx:143 836 847 msgid "Feed Preferences" 837 848 msgstr "फ़ीड प्राथमिकता" 838 849 ··· 843 854 844 855 #: src/view/screens/Feeds.tsx:475 845 856 #: src/view/screens/Profile.tsx:164 846 - #: src/view/shell/bottom-bar/BottomBar.tsx:160 847 - #: src/view/shell/desktop/LeftNav.tsx:333 857 + #: src/view/shell/bottom-bar/BottomBar.tsx:163 858 + #: src/view/shell/desktop/LeftNav.tsx:335 848 859 #: src/view/shell/Drawer.tsx:455 849 860 #: src/view/shell/Drawer.tsx:456 850 861 msgid "Feeds" ··· 858 869 msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." 859 870 msgstr "फ़ीड कस्टम एल्गोरिदम हैं जिन्हें उपयोगकर्ता थोड़ी कोडिंग विशेषज्ञता के साथ बनाते हैं। <0/> अधिक जानकारी के लिए." 860 871 872 + #: src/view/screens/Search/Search.tsx:422 873 + msgid "Find users on Bluesky" 874 + msgstr "" 875 + 876 + #: src/view/screens/Search/Search.tsx:420 877 + msgid "Find users with the search tool on the right" 878 + msgstr "" 879 + 861 880 #: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150 862 881 msgid "Finding similar accounts..." 863 882 msgstr "मिलते-जुलते खाते ढूँढना" ··· 932 951 msgid "Get Started" 933 952 msgstr "प्रारंभ करें" 934 953 935 - #: src/view/com/auth/LoggedOut.tsx:68 936 - #: src/view/com/auth/LoggedOut.tsx:69 937 - #: src/view/com/util/moderation/ScreenHider.tsx:105 954 + #: src/view/com/auth/LoggedOut.tsx:70 955 + #: src/view/com/auth/LoggedOut.tsx:71 956 + #: src/view/com/util/moderation/ScreenHider.tsx:123 938 957 #: src/view/shell/desktop/LeftNav.tsx:103 939 958 msgid "Go back" 940 959 msgstr "वापस जाओ" 941 960 961 + #: src/view/screens/ProfileFeed.tsx:107 942 962 #: src/view/screens/ProfileFeed.tsx:112 943 - #: src/view/screens/ProfileFeed.tsx:117 944 - #: src/view/screens/ProfileList.tsx:869 945 - #: src/view/screens/ProfileList.tsx:874 963 + #: src/view/screens/ProfileList.tsx:838 964 + #: src/view/screens/ProfileList.tsx:843 946 965 msgid "Go Back" 947 966 msgstr "वापस जाओ" 948 967 ··· 966 985 msgstr "यहां आपका ऐप पासवर्ड है." 967 986 968 987 #: src/view/com/notifications/FeedItem.tsx:316 988 + #: src/view/com/util/moderation/ContentHider.tsx:103 969 989 msgid "Hide" 970 990 msgstr "इसे छिपाएं" 971 991 ··· 1074 1094 msgid "Invite codes: {invitesAvailable} available" 1075 1095 msgstr "" 1076 1096 1097 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 1098 + msgid "Jobs" 1099 + msgstr "" 1100 + 1077 1101 #: src/view/com/modals/Waitlist.tsx:67 1078 1102 msgid "Join the waitlist" 1079 1103 msgstr "प्रतीक्षा सूची में शामिल हों" ··· 1099 1123 msgid "Languages" 1100 1124 msgstr "भाषा" 1101 1125 1126 + #: src/view/com/util/moderation/ContentHider.tsx:101 1127 + msgid "Learn more" 1128 + msgstr "" 1129 + 1102 1130 #: src/view/com/util/moderation/PostAlerts.tsx:47 1103 1131 #: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65 1104 - #: src/view/com/util/moderation/ScreenHider.tsx:88 1132 + #: src/view/com/util/moderation/ScreenHider.tsx:104 1105 1133 msgid "Learn More" 1106 1134 msgstr "अधिक जानें" 1107 1135 ··· 1109 1137 #: src/view/com/util/moderation/PostAlerts.tsx:40 1110 1138 #: src/view/com/util/moderation/PostHider.tsx:76 1111 1139 #: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49 1112 - #: src/view/com/util/moderation/ScreenHider.tsx:85 1140 + #: src/view/com/util/moderation/ScreenHider.tsx:101 1113 1141 msgid "Learn more about this warning" 1114 1142 msgstr "इस चेतावनी के बारे में अधिक जानें" 1115 1143 ··· 1139 1167 #~ msgid "Light" 1140 1168 #~ msgstr "लाइट मोड" 1141 1169 1142 - #: src/view/screens/ProfileFeed.tsx:643 1170 + #: src/view/screens/ProfileFeed.tsx:627 1143 1171 msgid "Like this feed" 1144 1172 msgstr "इस फ़ीड को लाइक करो" 1145 1173 ··· 1169 1197 msgstr "सूची का नाम" 1170 1198 1171 1199 #: src/view/screens/Profile.tsx:165 1172 - #: src/view/shell/desktop/LeftNav.tsx:373 1200 + #: src/view/shell/desktop/LeftNav.tsx:372 1173 1201 #: src/view/shell/Drawer.tsx:471 1174 1202 #: src/view/shell/Drawer.tsx:472 1175 1203 msgid "Lists" 1176 1204 msgstr "सूची" 1177 1205 1178 - #: src/view/com/post-thread/PostThread.tsx:257 1179 - #: src/view/com/post-thread/PostThread.tsx:265 1206 + #: src/view/com/post-thread/PostThread.tsx:260 1207 + #: src/view/com/post-thread/PostThread.tsx:268 1180 1208 msgid "Load more posts" 1181 1209 msgstr "अधिक पोस्ट लोड करें" 1182 1210 1183 - #: src/view/screens/Notifications.tsx:141 1211 + #: src/view/screens/Notifications.tsx:144 1184 1212 msgid "Load new notifications" 1185 1213 msgstr "नई सूचनाएं लोड करें" 1186 1214 1187 - #: src/view/com/feeds/FeedPage.tsx:185 1215 + #: src/view/com/feeds/FeedPage.tsx:189 1188 1216 msgid "Load new posts" 1189 1217 msgstr "नई पोस्ट लोड करें" 1190 1218 ··· 1208 1236 msgid "Login to account that is not listed" 1209 1237 msgstr "उस खाते में लॉग इन करें जो सूचीबद्ध नहीं है" 1210 1238 1211 - #: src/view/screens/ProfileFeed.tsx:482 1239 + #: src/view/screens/ProfileFeed.tsx:472 1212 1240 msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" 1213 1241 msgstr "" 1214 1242 ··· 1228 1256 msgid "Mentioned users" 1229 1257 msgstr "" 1230 1258 1231 - #: src/view/screens/Search/Search.tsx:503 1259 + #: src/view/screens/Search/Search.tsx:537 1232 1260 msgid "Menu" 1233 1261 msgstr "मेनू" 1234 1262 1235 1263 #: src/view/com/posts/FeedErrorMessage.tsx:194 1236 - #: src/view/screens/ProfileFeed.tsx:490 1264 + #: src/view/screens/ProfileFeed.tsx:480 1237 1265 msgid "Message from server" 1238 1266 msgstr "" 1239 1267 1240 1268 #: src/view/screens/Moderation.tsx:64 1241 1269 #: src/view/screens/Settings.tsx:563 1242 - #: src/view/shell/desktop/LeftNav.tsx:391 1270 + #: src/view/shell/desktop/LeftNav.tsx:390 1243 1271 #: src/view/shell/Drawer.tsx:490 1244 1272 #: src/view/shell/Drawer.tsx:491 1245 1273 msgid "Moderation" ··· 1258 1286 msgstr "अधिक फ़ीड" 1259 1287 1260 1288 #: src/view/com/profile/ProfileHeader.tsx:548 1261 - #: src/view/screens/ProfileFeed.tsx:370 1262 - #: src/view/screens/ProfileList.tsx:606 1289 + #: src/view/screens/ProfileFeed.tsx:365 1290 + #: src/view/screens/ProfileList.tsx:582 1263 1291 msgid "More options" 1264 1292 msgstr "अधिक विकल्प" 1265 1293 ··· 1271 1299 msgid "Mute Account" 1272 1300 msgstr "खाता म्यूट करें" 1273 1301 1274 - #: src/view/screens/ProfileList.tsx:533 1302 + #: src/view/screens/ProfileList.tsx:509 1275 1303 msgid "Mute accounts" 1276 1304 msgstr "खातों को म्यूट करें" 1277 1305 1278 - #: src/view/screens/ProfileList.tsx:480 1306 + #: src/view/screens/ProfileList.tsx:456 1279 1307 msgid "Mute list" 1280 1308 msgstr "" 1281 1309 1282 - #: src/view/screens/ProfileList.tsx:293 1310 + #: src/view/screens/ProfileList.tsx:269 1283 1311 msgid "Mute these accounts?" 1284 1312 msgstr "इन खातों को म्यूट करें?" 1285 1313 ··· 1299 1327 msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." 1300 1328 msgstr "म्यूट किए गए खातों की पोस्ट आपके फ़ीड और आपकी सूचनाओं से हटा दी जाती हैं। म्यूट पूरी तरह से निजी हैं." 1301 1329 1302 - #: src/view/screens/ProfileList.tsx:295 1330 + #: src/view/screens/ProfileList.tsx:271 1303 1331 msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them." 1304 1332 msgstr "म्यूट करना निजी है. म्यूट किए गए खाते आपके साथ इंटरैक्ट कर सकते हैं, लेकिन आप उनकी पोस्ट नहीं देखेंगे या उनसे सूचनाएं प्राप्त नहीं करेंगे।" 1305 1333 ··· 1337 1365 msgid "New" 1338 1366 msgstr "नया" 1339 1367 1340 - #: src/view/com/feeds/FeedPage.tsx:196 1368 + #: src/view/com/feeds/FeedPage.tsx:200 1341 1369 #: src/view/screens/Feeds.tsx:510 1342 - #: src/view/screens/Profile.tsx:389 1343 - #: src/view/screens/ProfileFeed.tsx:451 1344 - #: src/view/screens/ProfileList.tsx:212 1345 - #: src/view/screens/ProfileList.tsx:244 1370 + #: src/view/screens/Profile.tsx:353 1371 + #: src/view/screens/ProfileFeed.tsx:441 1372 + #: src/view/screens/ProfileList.tsx:192 1373 + #: src/view/screens/ProfileList.tsx:220 1346 1374 #: src/view/shell/desktop/LeftNav.tsx:246 1347 1375 msgid "New post" 1348 1376 msgstr "नई पोस्ट" ··· 1371 1399 msgid "No" 1372 1400 msgstr "नहीं" 1373 1401 1374 - #: src/view/screens/ProfileFeed.tsx:636 1375 - #: src/view/screens/ProfileList.tsx:740 1402 + #: src/view/screens/ProfileFeed.tsx:620 1403 + #: src/view/screens/ProfileList.tsx:710 1376 1404 msgid "No description" 1377 1405 msgstr "कोई विवरण नहीं" 1378 1406 ··· 1390 1418 #~ msgstr "{0} के लिए कोई परिणाम नहीं मिला" 1391 1419 1392 1420 #: src/view/com/modals/ListAddRemoveUsers.tsx:127 1393 - #: src/view/screens/Search/Search.tsx:270 1394 - #: src/view/screens/Search/Search.tsx:298 1395 - #: src/view/screens/Search/Search.tsx:581 1421 + #: src/view/screens/Search/Search.tsx:271 1422 + #: src/view/screens/Search/Search.tsx:299 1423 + #: src/view/screens/Search/Search.tsx:615 1396 1424 #: src/view/shell/desktop/Search.tsx:210 1397 1425 msgid "No results found for {query}" 1398 1426 msgstr "" ··· 1421 1449 #~ msgid "Note: Third-party apps that display Bluesky content may not respect this setting." 1422 1450 #~ msgstr "" 1423 1451 1424 - #: src/view/screens/Notifications.tsx:108 1425 - #: src/view/screens/Notifications.tsx:132 1452 + #: src/view/screens/Notifications.tsx:109 1453 + #: src/view/screens/Notifications.tsx:133 1426 1454 #: src/view/shell/bottom-bar/BottomBar.tsx:187 1427 - #: src/view/shell/desktop/LeftNav.tsx:355 1455 + #: src/view/shell/desktop/LeftNav.tsx:354 1428 1456 #: src/view/shell/Drawer.tsx:416 1429 1457 #: src/view/shell/Drawer.tsx:417 1430 1458 msgid "Notifications" ··· 1562 1590 msgstr "" 1563 1591 1564 1592 #: src/view/com/composer/Composer.tsx:331 1565 - #: src/view/com/post-thread/PostThread.tsx:223 1593 + #: src/view/com/post-thread/PostThread.tsx:226 1566 1594 #: src/view/screens/PostThread.tsx:78 1567 1595 msgid "Post" 1568 1596 msgstr "पोस्ट" 1569 1597 1570 - #: src/view/com/post-thread/PostThread.tsx:382 1598 + #: src/view/com/post-thread/PostThread.tsx:385 1571 1599 msgid "Post hidden" 1572 1600 msgstr "छुपा पोस्ट" 1573 1601 ··· 1579 1607 msgid "Post Languages" 1580 1608 msgstr "पोस्ट भाषा" 1581 1609 1582 - #: src/view/com/post-thread/PostThread.tsx:434 1610 + #: src/view/com/post-thread/PostThread.tsx:437 1583 1611 msgid "Post not found" 1584 1612 msgstr "पोस्ट नहीं मिला" 1585 1613 ··· 1682 1710 1683 1711 #: src/view/com/feeds/FeedSourceCard.tsx:105 1684 1712 #: src/view/com/feeds/FeedSourceCard.tsx:172 1685 - #: src/view/screens/ProfileFeed.tsx:280 1713 + #: src/view/screens/ProfileFeed.tsx:275 1686 1714 msgid "Remove from my feeds" 1687 1715 msgstr "मेरे फ़ीड से हटाएँ" 1688 1716 ··· 1727 1755 msgid "Report Account" 1728 1756 msgstr "रिपोर्ट" 1729 1757 1730 - #: src/view/screens/ProfileFeed.tsx:300 1758 + #: src/view/screens/ProfileFeed.tsx:295 1731 1759 msgid "Report feed" 1732 1760 msgstr "रिपोर्ट फ़ीड" 1733 1761 1734 - #: src/view/screens/ProfileList.tsx:448 1762 + #: src/view/screens/ProfileList.tsx:424 1735 1763 msgid "Report List" 1736 1764 msgstr "रिपोर्ट सूची" 1737 1765 ··· 1843 1871 1844 1872 #: src/view/com/modals/ListAddRemoveUsers.tsx:75 1845 1873 #: src/view/com/util/forms/SearchInput.tsx:64 1846 - #: src/view/screens/Search/Search.tsx:381 1847 - #: src/view/screens/Search/Search.tsx:533 1874 + #: src/view/screens/Search/Search.tsx:401 1875 + #: src/view/screens/Search/Search.tsx:567 1848 1876 #: src/view/shell/bottom-bar/BottomBar.tsx:138 1849 1877 #: src/view/shell/desktop/LeftNav.tsx:315 1850 1878 #: src/view/shell/desktop/Search.tsx:161 ··· 1855 1883 msgstr "खोज" 1856 1884 1857 1885 #: src/view/screens/Search/Search.tsx:390 1858 - msgid "Search for posts and users." 1859 - msgstr "" 1886 + #~ msgid "Search for posts and users." 1887 + #~ msgstr "" 1860 1888 1861 1889 #: src/view/com/modals/ChangeEmail.tsx:110 1862 1890 msgid "Security Step Required" 1863 1891 msgstr "सुरक्षा चरण आवश्यक" 1864 1892 1893 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:39 1865 1894 #: src/view/com/auth/SplashScreen.tsx:29 1866 1895 msgid "See what's next" 1867 1896 msgstr "आगे क्या है" ··· 1936 1965 msgstr "इस सेटिंग को अपने निम्नलिखित फ़ीड में अपने सहेजे गए फ़ीड के नमूने दिखाने के लिए \"हाँ\" पर सेट करें। यह एक प्रयोगात्मक विशेषता है।।" 1937 1966 1938 1967 #: src/view/screens/Settings.tsx:277 1939 - #: src/view/shell/desktop/LeftNav.tsx:427 1968 + #: src/view/shell/desktop/LeftNav.tsx:426 1940 1969 #: src/view/shell/Drawer.tsx:546 1941 1970 #: src/view/shell/Drawer.tsx:547 1942 1971 msgid "Settings" ··· 1948 1977 1949 1978 #: src/view/com/profile/ProfileHeader.tsx:338 1950 1979 #: src/view/com/util/forms/PostDropdownBtn.tsx:129 1951 - #: src/view/screens/ProfileList.tsx:407 1980 + #: src/view/screens/ProfileList.tsx:383 1952 1981 msgid "Share" 1953 1982 msgstr "शेयर" 1954 1983 1955 - #: src/view/screens/ProfileFeed.tsx:312 1984 + #: src/view/screens/ProfileFeed.tsx:307 1956 1985 msgid "Share feed" 1957 1986 msgstr "" 1958 1987 ··· 1960 1989 #~ msgid "Share link" 1961 1990 #~ msgstr "लिंक शेयर करें" 1962 1991 1992 + #: src/view/com/util/moderation/ContentHider.tsx:105 1963 1993 #: src/view/screens/Settings.tsx:316 1964 1994 msgid "Show" 1965 1995 msgstr "दिखाओ" 1966 1996 1967 - #: src/view/com/util/moderation/ScreenHider.tsx:114 1997 + #: src/view/com/util/moderation/ScreenHider.tsx:132 1968 1998 msgid "Show anyway" 1969 1999 msgstr "दिखाओ" 1970 2000 ··· 1992 2022 msgid "Show users" 1993 2023 msgstr "लोग दिखाएँ" 1994 2024 2025 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 1995 2026 #: src/view/com/auth/login/Login.tsx:98 1996 2027 #: src/view/com/auth/SplashScreen.tsx:49 1997 - #: src/view/shell/NavSignupCard.tsx:52 1998 - #: src/view/shell/NavSignupCard.tsx:53 2028 + #: src/view/shell/NavSignupCard.tsx:58 2029 + #: src/view/shell/NavSignupCard.tsx:59 1999 2030 msgid "Sign in" 2000 2031 msgstr "साइन इन करें" 2001 2032 2033 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:78 2002 2034 #: src/view/com/auth/SplashScreen.tsx:52 2003 2035 #: src/view/com/auth/SplashScreen.web.tsx:84 2004 2036 msgid "Sign In" ··· 2022 2054 msgid "Sign out" 2023 2055 msgstr "साइन आउट" 2024 2056 2025 - #: src/view/shell/NavSignupCard.tsx:43 2026 - #: src/view/shell/NavSignupCard.tsx:44 2027 - #: src/view/shell/NavSignupCard.tsx:46 2057 + #: src/view/shell/NavSignupCard.tsx:49 2058 + #: src/view/shell/NavSignupCard.tsx:50 2059 + #: src/view/shell/NavSignupCard.tsx:52 2028 2060 msgid "Sign up" 2029 2061 msgstr "" 2030 2062 2031 - #: src/view/shell/NavSignupCard.tsx:36 2063 + #: src/view/shell/NavSignupCard.tsx:42 2032 2064 msgid "Sign up or sign in to join the conversation" 2065 + msgstr "" 2066 + 2067 + #: src/view/com/util/moderation/ScreenHider.tsx:76 2068 + msgid "Sign-in Required" 2033 2069 msgstr "" 2034 2070 2035 2071 #: src/view/screens/Settings.tsx:327 ··· 2069 2105 msgid "Submit" 2070 2106 msgstr "" 2071 2107 2072 - #: src/view/screens/ProfileList.tsx:597 2108 + #: src/view/screens/ProfileList.tsx:573 2073 2109 msgid "Subscribe" 2074 2110 msgstr "सब्सक्राइब" 2075 2111 2076 - #: src/view/screens/ProfileList.tsx:593 2112 + #: src/view/screens/ProfileList.tsx:569 2077 2113 msgid "Subscribe to this list" 2078 2114 msgstr "इस सूची को सब्सक्राइब करें" 2079 2115 2080 - #: src/view/screens/Search/Search.tsx:354 2116 + #: src/view/screens/Search/Search.tsx:357 2081 2117 msgid "Suggested Follows" 2082 2118 msgstr "अनुशंसित लोग" 2083 2119 ··· 2127 2163 msgid "The Copyright Policy has been moved to <0/>" 2128 2164 msgstr "कॉपीराइट नीति को <0/> पर स्थानांतरित कर दिया गया है" 2129 2165 2130 - #: src/view/com/post-thread/PostThread.tsx:437 2166 + #: src/view/com/post-thread/PostThread.tsx:440 2131 2167 msgid "The post may have been deleted." 2132 2168 msgstr "हो सकता है कि यह पोस्ट हटा दी गई हो।" 2133 2169 ··· 2151 2187 msgid "This {0} has been labeled." 2152 2188 msgstr "" 2153 2189 2154 - #: src/view/com/util/moderation/ScreenHider.tsx:72 2190 + #: src/view/com/util/moderation/ScreenHider.tsx:88 2155 2191 msgid "This {screenDescription} has been flagged:" 2156 2192 msgstr "यह {screenDescription} फ्लैग किया गया है:" 2193 + 2194 + #: src/view/com/util/moderation/ScreenHider.tsx:83 2195 + msgid "This account has requested that users sign in to view their profile." 2196 + msgstr "" 2157 2197 2158 2198 #: src/view/com/posts/FeedErrorMessage.tsx:107 2159 2199 msgid "This content is not viewable without a Bluesky account." ··· 2214 2254 msgid "Try again" 2215 2255 msgstr "फिर से कोशिश करो" 2216 2256 2217 - #: src/view/screens/ProfileList.tsx:495 2257 + #: src/view/screens/ProfileList.tsx:471 2218 2258 msgid "Un-block list" 2219 2259 msgstr "" 2220 2260 2221 - #: src/view/screens/ProfileList.tsx:480 2261 + #: src/view/screens/ProfileList.tsx:456 2222 2262 msgid "Un-mute list" 2223 2263 msgstr "" 2224 2264 ··· 2254 2294 msgid "Unmute thread" 2255 2295 msgstr "थ्रेड को अनम्यूट करें" 2256 2296 2257 - #: src/view/screens/ProfileList.tsx:463 2297 + #: src/view/screens/ProfileList.tsx:439 2258 2298 msgid "Unpin moderation list" 2259 2299 msgstr "" 2260 2300 ··· 2303 2343 msgid "Username or email address" 2304 2344 msgstr "यूजर नाम या ईमेल पता" 2305 2345 2306 - #: src/view/screens/ProfileList.tsx:767 2346 + #: src/view/screens/ProfileList.tsx:737 2307 2347 msgid "Users" 2308 2348 msgstr "यूजर लोग" 2309 2349 ··· 2360 2400 #~ msgid "We're sorry, but this feed is currently receiving high traffic and is temporarily unavailable. Please try again later." 2361 2401 #~ msgstr "" 2362 2402 2363 - #: src/view/screens/Search/Search.tsx:237 2403 + #: src/view/screens/Search/Search.tsx:238 2364 2404 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." 2365 2405 msgstr "" 2366 2406 ··· 2436 2476 msgid "You don't have any saved feeds." 2437 2477 msgstr "आपके पास कोई सहेजी गई फ़ीड नहीं है." 2438 2478 2439 - #: src/view/com/post-thread/PostThread.tsx:385 2479 + #: src/view/com/post-thread/PostThread.tsx:388 2440 2480 msgid "You have blocked the author or you have been blocked by the author." 2441 2481 msgstr "आपने लेखक को अवरुद्ध किया है या आपने लेखक द्वारा अवरुद्ध किया है।।" 2442 2482 2443 - #: src/view/com/feeds/ProfileFeedgens.tsx:154 2483 + #: src/view/com/feeds/ProfileFeedgens.tsx:141 2444 2484 msgid "You have no feeds." 2445 2485 msgstr "" 2446 2486 2447 2487 #: src/view/com/lists/MyLists.tsx:89 2448 - #: src/view/com/lists/ProfileLists.tsx:158 2488 + #: src/view/com/lists/ProfileLists.tsx:145 2449 2489 msgid "You have no lists." 2450 2490 msgstr "आपके पास कोई सूची नहीं है।।" 2451 2491
+138 -98
src/locale/locales/ja/messages.po
··· 39 39 msgid "{invitesAvailable} invite codes available" 40 40 msgstr "" 41 41 42 - #: src/view/screens/Search/Search.tsx:87 42 + #: src/view/screens/Search/Search.tsx:88 43 43 msgid "{message}" 44 44 msgstr "{message}" 45 45 ··· 75 75 76 76 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 77 77 #: src/view/com/modals/UserAddRemoveLists.tsx:193 78 - #: src/view/screens/ProfileList.tsx:783 78 + #: src/view/screens/ProfileList.tsx:753 79 79 msgid "Add" 80 80 msgstr "追加" 81 81 ··· 83 83 msgid "Add a content warning" 84 84 msgstr "コンテンツ警告を追加" 85 85 86 - #: src/view/screens/ProfileList.tsx:773 86 + #: src/view/screens/ProfileList.tsx:743 87 87 msgid "Add a user to this list" 88 88 msgstr "リストにユーザーを追加" 89 89 ··· 122 122 msgid "Add to Lists" 123 123 msgstr "リストに追加" 124 124 125 - #: src/view/screens/ProfileFeed.tsx:280 125 + #: src/view/screens/ProfileFeed.tsx:275 126 126 msgid "Add to my feeds" 127 127 msgstr "マイフィードに追加" 128 128 ··· 204 204 msgid "Are you sure you'd like to discard this draft?" 205 205 msgstr "本当にこの下書きを破棄しますか?" 206 206 207 - #: src/view/screens/ProfileList.tsx:375 207 + #: src/view/screens/ProfileList.tsx:351 208 208 msgid "Are you sure?" 209 209 msgstr "本当ですか?" 210 210 ··· 222 222 #: src/view/com/auth/login/LoginForm.tsx:249 223 223 #: src/view/com/auth/login/SetNewPasswordForm.tsx:148 224 224 #: src/view/com/modals/report/InputIssueDetails.tsx:45 225 - #: src/view/com/post-thread/PostThread.tsx:392 226 - #: src/view/com/post-thread/PostThread.tsx:442 227 - #: src/view/com/post-thread/PostThread.tsx:450 225 + #: src/view/com/post-thread/PostThread.tsx:395 226 + #: src/view/com/post-thread/PostThread.tsx:445 227 + #: src/view/com/post-thread/PostThread.tsx:453 228 228 #: src/view/com/profile/ProfileHeader.tsx:672 229 229 msgid "Back" 230 230 msgstr "戻る" ··· 247 247 msgid "Block Account" 248 248 msgstr "アカウントのブロック" 249 249 250 - #: src/view/screens/ProfileList.tsx:545 250 + #: src/view/screens/ProfileList.tsx:521 251 251 msgid "Block accounts" 252 252 msgstr "アカウントのブロック" 253 253 254 - #: src/view/screens/ProfileList.tsx:495 254 + #: src/view/screens/ProfileList.tsx:471 255 255 msgid "Block list" 256 256 msgstr "" 257 257 258 - #: src/view/screens/ProfileList.tsx:330 258 + #: src/view/screens/ProfileList.tsx:306 259 259 msgid "Block these accounts?" 260 260 msgstr "これらのアカウントをブロックしますか?" 261 261 ··· 275 275 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours." 276 276 msgstr "ブロックされたアカウントは、スレッド内で返信したり、ユーザーに言及したり、その他の方法でユーザーとやり取りすることはできません。あなたは相手のコンテンツを見ることができず、相手はあなたのコンテンツを見ることができなくなります。" 277 277 278 - #: src/view/com/post-thread/PostThread.tsx:248 278 + #: src/view/com/post-thread/PostThread.tsx:251 279 279 msgid "Blocked post." 280 280 msgstr "投稿をブロックしました。" 281 281 282 - #: src/view/screens/ProfileList.tsx:332 282 + #: src/view/screens/ProfileList.tsx:308 283 283 msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." 284 284 msgstr "ブロックは公開されます。ブロックされたアカウントは、スレッド内で返信したり、ユーザーに言及したり、その他の方法でユーザーとやり取りすることはできません。" 285 285 286 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:93 287 + msgid "Blog" 288 + msgstr "" 289 + 290 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:31 286 291 #: src/view/com/auth/SplashScreen.tsx:26 287 292 msgid "Bluesky" 288 293 msgstr "Bluesky" ··· 315 320 msgid "Build version {0} {1}" 316 321 msgstr "ビルドバージョン {0} {1}" 317 322 323 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:87 324 + msgid "Business" 325 + msgstr "" 326 + 318 327 #: src/view/com/composer/photos/OpenCameraBtn.tsx:60 319 328 #: src/view/com/util/UserAvatar.tsx:221 320 329 #: src/view/com/util/UserBanner.tsx:38 ··· 340 349 #: src/view/com/modals/LinkWarning.tsx:85 341 350 #: src/view/com/modals/Repost.tsx:73 342 351 #: src/view/com/modals/Waitlist.tsx:136 343 - #: src/view/screens/Search/Search.tsx:558 352 + #: src/view/screens/Search/Search.tsx:592 344 353 #: src/view/shell/desktop/Search.tsx:182 345 354 msgid "Cancel" 346 355 msgstr "キャンセル" ··· 441 450 msgstr "すべてのストレージデータをクリア(この後再起動)" 442 451 443 452 #: src/view/com/util/forms/SearchInput.tsx:73 444 - #: src/view/screens/Search/Search.tsx:543 453 + #: src/view/screens/Search/Search.tsx:577 445 454 msgid "Clear search query" 446 455 msgstr "検索クエリをクリア" 447 456 ··· 519 528 msgid "Content Languages" 520 529 msgstr "コンテンツ言語" 521 530 522 - #: src/view/com/util/moderation/ScreenHider.tsx:69 531 + #: src/view/com/util/moderation/ScreenHider.tsx:78 523 532 msgid "Content Warning" 524 533 msgstr "コンテンツ警告" 525 534 ··· 541 550 msgid "Copy" 542 551 msgstr "コピー" 543 552 544 - #: src/view/screens/ProfileList.tsx:407 553 + #: src/view/screens/ProfileList.tsx:383 545 554 msgid "Copy link to list" 546 555 msgstr "" 547 556 ··· 561 570 msgid "Copyright Policy" 562 571 msgstr "著作権ポリシー" 563 572 564 - #: src/view/screens/ProfileFeed.tsx:103 573 + #: src/view/screens/ProfileFeed.tsx:98 565 574 msgid "Could not load feed" 566 575 msgstr "フィードのロードに失敗" 567 576 568 - #: src/view/screens/ProfileList.tsx:860 577 + #: src/view/screens/ProfileList.tsx:829 569 578 msgid "Could not load list" 570 579 msgstr "リストのロードに失敗" 571 580 581 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:62 572 582 #: src/view/com/auth/SplashScreen.tsx:41 573 583 msgid "Create a new account" 574 584 msgstr "新しいアカウントを作成" ··· 577 587 msgid "Create Account" 578 588 msgstr "アカウントを作成" 579 589 590 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 580 591 #: src/view/com/auth/SplashScreen.tsx:38 581 592 msgid "Create new account" 582 593 msgstr "新しいアカウントを作成" ··· 607 618 msgid "Delete app password" 608 619 msgstr "アプリパスワードを削除" 609 620 610 - #: src/view/screens/ProfileList.tsx:374 611 - #: src/view/screens/ProfileList.tsx:434 621 + #: src/view/screens/ProfileList.tsx:350 622 + #: src/view/screens/ProfileList.tsx:410 612 623 msgid "Delete List" 613 624 msgstr "リストを削除" 614 625 ··· 628 639 msgid "Delete this post?" 629 640 msgstr "この投稿を削除しますか?" 630 641 631 - #: src/view/com/post-thread/PostThread.tsx:240 642 + #: src/view/com/post-thread/PostThread.tsx:243 632 643 msgid "Deleted post." 633 644 msgstr "投稿を削除しました。" 634 645 ··· 703 714 msgid "Edit image" 704 715 msgstr "画像を編集" 705 716 706 - #: src/view/screens/ProfileList.tsx:422 717 + #: src/view/screens/ProfileList.tsx:398 707 718 msgid "Edit list details" 708 719 msgstr "リストの詳細を編集" 709 720 ··· 751 762 msgid "Enable this setting to only see replies between people you follow." 752 763 msgstr "この設定を有効にすると、フォローしているユーザー間の応答だけが表示されます。" 753 764 754 - #: src/view/screens/Profile.tsx:471 765 + #: src/view/screens/Profile.tsx:425 755 766 msgid "End of feed" 756 767 msgstr "" 757 768 ··· 779 790 msgid "Enter your username and password" 780 791 msgstr "ユーザー名とパスワードを入力" 781 792 782 - #: src/view/screens/Search/Search.tsx:105 793 + #: src/view/screens/Search/Search.tsx:106 783 794 msgid "Error:" 784 795 msgstr "エラー:" 785 796 ··· 800 811 msgid "Feed offline" 801 812 msgstr "フィードはオフライン" 802 813 803 - #: src/view/com/feeds/FeedPage.tsx:140 814 + #: src/view/com/feeds/FeedPage.tsx:143 804 815 msgid "Feed Preferences" 805 816 msgstr "フィード設定" 806 817 ··· 811 822 812 823 #: src/view/screens/Feeds.tsx:475 813 824 #: src/view/screens/Profile.tsx:164 814 - #: src/view/shell/bottom-bar/BottomBar.tsx:160 815 - #: src/view/shell/desktop/LeftNav.tsx:333 825 + #: src/view/shell/bottom-bar/BottomBar.tsx:163 826 + #: src/view/shell/desktop/LeftNav.tsx:335 816 827 #: src/view/shell/Drawer.tsx:455 817 828 #: src/view/shell/Drawer.tsx:456 818 829 msgid "Feeds" ··· 826 837 msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." 827 838 msgstr "フィードはユーザーがプログラミングの専門知識を持って構築するカスタムアルゴリズムです。詳細については、<0/>を参照してください。" 828 839 840 + #: src/view/screens/Search/Search.tsx:422 841 + msgid "Find users on Bluesky" 842 + msgstr "" 843 + 844 + #: src/view/screens/Search/Search.tsx:420 845 + msgid "Find users with the search tool on the right" 846 + msgstr "" 847 + 829 848 #: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150 830 849 msgid "Finding similar accounts..." 831 850 msgstr "似通ったアカウントを検索中..." ··· 900 919 msgid "Get Started" 901 920 msgstr "はじめに" 902 921 903 - #: src/view/com/auth/LoggedOut.tsx:68 904 - #: src/view/com/auth/LoggedOut.tsx:69 905 - #: src/view/com/util/moderation/ScreenHider.tsx:105 922 + #: src/view/com/auth/LoggedOut.tsx:70 923 + #: src/view/com/auth/LoggedOut.tsx:71 924 + #: src/view/com/util/moderation/ScreenHider.tsx:123 906 925 #: src/view/shell/desktop/LeftNav.tsx:103 907 926 msgid "Go back" 908 927 msgstr "戻る" 909 928 929 + #: src/view/screens/ProfileFeed.tsx:107 910 930 #: src/view/screens/ProfileFeed.tsx:112 911 - #: src/view/screens/ProfileFeed.tsx:117 912 - #: src/view/screens/ProfileList.tsx:869 913 - #: src/view/screens/ProfileList.tsx:874 931 + #: src/view/screens/ProfileList.tsx:838 932 + #: src/view/screens/ProfileList.tsx:843 914 933 msgid "Go Back" 915 934 msgstr "戻る" 916 935 ··· 934 953 msgstr "アプリパスワードをお知らせします。" 935 954 936 955 #: src/view/com/notifications/FeedItem.tsx:316 956 + #: src/view/com/util/moderation/ContentHider.tsx:103 937 957 msgid "Hide" 938 958 msgstr "非表示" 939 959 ··· 1029 1049 msgid "Invite codes: {invitesAvailable} available" 1030 1050 msgstr "" 1031 1051 1052 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 1053 + msgid "Jobs" 1054 + msgstr "" 1055 + 1032 1056 #: src/view/com/modals/Waitlist.tsx:67 1033 1057 msgid "Join the waitlist" 1034 1058 msgstr "待機リストに参加" ··· 1054 1078 msgid "Languages" 1055 1079 msgstr "言語" 1056 1080 1081 + #: src/view/com/util/moderation/ContentHider.tsx:101 1082 + msgid "Learn more" 1083 + msgstr "" 1084 + 1057 1085 #: src/view/com/util/moderation/PostAlerts.tsx:47 1058 1086 #: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65 1059 - #: src/view/com/util/moderation/ScreenHider.tsx:88 1087 + #: src/view/com/util/moderation/ScreenHider.tsx:104 1060 1088 msgid "Learn More" 1061 1089 msgstr "詳細" 1062 1090 ··· 1064 1092 #: src/view/com/util/moderation/PostAlerts.tsx:40 1065 1093 #: src/view/com/util/moderation/PostHider.tsx:76 1066 1094 #: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49 1067 - #: src/view/com/util/moderation/ScreenHider.tsx:85 1095 + #: src/view/com/util/moderation/ScreenHider.tsx:101 1068 1096 msgid "Learn more about this warning" 1069 1097 msgstr "この警告の詳細" 1070 1098 ··· 1090 1118 msgid "Library" 1091 1119 msgstr "ライブラリー" 1092 1120 1093 - #: src/view/screens/ProfileFeed.tsx:643 1121 + #: src/view/screens/ProfileFeed.tsx:627 1094 1122 msgid "Like this feed" 1095 1123 msgstr "このフィードをいいね" 1096 1124 ··· 1116 1144 msgstr "リスト名" 1117 1145 1118 1146 #: src/view/screens/Profile.tsx:165 1119 - #: src/view/shell/desktop/LeftNav.tsx:373 1147 + #: src/view/shell/desktop/LeftNav.tsx:372 1120 1148 #: src/view/shell/Drawer.tsx:471 1121 1149 #: src/view/shell/Drawer.tsx:472 1122 1150 msgid "Lists" 1123 1151 msgstr "リスト" 1124 1152 1125 - #: src/view/com/post-thread/PostThread.tsx:257 1126 - #: src/view/com/post-thread/PostThread.tsx:265 1153 + #: src/view/com/post-thread/PostThread.tsx:260 1154 + #: src/view/com/post-thread/PostThread.tsx:268 1127 1155 msgid "Load more posts" 1128 1156 msgstr "より多くの投稿をロード" 1129 1157 1130 - #: src/view/screens/Notifications.tsx:141 1158 + #: src/view/screens/Notifications.tsx:144 1131 1159 msgid "Load new notifications" 1132 1160 msgstr "新しい通知をロード" 1133 1161 1134 - #: src/view/com/feeds/FeedPage.tsx:185 1162 + #: src/view/com/feeds/FeedPage.tsx:189 1135 1163 msgid "Load new posts" 1136 1164 msgstr "新しい投稿をロード" 1137 1165 ··· 1155 1183 msgid "Login to account that is not listed" 1156 1184 msgstr "リストにないアカウントにログイン" 1157 1185 1158 - #: src/view/screens/ProfileFeed.tsx:482 1186 + #: src/view/screens/ProfileFeed.tsx:472 1159 1187 msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" 1160 1188 msgstr "" 1161 1189 ··· 1175 1203 msgid "Mentioned users" 1176 1204 msgstr "" 1177 1205 1178 - #: src/view/screens/Search/Search.tsx:503 1206 + #: src/view/screens/Search/Search.tsx:537 1179 1207 msgid "Menu" 1180 1208 msgstr "メニュー" 1181 1209 1182 1210 #: src/view/com/posts/FeedErrorMessage.tsx:194 1183 - #: src/view/screens/ProfileFeed.tsx:490 1211 + #: src/view/screens/ProfileFeed.tsx:480 1184 1212 msgid "Message from server" 1185 1213 msgstr "" 1186 1214 1187 1215 #: src/view/screens/Moderation.tsx:64 1188 1216 #: src/view/screens/Settings.tsx:563 1189 - #: src/view/shell/desktop/LeftNav.tsx:391 1217 + #: src/view/shell/desktop/LeftNav.tsx:390 1190 1218 #: src/view/shell/Drawer.tsx:490 1191 1219 #: src/view/shell/Drawer.tsx:491 1192 1220 msgid "Moderation" ··· 1205 1233 msgstr "その他のフィード" 1206 1234 1207 1235 #: src/view/com/profile/ProfileHeader.tsx:548 1208 - #: src/view/screens/ProfileFeed.tsx:370 1209 - #: src/view/screens/ProfileList.tsx:606 1236 + #: src/view/screens/ProfileFeed.tsx:365 1237 + #: src/view/screens/ProfileList.tsx:582 1210 1238 msgid "More options" 1211 1239 msgstr "その他のオプション" 1212 1240 ··· 1214 1242 msgid "Mute Account" 1215 1243 msgstr "アカウントをミュート" 1216 1244 1217 - #: src/view/screens/ProfileList.tsx:533 1245 + #: src/view/screens/ProfileList.tsx:509 1218 1246 msgid "Mute accounts" 1219 1247 msgstr "アカウントをミュート" 1220 1248 1221 - #: src/view/screens/ProfileList.tsx:480 1249 + #: src/view/screens/ProfileList.tsx:456 1222 1250 msgid "Mute list" 1223 1251 msgstr "" 1224 1252 1225 - #: src/view/screens/ProfileList.tsx:293 1253 + #: src/view/screens/ProfileList.tsx:269 1226 1254 msgid "Mute these accounts?" 1227 1255 msgstr "これらのアカウントをミュートしますか?" 1228 1256 ··· 1242 1270 msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." 1243 1271 msgstr "ミュート済みのアカウントは、フィードと通知からの投稿が削除されます。ミュート設定は知られることはありません。" 1244 1272 1245 - #: src/view/screens/ProfileList.tsx:295 1273 + #: src/view/screens/ProfileList.tsx:271 1246 1274 msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them." 1247 1275 msgstr "ミュートはプライベートです。ミュート済みアカウントはユーザーと相互作用することができますが、そのアカウントの投稿や通知を受信することはできません。" 1248 1276 ··· 1276 1304 msgid "New" 1277 1305 msgstr "新規" 1278 1306 1279 - #: src/view/com/feeds/FeedPage.tsx:196 1307 + #: src/view/com/feeds/FeedPage.tsx:200 1280 1308 #: src/view/screens/Feeds.tsx:510 1281 - #: src/view/screens/Profile.tsx:389 1282 - #: src/view/screens/ProfileFeed.tsx:451 1283 - #: src/view/screens/ProfileList.tsx:212 1284 - #: src/view/screens/ProfileList.tsx:244 1309 + #: src/view/screens/Profile.tsx:353 1310 + #: src/view/screens/ProfileFeed.tsx:441 1311 + #: src/view/screens/ProfileList.tsx:192 1312 + #: src/view/screens/ProfileList.tsx:220 1285 1313 #: src/view/shell/desktop/LeftNav.tsx:246 1286 1314 msgid "New post" 1287 1315 msgstr "新しい投稿" ··· 1310 1338 msgid "No" 1311 1339 msgstr "なし" 1312 1340 1313 - #: src/view/screens/ProfileFeed.tsx:636 1314 - #: src/view/screens/ProfileList.tsx:740 1341 + #: src/view/screens/ProfileFeed.tsx:620 1342 + #: src/view/screens/ProfileList.tsx:710 1315 1343 msgid "No description" 1316 1344 msgstr "説明なし" 1317 1345 ··· 1324 1352 msgstr "「\\{query}」の検索結果がない" 1325 1353 1326 1354 #: src/view/com/modals/ListAddRemoveUsers.tsx:127 1327 - #: src/view/screens/Search/Search.tsx:270 1328 - #: src/view/screens/Search/Search.tsx:298 1329 - #: src/view/screens/Search/Search.tsx:581 1355 + #: src/view/screens/Search/Search.tsx:271 1356 + #: src/view/screens/Search/Search.tsx:299 1357 + #: src/view/screens/Search/Search.tsx:615 1330 1358 #: src/view/shell/desktop/Search.tsx:210 1331 1359 msgid "No results found for {query}" 1332 1360 msgstr "\\{query}の検索結果がない" ··· 1347 1375 msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites." 1348 1376 msgstr "" 1349 1377 1350 - #: src/view/screens/Notifications.tsx:108 1351 - #: src/view/screens/Notifications.tsx:132 1378 + #: src/view/screens/Notifications.tsx:109 1379 + #: src/view/screens/Notifications.tsx:133 1352 1380 #: src/view/shell/bottom-bar/BottomBar.tsx:187 1353 - #: src/view/shell/desktop/LeftNav.tsx:355 1381 + #: src/view/shell/desktop/LeftNav.tsx:354 1354 1382 #: src/view/shell/Drawer.tsx:416 1355 1383 #: src/view/shell/Drawer.tsx:417 1356 1384 msgid "Notifications" ··· 1488 1516 msgstr "" 1489 1517 1490 1518 #: src/view/com/composer/Composer.tsx:331 1491 - #: src/view/com/post-thread/PostThread.tsx:223 1519 + #: src/view/com/post-thread/PostThread.tsx:226 1492 1520 #: src/view/screens/PostThread.tsx:78 1493 1521 msgid "Post" 1494 1522 msgstr "投稿" 1495 1523 1496 - #: src/view/com/post-thread/PostThread.tsx:382 1524 + #: src/view/com/post-thread/PostThread.tsx:385 1497 1525 msgid "Post hidden" 1498 1526 msgstr "投稿非表示" 1499 1527 ··· 1505 1533 msgid "Post Languages" 1506 1534 msgstr "投稿言語" 1507 1535 1508 - #: src/view/com/post-thread/PostThread.tsx:434 1536 + #: src/view/com/post-thread/PostThread.tsx:437 1509 1537 msgid "Post not found" 1510 1538 msgstr "投稿が見つからない" 1511 1539 ··· 1603 1631 1604 1632 #: src/view/com/feeds/FeedSourceCard.tsx:105 1605 1633 #: src/view/com/feeds/FeedSourceCard.tsx:172 1606 - #: src/view/screens/ProfileFeed.tsx:280 1634 + #: src/view/screens/ProfileFeed.tsx:275 1607 1635 msgid "Remove from my feeds" 1608 1636 msgstr "マイフィードから削除" 1609 1637 ··· 1648 1676 msgid "Report Account" 1649 1677 msgstr "レポートアカウント" 1650 1678 1651 - #: src/view/screens/ProfileFeed.tsx:300 1679 + #: src/view/screens/ProfileFeed.tsx:295 1652 1680 msgid "Report feed" 1653 1681 msgstr "レポートフィード" 1654 1682 1655 - #: src/view/screens/ProfileList.tsx:448 1683 + #: src/view/screens/ProfileList.tsx:424 1656 1684 msgid "Report List" 1657 1685 msgstr "レポートリスト" 1658 1686 ··· 1748 1776 1749 1777 #: src/view/com/modals/ListAddRemoveUsers.tsx:75 1750 1778 #: src/view/com/util/forms/SearchInput.tsx:64 1751 - #: src/view/screens/Search/Search.tsx:381 1752 - #: src/view/screens/Search/Search.tsx:533 1779 + #: src/view/screens/Search/Search.tsx:401 1780 + #: src/view/screens/Search/Search.tsx:567 1753 1781 #: src/view/shell/bottom-bar/BottomBar.tsx:138 1754 1782 #: src/view/shell/desktop/LeftNav.tsx:315 1755 1783 #: src/view/shell/desktop/Search.tsx:161 ··· 1760 1788 msgstr "検索" 1761 1789 1762 1790 #: src/view/screens/Search/Search.tsx:390 1763 - msgid "Search for posts and users." 1764 - msgstr "投稿とユーザーを検索します。" 1791 + #~ msgid "Search for posts and users." 1792 + #~ msgstr "投稿とユーザーを検索します。" 1765 1793 1766 1794 #: src/view/com/modals/ChangeEmail.tsx:110 1767 1795 msgid "Security Step Required" 1768 1796 msgstr "必要なセキュリティ手順" 1769 1797 1798 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:39 1770 1799 #: src/view/com/auth/SplashScreen.tsx:29 1771 1800 msgid "See what's next" 1772 1801 msgstr "次を見る" ··· 1841 1870 msgstr "保存したフィードのサンプルを次のフィードに表示するには、この設定を「はい」にします。これは実験的な機能です。" 1842 1871 1843 1872 #: src/view/screens/Settings.tsx:277 1844 - #: src/view/shell/desktop/LeftNav.tsx:427 1873 + #: src/view/shell/desktop/LeftNav.tsx:426 1845 1874 #: src/view/shell/Drawer.tsx:546 1846 1875 #: src/view/shell/Drawer.tsx:547 1847 1876 msgid "Settings" ··· 1853 1882 1854 1883 #: src/view/com/profile/ProfileHeader.tsx:338 1855 1884 #: src/view/com/util/forms/PostDropdownBtn.tsx:129 1856 - #: src/view/screens/ProfileList.tsx:407 1885 + #: src/view/screens/ProfileList.tsx:383 1857 1886 msgid "Share" 1858 1887 msgstr "共有" 1859 1888 1860 - #: src/view/screens/ProfileFeed.tsx:312 1889 + #: src/view/screens/ProfileFeed.tsx:307 1861 1890 msgid "Share feed" 1862 1891 msgstr "フィードを共有" 1863 1892 1893 + #: src/view/com/util/moderation/ContentHider.tsx:105 1864 1894 #: src/view/screens/Settings.tsx:316 1865 1895 msgid "Show" 1866 1896 msgstr "表示" 1867 1897 1868 - #: src/view/com/util/moderation/ScreenHider.tsx:114 1898 + #: src/view/com/util/moderation/ScreenHider.tsx:132 1869 1899 msgid "Show anyway" 1870 1900 msgstr "とにかく表示" 1871 1901 ··· 1893 1923 msgid "Show users" 1894 1924 msgstr "ユーザーを表示" 1895 1925 1926 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 1896 1927 #: src/view/com/auth/login/Login.tsx:98 1897 1928 #: src/view/com/auth/SplashScreen.tsx:49 1898 - #: src/view/shell/NavSignupCard.tsx:52 1899 - #: src/view/shell/NavSignupCard.tsx:53 1929 + #: src/view/shell/NavSignupCard.tsx:58 1930 + #: src/view/shell/NavSignupCard.tsx:59 1900 1931 msgid "Sign in" 1901 1932 msgstr "サインイン" 1902 1933 1934 + #: src/view/com/auth/HomeLoggedOutCTA.tsx:78 1903 1935 #: src/view/com/auth/SplashScreen.tsx:52 1904 1936 #: src/view/com/auth/SplashScreen.web.tsx:84 1905 1937 msgid "Sign In" ··· 1923 1955 msgid "Sign out" 1924 1956 msgstr "サインアウト" 1925 1957 1926 - #: src/view/shell/NavSignupCard.tsx:43 1927 - #: src/view/shell/NavSignupCard.tsx:44 1928 - #: src/view/shell/NavSignupCard.tsx:46 1958 + #: src/view/shell/NavSignupCard.tsx:49 1959 + #: src/view/shell/NavSignupCard.tsx:50 1960 + #: src/view/shell/NavSignupCard.tsx:52 1929 1961 msgid "Sign up" 1930 1962 msgstr "サインアップ" 1931 1963 1932 - #: src/view/shell/NavSignupCard.tsx:36 1964 + #: src/view/shell/NavSignupCard.tsx:42 1933 1965 msgid "Sign up or sign in to join the conversation" 1934 1966 msgstr "登録またはログインして会話に参加する" 1967 + 1968 + #: src/view/com/util/moderation/ScreenHider.tsx:76 1969 + msgid "Sign-in Required" 1970 + msgstr "" 1935 1971 1936 1972 #: src/view/screens/Settings.tsx:327 1937 1973 msgid "Signed in as" ··· 1970 2006 msgid "Submit" 1971 2007 msgstr "" 1972 2008 1973 - #: src/view/screens/ProfileList.tsx:597 2009 + #: src/view/screens/ProfileList.tsx:573 1974 2010 msgid "Subscribe" 1975 2011 msgstr "登録" 1976 2012 1977 - #: src/view/screens/ProfileList.tsx:593 2013 + #: src/view/screens/ProfileList.tsx:569 1978 2014 msgid "Subscribe to this list" 1979 2015 msgstr "このリストに登録" 1980 2016 1981 - #: src/view/screens/Search/Search.tsx:354 2017 + #: src/view/screens/Search/Search.tsx:357 1982 2018 msgid "Suggested Follows" 1983 2019 msgstr "推奨されるフォロー" 1984 2020 ··· 2024 2060 msgid "The Copyright Policy has been moved to <0/>" 2025 2061 msgstr "著作権ポリシーが<0/>に移動された" 2026 2062 2027 - #: src/view/com/post-thread/PostThread.tsx:437 2063 + #: src/view/com/post-thread/PostThread.tsx:440 2028 2064 msgid "The post may have been deleted." 2029 2065 msgstr "投稿が削除された可能性があります。" 2030 2066 ··· 2048 2084 msgid "This {0} has been labeled." 2049 2085 msgstr "" 2050 2086 2051 - #: src/view/com/util/moderation/ScreenHider.tsx:72 2087 + #: src/view/com/util/moderation/ScreenHider.tsx:88 2052 2088 msgid "This {screenDescription} has been flagged:" 2053 2089 msgstr "この\\{screenDescription}にはフラグが設定されています。" 2090 + 2091 + #: src/view/com/util/moderation/ScreenHider.tsx:83 2092 + msgid "This account has requested that users sign in to view their profile." 2093 + msgstr "" 2054 2094 2055 2095 #: src/view/com/posts/FeedErrorMessage.tsx:107 2056 2096 msgid "This content is not viewable without a Bluesky account." ··· 2111 2151 msgid "Try again" 2112 2152 msgstr "再試行" 2113 2153 2114 - #: src/view/screens/ProfileList.tsx:495 2154 + #: src/view/screens/ProfileList.tsx:471 2115 2155 msgid "Un-block list" 2116 2156 msgstr "" 2117 2157 2118 - #: src/view/screens/ProfileList.tsx:480 2158 + #: src/view/screens/ProfileList.tsx:456 2119 2159 msgid "Un-mute list" 2120 2160 msgstr "" 2121 2161 ··· 2151 2191 msgid "Unmute thread" 2152 2192 msgstr "スレッドのミュート解除" 2153 2193 2154 - #: src/view/screens/ProfileList.tsx:463 2194 + #: src/view/screens/ProfileList.tsx:439 2155 2195 msgid "Unpin moderation list" 2156 2196 msgstr "" 2157 2197 ··· 2200 2240 msgid "Username or email address" 2201 2241 msgstr "ユーザー名またはEメールアドレス" 2202 2242 2203 - #: src/view/screens/ProfileList.tsx:767 2243 + #: src/view/screens/ProfileList.tsx:737 2204 2244 msgid "Users" 2205 2245 msgstr "ユーザー" 2206 2246 ··· 2245 2285 msgid "We're so excited to have you join us!" 2246 2286 msgstr "あなたが参加してくれることをとても楽しみにしています!" 2247 2287 2248 - #: src/view/screens/Search/Search.tsx:237 2288 + #: src/view/screens/Search/Search.tsx:238 2249 2289 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." 2250 2290 msgstr "申し訳ありませんが、検索を完了できませんでした。数分後に再試行してください。" 2251 2291 ··· 2317 2357 msgid "You don't have any saved feeds." 2318 2358 msgstr "保存されたフィードがありません。" 2319 2359 2320 - #: src/view/com/post-thread/PostThread.tsx:385 2360 + #: src/view/com/post-thread/PostThread.tsx:388 2321 2361 msgid "You have blocked the author or you have been blocked by the author." 2322 2362 msgstr "著者をブロックしたか、または著者によってブロックされました。" 2323 2363 2324 - #: src/view/com/feeds/ProfileFeedgens.tsx:154 2364 + #: src/view/com/feeds/ProfileFeedgens.tsx:141 2325 2365 msgid "You have no feeds." 2326 2366 msgstr "" 2327 2367 2328 2368 #: src/view/com/lists/MyLists.tsx:89 2329 - #: src/view/com/lists/ProfileLists.tsx:158 2369 + #: src/view/com/lists/ProfileLists.tsx:145 2330 2370 msgid "You have no lists." 2331 2371 msgstr "リストがありません。" 2332 2372
+38 -5
src/state/queries/actor-autocomplete.ts
··· 1 1 import React from 'react' 2 - import {AppBskyActorDefs} from '@atproto/api' 2 + import {AppBskyActorDefs, ModerationOpts, moderateProfile} from '@atproto/api' 3 3 import {useQuery, useQueryClient} from '@tanstack/react-query' 4 4 5 5 import {logger} from '#/logger' 6 6 import {getAgent} from '#/state/session' 7 7 import {useMyFollowsQuery} from '#/state/queries/my-follows' 8 8 import {STALE} from '#/state/queries' 9 + import { 10 + DEFAULT_LOGGED_OUT_PREFERENCES, 11 + getModerationOpts, 12 + useModerationOpts, 13 + } from './preferences' 14 + 15 + const DEFAULT_MOD_OPTS = getModerationOpts({ 16 + userDid: '', 17 + preferences: DEFAULT_LOGGED_OUT_PREFERENCES, 18 + }) 9 19 10 20 export const RQKEY = (prefix: string) => ['actor-autocomplete', prefix] 11 21 12 22 export function useActorAutocompleteQuery(prefix: string) { 13 23 const {data: follows, isFetching} = useMyFollowsQuery() 24 + const moderationOpts = useModerationOpts() 14 25 15 26 return useQuery<AppBskyActorDefs.ProfileViewBasic[]>({ 16 27 staleTime: STALE.MINUTES.ONE, ··· 22 33 limit: 8, 23 34 }) 24 35 : undefined 25 - return computeSuggestions(prefix, follows, res?.data.actors) 36 + return res?.data.actors || [] 26 37 }, 27 38 enabled: !isFetching, 39 + select: React.useCallback( 40 + (data: AppBskyActorDefs.ProfileViewBasic[]) => { 41 + return computeSuggestions( 42 + prefix, 43 + follows, 44 + data, 45 + moderationOpts || DEFAULT_MOD_OPTS, 46 + ) 47 + }, 48 + [prefix, follows, moderationOpts], 49 + ), 28 50 }) 29 51 } 30 52 ··· 32 54 export function useActorAutocompleteFn() { 33 55 const queryClient = useQueryClient() 34 56 const {data: follows} = useMyFollowsQuery() 57 + const moderationOpts = useModerationOpts() 35 58 36 59 return React.useCallback( 37 60 async ({query, limit = 8}: {query: string; limit?: number}) => { ··· 54 77 } 55 78 } 56 79 57 - return computeSuggestions(query, follows, res?.data.actors) 80 + return computeSuggestions( 81 + query, 82 + follows, 83 + res?.data.actors, 84 + moderationOpts || DEFAULT_MOD_OPTS, 85 + ) 58 86 }, 59 - [follows, queryClient], 87 + [follows, queryClient, moderationOpts], 60 88 ) 61 89 } 62 90 ··· 64 92 prefix: string, 65 93 follows: AppBskyActorDefs.ProfileViewBasic[] | undefined, 66 94 searched: AppBskyActorDefs.ProfileViewBasic[] = [], 95 + moderationOpts: ModerationOpts, 67 96 ) { 68 97 let items: AppBskyActorDefs.ProfileViewBasic[] = [] 69 98 if (follows) { ··· 76 105 handle: item.handle, 77 106 displayName: item.displayName, 78 107 avatar: item.avatar, 108 + labels: item.labels, 79 109 }) 80 110 } 81 111 } 82 - return items 112 + return items.filter(profile => { 113 + const mod = moderateProfile(profile, moderationOpts) 114 + return !mod.account.filter 115 + }) 83 116 } 84 117 85 118 function prefixMatch(
+3
src/state/queries/post-feed.ts
··· 409 409 } 410 410 411 411 function assertSomePostsPassModeration(feed: AppBskyFeedDefs.FeedViewPost[]) { 412 + // no posts in this feed 413 + if (feed.length === 0) return true 414 + 412 415 // assume false 413 416 let somePostsPassModeration = false 414 417
+1 -1
src/state/shell/logged-out.tsx
··· 22 22 /** 23 23 * The did of the account to populate the login form with. 24 24 */ 25 - requestedAccount?: string 25 + requestedAccount?: string | 'none' | 'new' 26 26 }) => void 27 27 /** 28 28 * Clears the requested account so that next time the logged out view is
+165
src/view/com/auth/HomeLoggedOutCTA.tsx
··· 1 + import React from 'react' 2 + import {StyleSheet, TouchableOpacity, View} from 'react-native' 3 + import {useLingui} from '@lingui/react' 4 + import {Trans, msg} from '@lingui/macro' 5 + import {ScrollView} from '../util/Views' 6 + import {Text} from '../util/text/Text' 7 + import {usePalette} from '#/lib/hooks/usePalette' 8 + import {colors, s} from '#/lib/styles' 9 + import {TextLink} from '../util/Link' 10 + import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' 11 + import {useLoggedOutViewControls} from '#/state/shell/logged-out' 12 + 13 + export function HomeLoggedOutCTA() { 14 + const pal = usePalette('default') 15 + const {_} = useLingui() 16 + const {isMobile} = useWebMediaQueries() 17 + const {requestSwitchToAccount} = useLoggedOutViewControls() 18 + 19 + const showCreateAccount = React.useCallback(() => { 20 + requestSwitchToAccount({requestedAccount: 'new'}) 21 + }, [requestSwitchToAccount]) 22 + 23 + const showSignIn = React.useCallback(() => { 24 + requestSwitchToAccount({requestedAccount: 'none'}) 25 + }, [requestSwitchToAccount]) 26 + 27 + return ( 28 + <ScrollView style={styles.container} testID="loggedOutCTA"> 29 + <View style={[styles.hero, isMobile && styles.heroMobile]}> 30 + <Text style={[styles.title, pal.link]}> 31 + <Trans>Bluesky</Trans> 32 + </Text> 33 + <Text 34 + style={[ 35 + styles.subtitle, 36 + isMobile && styles.subtitleMobile, 37 + pal.textLight, 38 + ]}> 39 + <Trans>See what's next</Trans> 40 + </Text> 41 + </View> 42 + <View 43 + testID="signinOrCreateAccount" 44 + style={isMobile ? undefined : styles.btnsDesktop}> 45 + <TouchableOpacity 46 + testID="createAccountButton" 47 + style={[ 48 + styles.btn, 49 + isMobile && styles.btnMobile, 50 + {backgroundColor: colors.blue3}, 51 + ]} 52 + onPress={showCreateAccount} 53 + accessibilityRole="button" 54 + accessibilityLabel={_(msg`Create new account`)} 55 + accessibilityHint="Opens flow to create a new Bluesky account"> 56 + <Text 57 + style={[ 58 + s.white, 59 + styles.btnLabel, 60 + isMobile && styles.btnLabelMobile, 61 + ]}> 62 + <Trans>Create a new account</Trans> 63 + </Text> 64 + </TouchableOpacity> 65 + <TouchableOpacity 66 + testID="signInButton" 67 + style={[styles.btn, isMobile && styles.btnMobile, pal.btn]} 68 + onPress={showSignIn} 69 + accessibilityRole="button" 70 + accessibilityLabel={_(msg`Sign in`)} 71 + accessibilityHint="Opens flow to sign into your existing Bluesky account"> 72 + <Text 73 + style={[ 74 + pal.text, 75 + styles.btnLabel, 76 + isMobile && styles.btnLabelMobile, 77 + ]}> 78 + <Trans>Sign In</Trans> 79 + </Text> 80 + </TouchableOpacity> 81 + </View> 82 + 83 + <View style={[styles.footer, pal.view, pal.border]}> 84 + <TextLink 85 + type="2xl" 86 + href="https://blueskyweb.xyz" 87 + text={_(msg`Business`)} 88 + style={[styles.footerLink, pal.link]} 89 + /> 90 + <TextLink 91 + type="2xl" 92 + href="https://blueskyweb.xyz/blog" 93 + text={_(msg`Blog`)} 94 + style={[styles.footerLink, pal.link]} 95 + /> 96 + <TextLink 97 + type="2xl" 98 + href="https://blueskyweb.xyz/join" 99 + text={_(msg`Jobs`)} 100 + style={[styles.footerLink, pal.link]} 101 + /> 102 + </View> 103 + </ScrollView> 104 + ) 105 + } 106 + 107 + const styles = StyleSheet.create({ 108 + container: { 109 + height: '100%', 110 + }, 111 + hero: { 112 + justifyContent: 'center', 113 + paddingTop: 100, 114 + paddingBottom: 30, 115 + }, 116 + heroMobile: { 117 + paddingBottom: 50, 118 + }, 119 + title: { 120 + textAlign: 'center', 121 + fontSize: 68, 122 + fontWeight: 'bold', 123 + }, 124 + subtitle: { 125 + textAlign: 'center', 126 + fontSize: 48, 127 + fontWeight: 'bold', 128 + }, 129 + subtitleMobile: { 130 + fontSize: 42, 131 + }, 132 + btnsDesktop: { 133 + flexDirection: 'row', 134 + justifyContent: 'center', 135 + gap: 20, 136 + marginHorizontal: 20, 137 + }, 138 + btn: { 139 + borderRadius: 32, 140 + width: 230, 141 + paddingVertical: 12, 142 + marginBottom: 20, 143 + }, 144 + btnMobile: { 145 + flex: 1, 146 + width: 'auto', 147 + marginHorizontal: 20, 148 + paddingVertical: 16, 149 + }, 150 + btnLabel: { 151 + textAlign: 'center', 152 + fontSize: 18, 153 + }, 154 + btnLabelMobile: { 155 + textAlign: 'center', 156 + fontSize: 21, 157 + }, 158 + 159 + footer: { 160 + flexDirection: 'row', 161 + gap: 20, 162 + justifyContent: 'center', 163 + }, 164 + footerLink: {}, 165 + })
+3 -1
src/view/com/auth/LoggedOut.tsx
··· 33 33 const {requestedAccountSwitchTo} = useLoggedOutView() 34 34 const [screenState, setScreenState] = React.useState<ScreenState>( 35 35 requestedAccountSwitchTo 36 - ? ScreenState.S_Login 36 + ? requestedAccountSwitchTo === 'new' 37 + ? ScreenState.S_CreateAccount 38 + : ScreenState.S_Login 37 39 : ScreenState.S_LoginOrCreateAccount, 38 40 ) 39 41 const {isMobile} = useWebMediaQueries()
+14 -4
src/view/com/post-thread/PostThread.tsx
··· 157 157 // construct content 158 158 const posts = React.useMemo(() => { 159 159 let arr = [TOP_COMPONENT].concat( 160 - Array.from(flattenThreadSkeleton(sortThread(thread, threadViewPrefs))), 160 + Array.from( 161 + flattenThreadSkeleton(sortThread(thread, threadViewPrefs), hasSession), 162 + ), 161 163 ) 162 164 if (arr.length > maxVisible) { 163 165 arr = arr.slice(0, maxVisible).concat([LOAD_MORE]) ··· 166 168 arr.push(BOTTOM_COMPONENT) 167 169 } 168 170 return arr 169 - }, [thread, maxVisible, threadViewPrefs]) 171 + }, [thread, maxVisible, threadViewPrefs, hasSession]) 170 172 171 173 /** 172 174 * NOTE ··· 468 470 469 471 function* flattenThreadSkeleton( 470 472 node: ThreadNode, 473 + hasSession: boolean, 471 474 ): Generator<YieldedItem, void> { 472 475 if (node.type === 'post') { 473 476 if (node.parent) { 474 - yield* flattenThreadSkeleton(node.parent) 477 + yield* flattenThreadSkeleton(node.parent, hasSession) 475 478 } else if (node.ctx.isParentLoading) { 476 479 yield PARENT_SPINNER 480 + } 481 + if (!hasSession && node.ctx.depth > 0 && hasPwiOptOut(node)) { 482 + return 477 483 } 478 484 yield node 479 485 if (node.ctx.isHighlightedPost && !node.post.viewer?.replyDisabled) { ··· 481 487 } 482 488 if (node.replies?.length) { 483 489 for (const reply of node.replies) { 484 - yield* flattenThreadSkeleton(reply) 490 + yield* flattenThreadSkeleton(reply, hasSession) 485 491 } 486 492 } else if (node.ctx.isChildLoading) { 487 493 yield CHILD_SPINNER ··· 491 497 } else if (node.type === 'blocked') { 492 498 yield BLOCKED 493 499 } 500 + } 501 + 502 + function hasPwiOptOut(node: ThreadPost) { 503 + return !!node.post.author.labels?.find(l => l.val === '!no-unauthenticated') 494 504 } 495 505 496 506 function hasBranchingReplies(node: ThreadNode) {
+3
src/view/com/profile/ProfileCard.tsx
··· 50 50 return null 51 51 } 52 52 const moderation = moderateProfile(profile, moderationOpts) 53 + if (moderation.account.filter) { 54 + return null 55 + } 53 56 54 57 return ( 55 58 <Link
+12 -8
src/view/com/util/moderation/ContentHider.tsx
··· 7 7 import {ShieldExclamation} from 'lib/icons' 8 8 import {describeModerationCause} from 'lib/moderation' 9 9 import {useLingui} from '@lingui/react' 10 - import {msg} from '@lingui/macro' 10 + import {msg, Trans} from '@lingui/macro' 11 11 import {useModalControls} from '#/state/modals' 12 12 import {isPostMediaBlurred} from 'lib/moderation' 13 13 ··· 95 95 <Text type="md" style={pal.text}> 96 96 {desc.name} 97 97 </Text> 98 - {!moderation.noOverride && ( 99 - <View style={styles.showBtn}> 100 - <Text type="lg" style={pal.link}> 101 - {override ? 'Hide' : 'Show'} 102 - </Text> 103 - </View> 104 - )} 98 + <View style={styles.showBtn}> 99 + <Text type="lg" style={pal.link}> 100 + {moderation.noOverride ? ( 101 + <Trans>Learn more</Trans> 102 + ) : override ? ( 103 + <Trans>Hide</Trans> 104 + ) : ( 105 + <Trans>Show</Trans> 106 + )} 107 + </Text> 108 + </View> 105 109 </Pressable> 106 110 {override && <View style={childContainerStyle}>{children}</View>} 107 111 </View>
+41 -23
src/view/com/util/moderation/ScreenHider.tsx
··· 22 22 import {useLingui} from '@lingui/react' 23 23 import {useModalControls} from '#/state/modals' 24 24 import {s} from '#/lib/styles' 25 + import {CenteredView} from '../Views' 25 26 26 27 export function ScreenHider({ 27 28 testID, ··· 53 54 ) 54 55 } 55 56 57 + const isNoPwi = 58 + moderation.cause?.type === 'label' && 59 + moderation.cause?.labelDef.id === '!no-unauthenticated' 56 60 const desc = describeModerationCause(moderation.cause, 'account') 57 61 return ( 58 - <View style={[styles.container, pal.view, containerStyle]}> 62 + <CenteredView 63 + style={[styles.container, pal.view, containerStyle]} 64 + sideBorders> 59 65 <View style={styles.iconContainer}> 60 66 <View style={[styles.icon, palInverted.view]}> 61 67 <FontAwesomeIcon 62 - icon="exclamation" 68 + icon={isNoPwi ? ['far', 'eye-slash'] : 'exclamation'} 63 69 style={pal.textInverted as FontAwesomeIconStyle} 64 70 size={24} 65 71 /> 66 72 </View> 67 73 </View> 68 74 <Text type="title-2xl" style={[styles.title, pal.text]}> 69 - <Trans>Content Warning</Trans> 75 + {isNoPwi ? ( 76 + <Trans>Sign-in Required</Trans> 77 + ) : ( 78 + <Trans>Content Warning</Trans> 79 + )} 70 80 </Text> 71 81 <Text type="2xl" style={[styles.description, pal.textLight]}> 72 - <Trans>This {screenDescription} has been flagged:</Trans> 73 - <Text type="2xl-medium" style={[pal.text, s.ml5]}> 74 - {desc.name}. 75 - </Text> 76 - <TouchableWithoutFeedback 77 - onPress={() => { 78 - openModal({ 79 - name: 'moderation-details', 80 - context: 'account', 81 - moderation, 82 - }) 83 - }} 84 - accessibilityRole="button" 85 - accessibilityLabel={_(msg`Learn more about this warning`)} 86 - accessibilityHint=""> 87 - <Text type="2xl" style={pal.link}> 88 - <Trans>Learn More</Trans> 89 - </Text> 90 - </TouchableWithoutFeedback> 82 + {isNoPwi ? ( 83 + <Trans> 84 + This account has requested that users sign in to view their profile. 85 + </Trans> 86 + ) : ( 87 + <> 88 + <Trans>This {screenDescription} has been flagged:</Trans> 89 + <Text type="2xl-medium" style={[pal.text, s.ml5]}> 90 + {desc.name}. 91 + </Text> 92 + <TouchableWithoutFeedback 93 + onPress={() => { 94 + openModal({ 95 + name: 'moderation-details', 96 + context: 'account', 97 + moderation, 98 + }) 99 + }} 100 + accessibilityRole="button" 101 + accessibilityLabel={_(msg`Learn more about this warning`)} 102 + accessibilityHint=""> 103 + <Text type="2xl" style={pal.link}> 104 + <Trans>Learn More</Trans> 105 + </Text> 106 + </TouchableWithoutFeedback> 107 + </> 108 + )}{' '} 91 109 </Text> 92 110 {isMobile && <View style={styles.spacer} />} 93 111 <View style={styles.btnContainer}> ··· 116 134 </Button> 117 135 )} 118 136 </View> 119 - </View> 137 + </CenteredView> 120 138 ) 121 139 } 122 140
+2 -6
src/view/screens/Home.tsx
··· 9 9 import {FeedsTabBar} from '../com/pager/FeedsTabBar' 10 10 import {Pager, RenderTabBarFnProps} from 'view/com/pager/Pager' 11 11 import {FeedPage} from 'view/com/feeds/FeedPage' 12 + import {HomeLoggedOutCTA} from '../com/auth/HomeLoggedOutCTA' 12 13 import {useSetMinimalShellMode, useSetDrawerSwipeDisabled} from '#/state/shell' 13 14 import {usePreferencesQuery} from '#/state/queries/preferences' 14 15 import {UsePreferencesQueryResponse} from '#/state/queries/preferences/types' ··· 199 200 onPageScrollStateChanged={onPageScrollStateChanged} 200 201 renderTabBar={renderTabBar} 201 202 tabBarPosition="top"> 202 - <FeedPage 203 - testID="customFeedPage" 204 - isPageFocused={true} 205 - feed={`feedgen|at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot`} 206 - renderEmptyState={renderCustomFeedEmptyState} 207 - /> 203 + <HomeLoggedOutCTA /> 208 204 </Pager> 209 205 ) 210 206 }
+1 -1
src/view/screens/Profile.tsx
··· 153 153 const isMe = profile.did === currentAccount?.did 154 154 const showRepliesTab = hasSession 155 155 const showLikesTab = isMe 156 - const showFeedsTab = isMe || extraInfoQuery.data?.hasFeedgens 156 + const showFeedsTab = hasSession && (isMe || extraInfoQuery.data?.hasFeedgens) 157 157 const showListsTab = hasSession && (isMe || extraInfoQuery.data?.hasLists) 158 158 const sectionTitles = useMemo<string[]>(() => { 159 159 return [
+66 -33
src/view/screens/Search/Search.tsx
··· 304 304 ) 305 305 } 306 306 307 - const SECTIONS = ['Posts', 'Users'] 307 + const SECTIONS_LOGGEDOUT = ['Users'] 308 + const SECTIONS_LOGGEDIN = ['Posts', 'Users'] 308 309 export function SearchScreenInner({query}: {query?: string}) { 309 310 const pal = usePalette('default') 310 311 const setMinimalShellMode = useSetMinimalShellMode() ··· 320 321 [setDrawerSwipeDisabled, setMinimalShellMode], 321 322 ) 322 323 324 + if (hasSession) { 325 + return query ? ( 326 + <Pager 327 + tabBarPosition="top" 328 + onPageSelected={onPageSelected} 329 + renderTabBar={props => ( 330 + <CenteredView sideBorders style={pal.border}> 331 + <TabBar items={SECTIONS_LOGGEDIN} {...props} /> 332 + </CenteredView> 333 + )} 334 + initialPage={0}> 335 + <View> 336 + <SearchScreenPostResults query={query} /> 337 + </View> 338 + <View> 339 + <SearchScreenUserResults query={query} /> 340 + </View> 341 + </Pager> 342 + ) : ( 343 + <View> 344 + <CenteredView sideBorders style={pal.border}> 345 + <Text 346 + type="title" 347 + style={[ 348 + pal.text, 349 + pal.border, 350 + { 351 + display: 'flex', 352 + paddingVertical: 12, 353 + paddingHorizontal: 18, 354 + fontWeight: 'bold', 355 + }, 356 + ]}> 357 + <Trans>Suggested Follows</Trans> 358 + </Text> 359 + </CenteredView> 360 + 361 + <SearchScreenSuggestedFollows /> 362 + </View> 363 + ) 364 + } 365 + 323 366 return query ? ( 324 367 <Pager 325 368 tabBarPosition="top" 326 369 onPageSelected={onPageSelected} 327 370 renderTabBar={props => ( 328 371 <CenteredView sideBorders style={pal.border}> 329 - <TabBar items={SECTIONS} {...props} /> 372 + <TabBar items={SECTIONS_LOGGEDOUT} {...props} /> 330 373 </CenteredView> 331 374 )} 332 375 initialPage={0}> 333 - <View> 334 - <SearchScreenPostResults query={query} /> 335 - </View> 336 376 <View> 337 377 <SearchScreenUserResults query={query} /> 338 378 </View> 339 379 </Pager> 340 - ) : hasSession ? ( 341 - <View> 342 - <CenteredView sideBorders style={pal.border}> 343 - <Text 344 - type="title" 345 - style={[ 346 - pal.text, 347 - pal.border, 348 - { 349 - display: 'flex', 350 - paddingVertical: 12, 351 - paddingHorizontal: 18, 352 - fontWeight: 'bold', 353 - }, 354 - ]}> 355 - <Trans>Suggested Follows</Trans> 356 - </Text> 357 - </CenteredView> 358 - 359 - <SearchScreenSuggestedFollows /> 360 - </View> 361 380 ) : ( 362 381 <CenteredView sideBorders style={pal.border}> 363 382 <View ··· 383 402 </Text> 384 403 )} 385 404 386 - <Text 387 - style={[ 388 - pal.textLight, 389 - {textAlign: 'center', paddingVertical: 12, paddingHorizontal: 18}, 390 - ]}> 391 - <Trans>Search for posts and users.</Trans> 392 - </Text> 405 + <View 406 + style={{ 407 + flexDirection: 'column', 408 + alignItems: 'center', 409 + justifyContent: 'center', 410 + paddingVertical: 30, 411 + gap: 15, 412 + }}> 413 + <MagnifyingGlassIcon 414 + strokeWidth={3} 415 + size={isDesktop ? 60 : 60} 416 + style={pal.textLight} 417 + /> 418 + <Text type="xl" style={[pal.textLight, {paddingHorizontal: 18}]}> 419 + {isDesktop ? ( 420 + <Trans>Find users with the search tool on the right</Trans> 421 + ) : ( 422 + <Trans>Find users on Bluesky</Trans> 423 + )} 424 + </Text> 425 + </View> 393 426 </View> 394 427 </CenteredView> 395 428 )
+1 -1
src/view/shell/Drawer.tsx
··· 231 231 onPress={onPressNotifications} 232 232 /> 233 233 )} 234 - <FeedsMenuItem isActive={isAtFeeds} onPress={onPressMyFeeds} /> 235 234 {hasSession && ( 236 235 <> 236 + <FeedsMenuItem isActive={isAtFeeds} onPress={onPressMyFeeds} /> 237 237 <ListsMenuItem onPress={onPressLists} /> 238 238 <ModerationMenuItem onPress={onPressModeration} /> 239 239 <ProfileMenuItem
+12 -6
src/view/shell/NavSignupCard.tsx
··· 14 14 let NavSignupCard = ({}: {}): React.ReactNode => { 15 15 const {_} = useLingui() 16 16 const pal = usePalette('default') 17 - const {setShowLoggedOut} = useLoggedOutViewControls() 17 + const {requestSwitchToAccount} = useLoggedOutViewControls() 18 18 const closeAllActiveElements = useCloseAllActiveElements() 19 19 20 - const showLoggedOut = React.useCallback(() => { 20 + const showSignIn = React.useCallback(() => { 21 21 closeAllActiveElements() 22 - setShowLoggedOut(true) 23 - }, [setShowLoggedOut, closeAllActiveElements]) 22 + requestSwitchToAccount({requestedAccount: 'none'}) 23 + }, [requestSwitchToAccount, closeAllActiveElements]) 24 + 25 + const showCreateAccount = React.useCallback(() => { 26 + closeAllActiveElements() 27 + requestSwitchToAccount({requestedAccount: 'new'}) 28 + // setShowLoggedOut(true) 29 + }, [requestSwitchToAccount, closeAllActiveElements]) 24 30 25 31 return ( 26 32 <View ··· 39 45 40 46 <View style={{flexDirection: 'row', paddingTop: 12, gap: 8}}> 41 47 <Button 42 - onPress={showLoggedOut} 48 + onPress={showCreateAccount} 43 49 accessibilityHint={_(msg`Sign up`)} 44 50 accessibilityLabel={_(msg`Sign up`)}> 45 51 <Text type="md" style={[{color: 'white'}, s.bold]}> ··· 48 54 </Button> 49 55 <Button 50 56 type="default" 51 - onPress={showLoggedOut} 57 + onPress={showSignIn} 52 58 accessibilityHint={_(msg`Sign in`)} 53 59 accessibilityLabel={_(msg`Sign in`)}> 54 60 <Text type="md" style={[pal.text, s.bold]}>
+22 -22
src/view/shell/bottom-bar/BottomBar.tsx
··· 138 138 accessibilityLabel={_(msg`Search`)} 139 139 accessibilityHint="" 140 140 /> 141 - <Btn 142 - testID="bottomBarFeedsBtn" 143 - icon={ 144 - isAtFeeds ? ( 145 - <HashtagIcon 146 - size={24} 147 - style={[styles.ctrlIcon, pal.text, styles.feedsIcon]} 148 - strokeWidth={4} 149 - /> 150 - ) : ( 151 - <HashtagIcon 152 - size={24} 153 - style={[styles.ctrlIcon, pal.text, styles.feedsIcon]} 154 - strokeWidth={2.25} 155 - /> 156 - ) 157 - } 158 - onPress={onPressFeeds} 159 - accessibilityRole="tab" 160 - accessibilityLabel={_(msg`Feeds`)} 161 - accessibilityHint="" 162 - /> 163 141 164 142 {hasSession && ( 165 143 <> 144 + <Btn 145 + testID="bottomBarFeedsBtn" 146 + icon={ 147 + isAtFeeds ? ( 148 + <HashtagIcon 149 + size={24} 150 + style={[styles.ctrlIcon, pal.text, styles.feedsIcon]} 151 + strokeWidth={4} 152 + /> 153 + ) : ( 154 + <HashtagIcon 155 + size={24} 156 + style={[styles.ctrlIcon, pal.text, styles.feedsIcon]} 157 + strokeWidth={2.25} 158 + /> 159 + ) 160 + } 161 + onPress={onPressFeeds} 162 + accessibilityRole="tab" 163 + accessibilityLabel={_(msg`Feeds`)} 164 + accessibilityHint="" 165 + /> 166 166 <Btn 167 167 testID="bottomBarNotificationsBtn" 168 168 icon={
+11 -11
src/view/shell/bottom-bar/BottomBarWeb.tsx
··· 64 64 ) 65 65 }} 66 66 </NavItem> 67 - <NavItem routeName="Feeds" href="/feeds"> 68 - {({isActive}) => { 69 - return ( 70 - <HashtagIcon 71 - size={22} 72 - style={[styles.ctrlIcon, pal.text, styles.feedsIcon]} 73 - strokeWidth={isActive ? 4 : 2.5} 74 - /> 75 - ) 76 - }} 77 - </NavItem> 78 67 79 68 {hasSession && ( 80 69 <> 70 + <NavItem routeName="Feeds" href="/feeds"> 71 + {({isActive}) => { 72 + return ( 73 + <HashtagIcon 74 + size={22} 75 + style={[styles.ctrlIcon, pal.text, styles.feedsIcon]} 76 + strokeWidth={isActive ? 4 : 2.5} 77 + /> 78 + ) 79 + }} 80 + </NavItem> 81 81 <NavItem routeName="Notifications" href="/notifications"> 82 82 {({isActive}) => { 83 83 const Icon = isActive ? BellIconSolid : BellIcon
+18 -19
src/view/shell/desktop/LeftNav.tsx
··· 314 314 } 315 315 label={_(msg`Search`)} 316 316 /> 317 - <NavItem 318 - href="/feeds" 319 - icon={ 320 - <HashtagIcon 321 - strokeWidth={2.25} 322 - style={pal.text as FontAwesomeIconStyle} 323 - size={isDesktop ? 24 : 28} 324 - /> 325 - } 326 - iconFilled={ 327 - <HashtagIcon 328 - strokeWidth={2.5} 329 - style={pal.text as FontAwesomeIconStyle} 330 - size={isDesktop ? 24 : 28} 331 - /> 332 - } 333 - label={_(msg`Feeds`)} 334 - /> 335 - 336 317 {hasSession && ( 337 318 <> 319 + <NavItem 320 + href="/feeds" 321 + icon={ 322 + <HashtagIcon 323 + strokeWidth={2.25} 324 + style={pal.text as FontAwesomeIconStyle} 325 + size={isDesktop ? 24 : 28} 326 + /> 327 + } 328 + iconFilled={ 329 + <HashtagIcon 330 + strokeWidth={2.5} 331 + style={pal.text as FontAwesomeIconStyle} 332 + size={isDesktop ? 24 : 28} 333 + /> 334 + } 335 + label={_(msg`Feeds`)} 336 + /> 338 337 <NavItem 339 338 href="/notifications" 340 339 count={numUnread}
+4 -4
yarn.lock
··· 48 48 typed-emitter "^2.1.0" 49 49 zod "^3.21.4" 50 50 51 - "@atproto/api@^0.7.3": 52 - version "0.7.3" 53 - resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.7.3.tgz#3224000353619970d5e397a157c6e189e195ef47" 54 - integrity sha512-fKU+W+S4kKxClE6IcPBHPZAjcyBYxG28S0FW/bv3T/ZYDkNxGzDV4xuoHOyEDGtB30slltl5U83njuuRZs5xtw== 51 + "@atproto/api@^0.7.4": 52 + version "0.7.4" 53 + resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.7.4.tgz#0dd6e725c88d1f941c57670dc82b60fde10f4ec6" 54 + integrity sha512-7DBy6/OcXemzCPzA0dx52LLYRABBs8bq9Docs3is+WRgEx5/Pd1kHSAlCHIaBhsym8fZ3/U4Fks/5FSHkSm4yQ== 55 55 dependencies: 56 56 "@atproto/common-web" "^0.2.3" 57 57 "@atproto/lexicon" "^0.3.1"