this repo has no description
0
fork

Configure Feed

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

Show roles more prominently

+310 -241
+20
src/components/account-block.jsx
··· 4 4 5 5 // import { useNavigate } from 'react-router-dom'; 6 6 import enhanceContent from '../utils/enhance-content'; 7 + import getDomain from '../utils/get-domain'; 7 8 import niceDateTime from '../utils/nice-date-time'; 8 9 import shortenNumber from '../utils/shorten-number'; 9 10 import states from '../utils/states'; ··· 66 67 followersCount, 67 68 createdAt, 68 69 locked, 70 + roles, 69 71 } = account; 70 72 let [_, acct1, acct2] = acct.match(/([^@]+)(@.+)/i) || [, acct]; 71 73 if (accountInstance) { 72 74 acct2 = `@${accountInstance}`; 73 75 } 74 76 77 + const parsedAccountInstance = getDomain(url); 78 + 75 79 const verifiedField = fields?.find((f) => !!f.verifiedAt && !!f.value); 76 80 77 81 const excludedRelationship = {}; ··· 138 142 </> 139 143 )} 140 144 </span> 145 + {roles?.map((role) => ( 146 + <> 147 + {' '} 148 + <span class="tag collapsed"> 149 + {role.name} 150 + {!!parsedAccountInstance && ( 151 + <> 152 + {' '} 153 + <span class="more-insignificant"> 154 + {parsedAccountInstance} 155 + </span> 156 + </> 157 + )} 158 + </span> 159 + </> 160 + ))} 141 161 {showActivity && ( 142 162 <div class="account-block-stats"> 143 163 <Trans>Posts: {shortenNumber(statusesCount)}</Trans>
+2 -7
src/components/account-info.jsx
··· 15 15 16 16 import { api } from '../utils/api'; 17 17 import enhanceContent from '../utils/enhance-content'; 18 + import getDomain from '../utils/get-domain'; 18 19 import getHTMLText from '../utils/getHTMLText'; 19 20 import handleContentLinks from '../utils/handle-content-links'; 20 21 import i18nDuration from '../utils/i18n-duration'; ··· 244 245 } 245 246 }, [isSelf, info, instance]); 246 247 247 - const accountInstance = useMemo(() => { 248 - if (!url) return null; 249 - const hostname = URL.parse(url)?.hostname; 250 - if (!hostname) return null; 251 - const domain = punycode.toUnicode(hostname); 252 - return domain; 253 - }, [url]); 248 + const accountInstance = getDomain(url); 254 249 255 250 const [headerCornerColors, setHeaderCornerColors] = useState([]); 256 251
+15
src/components/compose.jsx
··· 31 31 import { langDetector } from '../utils/browser-translator'; 32 32 import db from '../utils/db'; 33 33 import emojifyText from '../utils/emojify-text'; 34 + import getDomain from '../utils/get-domain'; 34 35 import i18nDuration from '../utils/i18n-duration'; 35 36 import isRTL from '../utils/is-rtl'; 36 37 import localeMatch from '../utils/locale-match'; ··· 2096 2097 acct, 2097 2098 emojis, 2098 2099 history, 2100 + roles, 2101 + url, 2099 2102 } = result; 2100 2103 const displayNameWithEmoji = emojifyText(displayName, emojis); 2104 + const accountInstance = getDomain(url); 2101 2105 // const item = menuItem.cloneNode(); 2102 2106 if (acct) { 2103 2107 html += ` ··· 2112 2116 <br><span class="bidi-isolate">@${encodeHTML( 2113 2117 acct, 2114 2118 )}</span> 2119 + ${roles?.map( 2120 + (role) => ` <span class="tag collapsed"> 2121 + ${role.name} 2122 + ${ 2123 + !!accountInstance && 2124 + `<span class="more-insignificant"> 2125 + ${accountInstance} 2126 + </span>` 2127 + } 2128 + </span>`, 2129 + )} 2115 2130 </span> 2116 2131 </li> 2117 2132 `;
+34
src/components/name-text.jsx
··· 4 4 import { memo } from 'preact/compat'; 5 5 6 6 import { api } from '../utils/api'; 7 + import getDomain from '../utils/get-domain'; 7 8 import mem from '../utils/mem'; 8 9 import states from '../utils/states'; 9 10 ··· 47 48 emojis, 48 49 bot, 49 50 username, 51 + roles, 50 52 } = account; 51 53 const [_, acct1, acct2] = acct.match(ACCT_REGEX) || [, acct]; 52 54 53 55 if (!instance) instance = api().instance; 56 + 57 + const accountInstance = getDomain(url); 54 58 55 59 const trimmedUsername = username.toLowerCase().trim(); 56 60 const trimmedDisplayName = (displayName || '').toLowerCase().trim(); ··· 114 118 <> 115 119 {' '} 116 120 <i class="bidi-isolate">@{username}</i> 121 + {roles?.map((role) => ( 122 + <> 123 + {' '} 124 + <span class="tag collapsed"> 125 + {role.name} 126 + {!!accountInstance && ( 127 + <> 128 + {' '} 129 + <span class="more-insignificant"> 130 + {accountInstance} 131 + </span> 132 + </> 133 + )} 134 + </span> 135 + </> 136 + ))} 117 137 </> 118 138 )} 119 139 </> ··· 130 150 {acct1} 131 151 {!!acct2 && <span class="ib">{acct2}</span>} 132 152 </i> 153 + {roles?.map((role) => ( 154 + <> 155 + {' '} 156 + <span class="tag collapsed"> 157 + {role.name} 158 + {!!accountInstance && ( 159 + <> 160 + {' '} 161 + <span class="more-insignificant">{accountInstance}</span> 162 + </> 163 + )} 164 + </span> 165 + </> 166 + ))} 133 167 </> 134 168 )} 135 169 </a>
+233 -233
src/locales/en.po
··· 13 13 "Language-Team: \n" 14 14 "Plural-Forms: \n" 15 15 16 - #: src/components/account-block.jsx:137 16 + #: src/components/account-block.jsx:141 17 17 msgid "Locked" 18 18 msgstr "" 19 19 20 20 #. placeholder {0}: shortenNumber(statusesCount) 21 - #: src/components/account-block.jsx:143 21 + #: src/components/account-block.jsx:163 22 22 msgid "Posts: {0}" 23 23 msgstr "" 24 24 25 25 #. placeholder {0}: niceDateTime(lastStatusAt, { hideTime: true, }) 26 - #: src/components/account-block.jsx:148 26 + #: src/components/account-block.jsx:168 27 27 msgid "Last posted: {0}" 28 28 msgstr "" 29 29 30 - #: src/components/account-block.jsx:163 31 - #: src/components/account-info.jsx:710 30 + #: src/components/account-block.jsx:183 31 + #: src/components/account-info.jsx:705 32 32 msgid "Automated" 33 33 msgstr "" 34 34 35 - #: src/components/account-block.jsx:170 36 - #: src/components/account-info.jsx:715 35 + #: src/components/account-block.jsx:190 36 + #: src/components/account-info.jsx:710 37 37 #: src/components/status.jsx:748 38 38 msgid "Group" 39 39 msgstr "" 40 40 41 - #: src/components/account-block.jsx:180 41 + #: src/components/account-block.jsx:200 42 42 msgid "Mutual" 43 43 msgstr "" 44 44 45 - #: src/components/account-block.jsx:184 46 - #: src/components/account-info.jsx:1875 45 + #: src/components/account-block.jsx:204 46 + #: src/components/account-info.jsx:1870 47 47 msgid "Requested" 48 48 msgstr "" 49 49 50 - #: src/components/account-block.jsx:188 51 - #: src/components/account-info.jsx:1866 50 + #: src/components/account-block.jsx:208 51 + #: src/components/account-info.jsx:1861 52 52 msgid "Following" 53 53 msgstr "" 54 54 55 - #: src/components/account-block.jsx:192 56 - #: src/components/account-info.jsx:1180 55 + #: src/components/account-block.jsx:212 56 + #: src/components/account-info.jsx:1175 57 57 msgid "Follows you" 58 58 msgstr "" 59 59 60 - #: src/components/account-block.jsx:200 60 + #: src/components/account-block.jsx:220 61 61 msgid "{followersCount, plural, one {# follower} other {# followers}}" 62 62 msgstr "" 63 63 64 - #: src/components/account-block.jsx:209 65 - #: src/components/account-info.jsx:758 64 + #: src/components/account-block.jsx:229 65 + #: src/components/account-info.jsx:753 66 66 msgid "Verified" 67 67 msgstr "" 68 68 69 69 #. placeholder {0}: niceDateTime(createdAt, { hideTime: true, }) 70 70 #. placeholder {0}: niceDateTime(createdAt, { hideTime: true, }) 71 - #: src/components/account-block.jsx:224 72 - #: src/components/account-info.jsx:860 71 + #: src/components/account-block.jsx:244 72 + #: src/components/account-info.jsx:855 73 73 msgid "Joined <0>{0}</0>" 74 74 msgstr "" 75 75 76 - #: src/components/account-info.jsx:63 76 + #: src/components/account-info.jsx:64 77 77 msgid "Forever" 78 78 msgstr "" 79 79 80 - #: src/components/account-info.jsx:403 80 + #: src/components/account-info.jsx:398 81 81 msgid "Unable to load account." 82 82 msgstr "" 83 83 84 - #: src/components/account-info.jsx:418 84 + #: src/components/account-info.jsx:413 85 85 msgid "Go to account page" 86 86 msgstr "" 87 87 88 - #: src/components/account-info.jsx:447 89 - #: src/components/account-info.jsx:780 90 - #: src/components/account-info.jsx:810 88 + #: src/components/account-info.jsx:442 89 + #: src/components/account-info.jsx:775 90 + #: src/components/account-info.jsx:805 91 91 msgid "Followers" 92 92 msgstr "" 93 93 94 94 #. js-lingui-explicit-id 95 - #: src/components/account-info.jsx:451 96 - #: src/components/account-info.jsx:820 97 - #: src/components/account-info.jsx:839 95 + #: src/components/account-info.jsx:446 96 + #: src/components/account-info.jsx:815 97 + #: src/components/account-info.jsx:834 98 98 msgid "following.stats" 99 99 msgstr "Following" 100 100 101 - #: src/components/account-info.jsx:454 102 - #: src/components/account-info.jsx:856 101 + #: src/components/account-info.jsx:449 102 + #: src/components/account-info.jsx:851 103 103 #: src/pages/account-statuses.jsx:487 104 104 #: src/pages/search.jsx:345 105 105 #: src/pages/search.jsx:492 106 106 msgid "Posts" 107 107 msgstr "" 108 108 109 - #: src/components/account-info.jsx:462 110 - #: src/components/account-info.jsx:1236 111 - #: src/components/compose.jsx:2802 109 + #: src/components/account-info.jsx:457 110 + #: src/components/account-info.jsx:1231 111 + #: src/components/compose.jsx:2817 112 112 #: src/components/media-alt-modal.jsx:55 113 113 #: src/components/media-modal.jsx:363 114 114 #: src/components/status.jsx:1998 ··· 127 127 msgid "More" 128 128 msgstr "" 129 129 130 - #: src/components/account-info.jsx:474 130 + #: src/components/account-info.jsx:469 131 131 msgid "<0>{displayName}</0> has indicated that their new account is now:" 132 132 msgstr "" 133 133 134 - #: src/components/account-info.jsx:619 135 - #: src/components/account-info.jsx:1464 134 + #: src/components/account-info.jsx:614 135 + #: src/components/account-info.jsx:1459 136 136 msgid "Handle copied" 137 137 msgstr "Handle copied" 138 138 139 - #: src/components/account-info.jsx:622 140 - #: src/components/account-info.jsx:1467 139 + #: src/components/account-info.jsx:617 140 + #: src/components/account-info.jsx:1462 141 141 msgid "Unable to copy handle" 142 142 msgstr "Unable to copy handle" 143 143 144 - #: src/components/account-info.jsx:628 145 - #: src/components/account-info.jsx:1473 144 + #: src/components/account-info.jsx:623 145 + #: src/components/account-info.jsx:1468 146 146 msgid "Copy handle" 147 147 msgstr "" 148 148 149 - #: src/components/account-info.jsx:634 149 + #: src/components/account-info.jsx:629 150 150 msgid "Go to original profile page" 151 151 msgstr "" 152 152 153 - #: src/components/account-info.jsx:652 153 + #: src/components/account-info.jsx:647 154 154 msgid "View profile image" 155 155 msgstr "" 156 156 157 - #: src/components/account-info.jsx:670 157 + #: src/components/account-info.jsx:665 158 158 msgid "View profile header" 159 159 msgstr "" 160 160 161 - #: src/components/account-info.jsx:686 162 - #: src/components/account-info.jsx:1774 163 - #: src/components/account-info.jsx:2300 161 + #: src/components/account-info.jsx:681 162 + #: src/components/account-info.jsx:1769 163 + #: src/components/account-info.jsx:2295 164 164 msgid "Edit profile" 165 165 msgstr "" 166 166 167 - #: src/components/account-info.jsx:705 167 + #: src/components/account-info.jsx:700 168 168 msgid "In Memoriam" 169 169 msgstr "" 170 170 171 - #: src/components/account-info.jsx:787 172 - #: src/components/account-info.jsx:830 171 + #: src/components/account-info.jsx:782 172 + #: src/components/account-info.jsx:825 173 173 msgid "This user has chosen to not make this information available." 174 174 msgstr "This user has chosen to not make this information available." 175 175 176 176 #. placeholder {0}: ( postingStats.originals / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', }) 177 177 #. placeholder {1}: ( postingStats.replies / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', }) 178 178 #. placeholder {2}: ( postingStats.boosts / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', }) 179 - #: src/components/account-info.jsx:885 179 + #: src/components/account-info.jsx:880 180 180 msgid "{0} original posts, {1} replies, {2} boosts" 181 181 msgstr "{0} original posts, {1} replies, {2} boosts" 182 182 ··· 187 187 #. placeholder {4}: postingStats.total 188 188 #. placeholder {5}: postingStats.total 189 189 #. placeholder {6}: postingStats.daysSinceLastPost 190 - #: src/components/account-info.jsx:901 190 + #: src/components/account-info.jsx:896 191 191 msgid "{0, plural, one {{1, plural, one {Last 1 post in the past 1 day} other {Last 1 post in the past {2} days}}} other {{3, plural, one {Last {4} posts in the past 1 day} other {Last {5} posts in the past {6} days}}}}" 192 192 msgstr "" 193 193 194 194 #. placeholder {0}: postingStats.total 195 195 #. placeholder {1}: postingStats.total 196 - #: src/components/account-info.jsx:917 196 + #: src/components/account-info.jsx:912 197 197 msgid "{0, plural, one {Last 1 post in the past year(s)} other {Last {1} posts in the past year(s)}}" 198 198 msgstr "" 199 199 200 - #: src/components/account-info.jsx:942 200 + #: src/components/account-info.jsx:937 201 201 #: src/pages/catchup.jsx:70 202 202 msgid "Original" 203 203 msgstr "" 204 204 205 - #: src/components/account-info.jsx:946 205 + #: src/components/account-info.jsx:941 206 206 #: src/components/status.jsx:2553 207 207 #: src/pages/catchup.jsx:71 208 208 #: src/pages/catchup.jsx:1448 ··· 212 212 msgid "Replies" 213 213 msgstr "" 214 214 215 - #: src/components/account-info.jsx:950 215 + #: src/components/account-info.jsx:945 216 216 #: src/pages/catchup.jsx:72 217 217 #: src/pages/catchup.jsx:1450 218 218 #: src/pages/catchup.jsx:2073 ··· 220 220 msgid "Boosts" 221 221 msgstr "" 222 222 223 - #: src/components/account-info.jsx:956 223 + #: src/components/account-info.jsx:951 224 224 msgid "Post stats unavailable." 225 225 msgstr "" 226 226 227 - #: src/components/account-info.jsx:987 227 + #: src/components/account-info.jsx:982 228 228 msgid "View post stats" 229 229 msgstr "" 230 230 231 231 #. placeholder {0}: niceDateTime(lastStatusAt, { hideTime: true, }) 232 - #: src/components/account-info.jsx:1184 232 + #: src/components/account-info.jsx:1179 233 233 msgid "Last post: <0>{0}</0>" 234 234 msgstr "" 235 235 236 - #: src/components/account-info.jsx:1198 236 + #: src/components/account-info.jsx:1193 237 237 msgid "Muted" 238 238 msgstr "" 239 239 240 - #: src/components/account-info.jsx:1203 240 + #: src/components/account-info.jsx:1198 241 241 msgid "Blocked" 242 242 msgstr "" 243 243 244 - #: src/components/account-info.jsx:1212 244 + #: src/components/account-info.jsx:1207 245 245 msgid "Private note" 246 246 msgstr "Private note" 247 247 248 - #: src/components/account-info.jsx:1269 248 + #: src/components/account-info.jsx:1264 249 249 msgid "Mention <0>@{username}</0>" 250 250 msgstr "" 251 251 252 - #: src/components/account-info.jsx:1281 252 + #: src/components/account-info.jsx:1276 253 253 msgid "Translate bio" 254 254 msgstr "" 255 255 256 - #: src/components/account-info.jsx:1292 256 + #: src/components/account-info.jsx:1287 257 257 msgid "Edit private note" 258 258 msgstr "Edit private note" 259 259 260 - #: src/components/account-info.jsx:1292 260 + #: src/components/account-info.jsx:1287 261 261 msgid "Add private note" 262 262 msgstr "Add private note" 263 263 264 - #: src/components/account-info.jsx:1312 264 + #: src/components/account-info.jsx:1307 265 265 msgid "Notifications enabled for @{username}'s posts." 266 266 msgstr "Notifications enabled for @{username}'s posts." 267 267 268 - #: src/components/account-info.jsx:1313 268 + #: src/components/account-info.jsx:1308 269 269 msgid " Notifications disabled for @{username}'s posts." 270 270 msgstr " Notifications disabled for @{username}'s posts." 271 271 272 - #: src/components/account-info.jsx:1325 272 + #: src/components/account-info.jsx:1320 273 273 msgid "Disable notifications" 274 274 msgstr "Disable notifications" 275 275 276 - #: src/components/account-info.jsx:1326 276 + #: src/components/account-info.jsx:1321 277 277 msgid "Enable notifications" 278 278 msgstr "Enable notifications" 279 279 280 - #: src/components/account-info.jsx:1343 280 + #: src/components/account-info.jsx:1338 281 281 msgid "Boosts from @{username} enabled." 282 282 msgstr "Boosts from @{username} enabled." 283 283 284 - #: src/components/account-info.jsx:1344 284 + #: src/components/account-info.jsx:1339 285 285 msgid "Boosts from @{username} disabled." 286 286 msgstr "Boosts from @{username} disabled." 287 287 288 - #: src/components/account-info.jsx:1355 288 + #: src/components/account-info.jsx:1350 289 289 msgid "Disable boosts" 290 290 msgstr "Disable boosts" 291 291 292 - #: src/components/account-info.jsx:1355 292 + #: src/components/account-info.jsx:1350 293 293 msgid "Enable boosts" 294 294 msgstr "Enable boosts" 295 295 296 - #: src/components/account-info.jsx:1374 296 + #: src/components/account-info.jsx:1369 297 297 msgid "@{username} is no longer featured on your profile." 298 298 msgstr "@{username} is no longer featured on your profile." 299 299 300 - #: src/components/account-info.jsx:1384 300 + #: src/components/account-info.jsx:1379 301 301 msgid "@{username} is now featured on your profile." 302 302 msgstr "@{username} is now featured on your profile." 303 303 304 - #: src/components/account-info.jsx:1392 304 + #: src/components/account-info.jsx:1387 305 305 msgid "Unable to unfeature @{username} on your profile." 306 306 msgstr "Unable to unfeature @{username} on your profile." 307 307 308 - #: src/components/account-info.jsx:1396 308 + #: src/components/account-info.jsx:1391 309 309 msgid "Unable to feature @{username} on your profile." 310 310 msgstr "Unable to feature @{username} on your profile." 311 311 312 - #: src/components/account-info.jsx:1405 312 + #: src/components/account-info.jsx:1400 313 313 msgid "Don't feature on profile" 314 314 msgstr "Don't feature on profile" 315 315 316 - #: src/components/account-info.jsx:1406 316 + #: src/components/account-info.jsx:1401 317 317 #: src/pages/hashtag.jsx:333 318 318 msgid "Feature on profile" 319 319 msgstr "" 320 320 321 - #: src/components/account-info.jsx:1415 321 + #: src/components/account-info.jsx:1410 322 322 msgid "Show featured profiles" 323 323 msgstr "Show featured profiles" 324 324 325 - #: src/components/account-info.jsx:1430 326 - #: src/components/account-info.jsx:1440 327 - #: src/components/account-info.jsx:2046 325 + #: src/components/account-info.jsx:1425 326 + #: src/components/account-info.jsx:1435 327 + #: src/components/account-info.jsx:2041 328 328 msgid "Add/Remove from Lists" 329 329 msgstr "" 330 330 331 - #: src/components/account-info.jsx:1490 331 + #: src/components/account-info.jsx:1485 332 332 #: src/components/status.jsx:1420 333 333 msgid "Link copied" 334 334 msgstr "" 335 335 336 - #: src/components/account-info.jsx:1493 336 + #: src/components/account-info.jsx:1488 337 337 #: src/components/status.jsx:1423 338 338 msgid "Unable to copy link" 339 339 msgstr "" 340 340 341 - #: src/components/account-info.jsx:1499 341 + #: src/components/account-info.jsx:1494 342 342 #: src/components/shortcuts-settings.jsx:1059 343 343 #: src/components/status.jsx:1429 344 344 #: src/components/status.jsx:3547 345 345 msgid "Copy" 346 346 msgstr "" 347 347 348 - #: src/components/account-info.jsx:1514 348 + #: src/components/account-info.jsx:1509 349 349 #: src/components/shortcuts-settings.jsx:1077 350 350 #: src/components/status.jsx:1445 351 351 msgid "Sharing doesn't seem to work." 352 352 msgstr "" 353 353 354 - #: src/components/account-info.jsx:1520 354 + #: src/components/account-info.jsx:1515 355 355 #: src/components/status.jsx:1451 356 356 msgid "Share…" 357 357 msgstr "" 358 358 359 - #: src/components/account-info.jsx:1540 359 + #: src/components/account-info.jsx:1535 360 360 msgid "Unmuted @{username}" 361 361 msgstr "Unmuted @{username}" 362 362 363 - #: src/components/account-info.jsx:1552 363 + #: src/components/account-info.jsx:1547 364 364 msgid "Unmute <0>@{username}</0>" 365 365 msgstr "" 366 366 367 - #: src/components/account-info.jsx:1568 367 + #: src/components/account-info.jsx:1563 368 368 msgid "Mute <0>@{username}</0>…" 369 369 msgstr "" 370 370 371 371 #. placeholder {0}: typeof MUTE_DURATIONS_LABELS[duration] === 'function' ? MUTE_DURATIONS_LABELS[duration]() : _(MUTE_DURATIONS_LABELS[duration]) 372 - #: src/components/account-info.jsx:1600 372 + #: src/components/account-info.jsx:1595 373 373 msgid "Muted @{username} for {0}" 374 374 msgstr "Muted @{username} for {0}" 375 375 376 - #: src/components/account-info.jsx:1612 376 + #: src/components/account-info.jsx:1607 377 377 msgid "Unable to mute @{username}" 378 378 msgstr "Unable to mute @{username}" 379 379 380 - #: src/components/account-info.jsx:1633 380 + #: src/components/account-info.jsx:1628 381 381 msgid "Remove <0>@{username}</0> from followers?" 382 382 msgstr "" 383 383 384 - #: src/components/account-info.jsx:1653 384 + #: src/components/account-info.jsx:1648 385 385 msgid "@{username} removed from followers" 386 386 msgstr "@{username} removed from followers" 387 387 388 - #: src/components/account-info.jsx:1665 388 + #: src/components/account-info.jsx:1660 389 389 msgid "Remove follower…" 390 390 msgstr "" 391 391 392 - #: src/components/account-info.jsx:1676 392 + #: src/components/account-info.jsx:1671 393 393 msgid "Block <0>@{username}</0>?" 394 394 msgstr "" 395 395 396 - #: src/components/account-info.jsx:1700 396 + #: src/components/account-info.jsx:1695 397 397 msgid "Unblocked @{username}" 398 398 msgstr "Unblocked @{username}" 399 399 400 - #: src/components/account-info.jsx:1708 400 + #: src/components/account-info.jsx:1703 401 401 msgid "Blocked @{username}" 402 402 msgstr "Blocked @{username}" 403 403 404 - #: src/components/account-info.jsx:1716 404 + #: src/components/account-info.jsx:1711 405 405 msgid "Unable to unblock @{username}" 406 406 msgstr "Unable to unblock @{username}" 407 407 408 - #: src/components/account-info.jsx:1718 408 + #: src/components/account-info.jsx:1713 409 409 msgid "Unable to block @{username}" 410 410 msgstr "Unable to block @{username}" 411 411 412 - #: src/components/account-info.jsx:1728 412 + #: src/components/account-info.jsx:1723 413 413 msgid "Unblock <0>@{username}</0>" 414 414 msgstr "" 415 415 416 - #: src/components/account-info.jsx:1737 416 + #: src/components/account-info.jsx:1732 417 417 msgid "Block <0>@{username}</0>…" 418 418 msgstr "" 419 419 420 - #: src/components/account-info.jsx:1754 420 + #: src/components/account-info.jsx:1749 421 421 msgid "Report <0>@{username}</0>…" 422 422 msgstr "" 423 423 424 - #: src/components/account-info.jsx:1810 424 + #: src/components/account-info.jsx:1805 425 425 msgid "Withdraw follow request?" 426 426 msgstr "Withdraw follow request?" 427 427 428 428 #. placeholder {0}: info.acct || info.username 429 - #: src/components/account-info.jsx:1811 429 + #: src/components/account-info.jsx:1806 430 430 msgid "Unfollow @{0}?" 431 431 msgstr "Unfollow @{0}?" 432 432 433 - #: src/components/account-info.jsx:1869 433 + #: src/components/account-info.jsx:1864 434 434 msgid "Unfollow…" 435 435 msgstr "" 436 436 437 - #: src/components/account-info.jsx:1878 437 + #: src/components/account-info.jsx:1873 438 438 msgid "Withdraw…" 439 439 msgstr "" 440 440 441 - #: src/components/account-info.jsx:1885 442 - #: src/components/account-info.jsx:1889 441 + #: src/components/account-info.jsx:1880 442 + #: src/components/account-info.jsx:1884 443 443 #: src/pages/hashtag.jsx:265 444 444 msgid "Follow" 445 445 msgstr "" 446 446 447 - #: src/components/account-info.jsx:1986 448 - #: src/components/account-info.jsx:2041 449 - #: src/components/account-info.jsx:2175 450 - #: src/components/account-info.jsx:2295 447 + #: src/components/account-info.jsx:1981 448 + #: src/components/account-info.jsx:2036 449 + #: src/components/account-info.jsx:2170 450 + #: src/components/account-info.jsx:2290 451 451 #: src/components/account-sheet.jsx:38 452 - #: src/components/compose.jsx:891 453 - #: src/components/compose.jsx:2758 454 - #: src/components/compose.jsx:3238 455 - #: src/components/compose.jsx:3447 456 - #: src/components/compose.jsx:3677 452 + #: src/components/compose.jsx:892 453 + #: src/components/compose.jsx:2773 454 + #: src/components/compose.jsx:3253 455 + #: src/components/compose.jsx:3462 456 + #: src/components/compose.jsx:3692 457 457 #: src/components/drafts.jsx:59 458 458 #: src/components/embed-modal.jsx:13 459 459 #: src/components/generic-accounts.jsx:151 ··· 480 480 msgid "Close" 481 481 msgstr "" 482 482 483 - #: src/components/account-info.jsx:1991 483 + #: src/components/account-info.jsx:1986 484 484 msgid "Translated Bio" 485 485 msgstr "" 486 486 487 - #: src/components/account-info.jsx:2086 487 + #: src/components/account-info.jsx:2081 488 488 msgid "Unable to remove from list." 489 489 msgstr "Unable to remove from list." 490 490 491 - #: src/components/account-info.jsx:2087 491 + #: src/components/account-info.jsx:2082 492 492 msgid "Unable to add to list." 493 493 msgstr "Unable to add to list." 494 494 495 - #: src/components/account-info.jsx:2106 495 + #: src/components/account-info.jsx:2101 496 496 #: src/pages/lists.jsx:131 497 497 msgid "Unable to load lists." 498 498 msgstr "" 499 499 500 - #: src/components/account-info.jsx:2110 500 + #: src/components/account-info.jsx:2105 501 501 msgid "No lists." 502 502 msgstr "" 503 503 504 - #: src/components/account-info.jsx:2121 504 + #: src/components/account-info.jsx:2116 505 505 #: src/components/list-add-edit.jsx:41 506 506 #: src/pages/lists.jsx:62 507 507 msgid "New list" 508 508 msgstr "" 509 509 510 510 #. placeholder {0}: account?.username || account?.acct 511 - #: src/components/account-info.jsx:2180 511 + #: src/components/account-info.jsx:2175 512 512 msgid "Private note about <0>@{0}</0>" 513 513 msgstr "" 514 514 515 - #: src/components/account-info.jsx:2210 515 + #: src/components/account-info.jsx:2205 516 516 msgid "Unable to update private note." 517 517 msgstr "Unable to update private note." 518 518 519 - #: src/components/account-info.jsx:2233 520 - #: src/components/account-info.jsx:2531 519 + #: src/components/account-info.jsx:2228 520 + #: src/components/account-info.jsx:2526 521 521 msgid "Cancel" 522 522 msgstr "" 523 523 524 - #: src/components/account-info.jsx:2238 524 + #: src/components/account-info.jsx:2233 525 525 msgid "Save & close" 526 526 msgstr "" 527 527 528 - #: src/components/account-info.jsx:2355 528 + #: src/components/account-info.jsx:2350 529 529 msgid "Unable to update profile." 530 530 msgstr "Unable to update profile." 531 531 532 - #: src/components/account-info.jsx:2362 532 + #: src/components/account-info.jsx:2357 533 533 msgid "Header picture" 534 534 msgstr "Header picture" 535 535 536 - #: src/components/account-info.jsx:2414 536 + #: src/components/account-info.jsx:2409 537 537 msgid "Profile picture" 538 538 msgstr "Profile picture" 539 539 540 - #: src/components/account-info.jsx:2466 540 + #: src/components/account-info.jsx:2461 541 541 #: src/components/list-add-edit.jsx:106 542 542 msgid "Name" 543 543 msgstr "" 544 544 545 - #: src/components/account-info.jsx:2479 545 + #: src/components/account-info.jsx:2474 546 546 msgid "Bio" 547 547 msgstr "" 548 548 549 - #: src/components/account-info.jsx:2492 549 + #: src/components/account-info.jsx:2487 550 550 msgid "Extra fields" 551 551 msgstr "" 552 552 553 - #: src/components/account-info.jsx:2498 553 + #: src/components/account-info.jsx:2493 554 554 msgid "Label" 555 555 msgstr "" 556 556 557 - #: src/components/account-info.jsx:2501 557 + #: src/components/account-info.jsx:2496 558 558 msgid "Content" 559 559 msgstr "" 560 560 561 - #: src/components/account-info.jsx:2534 561 + #: src/components/account-info.jsx:2529 562 562 #: src/components/list-add-edit.jsx:152 563 563 #: src/components/shortcuts-settings.jsx:715 564 564 #: src/pages/filters.jsx:570 ··· 566 566 msgid "Save" 567 567 msgstr "" 568 568 569 - #: src/components/account-info.jsx:2588 569 + #: src/components/account-info.jsx:2583 570 570 msgid "username" 571 571 msgstr "" 572 572 573 - #: src/components/account-info.jsx:2592 573 + #: src/components/account-info.jsx:2587 574 574 msgid "server domain name" 575 575 msgstr "" 576 576 577 577 #. placeholder {0}: info.username 578 - #: src/components/account-info.jsx:2658 578 + #: src/components/account-info.jsx:2653 579 579 msgid "Profiles featured by @{0}" 580 580 msgstr "Profiles featured by @{0}" 581 581 582 - #: src/components/account-info.jsx:2684 582 + #: src/components/account-info.jsx:2679 583 583 msgid "No featured profiles." 584 584 msgstr "No featured profiles." 585 585 ··· 620 620 msgid "Add to thread" 621 621 msgstr "Add to thread" 622 622 623 - #: src/components/compose.jsx:211 623 + #: src/components/compose.jsx:212 624 624 msgid "Take photo or video" 625 625 msgstr "Take photo or video" 626 626 627 - #: src/components/compose.jsx:212 627 + #: src/components/compose.jsx:213 628 628 msgid "Add media" 629 629 msgstr "Add media" 630 630 631 - #: src/components/compose.jsx:213 631 + #: src/components/compose.jsx:214 632 632 msgid "Add custom emoji" 633 633 msgstr "" 634 634 635 - #: src/components/compose.jsx:214 635 + #: src/components/compose.jsx:215 636 636 msgid "Add GIF" 637 637 msgstr "Add GIF" 638 638 639 - #: src/components/compose.jsx:215 639 + #: src/components/compose.jsx:216 640 640 msgid "Add poll" 641 641 msgstr "" 642 642 643 - #: src/components/compose.jsx:216 643 + #: src/components/compose.jsx:217 644 644 msgid "Schedule post" 645 645 msgstr "Schedule post" 646 646 647 - #: src/components/compose.jsx:416 647 + #: src/components/compose.jsx:417 648 648 msgid "You have unsaved changes. Discard this post?" 649 649 msgstr "You have unsaved changes. Discard this post?" 650 650 651 651 #. placeholder {0}: unsupportedFiles.length 652 652 #. placeholder {1}: unsupportedFiles[0].name 653 653 #. placeholder {2}: lf.format( unsupportedFiles.map((f) => f.name), ) 654 - #: src/components/compose.jsx:654 654 + #: src/components/compose.jsx:655 655 655 msgid "{0, plural, one {File {1} is not supported.} other {Files {2} are not supported.}}" 656 656 msgstr "{0, plural, one {File {1} is not supported.} other {Files {2} are not supported.}}" 657 657 658 - #: src/components/compose.jsx:664 659 - #: src/components/compose.jsx:682 660 - #: src/components/compose.jsx:1794 661 - #: src/components/compose.jsx:1929 658 + #: src/components/compose.jsx:665 659 + #: src/components/compose.jsx:683 660 + #: src/components/compose.jsx:1795 661 + #: src/components/compose.jsx:1930 662 662 msgid "{maxMediaAttachments, plural, one {You can only attach up to 1 file.} other {You can only attach up to # files.}}" 663 663 msgstr "" 664 664 665 - #: src/components/compose.jsx:872 665 + #: src/components/compose.jsx:873 666 666 msgid "Pop out" 667 667 msgstr "Pop out" 668 668 669 - #: src/components/compose.jsx:879 669 + #: src/components/compose.jsx:880 670 670 msgid "Minimize" 671 671 msgstr "Minimize" 672 672 673 - #: src/components/compose.jsx:915 673 + #: src/components/compose.jsx:916 674 674 msgid "Looks like you closed the parent window." 675 675 msgstr "Looks like you closed the parent window." 676 676 677 - #: src/components/compose.jsx:922 677 + #: src/components/compose.jsx:923 678 678 msgid "Looks like you already have a compose field open in the parent window and currently publishing. Please wait for it to be done and try again later." 679 679 msgstr "Looks like you already have a compose field open in the parent window and currently publishing. Please wait for it to be done and try again later." 680 680 681 - #: src/components/compose.jsx:927 681 + #: src/components/compose.jsx:928 682 682 msgid "Looks like you already have a compose field open in the parent window. Popping in this window will discard the changes you made in the parent window. Continue?" 683 683 msgstr "Looks like you already have a compose field open in the parent window. Popping in this window will discard the changes you made in the parent window. Continue?" 684 684 685 - #: src/components/compose.jsx:970 685 + #: src/components/compose.jsx:971 686 686 msgid "Pop in" 687 687 msgstr "Pop in" 688 688 689 689 #. placeholder {0}: replyToStatus.account.acct || replyToStatus.account.username 690 690 #. placeholder {1}: rtf.format(-replyToStatusMonthsAgo, 'month') 691 - #: src/components/compose.jsx:980 691 + #: src/components/compose.jsx:981 692 692 msgid "Replying to @{0}’s post (<0>{1}</0>)" 693 693 msgstr "" 694 694 695 695 #. placeholder {0}: replyToStatus.account.acct || replyToStatus.account.username 696 - #: src/components/compose.jsx:990 696 + #: src/components/compose.jsx:991 697 697 msgid "Replying to @{0}’s post" 698 698 msgstr "" 699 699 700 - #: src/components/compose.jsx:1003 700 + #: src/components/compose.jsx:1004 701 701 msgid "Editing source post" 702 702 msgstr "" 703 703 704 - #: src/components/compose.jsx:1056 704 + #: src/components/compose.jsx:1057 705 705 msgid "Poll must have at least 2 options" 706 706 msgstr "Poll must have at least 2 options" 707 707 708 - #: src/components/compose.jsx:1060 708 + #: src/components/compose.jsx:1061 709 709 msgid "Some poll choices are empty" 710 710 msgstr "Some poll choices are empty" 711 711 712 - #: src/components/compose.jsx:1073 712 + #: src/components/compose.jsx:1074 713 713 msgid "Some media have no descriptions. Continue?" 714 714 msgstr "Some media have no descriptions. Continue?" 715 715 716 - #: src/components/compose.jsx:1125 716 + #: src/components/compose.jsx:1126 717 717 msgid "Attachment #{i} failed" 718 718 msgstr "Attachment #{i} failed" 719 719 720 - #: src/components/compose.jsx:1221 720 + #: src/components/compose.jsx:1222 721 721 #: src/components/status.jsx:2328 722 722 #: src/components/timeline.jsx:1023 723 723 msgid "Content warning" 724 724 msgstr "" 725 725 726 - #: src/components/compose.jsx:1237 726 + #: src/components/compose.jsx:1238 727 727 msgid "Content warning or sensitive media" 728 728 msgstr "Content warning or sensitive media" 729 729 730 - #: src/components/compose.jsx:1273 730 + #: src/components/compose.jsx:1274 731 731 #: src/components/status.jsx:99 732 732 #: src/pages/settings.jsx:318 733 733 msgid "Public" 734 734 msgstr "" 735 735 736 - #: src/components/compose.jsx:1278 736 + #: src/components/compose.jsx:1279 737 737 #: src/components/nav-menu.jsx:349 738 738 #: src/components/shortcuts-settings.jsx:165 739 739 #: src/components/status.jsx:100 740 740 msgid "Local" 741 741 msgstr "" 742 742 743 - #: src/components/compose.jsx:1282 743 + #: src/components/compose.jsx:1283 744 744 #: src/components/status.jsx:101 745 745 #: src/pages/settings.jsx:321 746 746 msgid "Unlisted" 747 747 msgstr "" 748 748 749 - #: src/components/compose.jsx:1285 749 + #: src/components/compose.jsx:1286 750 750 #: src/components/status.jsx:102 751 751 #: src/pages/settings.jsx:324 752 752 msgid "Followers only" 753 753 msgstr "" 754 754 755 - #: src/components/compose.jsx:1288 755 + #: src/components/compose.jsx:1289 756 756 #: src/components/status.jsx:103 757 757 #: src/components/status.jsx:2204 758 758 msgid "Private mention" 759 759 msgstr "" 760 760 761 - #: src/components/compose.jsx:1297 761 + #: src/components/compose.jsx:1298 762 762 msgid "Post your reply" 763 763 msgstr "Post your reply" 764 764 765 - #: src/components/compose.jsx:1299 765 + #: src/components/compose.jsx:1300 766 766 msgid "Edit your post" 767 767 msgstr "Edit your post" 768 768 769 - #: src/components/compose.jsx:1300 769 + #: src/components/compose.jsx:1301 770 770 msgid "What are you doing?" 771 771 msgstr "What are you doing?" 772 772 773 - #: src/components/compose.jsx:1379 773 + #: src/components/compose.jsx:1380 774 774 msgid "Mark media as sensitive" 775 775 msgstr "" 776 776 777 - #: src/components/compose.jsx:1416 777 + #: src/components/compose.jsx:1417 778 778 msgid "Posting on <0/>" 779 779 msgstr "Posting on <0/>" 780 780 781 - #: src/components/compose.jsx:1447 782 - #: src/components/compose.jsx:3296 781 + #: src/components/compose.jsx:1448 782 + #: src/components/compose.jsx:3311 783 783 #: src/components/shortcuts-settings.jsx:715 784 784 #: src/pages/list.jsx:388 785 785 msgid "Add" 786 786 msgstr "" 787 787 788 - #: src/components/compose.jsx:1675 788 + #: src/components/compose.jsx:1676 789 789 msgid "Schedule" 790 790 msgstr "Schedule" 791 791 792 - #: src/components/compose.jsx:1677 792 + #: src/components/compose.jsx:1678 793 793 #: src/components/keyboard-shortcuts-help.jsx:155 794 794 #: src/components/status.jsx:1192 795 795 #: src/components/status.jsx:1978 ··· 798 798 msgid "Reply" 799 799 msgstr "" 800 800 801 - #: src/components/compose.jsx:1679 801 + #: src/components/compose.jsx:1680 802 802 msgid "Update" 803 803 msgstr "Update" 804 804 805 - #: src/components/compose.jsx:1680 805 + #: src/components/compose.jsx:1681 806 806 msgctxt "Submit button in composer" 807 807 msgid "Post" 808 808 msgstr "Post" 809 809 810 - #: src/components/compose.jsx:1806 810 + #: src/components/compose.jsx:1807 811 811 msgid "Downloading GIF…" 812 812 msgstr "Downloading GIF…" 813 813 814 - #: src/components/compose.jsx:1834 814 + #: src/components/compose.jsx:1835 815 815 msgid "Failed to download GIF" 816 816 msgstr "Failed to download GIF" 817 817 818 - #: src/components/compose.jsx:2059 819 - #: src/components/compose.jsx:2136 818 + #: src/components/compose.jsx:2060 819 + #: src/components/compose.jsx:2151 820 820 #: src/components/nav-menu.jsx:244 821 821 msgid "More…" 822 822 msgstr "" 823 823 824 - #: src/components/compose.jsx:2572 824 + #: src/components/compose.jsx:2587 825 825 msgid "Uploaded" 826 826 msgstr "" 827 827 828 - #: src/components/compose.jsx:2585 828 + #: src/components/compose.jsx:2600 829 829 msgid "Image description" 830 830 msgstr "Image description" 831 831 832 - #: src/components/compose.jsx:2586 832 + #: src/components/compose.jsx:2601 833 833 msgid "Video description" 834 834 msgstr "Video description" 835 835 836 - #: src/components/compose.jsx:2587 836 + #: src/components/compose.jsx:2602 837 837 msgid "Audio description" 838 838 msgstr "Audio description" 839 839 ··· 841 841 #. placeholder {0}: prettyBytes( videoSize, ) 842 842 #. placeholder {1}: prettyBytes(imageSizeLimit) 843 843 #. placeholder {1}: prettyBytes(videoSizeLimit) 844 - #: src/components/compose.jsx:2622 845 - #: src/components/compose.jsx:2642 844 + #: src/components/compose.jsx:2637 845 + #: src/components/compose.jsx:2657 846 846 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." 847 847 msgstr "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." 848 848 ··· 850 850 #. placeholder {1}: i18n.number(height) 851 851 #. placeholder {2}: i18n.number(newWidth) 852 852 #. placeholder {3}: i18n.number( newHeight, ) 853 - #: src/components/compose.jsx:2634 854 - #: src/components/compose.jsx:2654 853 + #: src/components/compose.jsx:2649 854 + #: src/components/compose.jsx:2669 855 855 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {0}×{1}px to {2}×{3}px." 856 856 msgstr "Dimension too large. Uploading might encounter issues. Try reduce dimension from {0}×{1}px to {2}×{3}px." 857 857 858 - #: src/components/compose.jsx:2662 858 + #: src/components/compose.jsx:2677 859 859 msgid "Frame rate too high. Uploading might encounter issues." 860 860 msgstr "Frame rate too high. Uploading might encounter issues." 861 861 862 - #: src/components/compose.jsx:2722 863 - #: src/components/compose.jsx:2972 862 + #: src/components/compose.jsx:2737 863 + #: src/components/compose.jsx:2987 864 864 #: src/components/shortcuts-settings.jsx:726 865 865 #: src/pages/catchup.jsx:1081 866 866 #: src/pages/filters.jsx:413 867 867 msgid "Remove" 868 868 msgstr "" 869 869 870 - #: src/components/compose.jsx:2739 870 + #: src/components/compose.jsx:2754 871 871 #: src/compose.jsx:84 872 872 msgid "Error" 873 873 msgstr "" 874 874 875 - #: src/components/compose.jsx:2764 875 + #: src/components/compose.jsx:2779 876 876 msgid "Edit image description" 877 877 msgstr "Edit image description" 878 878 879 - #: src/components/compose.jsx:2765 879 + #: src/components/compose.jsx:2780 880 880 msgid "Edit video description" 881 881 msgstr "Edit video description" 882 882 883 - #: src/components/compose.jsx:2766 883 + #: src/components/compose.jsx:2781 884 884 msgid "Edit audio description" 885 885 msgstr "Edit audio description" 886 886 887 - #: src/components/compose.jsx:2811 888 - #: src/components/compose.jsx:2860 887 + #: src/components/compose.jsx:2826 888 + #: src/components/compose.jsx:2875 889 889 msgid "Generating description. Please wait…" 890 890 msgstr "Generating description. Please wait…" 891 891 892 892 #. placeholder {0}: e.message 893 - #: src/components/compose.jsx:2831 893 + #: src/components/compose.jsx:2846 894 894 msgid "Failed to generate description: {0}" 895 895 msgstr "Failed to generate description: {0}" 896 896 897 - #: src/components/compose.jsx:2832 897 + #: src/components/compose.jsx:2847 898 898 msgid "Failed to generate description" 899 899 msgstr "Failed to generate description" 900 900 901 - #: src/components/compose.jsx:2844 902 - #: src/components/compose.jsx:2850 903 - #: src/components/compose.jsx:2896 901 + #: src/components/compose.jsx:2859 902 + #: src/components/compose.jsx:2865 903 + #: src/components/compose.jsx:2911 904 904 msgid "Generate description…" 905 905 msgstr "" 906 906 907 907 #. placeholder {0}: e?.message ? `: ${e.message}` : '' 908 - #: src/components/compose.jsx:2883 908 + #: src/components/compose.jsx:2898 909 909 msgid "Failed to generate description{0}" 910 910 msgstr "Failed to generate description{0}" 911 911 912 912 #. placeholder {0}: localeCode2Text(lang) 913 - #: src/components/compose.jsx:2898 913 + #: src/components/compose.jsx:2913 914 914 msgid "({0}) <0>— experimental</0>" 915 915 msgstr "" 916 916 917 - #: src/components/compose.jsx:2917 917 + #: src/components/compose.jsx:2932 918 918 msgid "Done" 919 919 msgstr "" 920 920 921 921 #. placeholder {0}: i + 1 922 - #: src/components/compose.jsx:2953 922 + #: src/components/compose.jsx:2968 923 923 msgid "Choice {0}" 924 924 msgstr "Choice {0}" 925 925 926 - #: src/components/compose.jsx:3000 926 + #: src/components/compose.jsx:3015 927 927 msgid "Multiple choices" 928 928 msgstr "" 929 929 930 - #: src/components/compose.jsx:3003 930 + #: src/components/compose.jsx:3018 931 931 msgid "Duration" 932 932 msgstr "" 933 933 934 - #: src/components/compose.jsx:3034 934 + #: src/components/compose.jsx:3049 935 935 msgid "Remove poll" 936 936 msgstr "" 937 937 938 - #: src/components/compose.jsx:3255 938 + #: src/components/compose.jsx:3270 939 939 msgid "Search accounts" 940 940 msgstr "Search accounts" 941 941 942 - #: src/components/compose.jsx:3309 942 + #: src/components/compose.jsx:3324 943 943 #: src/components/generic-accounts.jsx:236 944 944 msgid "Error loading accounts" 945 945 msgstr "" 946 946 947 - #: src/components/compose.jsx:3453 947 + #: src/components/compose.jsx:3468 948 948 msgid "Custom emojis" 949 949 msgstr "" 950 950 951 - #: src/components/compose.jsx:3473 951 + #: src/components/compose.jsx:3488 952 952 msgid "Search emoji" 953 953 msgstr "Search emoji" 954 954 955 - #: src/components/compose.jsx:3504 955 + #: src/components/compose.jsx:3519 956 956 msgid "Error loading custom emojis" 957 957 msgstr "" 958 958 959 - #: src/components/compose.jsx:3515 959 + #: src/components/compose.jsx:3530 960 960 msgid "Recently used" 961 961 msgstr "Recently used" 962 962 963 - #: src/components/compose.jsx:3516 963 + #: src/components/compose.jsx:3531 964 964 msgid "Others" 965 965 msgstr "Others" 966 966 967 967 #. placeholder {0}: i18n.number(emojis.length - max) 968 - #: src/components/compose.jsx:3554 968 + #: src/components/compose.jsx:3569 969 969 msgid "{0} more…" 970 970 msgstr "" 971 971 972 - #: src/components/compose.jsx:3692 972 + #: src/components/compose.jsx:3707 973 973 msgid "Search GIFs" 974 974 msgstr "Search GIFs" 975 975 976 - #: src/components/compose.jsx:3707 976 + #: src/components/compose.jsx:3722 977 977 msgid "Powered by GIPHY" 978 978 msgstr "Powered by GIPHY" 979 979 980 - #: src/components/compose.jsx:3715 980 + #: src/components/compose.jsx:3730 981 981 msgid "Type to search GIFs" 982 982 msgstr "" 983 983 984 - #: src/components/compose.jsx:3813 984 + #: src/components/compose.jsx:3828 985 985 #: src/components/media-modal.jsx:469 986 986 #: src/components/timeline.jsx:927 987 987 msgid "Previous" 988 988 msgstr "" 989 989 990 - #: src/components/compose.jsx:3831 990 + #: src/components/compose.jsx:3846 991 991 #: src/components/media-modal.jsx:488 992 992 #: src/components/timeline.jsx:944 993 993 msgid "Next" 994 994 msgstr "" 995 995 996 - #: src/components/compose.jsx:3848 996 + #: src/components/compose.jsx:3863 997 997 msgid "Error loading GIFs" 998 998 msgstr "" 999 999
+6 -1
src/utils/get-domain.js
··· 1 1 import punycode from 'punycode/'; 2 2 3 - export default function getDomain(url) { 3 + import mem from './mem'; 4 + 5 + function getDomain(url) { 4 6 try { 5 7 return punycode.toUnicode( 6 8 URL.parse(url) ··· 11 13 return ''; // just give up 12 14 } 13 15 } 16 + 17 + // Memoized version of getDomain for better performance 18 + export default mem(getDomain);