this repo has no description
0
fork

Configure Feed

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

Unhide hidden-filtered quote posts

+230 -138
+4
src/components/status.css
··· 280 280 .icon { 281 281 color: var(--text-insignificant-color); 282 282 } 283 + 284 + &.status-card-ghost { 285 + border-style: dashed; 286 + } 283 287 } 284 288 285 289 @keyframes skeleton-breathe {
+12
src/components/status.jsx
··· 378 378 showActionsBar, 379 379 showReplyParent, 380 380 mediaFirst, 381 + showFilteredHidden, 381 382 }) { 382 383 const { _, t, i18n } = useLingui(); 383 384 const rtf = RTF(i18n.locale); ··· 499 500 isFiltered(filtered, filterContext); 500 501 501 502 if (filterInfo?.action === 'hide') { 503 + if (showFilteredHidden) { 504 + return ( 505 + <div class="status-card-unfulfilled status-card-ghost"> 506 + <Icon icon="quote" /> 507 + <i> 508 + <Trans>Post hidden by your filters</Trans> 509 + </i> 510 + </div> 511 + ); 512 + } 502 513 return null; 503 514 } 504 515 ··· 3940 3951 size="s" 3941 3952 quoted={level + 1} 3942 3953 enableCommentHint 3954 + showFilteredHidden 3943 3955 /> 3944 3956 </Link> 3945 3957 </Parent>
+141 -137
src/locales/en.po
··· 34 34 35 35 #: src/components/account-block.jsx:170 36 36 #: src/components/account-info.jsx:715 37 - #: src/components/status.jsx:590 37 + #: src/components/status.jsx:601 38 38 msgid "Group" 39 39 msgstr "" 40 40 ··· 111 111 #: src/components/compose.jsx:2792 112 112 #: src/components/media-alt-modal.jsx:55 113 113 #: src/components/media-modal.jsx:363 114 - #: src/components/status.jsx:1836 115 - #: src/components/status.jsx:1853 116 - #: src/components/status.jsx:1978 117 - #: src/components/status.jsx:2599 118 - #: src/components/status.jsx:2602 114 + #: src/components/status.jsx:1847 115 + #: src/components/status.jsx:1864 116 + #: src/components/status.jsx:1989 117 + #: src/components/status.jsx:2610 118 + #: src/components/status.jsx:2613 119 119 #: src/pages/account-statuses.jsx:531 120 120 #: src/pages/accounts.jsx:118 121 121 #: src/pages/hashtag.jsx:203 ··· 203 203 msgstr "" 204 204 205 205 #: src/components/account-info.jsx:946 206 - #: src/components/status.jsx:2383 206 + #: src/components/status.jsx:2394 207 207 #: src/pages/catchup.jsx:71 208 208 #: src/pages/catchup.jsx:1448 209 209 #: src/pages/catchup.jsx:2061 ··· 329 329 msgstr "" 330 330 331 331 #: src/components/account-info.jsx:1490 332 - #: src/components/status.jsx:1258 332 + #: src/components/status.jsx:1269 333 333 msgid "Link copied" 334 334 msgstr "" 335 335 336 336 #: src/components/account-info.jsx:1493 337 - #: src/components/status.jsx:1261 337 + #: src/components/status.jsx:1272 338 338 msgid "Unable to copy link" 339 339 msgstr "" 340 340 341 341 #: src/components/account-info.jsx:1499 342 342 #: src/components/shortcuts-settings.jsx:1059 343 - #: src/components/status.jsx:1267 344 - #: src/components/status.jsx:3377 343 + #: src/components/status.jsx:1278 344 + #: src/components/status.jsx:3388 345 345 msgid "Copy" 346 346 msgstr "" 347 347 348 348 #: src/components/account-info.jsx:1514 349 349 #: src/components/shortcuts-settings.jsx:1077 350 - #: src/components/status.jsx:1283 350 + #: src/components/status.jsx:1294 351 351 msgid "Sharing doesn't seem to work." 352 352 msgstr "" 353 353 354 354 #: src/components/account-info.jsx:1520 355 - #: src/components/status.jsx:1289 355 + #: src/components/status.jsx:1300 356 356 msgid "Share…" 357 357 msgstr "" 358 358 ··· 466 466 #: src/components/shortcuts-settings.jsx:230 467 467 #: src/components/shortcuts-settings.jsx:583 468 468 #: src/components/shortcuts-settings.jsx:783 469 - #: src/components/status.jsx:3101 470 - #: src/components/status.jsx:3341 471 - #: src/components/status.jsx:3850 469 + #: src/components/status.jsx:3112 470 + #: src/components/status.jsx:3352 471 + #: src/components/status.jsx:3861 472 472 #: src/pages/accounts.jsx:45 473 473 #: src/pages/catchup.jsx:1584 474 474 #: src/pages/filters.jsx:225 ··· 718 718 msgstr "Attachment #{i} failed" 719 719 720 720 #: src/components/compose.jsx:1221 721 - #: src/components/status.jsx:2166 721 + #: src/components/status.jsx:2177 722 722 #: src/components/timeline.jsx:1023 723 723 msgid "Content warning" 724 724 msgstr "" ··· 754 754 755 755 #: src/components/compose.jsx:1288 756 756 #: src/components/status.jsx:100 757 - #: src/components/status.jsx:2042 757 + #: src/components/status.jsx:2053 758 758 msgid "Private mention" 759 759 msgstr "" 760 760 ··· 791 791 792 792 #: src/components/compose.jsx:1677 793 793 #: src/components/keyboard-shortcuts-help.jsx:155 794 - #: src/components/status.jsx:1030 795 - #: src/components/status.jsx:1816 796 - #: src/components/status.jsx:1817 797 - #: src/components/status.jsx:2503 794 + #: src/components/status.jsx:1041 795 + #: src/components/status.jsx:1827 796 + #: src/components/status.jsx:1828 797 + #: src/components/status.jsx:2514 798 798 msgid "Reply" 799 799 msgstr "" 800 800 ··· 1016 1016 1017 1017 #: src/components/drafts.jsx:128 1018 1018 #: src/components/list-add-edit.jsx:188 1019 - #: src/components/status.jsx:1433 1019 + #: src/components/status.jsx:1444 1020 1020 #: src/pages/filters.jsx:603 1021 1021 #: src/pages/scheduled-posts.jsx:369 1022 1022 msgid "Delete…" ··· 1225 1225 msgstr "" 1226 1226 1227 1227 #: src/components/keyboard-shortcuts-help.jsx:176 1228 - #: src/components/status.jsx:1038 1229 - #: src/components/status.jsx:2530 1230 - #: src/components/status.jsx:2553 1231 - #: src/components/status.jsx:2554 1228 + #: src/components/status.jsx:1049 1229 + #: src/components/status.jsx:2541 1230 + #: src/components/status.jsx:2564 1231 + #: src/components/status.jsx:2565 1232 1232 msgid "Boost" 1233 1233 msgstr "" 1234 1234 ··· 1237 1237 msgstr "" 1238 1238 1239 1239 #: src/components/keyboard-shortcuts-help.jsx:184 1240 - #: src/components/status.jsx:1101 1241 - #: src/components/status.jsx:2578 1242 - #: src/components/status.jsx:2579 1240 + #: src/components/status.jsx:1112 1241 + #: src/components/status.jsx:2589 1242 + #: src/components/status.jsx:2590 1243 1243 msgid "Bookmark" 1244 1244 msgstr "" 1245 1245 ··· 1304 1304 msgstr "" 1305 1305 1306 1306 #: src/components/media-alt-modal.jsx:67 1307 - #: src/components/status.jsx:1144 1308 - #: src/components/status.jsx:1153 1307 + #: src/components/status.jsx:1155 1308 + #: src/components/status.jsx:1164 1309 1309 #: src/components/translation-block.jsx:239 1310 1310 msgid "Translate" 1311 1311 msgstr "" 1312 1312 1313 1313 #: src/components/media-alt-modal.jsx:78 1314 - #: src/components/status.jsx:1172 1314 + #: src/components/status.jsx:1183 1315 1315 msgid "Speak" 1316 1316 msgstr "" 1317 1317 ··· 1348 1348 msgstr "" 1349 1349 1350 1350 #: src/components/media-post.jsx:133 1351 - #: src/components/status.jsx:3680 1352 - #: src/components/status.jsx:3776 1353 - #: src/components/status.jsx:3854 1351 + #: src/components/status.jsx:3691 1352 + #: src/components/status.jsx:3787 1353 + #: src/components/status.jsx:3865 1354 1354 #: src/components/timeline.jsx:1012 1355 1355 #: src/pages/catchup.jsx:75 1356 1356 #: src/pages/catchup.jsx:1880 ··· 1662 1662 msgstr "" 1663 1663 1664 1664 #: src/components/notification.jsx:451 1665 - #: src/components/status.jsx:1115 1666 - #: src/components/status.jsx:1125 1665 + #: src/components/status.jsx:1126 1666 + #: src/components/status.jsx:1136 1667 1667 msgid "Boosted/Liked by…" 1668 1668 msgstr "" 1669 1669 ··· 1993 1993 msgstr "" 1994 1994 1995 1995 #: src/components/shortcuts-settings.jsx:379 1996 - #: src/components/status.jsx:1395 1996 + #: src/components/status.jsx:1406 1997 1997 #: src/pages/list.jsx:195 1998 1998 msgid "Edit" 1999 1999 msgstr "" ··· 2192 2192 msgid "Import/export settings from/to instance server (Very experimental)" 2193 2193 msgstr "" 2194 2194 2195 - #: src/components/status.jsx:614 2195 + #: src/components/status.jsx:508 2196 + msgid "Post hidden by your filters" 2197 + msgstr "Post hidden by your filters" 2198 + 2199 + #: src/components/status.jsx:625 2196 2200 msgid "<0/> <1>boosted</1>" 2197 2201 msgstr "" 2198 2202 2199 - #: src/components/status.jsx:713 2203 + #: src/components/status.jsx:724 2200 2204 msgid "Sorry, your current logged-in instance can't interact with this post from another instance." 2201 2205 msgstr "" 2202 2206 2203 2207 #. placeholder {0}: username || acct 2204 - #: src/components/status.jsx:867 2208 + #: src/components/status.jsx:878 2205 2209 msgid "Unliked @{0}'s post" 2206 2210 msgstr "" 2207 2211 2208 2212 #. placeholder {0}: username || acct 2209 - #: src/components/status.jsx:868 2213 + #: src/components/status.jsx:879 2210 2214 msgid "Liked @{0}'s post" 2211 2215 msgstr "Liked @{0}'s post" 2212 2216 2213 2217 #. placeholder {0}: username || acct 2214 - #: src/components/status.jsx:907 2218 + #: src/components/status.jsx:918 2215 2219 msgid "Unbookmarked @{0}'s post" 2216 2220 msgstr "Unbookmarked @{0}'s post" 2217 2221 2218 2222 #. placeholder {0}: username || acct 2219 - #: src/components/status.jsx:908 2223 + #: src/components/status.jsx:919 2220 2224 msgid "Bookmarked @{0}'s post" 2221 2225 msgstr "Bookmarked @{0}'s post" 2222 2226 2223 - #: src/components/status.jsx:1007 2227 + #: src/components/status.jsx:1018 2224 2228 msgid "Some media have no descriptions." 2225 2229 msgstr "" 2226 2230 2227 2231 #. placeholder {0}: rtf.format(-statusMonthsAgo, 'month') 2228 - #: src/components/status.jsx:1014 2232 + #: src/components/status.jsx:1025 2229 2233 msgid "Old post (<0>{0}</0>)" 2230 2234 msgstr "" 2231 2235 2232 - #: src/components/status.jsx:1038 2233 - #: src/components/status.jsx:1078 2234 - #: src/components/status.jsx:2530 2235 - #: src/components/status.jsx:2553 2236 + #: src/components/status.jsx:1049 2237 + #: src/components/status.jsx:1089 2238 + #: src/components/status.jsx:2541 2239 + #: src/components/status.jsx:2564 2236 2240 msgid "Unboost" 2237 2241 msgstr "" 2238 2242 2239 - #: src/components/status.jsx:1054 2240 - #: src/components/status.jsx:2545 2243 + #: src/components/status.jsx:1065 2244 + #: src/components/status.jsx:2556 2241 2245 msgid "Quote" 2242 2246 msgstr "" 2243 2247 2244 2248 #. placeholder {0}: username || acct 2245 - #: src/components/status.jsx:1066 2246 - #: src/components/status.jsx:1532 2249 + #: src/components/status.jsx:1077 2250 + #: src/components/status.jsx:1543 2247 2251 msgid "Unboosted @{0}'s post" 2248 2252 msgstr "Unboosted @{0}'s post" 2249 2253 2250 2254 #. placeholder {0}: username || acct 2251 - #: src/components/status.jsx:1067 2252 - #: src/components/status.jsx:1533 2255 + #: src/components/status.jsx:1078 2256 + #: src/components/status.jsx:1544 2253 2257 msgid "Boosted @{0}'s post" 2254 2258 msgstr "Boosted @{0}'s post" 2255 2259 2256 - #: src/components/status.jsx:1079 2260 + #: src/components/status.jsx:1090 2257 2261 msgid "Boost…" 2258 2262 msgstr "" 2259 2263 2260 - #: src/components/status.jsx:1091 2261 - #: src/components/status.jsx:1826 2262 - #: src/components/status.jsx:2566 2264 + #: src/components/status.jsx:1102 2265 + #: src/components/status.jsx:1837 2266 + #: src/components/status.jsx:2577 2263 2267 msgid "Unlike" 2264 2268 msgstr "" 2265 2269 2266 - #: src/components/status.jsx:1092 2267 - #: src/components/status.jsx:1826 2268 - #: src/components/status.jsx:1827 2269 - #: src/components/status.jsx:2566 2270 - #: src/components/status.jsx:2567 2270 + #: src/components/status.jsx:1103 2271 + #: src/components/status.jsx:1837 2272 + #: src/components/status.jsx:1838 2273 + #: src/components/status.jsx:2577 2274 + #: src/components/status.jsx:2578 2271 2275 msgid "Like" 2272 2276 msgstr "" 2273 2277 2274 - #: src/components/status.jsx:1101 2275 - #: src/components/status.jsx:2578 2278 + #: src/components/status.jsx:1112 2279 + #: src/components/status.jsx:2589 2276 2280 msgid "Unbookmark" 2277 2281 msgstr "" 2278 2282 2279 - #: src/components/status.jsx:1184 2283 + #: src/components/status.jsx:1195 2280 2284 msgid "Post text copied" 2281 2285 msgstr "Post text copied" 2282 2286 2283 - #: src/components/status.jsx:1187 2287 + #: src/components/status.jsx:1198 2284 2288 msgid "Unable to copy post text" 2285 2289 msgstr "Unable to copy post text" 2286 2290 2287 - #: src/components/status.jsx:1193 2291 + #: src/components/status.jsx:1204 2288 2292 msgid "Copy post text" 2289 2293 msgstr "Copy post text" 2290 2294 2291 2295 #. placeholder {0}: username || acct 2292 - #: src/components/status.jsx:1211 2296 + #: src/components/status.jsx:1222 2293 2297 msgid "View post by <0>@{0}</0>" 2294 2298 msgstr "" 2295 2299 2296 - #: src/components/status.jsx:1232 2300 + #: src/components/status.jsx:1243 2297 2301 msgid "Show Edit History" 2298 2302 msgstr "" 2299 2303 2300 - #: src/components/status.jsx:1235 2304 + #: src/components/status.jsx:1246 2301 2305 msgid "Edited: {editedDateText}" 2302 2306 msgstr "" 2303 2307 2304 - #: src/components/status.jsx:1302 2305 - #: src/components/status.jsx:3346 2308 + #: src/components/status.jsx:1313 2309 + #: src/components/status.jsx:3357 2306 2310 msgid "Embed post" 2307 2311 msgstr "" 2308 2312 2309 - #: src/components/status.jsx:1316 2313 + #: src/components/status.jsx:1327 2310 2314 msgid "Conversation unmuted" 2311 2315 msgstr "" 2312 2316 2313 - #: src/components/status.jsx:1316 2317 + #: src/components/status.jsx:1327 2314 2318 msgid "Conversation muted" 2315 2319 msgstr "" 2316 2320 2317 - #: src/components/status.jsx:1322 2321 + #: src/components/status.jsx:1333 2318 2322 msgid "Unable to unmute conversation" 2319 2323 msgstr "" 2320 2324 2321 - #: src/components/status.jsx:1323 2325 + #: src/components/status.jsx:1334 2322 2326 msgid "Unable to mute conversation" 2323 2327 msgstr "" 2324 2328 2325 - #: src/components/status.jsx:1332 2329 + #: src/components/status.jsx:1343 2326 2330 msgid "Unmute conversation" 2327 2331 msgstr "" 2328 2332 2329 - #: src/components/status.jsx:1339 2333 + #: src/components/status.jsx:1350 2330 2334 msgid "Mute conversation" 2331 2335 msgstr "" 2332 2336 2333 - #: src/components/status.jsx:1355 2337 + #: src/components/status.jsx:1366 2334 2338 msgid "Post unpinned from profile" 2335 2339 msgstr "" 2336 2340 2337 - #: src/components/status.jsx:1356 2341 + #: src/components/status.jsx:1367 2338 2342 msgid "Post pinned to profile" 2339 2343 msgstr "" 2340 2344 2341 - #: src/components/status.jsx:1361 2345 + #: src/components/status.jsx:1372 2342 2346 msgid "Unable to unpin post" 2343 2347 msgstr "" 2344 2348 2345 - #: src/components/status.jsx:1361 2349 + #: src/components/status.jsx:1372 2346 2350 msgid "Unable to pin post" 2347 2351 msgstr "" 2348 2352 2349 - #: src/components/status.jsx:1370 2353 + #: src/components/status.jsx:1381 2350 2354 msgid "Unpin from profile" 2351 2355 msgstr "" 2352 2356 2353 - #: src/components/status.jsx:1377 2357 + #: src/components/status.jsx:1388 2354 2358 msgid "Pin to profile" 2355 2359 msgstr "" 2356 2360 2357 - #: src/components/status.jsx:1406 2361 + #: src/components/status.jsx:1417 2358 2362 msgid "Delete this post?" 2359 2363 msgstr "" 2360 2364 2361 - #: src/components/status.jsx:1422 2365 + #: src/components/status.jsx:1433 2362 2366 msgid "Post deleted" 2363 2367 msgstr "" 2364 2368 2365 - #: src/components/status.jsx:1425 2369 + #: src/components/status.jsx:1436 2366 2370 msgid "Unable to delete post" 2367 2371 msgstr "" 2368 2372 2369 - #: src/components/status.jsx:1453 2373 + #: src/components/status.jsx:1464 2370 2374 msgid "Report post…" 2371 2375 msgstr "" 2372 2376 2373 - #: src/components/status.jsx:1827 2374 - #: src/components/status.jsx:1863 2375 - #: src/components/status.jsx:2567 2377 + #: src/components/status.jsx:1838 2378 + #: src/components/status.jsx:1874 2379 + #: src/components/status.jsx:2578 2376 2380 msgid "Liked" 2377 2381 msgstr "" 2378 2382 2379 - #: src/components/status.jsx:1860 2380 - #: src/components/status.jsx:2554 2383 + #: src/components/status.jsx:1871 2384 + #: src/components/status.jsx:2565 2381 2385 msgid "Boosted" 2382 2386 msgstr "" 2383 2387 2384 - #: src/components/status.jsx:1870 2385 - #: src/components/status.jsx:2579 2388 + #: src/components/status.jsx:1881 2389 + #: src/components/status.jsx:2590 2386 2390 msgid "Bookmarked" 2387 2391 msgstr "" 2388 2392 2389 - #: src/components/status.jsx:1874 2393 + #: src/components/status.jsx:1885 2390 2394 msgid "Pinned" 2391 2395 msgstr "" 2392 2396 2393 - #: src/components/status.jsx:1920 2394 - #: src/components/status.jsx:2391 2397 + #: src/components/status.jsx:1931 2398 + #: src/components/status.jsx:2402 2395 2399 msgid "Deleted" 2396 2400 msgstr "" 2397 2401 2398 - #: src/components/status.jsx:1961 2402 + #: src/components/status.jsx:1972 2399 2403 msgid "{repliesCount, plural, one {# reply} other {# replies}}" 2400 2404 msgstr "" 2401 2405 2402 2406 #. placeholder {0}: snapStates.statusThreadNumber[sKey] ? ` ${snapStates.statusThreadNumber[sKey]}/X` : '' 2403 - #: src/components/status.jsx:2051 2407 + #: src/components/status.jsx:2062 2404 2408 msgid "Thread{0}" 2405 2409 msgstr "" 2406 2410 2407 - #: src/components/status.jsx:2129 2408 - #: src/components/status.jsx:2191 2409 - #: src/components/status.jsx:2287 2411 + #: src/components/status.jsx:2140 2412 + #: src/components/status.jsx:2202 2413 + #: src/components/status.jsx:2298 2410 2414 msgid "Show less" 2411 2415 msgstr "" 2412 2416 2413 - #: src/components/status.jsx:2129 2414 - #: src/components/status.jsx:2191 2417 + #: src/components/status.jsx:2140 2418 + #: src/components/status.jsx:2202 2415 2419 msgid "Show content" 2416 2420 msgstr "" 2417 2421 2418 2422 #. placeholder {0}: filterInfo.titlesStr 2419 2423 #. placeholder {0}: filterInfo?.titlesStr 2420 - #: src/components/status.jsx:2283 2424 + #: src/components/status.jsx:2294 2421 2425 #: src/pages/catchup.jsx:1879 2422 2426 msgid "Filtered: {0}" 2423 2427 msgstr "Filtered: {0}" 2424 2428 2425 - #: src/components/status.jsx:2287 2429 + #: src/components/status.jsx:2298 2426 2430 msgid "Show media" 2427 2431 msgstr "" 2428 2432 2429 - #: src/components/status.jsx:2427 2433 + #: src/components/status.jsx:2438 2430 2434 msgid "Edited" 2431 2435 msgstr "" 2432 2436 2433 - #: src/components/status.jsx:2504 2437 + #: src/components/status.jsx:2515 2434 2438 msgid "Comments" 2435 2439 msgstr "" 2436 2440 2437 2441 #. More from [Author] 2438 - #: src/components/status.jsx:2804 2442 + #: src/components/status.jsx:2815 2439 2443 msgid "More from <0/>" 2440 2444 msgstr "More from <0/>" 2441 2445 2442 - #: src/components/status.jsx:3106 2446 + #: src/components/status.jsx:3117 2443 2447 msgid "Edit History" 2444 2448 msgstr "" 2445 2449 2446 - #: src/components/status.jsx:3110 2450 + #: src/components/status.jsx:3121 2447 2451 msgid "Failed to load history" 2448 2452 msgstr "" 2449 2453 2450 - #: src/components/status.jsx:3115 2454 + #: src/components/status.jsx:3126 2451 2455 #: src/pages/annual-report.jsx:45 2452 2456 msgid "Loading…" 2453 2457 msgstr "" 2454 2458 2455 - #: src/components/status.jsx:3351 2459 + #: src/components/status.jsx:3362 2456 2460 msgid "HTML Code" 2457 2461 msgstr "" 2458 2462 2459 - #: src/components/status.jsx:3368 2463 + #: src/components/status.jsx:3379 2460 2464 msgid "HTML code copied" 2461 2465 msgstr "" 2462 2466 2463 - #: src/components/status.jsx:3371 2467 + #: src/components/status.jsx:3382 2464 2468 msgid "Unable to copy HTML code" 2465 2469 msgstr "" 2466 2470 2467 - #: src/components/status.jsx:3383 2471 + #: src/components/status.jsx:3394 2468 2472 msgid "Media attachments:" 2469 2473 msgstr "" 2470 2474 2471 - #: src/components/status.jsx:3405 2475 + #: src/components/status.jsx:3416 2472 2476 msgid "Account Emojis:" 2473 2477 msgstr "" 2474 2478 2475 - #: src/components/status.jsx:3436 2476 - #: src/components/status.jsx:3481 2479 + #: src/components/status.jsx:3447 2480 + #: src/components/status.jsx:3492 2477 2481 msgid "static URL" 2478 2482 msgstr "" 2479 2483 2480 - #: src/components/status.jsx:3450 2484 + #: src/components/status.jsx:3461 2481 2485 msgid "Emojis:" 2482 2486 msgstr "" 2483 2487 2484 - #: src/components/status.jsx:3495 2488 + #: src/components/status.jsx:3506 2485 2489 msgid "Notes:" 2486 2490 msgstr "" 2487 2491 2488 - #: src/components/status.jsx:3499 2492 + #: src/components/status.jsx:3510 2489 2493 msgid "This is static, unstyled and scriptless. You may need to apply your own styles and edit as needed." 2490 2494 msgstr "" 2491 2495 2492 - #: src/components/status.jsx:3505 2496 + #: src/components/status.jsx:3516 2493 2497 msgid "Polls are not interactive, becomes a list with vote counts." 2494 2498 msgstr "" 2495 2499 2496 - #: src/components/status.jsx:3510 2500 + #: src/components/status.jsx:3521 2497 2501 msgid "Media attachments can be images, videos, audios or any file types." 2498 2502 msgstr "" 2499 2503 2500 - #: src/components/status.jsx:3516 2504 + #: src/components/status.jsx:3527 2501 2505 msgid "Post could be edited or deleted later." 2502 2506 msgstr "" 2503 2507 2504 - #: src/components/status.jsx:3522 2508 + #: src/components/status.jsx:3533 2505 2509 msgid "Preview" 2506 2510 msgstr "" 2507 2511 2508 - #: src/components/status.jsx:3531 2512 + #: src/components/status.jsx:3542 2509 2513 msgid "Note: This preview is lightly styled." 2510 2514 msgstr "" 2511 2515 2512 2516 #. [Name] [Visibility icon] boosted 2513 - #: src/components/status.jsx:3784 2517 + #: src/components/status.jsx:3795 2514 2518 msgid "<0/> <1/> boosted" 2515 2519 msgstr "" 2516 2520 2517 - #: src/components/status.jsx:3897 2521 + #: src/components/status.jsx:3908 2518 2522 msgid "Post removed by author." 2519 2523 msgstr "Post removed by author." 2520 2524 2521 - #: src/components/status.jsx:3906 2525 + #: src/components/status.jsx:3917 2522 2526 msgid "You’re not authorized to view this post." 2523 2527 msgstr "You’re not authorized to view this post." 2524 2528 2525 - #: src/components/status.jsx:3915 2529 + #: src/components/status.jsx:3926 2526 2530 msgid "Post pending author approval." 2527 2531 msgstr "Post pending author approval." 2528 2532 2529 - #: src/components/status.jsx:3924 2533 + #: src/components/status.jsx:3935 2530 2534 msgid "Quoting not allowed by the author." 2531 2535 msgstr "Quoting not allowed by the author." 2532 2536
+73 -1
src/pages/sandbox.jsx
··· 45 45 showCard, 46 46 size, 47 47 filters, 48 + quoteFilters, 48 49 userPreferences, 49 50 } = toggles; 50 51 ··· 312 313 quoteNestingLevel: '0', 313 314 size: 'medium', 314 315 filters: [false, false, false], // hide, blur, warn 316 + quoteFilters: [false, false, false], // hide, blur, warn for quotes 315 317 mediaPreference: 'default', 316 318 expandWarnings: false, 317 319 contextType: 'none', // Default context type ··· 398 400 quoteNestingLevel: toggleState.quoteNestingLevel, 399 401 size: toggleState.size, 400 402 filters: toggleState.filters, 403 + quoteFilters: toggleState.quoteFilters, 401 404 }, 402 405 }); 403 406 ··· 531 534 delete states.statuses[quoteId]; 532 535 533 536 // Create the actual status object that will be retrieved by QuoteStatuses 534 - states.statuses[quoteId] = { 537 + const quoteStatus = { 535 538 id: quoteId, 536 539 content: `<p>This is quote post ${i + 1}${i % 2 === 0 ? '' : ' with some extra text'}</p>`, 537 540 account: { ··· 586 589 : null, 587 590 }; 588 591 592 + // Add filtering to quote posts if enabled 593 + if ( 594 + toggleState.quoteFilters && 595 + toggleState.quoteFilters.some((f) => f) 596 + ) { 597 + quoteStatus.filtered = toggleState.quoteFilters 598 + .map((enabled, filterIndex) => { 599 + if (!enabled) return null; 600 + const filterTypes = ['hide', 'blur', 'warn']; 601 + return { 602 + filter: { 603 + id: `quote-filter-${i}-${filterIndex}`, 604 + title: `Quote ${filterTypes[filterIndex]} filter`, 605 + context: ['home', 'public', 'thread', 'account'], 606 + filterAction: filterTypes[filterIndex], 607 + }, 608 + keywordMatches: [], 609 + statusMatches: [], 610 + }; 611 + }) 612 + .filter(Boolean); 613 + } 614 + 615 + // Assign the quote status to the states 616 + states.statuses[quoteId] = quoteStatus; 617 + 589 618 // If nesting level > 0, add nested quotes to each quote post 590 619 if (nestingLevel > 0 && i % 2 === 0) { 591 620 // Add nested quotes to every other quote - use stable ID ··· 670 699 toggleState.showQuotes, 671 700 toggleState.quotesCount, 672 701 toggleState.quoteNestingLevel, 702 + toggleState.quoteFilters, 673 703 ]); 674 704 675 705 // Handler for filter checkboxes ··· 679 709 updateToggles({ filters: newFilters }); 680 710 }; 681 711 712 + // Handler for quote filter checkboxes 713 + const handleQuoteFilterChange = (index) => { 714 + const newQuoteFilters = [...toggleState.quoteFilters]; 715 + newQuoteFilters[index] = !newQuoteFilters[index]; 716 + updateToggles({ quoteFilters: newQuoteFilters }); 717 + }; 718 + 682 719 // Function to check if the current state is different from the initial state 683 720 const hasChanges = () => { 684 721 return Object.keys(INITIAL_STATE).some((key) => { ··· 1213 1250 }} 1214 1251 /> 1215 1252 </label> 1253 + </li> 1254 + <li> 1255 + <b>Quote Filters</b> 1256 + <ul> 1257 + <li> 1258 + <label> 1259 + <input 1260 + type="checkbox" 1261 + checked={toggleState.quoteFilters[0]} 1262 + onChange={() => handleQuoteFilterChange(0)} 1263 + /> 1264 + <span>Hide</span> 1265 + </label> 1266 + </li> 1267 + <li> 1268 + <label> 1269 + <input 1270 + type="checkbox" 1271 + checked={toggleState.quoteFilters[1]} 1272 + onChange={() => handleQuoteFilterChange(1)} 1273 + /> 1274 + <span>Blur</span> 1275 + </label> 1276 + </li> 1277 + <li> 1278 + <label> 1279 + <input 1280 + type="checkbox" 1281 + checked={toggleState.quoteFilters[2]} 1282 + onChange={() => handleQuoteFilterChange(2)} 1283 + /> 1284 + <span>Warn</span> 1285 + </label> 1286 + </li> 1287 + </ul> 1216 1288 </li> 1217 1289 </ul> 1218 1290 )}