this repo has no description
0
fork

Configure Feed

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

More fixes for math

+225 -154
+1 -1
src/components/status.css
··· 2970 2970 2971 2971 --padding: 8px; 2972 2972 background-position: center var(--padding); 2973 - &:has(mrow) { 2973 + &:has(> mrow) { 2974 2974 /* 0.5ex is for mrow from Temml-Local.css */ 2975 2975 background-position-y: calc(var(--padding) + 0.5ex); 2976 2976 }
+80 -9
src/components/status.jsx
··· 237 237 ]; 238 238 const DELIMITERS_REGEX = new RegExp(DELIMITERS_PATTERNS.join('|'), 'g'); 239 239 240 + function cleanDOMForTemml(dom) { 241 + // Define start and end delimiter patterns 242 + const START_DELIMITERS = ['\\\\\\[', '\\\\\\(']; // \[ and \( 243 + const startRegex = new RegExp(`(${START_DELIMITERS.join('|')})`); 244 + 245 + // Walk through all text nodes 246 + const walker = document.createTreeWalker(dom, NodeFilter.SHOW_TEXT); 247 + const textNodes = []; 248 + let node; 249 + while ((node = walker.nextNode())) { 250 + textNodes.push(node); 251 + } 252 + 253 + for (const textNode of textNodes) { 254 + const text = textNode.textContent; 255 + const startMatch = text.match(startRegex); 256 + 257 + if (!startMatch) continue; // No start delimiter in this text node 258 + 259 + // Find the matching end delimiter 260 + const startDelimiter = startMatch[0]; 261 + const endDelimiter = startDelimiter === '\\[' ? '\\]' : '\\)'; 262 + 263 + // Collect nodes from start delimiter until end delimiter 264 + const nodesToCombine = [textNode]; 265 + let currentNode = textNode; 266 + let foundEnd = false; 267 + let combinedText = text; 268 + 269 + // Check if end delimiter is in the same text node 270 + if (text.includes(endDelimiter)) { 271 + foundEnd = true; 272 + } else { 273 + // Look through sibling nodes 274 + while (currentNode.nextSibling && !foundEnd) { 275 + const nextSibling = currentNode.nextSibling; 276 + 277 + if (nextSibling.nodeType === Node.TEXT_NODE) { 278 + nodesToCombine.push(nextSibling); 279 + combinedText += nextSibling.textContent; 280 + if (nextSibling.textContent.includes(endDelimiter)) { 281 + foundEnd = true; 282 + } 283 + } else if ( 284 + nextSibling.nodeType === Node.ELEMENT_NODE && 285 + nextSibling.tagName === 'BR' 286 + ) { 287 + nodesToCombine.push(nextSibling); 288 + combinedText += '\n'; 289 + } else { 290 + // Found a non-BR element, stop and don't process 291 + break; 292 + } 293 + 294 + currentNode = nextSibling; 295 + } 296 + } 297 + 298 + // Only process if we found the end delimiter and have nodes to combine 299 + if (foundEnd && nodesToCombine.length > 1) { 300 + // Replace the first text node with combined text 301 + textNode.textContent = combinedText; 302 + 303 + // Remove the other nodes 304 + for (let i = 1; i < nodesToCombine.length; i++) { 305 + nodesToCombine[i].remove(); 306 + } 307 + } 308 + } 309 + } 310 + 240 311 const MathBlock = ({ content, contentRef, onRevert }) => { 312 + DELIMITERS_REGEX.lastIndex = 0; // Reset index to prevent g trap 313 + const hasLatexContent = DELIMITERS_REGEX.test(content); 314 + 315 + if (!hasLatexContent) return null; 316 + 241 317 const { t } = useLingui(); 242 318 const [mathRendered, setMathRendered] = useState(false); 243 - const hasLatexContent = useMemo( 244 - () => DELIMITERS_REGEX.test(content), 245 - [content], 246 - ); 247 - 248 319 const toggleMathRendering = useCallback( 249 320 async (e) => { 250 321 e.preventDefault(); ··· 259 330 const temml = 260 331 window.temml || (window.temml = (await import('temml'))?.default); 261 332 262 - const oriignalContentRefHTML = contentRef.current.innerHTML; 333 + cleanDOMForTemml(contentRef.current); 334 + const originalContentRefHTML = contentRef.current.innerHTML; 263 335 temml.renderMathInElement(contentRef.current, { 264 336 fences: '(', // This should sync with DELIMITERS_REGEX 265 337 annotate: true, ··· 271 343 272 344 const hasMath = contentRef.current.querySelector('math.tml-display'); 273 345 const htmlChanged = 274 - contentRef.current.innerHTML !== oriignalContentRefHTML; 346 + contentRef.current.innerHTML !== originalContentRefHTML; 275 347 if (hasMath && htmlChanged) { 276 348 setMathRendered(true); 277 349 } else { 278 350 showToast(t`Unable to format math`); 279 351 setMathRendered(false); 352 + onRevert(); // Revert because DOM modified by cleanDOMForTemml 280 353 } 281 354 } catch (e) { 282 355 console.error('Failed to LaTeX:', e); ··· 285 358 }, 286 359 [mathRendered], 287 360 ); 288 - 289 - if (!hasLatexContent) return null; 290 361 291 362 return ( 292 363 <div class="math-block">
+144 -144
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:666 37 + #: src/components/status.jsx:737 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:1916 115 - #: src/components/status.jsx:1933 116 - #: src/components/status.jsx:2058 117 - #: src/components/status.jsx:2687 118 - #: src/components/status.jsx:2690 114 + #: src/components/status.jsx:1987 115 + #: src/components/status.jsx:2004 116 + #: src/components/status.jsx:2129 117 + #: src/components/status.jsx:2758 118 + #: src/components/status.jsx:2761 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:2471 206 + #: src/components/status.jsx:2542 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:1338 332 + #: src/components/status.jsx:1409 333 333 msgid "Link copied" 334 334 msgstr "" 335 335 336 336 #: src/components/account-info.jsx:1493 337 - #: src/components/status.jsx:1341 337 + #: src/components/status.jsx:1412 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:1347 344 - #: src/components/status.jsx:3465 343 + #: src/components/status.jsx:1418 344 + #: src/components/status.jsx:3536 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:1363 350 + #: src/components/status.jsx:1434 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:1369 355 + #: src/components/status.jsx:1440 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:3189 470 - #: src/components/status.jsx:3429 471 - #: src/components/status.jsx:3938 469 + #: src/components/status.jsx:3260 470 + #: src/components/status.jsx:3500 471 + #: src/components/status.jsx:4009 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:2246 721 + #: src/components/status.jsx:2317 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:103 757 - #: src/components/status.jsx:2122 757 + #: src/components/status.jsx:2193 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:1110 795 - #: src/components/status.jsx:1896 796 - #: src/components/status.jsx:1897 797 - #: src/components/status.jsx:2591 794 + #: src/components/status.jsx:1181 795 + #: src/components/status.jsx:1967 796 + #: src/components/status.jsx:1968 797 + #: src/components/status.jsx:2662 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:1513 1019 + #: src/components/status.jsx:1584 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:1118 1229 - #: src/components/status.jsx:2618 1230 - #: src/components/status.jsx:2641 1231 - #: src/components/status.jsx:2642 1228 + #: src/components/status.jsx:1189 1229 + #: src/components/status.jsx:2689 1230 + #: src/components/status.jsx:2712 1231 + #: src/components/status.jsx:2713 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:1181 1241 - #: src/components/status.jsx:2666 1242 - #: src/components/status.jsx:2667 1240 + #: src/components/status.jsx:1252 1241 + #: src/components/status.jsx:2737 1242 + #: src/components/status.jsx:2738 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:1224 1308 - #: src/components/status.jsx:1233 1307 + #: src/components/status.jsx:1295 1308 + #: src/components/status.jsx:1304 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:1252 1314 + #: src/components/status.jsx:1323 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:3768 1352 - #: src/components/status.jsx:3864 1353 - #: src/components/status.jsx:3942 1351 + #: src/components/status.jsx:3839 1352 + #: src/components/status.jsx:3935 1353 + #: src/components/status.jsx:4013 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:1195 1666 - #: src/components/status.jsx:1205 1665 + #: src/components/status.jsx:1266 1666 + #: src/components/status.jsx:1276 1667 1667 msgid "Boosted/Liked by…" 1668 1668 msgstr "" 1669 1669 ··· 1689 1689 msgstr "View #Wrapstodon" 1690 1690 1691 1691 #: src/components/notification.jsx:801 1692 - #: src/components/status.jsx:404 1692 + #: src/components/status.jsx:475 1693 1693 msgid "Read more →" 1694 1694 msgstr "" 1695 1695 ··· 1993 1993 msgstr "" 1994 1994 1995 1995 #: src/components/shortcuts-settings.jsx:379 1996 - #: src/components/status.jsx:1475 1996 + #: src/components/status.jsx:1546 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:278 2195 + #: src/components/status.jsx:350 2196 2196 msgid "Unable to format math" 2197 2197 msgstr "Unable to format math" 2198 2198 2199 - #: src/components/status.jsx:293 2199 + #: src/components/status.jsx:364 2200 2200 msgid "Math expressions found." 2201 2201 msgstr "Math expressions found." 2202 2202 2203 - #: src/components/status.jsx:295 2203 + #: src/components/status.jsx:366 2204 2204 msgid "Show markup" 2205 2205 msgstr "Show markup" 2206 2206 2207 - #: src/components/status.jsx:295 2207 + #: src/components/status.jsx:366 2208 2208 msgid "Format math" 2209 2209 msgstr "Format math" 2210 2210 2211 - #: src/components/status.jsx:690 2211 + #: src/components/status.jsx:761 2212 2212 msgid "<0/> <1>boosted</1>" 2213 2213 msgstr "<0/> <1>boosted</1>" 2214 2214 2215 - #: src/components/status.jsx:793 2215 + #: src/components/status.jsx:864 2216 2216 msgid "Sorry, your current logged-in instance can't interact with this post from another instance." 2217 2217 msgstr "" 2218 2218 2219 2219 #. placeholder {0}: username || acct 2220 - #: src/components/status.jsx:947 2220 + #: src/components/status.jsx:1018 2221 2221 msgid "Unliked @{0}'s post" 2222 2222 msgstr "" 2223 2223 2224 2224 #. placeholder {0}: username || acct 2225 - #: src/components/status.jsx:948 2225 + #: src/components/status.jsx:1019 2226 2226 msgid "Liked @{0}'s post" 2227 2227 msgstr "Liked @{0}'s post" 2228 2228 2229 2229 #. placeholder {0}: username || acct 2230 - #: src/components/status.jsx:987 2230 + #: src/components/status.jsx:1058 2231 2231 msgid "Unbookmarked @{0}'s post" 2232 2232 msgstr "Unbookmarked @{0}'s post" 2233 2233 2234 2234 #. placeholder {0}: username || acct 2235 - #: src/components/status.jsx:988 2235 + #: src/components/status.jsx:1059 2236 2236 msgid "Bookmarked @{0}'s post" 2237 2237 msgstr "Bookmarked @{0}'s post" 2238 2238 2239 - #: src/components/status.jsx:1087 2239 + #: src/components/status.jsx:1158 2240 2240 msgid "Some media have no descriptions." 2241 2241 msgstr "" 2242 2242 2243 2243 #. placeholder {0}: rtf.format(-statusMonthsAgo, 'month') 2244 - #: src/components/status.jsx:1094 2244 + #: src/components/status.jsx:1165 2245 2245 msgid "Old post (<0>{0}</0>)" 2246 2246 msgstr "" 2247 2247 2248 - #: src/components/status.jsx:1118 2249 - #: src/components/status.jsx:1158 2250 - #: src/components/status.jsx:2618 2251 - #: src/components/status.jsx:2641 2248 + #: src/components/status.jsx:1189 2249 + #: src/components/status.jsx:1229 2250 + #: src/components/status.jsx:2689 2251 + #: src/components/status.jsx:2712 2252 2252 msgid "Unboost" 2253 2253 msgstr "" 2254 2254 2255 - #: src/components/status.jsx:1134 2256 - #: src/components/status.jsx:2633 2255 + #: src/components/status.jsx:1205 2256 + #: src/components/status.jsx:2704 2257 2257 msgid "Quote" 2258 2258 msgstr "" 2259 2259 2260 2260 #. placeholder {0}: username || acct 2261 - #: src/components/status.jsx:1146 2262 - #: src/components/status.jsx:1612 2261 + #: src/components/status.jsx:1217 2262 + #: src/components/status.jsx:1683 2263 2263 msgid "Unboosted @{0}'s post" 2264 2264 msgstr "Unboosted @{0}'s post" 2265 2265 2266 2266 #. placeholder {0}: username || acct 2267 - #: src/components/status.jsx:1147 2268 - #: src/components/status.jsx:1613 2267 + #: src/components/status.jsx:1218 2268 + #: src/components/status.jsx:1684 2269 2269 msgid "Boosted @{0}'s post" 2270 2270 msgstr "Boosted @{0}'s post" 2271 2271 2272 - #: src/components/status.jsx:1159 2272 + #: src/components/status.jsx:1230 2273 2273 msgid "Boost…" 2274 2274 msgstr "" 2275 2275 2276 - #: src/components/status.jsx:1171 2277 - #: src/components/status.jsx:1906 2278 - #: src/components/status.jsx:2654 2276 + #: src/components/status.jsx:1242 2277 + #: src/components/status.jsx:1977 2278 + #: src/components/status.jsx:2725 2279 2279 msgid "Unlike" 2280 2280 msgstr "" 2281 2281 2282 - #: src/components/status.jsx:1172 2283 - #: src/components/status.jsx:1906 2284 - #: src/components/status.jsx:1907 2285 - #: src/components/status.jsx:2654 2286 - #: src/components/status.jsx:2655 2282 + #: src/components/status.jsx:1243 2283 + #: src/components/status.jsx:1977 2284 + #: src/components/status.jsx:1978 2285 + #: src/components/status.jsx:2725 2286 + #: src/components/status.jsx:2726 2287 2287 msgid "Like" 2288 2288 msgstr "" 2289 2289 2290 - #: src/components/status.jsx:1181 2291 - #: src/components/status.jsx:2666 2290 + #: src/components/status.jsx:1252 2291 + #: src/components/status.jsx:2737 2292 2292 msgid "Unbookmark" 2293 2293 msgstr "" 2294 2294 2295 - #: src/components/status.jsx:1264 2295 + #: src/components/status.jsx:1335 2296 2296 msgid "Post text copied" 2297 2297 msgstr "Post text copied" 2298 2298 2299 - #: src/components/status.jsx:1267 2299 + #: src/components/status.jsx:1338 2300 2300 msgid "Unable to copy post text" 2301 2301 msgstr "Unable to copy post text" 2302 2302 2303 - #: src/components/status.jsx:1273 2303 + #: src/components/status.jsx:1344 2304 2304 msgid "Copy post text" 2305 2305 msgstr "Copy post text" 2306 2306 2307 2307 #. placeholder {0}: username || acct 2308 - #: src/components/status.jsx:1291 2308 + #: src/components/status.jsx:1362 2309 2309 msgid "View post by <0>@{0}</0>" 2310 2310 msgstr "" 2311 2311 2312 - #: src/components/status.jsx:1312 2312 + #: src/components/status.jsx:1383 2313 2313 msgid "Show Edit History" 2314 2314 msgstr "" 2315 2315 2316 - #: src/components/status.jsx:1315 2316 + #: src/components/status.jsx:1386 2317 2317 msgid "Edited: {editedDateText}" 2318 2318 msgstr "" 2319 2319 2320 - #: src/components/status.jsx:1382 2321 - #: src/components/status.jsx:3434 2320 + #: src/components/status.jsx:1453 2321 + #: src/components/status.jsx:3505 2322 2322 msgid "Embed post" 2323 2323 msgstr "" 2324 2324 2325 - #: src/components/status.jsx:1396 2325 + #: src/components/status.jsx:1467 2326 2326 msgid "Conversation unmuted" 2327 2327 msgstr "" 2328 2328 2329 - #: src/components/status.jsx:1396 2329 + #: src/components/status.jsx:1467 2330 2330 msgid "Conversation muted" 2331 2331 msgstr "" 2332 2332 2333 - #: src/components/status.jsx:1402 2333 + #: src/components/status.jsx:1473 2334 2334 msgid "Unable to unmute conversation" 2335 2335 msgstr "" 2336 2336 2337 - #: src/components/status.jsx:1403 2337 + #: src/components/status.jsx:1474 2338 2338 msgid "Unable to mute conversation" 2339 2339 msgstr "" 2340 2340 2341 - #: src/components/status.jsx:1412 2341 + #: src/components/status.jsx:1483 2342 2342 msgid "Unmute conversation" 2343 2343 msgstr "" 2344 2344 2345 - #: src/components/status.jsx:1419 2345 + #: src/components/status.jsx:1490 2346 2346 msgid "Mute conversation" 2347 2347 msgstr "" 2348 2348 2349 - #: src/components/status.jsx:1435 2349 + #: src/components/status.jsx:1506 2350 2350 msgid "Post unpinned from profile" 2351 2351 msgstr "" 2352 2352 2353 - #: src/components/status.jsx:1436 2353 + #: src/components/status.jsx:1507 2354 2354 msgid "Post pinned to profile" 2355 2355 msgstr "" 2356 2356 2357 - #: src/components/status.jsx:1441 2357 + #: src/components/status.jsx:1512 2358 2358 msgid "Unable to unpin post" 2359 2359 msgstr "" 2360 2360 2361 - #: src/components/status.jsx:1441 2361 + #: src/components/status.jsx:1512 2362 2362 msgid "Unable to pin post" 2363 2363 msgstr "" 2364 2364 2365 - #: src/components/status.jsx:1450 2365 + #: src/components/status.jsx:1521 2366 2366 msgid "Unpin from profile" 2367 2367 msgstr "" 2368 2368 2369 - #: src/components/status.jsx:1457 2369 + #: src/components/status.jsx:1528 2370 2370 msgid "Pin to profile" 2371 2371 msgstr "" 2372 2372 2373 - #: src/components/status.jsx:1486 2373 + #: src/components/status.jsx:1557 2374 2374 msgid "Delete this post?" 2375 2375 msgstr "" 2376 2376 2377 - #: src/components/status.jsx:1502 2377 + #: src/components/status.jsx:1573 2378 2378 msgid "Post deleted" 2379 2379 msgstr "" 2380 2380 2381 - #: src/components/status.jsx:1505 2381 + #: src/components/status.jsx:1576 2382 2382 msgid "Unable to delete post" 2383 2383 msgstr "" 2384 2384 2385 - #: src/components/status.jsx:1533 2385 + #: src/components/status.jsx:1604 2386 2386 msgid "Report post…" 2387 2387 msgstr "" 2388 2388 2389 - #: src/components/status.jsx:1907 2390 - #: src/components/status.jsx:1943 2391 - #: src/components/status.jsx:2655 2389 + #: src/components/status.jsx:1978 2390 + #: src/components/status.jsx:2014 2391 + #: src/components/status.jsx:2726 2392 2392 msgid "Liked" 2393 2393 msgstr "" 2394 2394 2395 - #: src/components/status.jsx:1940 2396 - #: src/components/status.jsx:2642 2395 + #: src/components/status.jsx:2011 2396 + #: src/components/status.jsx:2713 2397 2397 msgid "Boosted" 2398 2398 msgstr "" 2399 2399 2400 - #: src/components/status.jsx:1950 2401 - #: src/components/status.jsx:2667 2400 + #: src/components/status.jsx:2021 2401 + #: src/components/status.jsx:2738 2402 2402 msgid "Bookmarked" 2403 2403 msgstr "" 2404 2404 2405 - #: src/components/status.jsx:1954 2405 + #: src/components/status.jsx:2025 2406 2406 msgid "Pinned" 2407 2407 msgstr "" 2408 2408 2409 - #: src/components/status.jsx:2000 2410 - #: src/components/status.jsx:2479 2409 + #: src/components/status.jsx:2071 2410 + #: src/components/status.jsx:2550 2411 2411 msgid "Deleted" 2412 2412 msgstr "" 2413 2413 2414 - #: src/components/status.jsx:2041 2414 + #: src/components/status.jsx:2112 2415 2415 msgid "{repliesCount, plural, one {# reply} other {# replies}}" 2416 2416 msgstr "" 2417 2417 2418 2418 #. placeholder {0}: snapStates.statusThreadNumber[sKey] ? ` ${snapStates.statusThreadNumber[sKey]}/X` : '' 2419 - #: src/components/status.jsx:2131 2419 + #: src/components/status.jsx:2202 2420 2420 msgid "Thread{0}" 2421 2421 msgstr "" 2422 2422 2423 - #: src/components/status.jsx:2209 2424 - #: src/components/status.jsx:2271 2425 - #: src/components/status.jsx:2375 2423 + #: src/components/status.jsx:2280 2424 + #: src/components/status.jsx:2342 2425 + #: src/components/status.jsx:2446 2426 2426 msgid "Show less" 2427 2427 msgstr "" 2428 2428 2429 - #: src/components/status.jsx:2209 2430 - #: src/components/status.jsx:2271 2429 + #: src/components/status.jsx:2280 2430 + #: src/components/status.jsx:2342 2431 2431 msgid "Show content" 2432 2432 msgstr "" 2433 2433 2434 2434 #. placeholder {0}: filterInfo.titlesStr 2435 2435 #. placeholder {0}: filterInfo?.titlesStr 2436 - #: src/components/status.jsx:2371 2436 + #: src/components/status.jsx:2442 2437 2437 #: src/pages/catchup.jsx:1879 2438 2438 msgid "Filtered: {0}" 2439 2439 msgstr "Filtered: {0}" 2440 2440 2441 - #: src/components/status.jsx:2375 2441 + #: src/components/status.jsx:2446 2442 2442 msgid "Show media" 2443 2443 msgstr "" 2444 2444 2445 - #: src/components/status.jsx:2515 2445 + #: src/components/status.jsx:2586 2446 2446 msgid "Edited" 2447 2447 msgstr "" 2448 2448 2449 - #: src/components/status.jsx:2592 2449 + #: src/components/status.jsx:2663 2450 2450 msgid "Comments" 2451 2451 msgstr "" 2452 2452 2453 2453 #. More from [Author] 2454 - #: src/components/status.jsx:2892 2454 + #: src/components/status.jsx:2963 2455 2455 msgid "More from <0/>" 2456 2456 msgstr "More from <0/>" 2457 2457 2458 - #: src/components/status.jsx:3194 2458 + #: src/components/status.jsx:3265 2459 2459 msgid "Edit History" 2460 2460 msgstr "" 2461 2461 2462 - #: src/components/status.jsx:3198 2462 + #: src/components/status.jsx:3269 2463 2463 msgid "Failed to load history" 2464 2464 msgstr "" 2465 2465 2466 - #: src/components/status.jsx:3203 2466 + #: src/components/status.jsx:3274 2467 2467 #: src/pages/annual-report.jsx:45 2468 2468 msgid "Loading…" 2469 2469 msgstr "" 2470 2470 2471 - #: src/components/status.jsx:3439 2471 + #: src/components/status.jsx:3510 2472 2472 msgid "HTML Code" 2473 2473 msgstr "" 2474 2474 2475 - #: src/components/status.jsx:3456 2475 + #: src/components/status.jsx:3527 2476 2476 msgid "HTML code copied" 2477 2477 msgstr "" 2478 2478 2479 - #: src/components/status.jsx:3459 2479 + #: src/components/status.jsx:3530 2480 2480 msgid "Unable to copy HTML code" 2481 2481 msgstr "" 2482 2482 2483 - #: src/components/status.jsx:3471 2483 + #: src/components/status.jsx:3542 2484 2484 msgid "Media attachments:" 2485 2485 msgstr "" 2486 2486 2487 - #: src/components/status.jsx:3493 2487 + #: src/components/status.jsx:3564 2488 2488 msgid "Account Emojis:" 2489 2489 msgstr "" 2490 2490 2491 - #: src/components/status.jsx:3524 2492 - #: src/components/status.jsx:3569 2491 + #: src/components/status.jsx:3595 2492 + #: src/components/status.jsx:3640 2493 2493 msgid "static URL" 2494 2494 msgstr "" 2495 2495 2496 - #: src/components/status.jsx:3538 2496 + #: src/components/status.jsx:3609 2497 2497 msgid "Emojis:" 2498 2498 msgstr "" 2499 2499 2500 - #: src/components/status.jsx:3583 2500 + #: src/components/status.jsx:3654 2501 2501 msgid "Notes:" 2502 2502 msgstr "" 2503 2503 2504 - #: src/components/status.jsx:3587 2504 + #: src/components/status.jsx:3658 2505 2505 msgid "This is static, unstyled and scriptless. You may need to apply your own styles and edit as needed." 2506 2506 msgstr "" 2507 2507 2508 - #: src/components/status.jsx:3593 2508 + #: src/components/status.jsx:3664 2509 2509 msgid "Polls are not interactive, becomes a list with vote counts." 2510 2510 msgstr "" 2511 2511 2512 - #: src/components/status.jsx:3598 2512 + #: src/components/status.jsx:3669 2513 2513 msgid "Media attachments can be images, videos, audios or any file types." 2514 2514 msgstr "" 2515 2515 2516 - #: src/components/status.jsx:3604 2516 + #: src/components/status.jsx:3675 2517 2517 msgid "Post could be edited or deleted later." 2518 2518 msgstr "" 2519 2519 2520 - #: src/components/status.jsx:3610 2520 + #: src/components/status.jsx:3681 2521 2521 msgid "Preview" 2522 2522 msgstr "" 2523 2523 2524 - #: src/components/status.jsx:3619 2524 + #: src/components/status.jsx:3690 2525 2525 msgid "Note: This preview is lightly styled." 2526 2526 msgstr "" 2527 2527 2528 2528 #. [Name] [Visibility icon] boosted 2529 - #: src/components/status.jsx:3872 2529 + #: src/components/status.jsx:3943 2530 2530 msgid "<0/> <1/> boosted" 2531 2531 msgstr "<0/> <1/> boosted" 2532 2532 2533 - #: src/components/status.jsx:3974 2533 + #: src/components/status.jsx:4045 2534 2534 msgid "Post hidden by your filters" 2535 2535 msgstr "Post hidden by your filters" 2536 2536 2537 - #: src/components/status.jsx:3975 2537 + #: src/components/status.jsx:4046 2538 2538 msgid "Post removed by author." 2539 2539 msgstr "Post removed by author." 2540 2540 2541 - #: src/components/status.jsx:3976 2541 + #: src/components/status.jsx:4047 2542 2542 msgid "You’re not authorized to view this post." 2543 2543 msgstr "You’re not authorized to view this post." 2544 2544 2545 - #: src/components/status.jsx:3977 2545 + #: src/components/status.jsx:4048 2546 2546 msgid "Post pending author approval." 2547 2547 msgstr "Post pending author approval." 2548 2548 2549 - #: src/components/status.jsx:3978 2550 - #: src/components/status.jsx:3979 2549 + #: src/components/status.jsx:4049 2550 + #: src/components/status.jsx:4050 2551 2551 msgid "Quoting not allowed by the author." 2552 2552 msgstr "Quoting not allowed by the author." 2553 2553