diff --git a/package-lock.json b/package-lock.json
index 040f1b3c..b1bcfa70 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -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"
diff --git a/package.json b/package.json
index 8ec05e59..81917824 100644
--- a/package.json
+++ b/package.json
@@ -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",
diff --git a/src/app.jsx b/src/app.jsx
index e4b89603..d8acfdb9 100644
--- a/src/app.jsx
+++ b/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
diff --git a/src/components/compose.jsx b/src/components/compose.jsx
index d25d1ed9..775fd637 100644
--- a/src/components/compose.jsx
+++ b/src/components/compose.jsx
@@ -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',
+ })}
@@ -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;
diff --git a/src/components/menu2.jsx b/src/components/menu2.jsx
index fe79318c..0dbf2a51 100644
--- a/src/components/menu2.jsx
+++ b/src/components/menu2.jsx
@@ -17,8 +17,8 @@ function Menu2(props) {
? align === 'end'
? 'start'
: align === 'start'
- ? 'end'
- : align
+ ? 'end'
+ : align
: align;
return (
diff --git a/src/components/notification.jsx b/src/components/notification.jsx
index 6c497643..25760d28 100644
--- a/src/components/notification.jsx
+++ b/src/components/notification.jsx
@@ -261,9 +261,7 @@ const contentText = {
),
emoji_reaction: emojiText,
'pleroma:emoji_reaction': emojiText,
- annual_report: ({ year }) => (
-