mirror of
https://github.com/cheeaun/phanpy.git
synced 2025-01-22 08:36:21 +01:00
Include Prettier & format everything properly
My bad for not including prettier
This commit is contained in:
parent
4c0bfc332c
commit
e652ce8d9b
16 changed files with 145 additions and 138 deletions
13
package-lock.json
generated
13
package-lock.json
generated
|
@ -58,6 +58,7 @@
|
|||
"postcss": "~8.4.49",
|
||||
"postcss-dark-theme-class": "~1.3.0",
|
||||
"postcss-preset-env": "~10.1.1",
|
||||
"prettier": "3.4.1",
|
||||
"sonda": "~0.6.1",
|
||||
"twitter-text": "~3.1.0",
|
||||
"vite": "~5.4.11",
|
||||
|
@ -8406,17 +8407,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz",
|
||||
"integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==",
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.1.tgz",
|
||||
"integrity": "sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"prettier": "bin-prettier.js"
|
||||
"prettier": "bin/prettier.cjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/prettier/prettier?sponsor=1"
|
||||
|
|
|
@ -66,6 +66,7 @@
|
|||
"postcss": "~8.4.49",
|
||||
"postcss-dark-theme-class": "~1.3.0",
|
||||
"postcss-preset-env": "~10.1.1",
|
||||
"prettier": "3.4.1",
|
||||
"sonda": "~0.6.1",
|
||||
"twitter-text": "~3.1.0",
|
||||
"vite": "~5.4.11",
|
||||
|
|
67
src/app.jsx
67
src/app.jsx
|
@ -27,6 +27,7 @@ import SearchCommand from './components/search-command';
|
|||
import Shortcuts from './components/shortcuts';
|
||||
import NotFound from './pages/404';
|
||||
import AccountStatuses from './pages/account-statuses';
|
||||
import AnnualReport from './pages/annual-report';
|
||||
import Bookmarks from './pages/bookmarks';
|
||||
import Catchup from './pages/catchup';
|
||||
import Favourites from './pages/favourites';
|
||||
|
@ -46,7 +47,6 @@ import Search from './pages/search';
|
|||
import StatusRoute from './pages/status-route';
|
||||
import Trending from './pages/trending';
|
||||
import Welcome from './pages/welcome';
|
||||
import AnnualReport from './pages/annual-report';
|
||||
import {
|
||||
api,
|
||||
hasInstance,
|
||||
|
@ -99,39 +99,42 @@ window.__STATES_STATS__ = () => {
|
|||
// Experimental "garbage collection" for states
|
||||
// Every 15 minutes
|
||||
// Only posts for now
|
||||
setInterval(() => {
|
||||
if (!window.__IDLE__) return;
|
||||
const { statuses, unfurledLinks, notifications } = states;
|
||||
let keysCount = 0;
|
||||
const { instance } = api();
|
||||
for (const key in statuses) {
|
||||
if (!window.__IDLE__) break;
|
||||
try {
|
||||
const $post = document.querySelector(
|
||||
`[data-state-post-id~="${key}"], [data-state-post-ids~="${key}"]`,
|
||||
);
|
||||
const postInNotifications = notifications.some(
|
||||
(n) => key === statusKey(n.status?.id, instance),
|
||||
);
|
||||
if (!$post && !postInNotifications) {
|
||||
delete states.statuses[key];
|
||||
delete states.statusQuotes[key];
|
||||
for (const link in unfurledLinks) {
|
||||
const unfurled = unfurledLinks[link];
|
||||
const sKey = statusKey(unfurled.id, unfurled.instance);
|
||||
if (sKey === key) {
|
||||
delete states.unfurledLinks[link];
|
||||
break;
|
||||
setInterval(
|
||||
() => {
|
||||
if (!window.__IDLE__) return;
|
||||
const { statuses, unfurledLinks, notifications } = states;
|
||||
let keysCount = 0;
|
||||
const { instance } = api();
|
||||
for (const key in statuses) {
|
||||
if (!window.__IDLE__) break;
|
||||
try {
|
||||
const $post = document.querySelector(
|
||||
`[data-state-post-id~="${key}"], [data-state-post-ids~="${key}"]`,
|
||||
);
|
||||
const postInNotifications = notifications.some(
|
||||
(n) => key === statusKey(n.status?.id, instance),
|
||||
);
|
||||
if (!$post && !postInNotifications) {
|
||||
delete states.statuses[key];
|
||||
delete states.statusQuotes[key];
|
||||
for (const link in unfurledLinks) {
|
||||
const unfurled = unfurledLinks[link];
|
||||
const sKey = statusKey(unfurled.id, unfurled.instance);
|
||||
if (sKey === key) {
|
||||
delete states.unfurledLinks[link];
|
||||
break;
|
||||
}
|
||||
}
|
||||
keysCount++;
|
||||
}
|
||||
keysCount++;
|
||||
}
|
||||
} catch (e) {}
|
||||
}
|
||||
if (keysCount) {
|
||||
console.info(`GC: Removed ${keysCount} keys`);
|
||||
}
|
||||
}, 15 * 60 * 1000);
|
||||
} catch (e) {}
|
||||
}
|
||||
if (keysCount) {
|
||||
console.info(`GC: Removed ${keysCount} keys`);
|
||||
}
|
||||
},
|
||||
15 * 60 * 1000,
|
||||
);
|
||||
|
||||
// Preload icons
|
||||
// There's probably a better way to do this
|
||||
|
|
|
@ -1255,8 +1255,8 @@ function Compose({
|
|||
replyToStatus
|
||||
? t`Post your reply`
|
||||
: editStatus
|
||||
? t`Edit your post`
|
||||
: t`What are you doing?`
|
||||
? t`Edit your post`
|
||||
: t`What are you doing?`
|
||||
}
|
||||
required={mediaAttachments?.length === 0}
|
||||
disabled={uiState === 'loading'}
|
||||
|
@ -1554,11 +1554,11 @@ function Compose({
|
|||
{replyToStatus
|
||||
? t`Reply`
|
||||
: editStatus
|
||||
? t`Update`
|
||||
: t({
|
||||
message: 'Post',
|
||||
context: 'Submit button in composer',
|
||||
})}
|
||||
? t`Update`
|
||||
: t({
|
||||
message: 'Post',
|
||||
context: 'Submit button in composer',
|
||||
})}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -2214,10 +2214,10 @@ function CharCountMeter({ maxCharacters = 500, hidden }) {
|
|||
leftChars <= -10
|
||||
? 'explode'
|
||||
: leftChars <= 0
|
||||
? 'danger'
|
||||
: leftChars <= 20
|
||||
? 'warning'
|
||||
: ''
|
||||
? 'danger'
|
||||
: leftChars <= 20
|
||||
? 'warning'
|
||||
: ''
|
||||
}`}
|
||||
value={charCount}
|
||||
max={maxCharacters}
|
||||
|
@ -2846,16 +2846,16 @@ function filterShortcodes(emojis, searchTerm) {
|
|||
return bothStartWith
|
||||
? a.length - b.length
|
||||
: aStartsWith
|
||||
? -1
|
||||
: bStartsWith
|
||||
? 1
|
||||
: bothContain
|
||||
? a.length - b.length
|
||||
: aContains
|
||||
? -1
|
||||
: bContains
|
||||
? 1
|
||||
: 0;
|
||||
? -1
|
||||
: bStartsWith
|
||||
? 1
|
||||
: bothContain
|
||||
? a.length - b.length
|
||||
: aContains
|
||||
? -1
|
||||
: bContains
|
||||
? 1
|
||||
: 0;
|
||||
})
|
||||
.slice(0, 5);
|
||||
}
|
||||
|
@ -3516,8 +3516,8 @@ function GIFPickerModal({ onClose = () => {}, onSelect = () => {} }) {
|
|||
const theImage = fixed_height_small?.url
|
||||
? fixed_height_small
|
||||
: fixed_height_downsampled?.url
|
||||
? fixed_height_downsampled
|
||||
: fixed_height;
|
||||
? fixed_height_downsampled
|
||||
: fixed_height;
|
||||
let { url, webp, width, height } = theImage;
|
||||
if (+height > 100) {
|
||||
width = (width / height) * 100;
|
||||
|
|
|
@ -17,8 +17,8 @@ function Menu2(props) {
|
|||
? align === 'end'
|
||||
? 'start'
|
||||
: align === 'start'
|
||||
? 'end'
|
||||
: align
|
||||
? 'end'
|
||||
: align
|
||||
: align;
|
||||
|
||||
return (
|
||||
|
|
|
@ -261,9 +261,7 @@ const contentText = {
|
|||
),
|
||||
emoji_reaction: emojiText,
|
||||
'pleroma:emoji_reaction': emojiText,
|
||||
annual_report: ({ year }) => (
|
||||
<Trans>Your {year} #Wrapstodon is here!</Trans>
|
||||
),
|
||||
annual_report: ({ year }) => <Trans>Your {year} #Wrapstodon is here!</Trans>,
|
||||
};
|
||||
|
||||
// account_suspension, domain_block, user_domain_block
|
||||
|
@ -537,7 +535,9 @@ function Notification({
|
|||
)}
|
||||
{type === 'annual_report' && (
|
||||
<div>
|
||||
<Link to={`/annual_report/${annualReport?.year}`}><Trans>View #Wrapstodon</Trans></Link>
|
||||
<Link to={`/annual_report/${annualReport?.year}`}>
|
||||
<Trans>View #Wrapstodon</Trans>
|
||||
</Link>
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
|
@ -562,8 +562,8 @@ function Notification({
|
|||
_accounts.length <= 10
|
||||
? 'xxl'
|
||||
: _accounts.length < 20
|
||||
? 'xl'
|
||||
: 'l'
|
||||
? 'xl'
|
||||
: 'l'
|
||||
}
|
||||
key={account.id}
|
||||
alt={`${account.displayName} @${account.acct}`}
|
||||
|
@ -606,8 +606,8 @@ function Notification({
|
|||
const type = /^favourite/.test(key)
|
||||
? 'favourite'
|
||||
: /^reblog/.test(key)
|
||||
? 'reblog'
|
||||
: null;
|
||||
? 'reblog'
|
||||
: null;
|
||||
if (!type) continue;
|
||||
for (const account of _accounts) {
|
||||
const theAccount = accounts.find(
|
||||
|
|
|
@ -996,8 +996,8 @@ function Status({
|
|||
{reblogsCount > 0
|
||||
? shortenNumber(reblogsCount)
|
||||
: reblogged
|
||||
? t`Unboost`
|
||||
: t`Boost…`}
|
||||
? t`Unboost`
|
||||
: t`Boost…`}
|
||||
</span>
|
||||
</MenuConfirm>
|
||||
<MenuItem
|
||||
|
@ -1009,8 +1009,8 @@ function Status({
|
|||
{favouritesCount > 0
|
||||
? shortenNumber(favouritesCount)
|
||||
: favourited
|
||||
? t`Unlike`
|
||||
: t`Like`}
|
||||
? t`Unlike`
|
||||
: t`Like`}
|
||||
</span>
|
||||
</MenuItem>
|
||||
{supports('@mastodon/post-bookmark') && (
|
||||
|
@ -3167,8 +3167,8 @@ function generateHTMLCode(post, instance, level = 0) {
|
|||
} else {
|
||||
mediaHTML = `
|
||||
<a href="${sourceMediaURL}">📄 ${
|
||||
description || sourceMediaURL
|
||||
}</a>
|
||||
description || sourceMediaURL
|
||||
}</a>
|
||||
`;
|
||||
}
|
||||
|
||||
|
@ -3625,12 +3625,12 @@ function FilteredStatus({
|
|||
quoted
|
||||
? ''
|
||||
: isReblog
|
||||
? group
|
||||
? 'status-group'
|
||||
: 'status-reblog'
|
||||
: isFollowedTags
|
||||
? 'status-followed-tags'
|
||||
: ''
|
||||
? group
|
||||
? 'status-group'
|
||||
: 'status-reblog'
|
||||
: isFollowedTags
|
||||
? 'status-followed-tags'
|
||||
: ''
|
||||
}
|
||||
{...containerProps}
|
||||
// title={statusPeekText}
|
||||
|
|
|
@ -189,10 +189,10 @@ function TranslationBlock({
|
|||
{uiState === 'loading'
|
||||
? t`Translating…`
|
||||
: sourceLanguage && sourceLangText && !detectedLang
|
||||
? autoDetected
|
||||
? t`Translate from ${sourceLangText} (auto-detected)`
|
||||
: t`Translate from ${sourceLangText}`
|
||||
: t`Translate`}
|
||||
? autoDetected
|
||||
? t`Translate from ${sourceLangText} (auto-detected)`
|
||||
: t`Translate from ${sourceLangText}`
|
||||
: t`Translate`}
|
||||
</span>
|
||||
</button>
|
||||
</summary>
|
||||
|
@ -221,8 +221,8 @@ function TranslationBlock({
|
|||
{l.code === 'auto'
|
||||
? t`Auto (${detectedLang ?? '…'})`
|
||||
: showCommon
|
||||
? `${native} - ${common}`
|
||||
: native}
|
||||
? `${native} - ${common}`
|
||||
: native}
|
||||
</option>
|
||||
);
|
||||
})}
|
||||
|
|
|
@ -31,10 +31,10 @@ function App() {
|
|||
editStatus
|
||||
? t`Editing source status`
|
||||
: replyToStatus
|
||||
? t`Replying to @${
|
||||
replyToStatus.account?.acct || replyToStatus.account?.username
|
||||
}`
|
||||
: t`Compose`,
|
||||
? t`Replying to @${
|
||||
replyToStatus.account?.acct || replyToStatus.account?.username
|
||||
}`
|
||||
: t`Compose`,
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
|
|
42
src/locales/en.po
generated
42
src/locales/en.po
generated
|
@ -963,7 +963,7 @@ msgid "Nothing to show"
|
|||
msgstr ""
|
||||
|
||||
#: src/components/generic-accounts.jsx:145
|
||||
#: src/components/notification.jsx:446
|
||||
#: src/components/notification.jsx:444
|
||||
#: src/pages/accounts.jsx:41
|
||||
#: src/pages/search.jsx:317
|
||||
#: src/pages/search.jsx:350
|
||||
|
@ -1472,78 +1472,78 @@ msgstr ""
|
|||
msgid "Moderation warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:265
|
||||
#: src/components/notification.jsx:264
|
||||
msgid "Your {year} #Wrapstodon is here!"
|
||||
msgstr "Your {year} #Wrapstodon is here!"
|
||||
|
||||
#: src/components/notification.jsx:272
|
||||
#: src/components/notification.jsx:270
|
||||
msgid "An admin from <0>{from}</0> has suspended <1>{targetName}</1>, which means you can no longer receive updates from them or interact with them."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:278
|
||||
#: src/components/notification.jsx:276
|
||||
msgid "An admin from <0>{from}</0> has blocked <1>{targetName}</1>. Affected followers: {followersCount}, followings: {followingCount}."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:284
|
||||
#: src/components/notification.jsx:282
|
||||
msgid "You have blocked <0>{targetName}</0>. Removed followers: {followersCount}, followings: {followingCount}."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:292
|
||||
#: src/components/notification.jsx:290
|
||||
msgid "Your account has received a moderation warning."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:293
|
||||
#: src/components/notification.jsx:291
|
||||
msgid "Your account has been disabled."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:294
|
||||
#: src/components/notification.jsx:292
|
||||
msgid "Some of your posts have been marked as sensitive."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:295
|
||||
#: src/components/notification.jsx:293
|
||||
msgid "Some of your posts have been deleted."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:296
|
||||
#: src/components/notification.jsx:294
|
||||
msgid "Your posts will be marked as sensitive from now on."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:297
|
||||
#: src/components/notification.jsx:295
|
||||
msgid "Your account has been limited."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:298
|
||||
#: src/components/notification.jsx:296
|
||||
msgid "Your account has been suspended."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:373
|
||||
#: src/components/notification.jsx:371
|
||||
msgid "[Unknown notification type: {type}]"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:442
|
||||
#: src/components/notification.jsx:440
|
||||
#: src/components/status.jsx:1036
|
||||
#: src/components/status.jsx:1046
|
||||
msgid "Boosted/Liked by…"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:443
|
||||
#: src/components/notification.jsx:441
|
||||
msgid "Liked by…"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:444
|
||||
#: src/components/notification.jsx:442
|
||||
msgid "Boosted by…"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:445
|
||||
#: src/components/notification.jsx:443
|
||||
msgid "Followed by…"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:516
|
||||
#: src/components/notification.jsx:532
|
||||
#: src/components/notification.jsx:514
|
||||
#: src/components/notification.jsx:530
|
||||
msgid "Learn more <0/>"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/notification.jsx:540
|
||||
#: src/components/notification.jsx:539
|
||||
msgid "View #Wrapstodon"
|
||||
msgstr "View #Wrapstodon"
|
||||
|
||||
|
@ -2410,7 +2410,7 @@ msgid "Login required."
|
|||
msgstr "Login required."
|
||||
|
||||
#: src/compose.jsx:90
|
||||
#: src/pages/annual-report.jsx:132
|
||||
#: src/pages/annual-report.jsx:136
|
||||
#: src/pages/http-route.jsx:91
|
||||
#: src/pages/login.jsx:270
|
||||
msgid "Go home"
|
||||
|
|
|
@ -64,7 +64,8 @@ export default function AnnualReport() {
|
|||
<tr>
|
||||
{Object.entries(item).map(([k, value]) => (
|
||||
<td>
|
||||
{value && /(accountId)/i.test(k) &&
|
||||
{value &&
|
||||
/(accountId)/i.test(k) &&
|
||||
/^(mostRebloggedAccounts|commonlyInteractedWithAccounts)$/i.test(
|
||||
key,
|
||||
) ? (
|
||||
|
@ -90,14 +91,17 @@ export default function AnnualReport() {
|
|||
<>
|
||||
<dt>{k}</dt>
|
||||
<dd>
|
||||
{value &&
|
||||
<Link to={`/${instance}/s/${value}`}>
|
||||
<Status
|
||||
status={statuses?.find((s) => s.id === value)}
|
||||
size="s"
|
||||
readOnly
|
||||
/>
|
||||
</Link>}
|
||||
{value && (
|
||||
<Link to={`/${instance}/s/${value}`}>
|
||||
<Status
|
||||
status={statuses?.find(
|
||||
(s) => s.id === value,
|
||||
)}
|
||||
size="s"
|
||||
readOnly
|
||||
/>
|
||||
</Link>
|
||||
)}
|
||||
</dd>
|
||||
</>
|
||||
))}
|
||||
|
|
|
@ -1730,10 +1730,10 @@ const PostLine = memo(
|
|||
group
|
||||
? 'group'
|
||||
: reblog
|
||||
? 'reblog'
|
||||
: isFollowedTags?.length
|
||||
? 'followed-tags'
|
||||
: ''
|
||||
? 'reblog'
|
||||
: isFollowedTags?.length
|
||||
? 'followed-tags'
|
||||
: ''
|
||||
} ${isReplyTo ? 'reply-to' : ''} ${
|
||||
isFiltered ? 'filtered' : ''
|
||||
} visibility-${visibility}`}
|
||||
|
@ -1826,8 +1826,8 @@ function postDensity(post) {
|
|||
(mediaAttachments?.length
|
||||
? MEDIA_DENSITY * mediaAttachments.length
|
||||
: card?.image
|
||||
? CARD_DENSITY
|
||||
: 0);
|
||||
? CARD_DENSITY
|
||||
: 0);
|
||||
return density;
|
||||
}
|
||||
|
||||
|
|
|
@ -55,8 +55,8 @@ function Hashtags({ media: mediaView, columnMode, ...props }) {
|
|||
? t`${hashtagTitle} (Media only) on ${instance}`
|
||||
: t`${hashtagTitle} on ${instance}`
|
||||
: media
|
||||
? t`${hashtagTitle} (Media only)`
|
||||
: t`${hashtagTitle}`;
|
||||
? t`${hashtagTitle} (Media only)`
|
||||
: t`${hashtagTitle}`;
|
||||
useTitle(title, `/:instance?/t/:hashtag`);
|
||||
const latestItem = useRef();
|
||||
|
||||
|
|
|
@ -152,10 +152,10 @@ function Login() {
|
|||
const selectedInstanceText = instanceTextLooksLikeDomain
|
||||
? cleanInstanceText
|
||||
: instancesSuggestions?.length
|
||||
? instancesSuggestions[0]
|
||||
: instanceText
|
||||
? instancesList.find((instance) => instance.includes(instanceText))
|
||||
: null;
|
||||
? instancesSuggestions[0]
|
||||
: instanceText
|
||||
? instancesList.find((instance) => instance.includes(instanceText))
|
||||
: null;
|
||||
|
||||
const onSubmit = (e) => {
|
||||
e.preventDefault();
|
||||
|
|
|
@ -13,7 +13,7 @@ function escapeHTML(html) {
|
|||
'&': '&',
|
||||
'<': '<',
|
||||
'>': '>',
|
||||
}[c]),
|
||||
})[c],
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ function statusPeek(status) {
|
|||
video: '📹',
|
||||
audio: '🎵',
|
||||
unknown: '',
|
||||
}[m.type] || ''),
|
||||
})[m.type] || '',
|
||||
)
|
||||
.join('');
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue