From 7ef2930131e56bcf7fb6da7498e030cfa2695e10 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Sun, 29 Dec 2024 00:02:18 +0000
Subject: [PATCH 01/27] Update README.md
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index 1c2f7c07..de9875ac 100644
--- a/README.md
+++ b/README.md
@@ -351,6 +351,7 @@ Costs involved in running and developing this web app:
-
tferrermo (Spanish)
-
tkbremnes (Norwegian Bokmal)
-
tux93 (German)
+-
uzaylul (Turkish)
-
Vac31. (Lithuanian)
-
valtlai (Finnish)
-
vasiriri (Polish)
From 1653bc1e505cca7403f514f6c4a2c5a0ede25956 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Thu, 2 Jan 2025 10:49:51 +0800
Subject: [PATCH 02/27] Bump up Node 20 due to Lingui v5
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index de9875ac..ec8f883d 100644
--- a/README.md
+++ b/README.md
@@ -97,7 +97,7 @@ Everything is designed and engineered following my taste and vision. This is a p
## Development
-Prerequisites: Node.js 18+
+Prerequisites: Node.js 20+
- `npm install` - Install dependencies
- `npm run dev` - Start development server and `messages:extract` (`clean` + ``watch`) in parallel
From 8de0423de4a5c1542e9f8cec08c79039a3524f17 Mon Sep 17 00:00:00 2001
From: Chee Aun
Date: Sun, 5 Jan 2025 21:30:40 +0800
Subject: [PATCH 03/27] i18n updates (cs-CZ) (#1014)
* New translations (Czech)
* Update catalogs.json
---------
Co-authored-by: github-actions[bot]
---
src/data/catalogs.json | 2 +-
src/locales/cs-CZ.po | 154 ++++++++++++++++++++---------------------
2 files changed, 78 insertions(+), 78 deletions(-)
diff --git a/src/data/catalogs.json b/src/data/catalogs.json
index ac841595..dd6a5328 100644
--- a/src/data/catalogs.json
+++ b/src/data/catalogs.json
@@ -15,7 +15,7 @@
"code": "cs-CZ",
"nativeName": "čeština",
"name": "Czech",
- "completion": 74
+ "completion": 77
},
{
"code": "de-DE",
diff --git a/src/locales/cs-CZ.po b/src/locales/cs-CZ.po
index cb93913e..8ab47fad 100644
--- a/src/locales/cs-CZ.po
+++ b/src/locales/cs-CZ.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: cs\n"
"Project-Id-Version: phanpy\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-12-21 12:46\n"
+"PO-Revision-Date: 2025-01-05 13:30\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -113,7 +113,7 @@ msgstr "Příspěvky"
#: src/components/account-info.jsx:429
#: src/components/account-info.jsx:1120
-#: src/components/compose.jsx:2592
+#: src/components/compose.jsx:2624
#: src/components/media-alt-modal.jsx:46
#: src/components/media-modal.jsx:358
#: src/components/status.jsx:1737
@@ -241,7 +241,7 @@ msgstr "Blokováno"
#: src/components/account-info.jsx:1096
msgid "Private note"
-msgstr ""
+msgstr "Soukromá poznámka"
#: src/components/account-info.jsx:1153
msgid "Mention <0>@{username}0>"
@@ -253,43 +253,43 @@ msgstr "Přeložit bio"
#: src/components/account-info.jsx:1176
msgid "Edit private note"
-msgstr ""
+msgstr "Upravit soukromou poznámku"
#: src/components/account-info.jsx:1176
msgid "Add private note"
-msgstr ""
+msgstr "Přidat soukromou poznámku"
#: src/components/account-info.jsx:1196
msgid "Notifications enabled for @{username}'s posts."
-msgstr ""
+msgstr "Upozornění pro příspěvky od @{username} povolena."
#: src/components/account-info.jsx:1197
msgid " Notifications disabled for @{username}'s posts."
-msgstr ""
+msgstr " Upozornění pro příspěvky od @{username} zakázána."
#: src/components/account-info.jsx:1209
msgid "Disable notifications"
-msgstr ""
+msgstr "Vypnout upozornění"
#: src/components/account-info.jsx:1210
msgid "Enable notifications"
-msgstr ""
+msgstr "Zapnout upozornění"
#: src/components/account-info.jsx:1227
msgid "Boosts from @{username} enabled."
-msgstr ""
+msgstr "Boosty od @{username} povoleny."
#: src/components/account-info.jsx:1228
msgid "Boosts from @{username} disabled."
-msgstr ""
+msgstr "Boosty od @{username} zakázány."
#: src/components/account-info.jsx:1239
msgid "Disable boosts"
-msgstr ""
+msgstr "Zakázat boosty"
#: src/components/account-info.jsx:1239
msgid "Enable boosts"
-msgstr ""
+msgstr "Povolit boosty"
#: src/components/account-info.jsx:1255
#: src/components/account-info.jsx:1265
@@ -327,7 +327,7 @@ msgstr "Sdílet…"
#: src/components/account-info.jsx:1354
msgid "Unmuted @{username}"
-msgstr ""
+msgstr "Zrušeno ztlumení @{username}"
#: src/components/account-info.jsx:1366
msgid "Unmute <0>@{username}0>"
@@ -344,7 +344,7 @@ msgstr ""
#: src/components/account-info.jsx:1426
msgid "Unable to mute @{username}"
-msgstr ""
+msgstr "Nelze ztlumit @{username}"
#: src/components/account-info.jsx:1447
msgid "Remove <0>@{username}0> from followers?"
@@ -352,7 +352,7 @@ msgstr "Odstranit <0>@{username}0> ze sledujících?"
#: src/components/account-info.jsx:1467
msgid "@{username} removed from followers"
-msgstr ""
+msgstr "@{username} odebrán/a ze sledujících"
#: src/components/account-info.jsx:1479
msgid "Remove follower…"
@@ -397,12 +397,12 @@ msgstr "Upravit profil"
#: src/components/account-info.jsx:1624
msgid "Withdraw follow request?"
-msgstr ""
+msgstr "Zrušit žádost o sledování?"
#. placeholder {1}: info.acct || info.username
#: src/components/account-info.jsx:1625
msgid "Unfollow @{1}?"
-msgstr ""
+msgstr "Přestat sledovat @{1}?"
#: src/components/account-info.jsx:1676
msgid "Unfollow…"
@@ -424,10 +424,10 @@ msgstr "Sledovat"
#: src/components/account-info.jsx:2098
#: src/components/account-sheet.jsx:38
#: src/components/compose.jsx:859
-#: src/components/compose.jsx:2548
-#: src/components/compose.jsx:3022
-#: src/components/compose.jsx:3231
-#: src/components/compose.jsx:3461
+#: src/components/compose.jsx:2580
+#: src/components/compose.jsx:3054
+#: src/components/compose.jsx:3263
+#: src/components/compose.jsx:3493
#: src/components/drafts.jsx:59
#: src/components/embed-modal.jsx:13
#: src/components/generic-accounts.jsx:143
@@ -459,11 +459,11 @@ msgstr "Přeložit bio"
#: src/components/account-info.jsx:1908
msgid "Unable to remove from list."
-msgstr ""
+msgstr "Nelze odstranit ze seznamu."
#: src/components/account-info.jsx:1909
msgid "Unable to add to list."
-msgstr ""
+msgstr "Nelze přidat do seznamu."
#: src/components/account-info.jsx:1928
#: src/pages/lists.jsx:105
@@ -487,7 +487,7 @@ msgstr "Soukromá poznámka o <0> @{0}0>"
#: src/components/account-info.jsx:2032
msgid "Unable to update private note."
-msgstr ""
+msgstr "Nelze aktualizovat soukromou poznámku."
#: src/components/account-info.jsx:2055
#: src/components/account-info.jsx:2226
@@ -500,7 +500,7 @@ msgstr "Uložit a zavřít"
#: src/components/account-info.jsx:2154
msgid "Unable to update profile."
-msgstr ""
+msgstr "Nelze aktualizovat profil."
#: src/components/account-info.jsx:2161
#: src/components/list-add-edit.jsx:105
@@ -566,7 +566,7 @@ msgstr "Vytvořit"
#: src/components/compose.jsx:206
msgid "Add media"
-msgstr ""
+msgstr "Přidat média"
#: src/components/compose.jsx:207
msgid "Add custom emoji"
@@ -574,7 +574,7 @@ msgstr "Přidat vlastní emoji"
#: src/components/compose.jsx:208
msgid "Add GIF"
-msgstr ""
+msgstr "Přidat GIF"
#: src/components/compose.jsx:209
msgid "Add poll"
@@ -711,7 +711,7 @@ msgid "Mark media as sensitive"
msgstr "Označit média jako citlivá"
#: src/components/compose.jsx:1381
-#: src/components/compose.jsx:3080
+#: src/components/compose.jsx:3112
#: src/components/shortcuts-settings.jsx:715
#: src/pages/list.jsx:362
msgid "Add"
@@ -743,31 +743,31 @@ msgstr "Stahování GIFu…"
msgid "Failed to download GIF"
msgstr "Nepodařilo se stáhnout GIF"
-#: src/components/compose.jsx:1879
-#: src/components/compose.jsx:1956
+#: src/components/compose.jsx:1884
+#: src/components/compose.jsx:1961
#: src/components/nav-menu.jsx:239
msgid "More…"
msgstr "Více…"
-#: src/components/compose.jsx:2361
+#: src/components/compose.jsx:2393
msgid "Uploaded"
msgstr "Odesláno"
-#: src/components/compose.jsx:2374
+#: src/components/compose.jsx:2406
msgid "Image description"
msgstr "Popis obrázku"
-#: src/components/compose.jsx:2375
+#: src/components/compose.jsx:2407
msgid "Video description"
msgstr "Popis videa"
-#: src/components/compose.jsx:2376
+#: src/components/compose.jsx:2408
msgid "Audio description"
msgstr "Popis audia"
#. placeholder {0}: prettyBytes( imageSize, )
#. placeholder {1}: prettyBytes(imageSizeLimit)
-#: src/components/compose.jsx:2412
+#: src/components/compose.jsx:2444
msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower."
msgstr "Velikost souboru je příliš velká. Při nahrávání mohou vzniknout problémy. Zkuste zmenšit velikost souboru z {0} na {1} nebo nižší."
@@ -775,13 +775,13 @@ msgstr "Velikost souboru je příliš velká. Při nahrávání mohou vzniknout
#. placeholder {3}: i18n.number(height)
#. placeholder {4}: i18n.number(newWidth)
#. placeholder {5}: i18n.number( newHeight, )
-#: src/components/compose.jsx:2424
+#: src/components/compose.jsx:2456
msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {2}×{3}px to {4}×{5}px."
msgstr ""
#. placeholder {6}: prettyBytes( videoSize, )
#. placeholder {7}: prettyBytes(videoSizeLimit)
-#: src/components/compose.jsx:2432
+#: src/components/compose.jsx:2464
msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {6} to {7} or lower."
msgstr ""
@@ -789,149 +789,149 @@ msgstr ""
#. placeholder {9}: i18n.number(height)
#. placeholder {10}: i18n.number(newWidth)
#. placeholder {11}: i18n.number( newHeight, )
-#: src/components/compose.jsx:2444
+#: src/components/compose.jsx:2476
msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {8}×{9}px to {10}×{11}px."
msgstr ""
-#: src/components/compose.jsx:2452
+#: src/components/compose.jsx:2484
msgid "Frame rate too high. Uploading might encounter issues."
msgstr "Snímková frekvence je příliš vysoká. Při nahrávání mohou vzniknout problémy."
-#: src/components/compose.jsx:2512
-#: src/components/compose.jsx:2762
+#: src/components/compose.jsx:2544
+#: src/components/compose.jsx:2794
#: src/components/shortcuts-settings.jsx:726
#: src/pages/catchup.jsx:1074
#: src/pages/filters.jsx:412
msgid "Remove"
msgstr "Odstranit"
-#: src/components/compose.jsx:2529
+#: src/components/compose.jsx:2561
#: src/compose.jsx:84
msgid "Error"
msgstr "Chyba"
-#: src/components/compose.jsx:2554
+#: src/components/compose.jsx:2586
msgid "Edit image description"
msgstr "Upravit popis obrázku"
-#: src/components/compose.jsx:2555
+#: src/components/compose.jsx:2587
msgid "Edit video description"
msgstr "Upravit popis videa"
-#: src/components/compose.jsx:2556
+#: src/components/compose.jsx:2588
msgid "Edit audio description"
msgstr "Upravit popis audia"
-#: src/components/compose.jsx:2601
-#: src/components/compose.jsx:2650
+#: src/components/compose.jsx:2633
+#: src/components/compose.jsx:2682
msgid "Generating description. Please wait…"
msgstr "Generování popisu. Počkejte prosím…"
#. placeholder {12}: e.message
-#: src/components/compose.jsx:2621
+#: src/components/compose.jsx:2653
msgid "Failed to generate description: {12}"
msgstr ""
-#: src/components/compose.jsx:2622
+#: src/components/compose.jsx:2654
msgid "Failed to generate description"
msgstr "Nepodařilo se vytvořit popis"
-#: src/components/compose.jsx:2634
-#: src/components/compose.jsx:2640
-#: src/components/compose.jsx:2686
+#: src/components/compose.jsx:2666
+#: src/components/compose.jsx:2672
+#: src/components/compose.jsx:2718
msgid "Generate description…"
msgstr "Vytvořit popis…"
#. placeholder {13}: e?.message ? `: ${e.message}` : ''
-#: src/components/compose.jsx:2673
+#: src/components/compose.jsx:2705
msgid "Failed to generate description{13}"
msgstr ""
#. placeholder {0}: localeCode2Text(lang)
-#: src/components/compose.jsx:2688
+#: src/components/compose.jsx:2720
msgid "({0}) <0>— experimental0>"
msgstr "({0}) <0>– experimentální0>"
-#: src/components/compose.jsx:2707
+#: src/components/compose.jsx:2739
msgid "Done"
msgstr "Hotovo"
#. placeholder {0}: i + 1
-#: src/components/compose.jsx:2743
+#: src/components/compose.jsx:2775
msgid "Choice {0}"
msgstr ""
-#: src/components/compose.jsx:2790
+#: src/components/compose.jsx:2822
msgid "Multiple choices"
msgstr "Více možností"
-#: src/components/compose.jsx:2793
+#: src/components/compose.jsx:2825
msgid "Duration"
msgstr "Trvání"
-#: src/components/compose.jsx:2824
+#: src/components/compose.jsx:2856
msgid "Remove poll"
msgstr "Odstranit anketu"
-#: src/components/compose.jsx:3039
+#: src/components/compose.jsx:3071
msgid "Search accounts"
msgstr ""
-#: src/components/compose.jsx:3093
+#: src/components/compose.jsx:3125
#: src/components/generic-accounts.jsx:228
msgid "Error loading accounts"
msgstr "Chyba při načítání účtů"
-#: src/components/compose.jsx:3237
+#: src/components/compose.jsx:3269
msgid "Custom emojis"
msgstr "Vlastní emoji"
-#: src/components/compose.jsx:3257
+#: src/components/compose.jsx:3289
msgid "Search emoji"
msgstr ""
-#: src/components/compose.jsx:3288
+#: src/components/compose.jsx:3320
msgid "Error loading custom emojis"
msgstr "Chyba při načítání vlastních emoji"
-#: src/components/compose.jsx:3299
+#: src/components/compose.jsx:3331
msgid "Recently used"
msgstr ""
-#: src/components/compose.jsx:3300
+#: src/components/compose.jsx:3332
msgid "Others"
-msgstr ""
+msgstr "Ostatní"
#. placeholder {0}: i18n.number(emojis.length - max)
-#: src/components/compose.jsx:3338
+#: src/components/compose.jsx:3370
msgid "{0} more…"
msgstr "{0} další…"
-#: src/components/compose.jsx:3476
+#: src/components/compose.jsx:3508
msgid "Search GIFs"
-msgstr ""
+msgstr "Hledat GIFy"
-#: src/components/compose.jsx:3491
+#: src/components/compose.jsx:3523
msgid "Powered by GIPHY"
-msgstr ""
+msgstr "Běží na GIPHY"
-#: src/components/compose.jsx:3499
+#: src/components/compose.jsx:3531
msgid "Type to search GIFs"
msgstr "Zadejte pro vyhledávání GIFů"
-#: src/components/compose.jsx:3597
+#: src/components/compose.jsx:3629
#: src/components/media-modal.jsx:462
#: src/components/timeline.jsx:893
msgid "Previous"
msgstr "Zpět"
-#: src/components/compose.jsx:3615
+#: src/components/compose.jsx:3647
#: src/components/media-modal.jsx:481
#: src/components/timeline.jsx:910
msgid "Next"
msgstr "Další"
-#: src/components/compose.jsx:3632
+#: src/components/compose.jsx:3664
msgid "Error loading GIFs"
msgstr "Chyba při načítání GIFů"
From b5ea5ea881f0c8709be4fa2fc97071ce3d5e2944 Mon Sep 17 00:00:00 2001
From: Chee Aun
Date: Sun, 5 Jan 2025 23:28:43 +0800
Subject: [PATCH 04/27] i18n updates (cs-CZ) (#1016)
* New translations (Czech)
* Update catalogs.json
---------
Co-authored-by: github-actions[bot]
---
src/data/catalogs.json | 2 +-
src/locales/cs-CZ.po | 72 +++++++++++++++++++++---------------------
2 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/src/data/catalogs.json b/src/data/catalogs.json
index dd6a5328..8efa6b08 100644
--- a/src/data/catalogs.json
+++ b/src/data/catalogs.json
@@ -15,7 +15,7 @@
"code": "cs-CZ",
"nativeName": "čeština",
"name": "Czech",
- "completion": 77
+ "completion": 81
},
{
"code": "de-DE",
diff --git a/src/locales/cs-CZ.po b/src/locales/cs-CZ.po
index 8ab47fad..18f0a54f 100644
--- a/src/locales/cs-CZ.po
+++ b/src/locales/cs-CZ.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: cs\n"
"Project-Id-Version: phanpy\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-01-05 13:30\n"
+"PO-Revision-Date: 2025-01-05 15:28\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -340,7 +340,7 @@ msgstr "Ztišit <0>@{username}0>…"
#. placeholder {0}: typeof MUTE_DURATIONS_LABELS[duration] === 'function' ? MUTE_DURATIONS_LABELS[duration]() : _(MUTE_DURATIONS_LABELS[duration])
#: src/components/account-info.jsx:1414
msgid "Muted @{username} for {0}"
-msgstr ""
+msgstr "Ztlumený @{username} na {0}"
#: src/components/account-info.jsx:1426
msgid "Unable to mute @{username}"
@@ -364,19 +364,19 @@ msgstr "Blokovat <0>@{username}0>?"
#: src/components/account-info.jsx:1514
msgid "Unblocked @{username}"
-msgstr ""
+msgstr "Odblokován @{username}"
#: src/components/account-info.jsx:1522
msgid "Blocked @{username}"
-msgstr ""
+msgstr "Zablokován @{username}"
#: src/components/account-info.jsx:1530
msgid "Unable to unblock @{username}"
-msgstr ""
+msgstr "Nelze odblokovat uživatele @{username}"
#: src/components/account-info.jsx:1532
msgid "Unable to block @{username}"
-msgstr ""
+msgstr "Nelze zablokovat uživatele @{username}"
#: src/components/account-info.jsx:1542
msgid "Unblock <0>@{username}0>"
@@ -783,7 +783,7 @@ msgstr ""
#. placeholder {7}: prettyBytes(videoSizeLimit)
#: src/components/compose.jsx:2464
msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {6} to {7} or lower."
-msgstr ""
+msgstr "Velikost souboru je příliš velká. Při nahrávání mohou vzniknout problémy. Zkuste zmenšit velikost souboru z {6} na {7} nebo nižší."
#. placeholder {8}: i18n.number( width, )
#. placeholder {9}: i18n.number(height)
@@ -791,7 +791,7 @@ msgstr ""
#. placeholder {11}: i18n.number( newHeight, )
#: src/components/compose.jsx:2476
msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {8}×{9}px to {10}×{11}px."
-msgstr ""
+msgstr "Rozměr je příliš velký. Při nahrávání mohou vzniknout problémy. Zkuste zmenšit velikost z {8}×{9}px na {10}×{11}px."
#: src/components/compose.jsx:2484
msgid "Frame rate too high. Uploading might encounter issues."
@@ -830,7 +830,7 @@ msgstr "Generování popisu. Počkejte prosím…"
#. placeholder {12}: e.message
#: src/components/compose.jsx:2653
msgid "Failed to generate description: {12}"
-msgstr ""
+msgstr "Nepodařilo se vytvořit popisek: {12}"
#: src/components/compose.jsx:2654
msgid "Failed to generate description"
@@ -845,7 +845,7 @@ msgstr "Vytvořit popis…"
#. placeholder {13}: e?.message ? `: ${e.message}` : ''
#: src/components/compose.jsx:2705
msgid "Failed to generate description{13}"
-msgstr ""
+msgstr "Nepodařilo se vytvořit popisek{13}"
#. placeholder {0}: localeCode2Text(lang)
#: src/components/compose.jsx:2720
@@ -859,7 +859,7 @@ msgstr "Hotovo"
#. placeholder {0}: i + 1
#: src/components/compose.jsx:2775
msgid "Choice {0}"
-msgstr ""
+msgstr "Volba {0}"
#: src/components/compose.jsx:2822
msgid "Multiple choices"
@@ -875,7 +875,7 @@ msgstr "Odstranit anketu"
#: src/components/compose.jsx:3071
msgid "Search accounts"
-msgstr ""
+msgstr "Hledat účty"
#: src/components/compose.jsx:3125
#: src/components/generic-accounts.jsx:228
@@ -888,7 +888,7 @@ msgstr "Vlastní emoji"
#: src/components/compose.jsx:3289
msgid "Search emoji"
-msgstr ""
+msgstr "Hledat emoji"
#: src/components/compose.jsx:3320
msgid "Error loading custom emojis"
@@ -896,7 +896,7 @@ msgstr "Chyba při načítání vlastních emoji"
#: src/components/compose.jsx:3331
msgid "Recently used"
-msgstr ""
+msgstr "Nedávno použité"
#: src/components/compose.jsx:3332
msgid "Others"
@@ -1109,11 +1109,11 @@ msgstr "<0>10> do <1>91>"
#: src/components/keyboard-shortcuts-help.jsx:118
msgid "Focus next column in multi-column mode"
-msgstr ""
+msgstr "Zaměřit se na další sloupec v režimu více sloupců"
#: src/components/keyboard-shortcuts-help.jsx:122
msgid "Focus previous column in multi-column mode"
-msgstr ""
+msgstr "Zaměřit se na předchozí sloupec v režimu více sloupců"
#: src/components/keyboard-shortcuts-help.jsx:126
msgid "Compose new post"
@@ -1534,7 +1534,7 @@ msgstr "Upozornění na moderování"
#: src/components/notification.jsx:265
msgid "Your {year} #Wrapstodon is here!"
-msgstr ""
+msgstr "Tvůj {year} #Wrapstodon je tady!"
#: src/components/notification.jsx:271
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."
@@ -1605,7 +1605,7 @@ msgstr "Další informace <0/>"
#: src/components/notification.jsx:540
msgid "View #Wrapstodon"
-msgstr ""
+msgstr "Zobrazit #Wrapstodon"
#: src/components/notification.jsx:770
#: src/components/status.jsx:267
@@ -3085,7 +3085,7 @@ msgstr "Nepodařilo se načíst příspěvky s tímto štítkem"
#: src/pages/hashtag.jsx:209
msgid "Unfollow #{hashtag}?"
-msgstr ""
+msgstr "Přestat sledovat #{hashtag}?"
#: src/pages/hashtag.jsx:224
msgid "Unfollowed #{hashtag}"
@@ -3093,11 +3093,11 @@ msgstr "#{hashtag} již není sledován"
#: src/pages/hashtag.jsx:239
msgid "Followed #{hashtag}"
-msgstr ""
+msgstr "Sledován #{hashtag}"
#: src/pages/hashtag.jsx:255
msgid "Following…"
-msgstr ""
+msgstr "Sleduji…"
#: src/pages/hashtag.jsx:283
msgid "Unfeatured on profile"
@@ -3178,24 +3178,24 @@ msgstr ""
#: src/pages/home.jsx:236
msgid "See all"
-msgstr ""
+msgstr "Zobrazit vše"
#: src/pages/http-route.jsx:68
msgid "Resolving…"
-msgstr ""
+msgstr "Připojování…"
#: src/pages/http-route.jsx:79
msgid "Unable to resolve URL"
-msgstr ""
+msgstr "Nelze najít URL adresu"
#: src/pages/list.jsx:108
msgid "Nothing yet."
-msgstr ""
+msgstr "Zatím nic."
#: src/pages/list.jsx:177
#: src/pages/list.jsx:281
msgid "Manage members"
-msgstr ""
+msgstr "Spravovat členy"
#. placeholder {0}: account.username
#: src/pages/list.jsx:316
@@ -3238,7 +3238,7 @@ msgstr ""
#: src/pages/login.jsx:257
msgid "Continue"
-msgstr ""
+msgstr "Pokračovat"
#: src/pages/login.jsx:265
msgid "Don't have an account? Create one!"
@@ -3319,7 +3319,7 @@ msgstr "Dnes"
#: src/pages/notifications.jsx:796
msgid "You're all caught up."
-msgstr ""
+msgstr "Přečetli jste všechny komentáře."
#: src/pages/notifications.jsx:819
msgid "Yesterday"
@@ -3483,11 +3483,11 @@ msgstr "Vzhled"
#: src/pages/settings.jsx:168
msgid "Light"
-msgstr ""
+msgstr "Světlý"
#: src/pages/settings.jsx:179
msgid "Dark"
-msgstr ""
+msgstr "Tmavý"
#: src/pages/settings.jsx:192
msgid "Auto"
@@ -3518,12 +3518,12 @@ msgstr ""
#: src/pages/settings.jsx:273
msgid "Default visibility"
-msgstr ""
+msgstr "Výchozí viditelnost"
#: src/pages/settings.jsx:274
#: src/pages/settings.jsx:320
msgid "Synced"
-msgstr ""
+msgstr "Synchronizováno"
#: src/pages/settings.jsx:299
msgid "Failed to update posting privacy"
@@ -3551,7 +3551,7 @@ msgstr ""
#: src/pages/settings.jsx:389
msgid "Translate to "
-msgstr ""
+msgstr "Přeložit do "
#: src/pages/settings.jsx:400
msgid "System language ({systemTargetLanguageText})"
@@ -3839,15 +3839,15 @@ msgstr ""
#: src/pages/welcome.jsx:65
msgid "Log in with Mastodon"
-msgstr ""
+msgstr "Přihlásit účtem Mastodon"
#: src/pages/welcome.jsx:71
msgid "Sign up"
-msgstr ""
+msgstr "Vytvořit účet"
#: src/pages/welcome.jsx:78
msgid "Connect your existing Mastodon/Fediverse account.<0/>Your credentials are not stored on this server."
-msgstr ""
+msgstr "Připojte svůj existující Mastodon/Fediverse účet.<0/>Vaše přihlašovací údaje nejsou uloženy na tomto serveru."
#: src/pages/welcome.jsx:95
msgid "<0>Built0> by <1>@cheeaun1>. <2>Privacy Policy2>."
From 3df20a5eb2ba365aa7d8e40f6ca3e2ddebbdb878 Mon Sep 17 00:00:00 2001
From: Chee Aun
Date: Tue, 7 Jan 2025 05:34:11 +0800
Subject: [PATCH 05/27] i18n updates (ca-ES,cs-CZ) (#1017)
* New translations (Catalan)
* New translations (Czech)
* Update catalogs.json
---------
Co-authored-by: github-actions[bot]
---
src/data/catalogs.json | 2 +-
src/locales/ca-ES.po | 4 +--
src/locales/cs-CZ.po | 62 +++++++++++++++++++++---------------------
3 files changed, 34 insertions(+), 34 deletions(-)
diff --git a/src/data/catalogs.json b/src/data/catalogs.json
index 8efa6b08..03c253f8 100644
--- a/src/data/catalogs.json
+++ b/src/data/catalogs.json
@@ -15,7 +15,7 @@
"code": "cs-CZ",
"nativeName": "čeština",
"name": "Czech",
- "completion": 81
+ "completion": 84
},
{
"code": "de-DE",
diff --git a/src/locales/ca-ES.po b/src/locales/ca-ES.po
index cd4db69e..3afd4d09 100644
--- a/src/locales/ca-ES.po
+++ b/src/locales/ca-ES.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ca\n"
"Project-Id-Version: phanpy\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-12-27 18:00\n"
+"PO-Revision-Date: 2025-01-06 00:52\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -76,7 +76,7 @@ msgstr "Verificat"
#: src/components/account-block.jsx:223
#: src/components/account-info.jsx:782
msgid "Joined <0>{0}0>"
-msgstr "S'hi va unir <0>{0}0>"
+msgstr "S'hi va unir el <0>{0}0>"
#: src/components/account-info.jsx:58
msgid "Forever"
diff --git a/src/locales/cs-CZ.po b/src/locales/cs-CZ.po
index 18f0a54f..3fbde706 100644
--- a/src/locales/cs-CZ.po
+++ b/src/locales/cs-CZ.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: cs\n"
"Project-Id-Version: phanpy\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-01-05 15:28\n"
+"PO-Revision-Date: 2025-01-06 21:33\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -777,7 +777,7 @@ msgstr "Velikost souboru je příliš velká. Při nahrávání mohou vzniknout
#. placeholder {5}: i18n.number( newHeight, )
#: src/components/compose.jsx:2456
msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {2}×{3}px to {4}×{5}px."
-msgstr ""
+msgstr "Rozlišení je příliš velké. Při nahrávání mohou vzniknout problémy. Zkuste zmenšit rozlišení z {2}×{3}px na {4}×{5}px."
#. placeholder {6}: prettyBytes( videoSize, )
#. placeholder {7}: prettyBytes(videoSizeLimit)
@@ -2124,17 +2124,17 @@ msgstr "Nelíbí se @{0}"
#. placeholder {1}: username || acct
#: src/components/status.jsx:791
msgid "Liked @{1}'s post"
-msgstr ""
+msgstr "Líbí se příspěvek od @{1}"
#. placeholder {2}: username || acct
#: src/components/status.jsx:830
msgid "Unbookmarked @{2}'s post"
-msgstr ""
+msgstr "Odebrali jste záložku z příspěvku od @{2}"
#. placeholder {3}: username || acct
#: src/components/status.jsx:831
msgid "Bookmarked @{3}'s post"
-msgstr ""
+msgstr "Přidali jste příspěvek od @{3} do záložek"
#: src/components/status.jsx:937
#: src/components/status.jsx:999
@@ -2161,12 +2161,12 @@ msgstr "Starý příspěvek (<0>{0}0>)"
#. placeholder {4}: username || acct
#: src/components/status.jsx:987
msgid "Unboosted @{4}'s post"
-msgstr ""
+msgstr "Zrušili jste boostnutí příspěvku od @{4}"
#. placeholder {5}: username || acct
#: src/components/status.jsx:988
msgid "Boosted @{5}'s post"
-msgstr ""
+msgstr "Boostnuli jste příspěvek od @{5}"
#: src/components/status.jsx:1000
msgid "Boost…"
@@ -2276,12 +2276,12 @@ msgstr "Nahlásit příspěvek…"
#. placeholder {6}: username || acct
#: src/components/status.jsx:1442
msgid "Unboosted @{6}'s post"
-msgstr ""
+msgstr "Zrušili jste boostnutí příspěvku od @{6}"
#. placeholder {7}: username || acct
#: src/components/status.jsx:1443
msgid "Boosted @{7}'s post"
-msgstr ""
+msgstr "Boostnuli jste příspěvek od @{7}"
#: src/components/status.jsx:1728
#: src/components/status.jsx:1764
@@ -2343,7 +2343,7 @@ msgstr "Komentáře"
#. More from [Author]
#: src/components/status.jsx:2696
msgid "More from <0/>"
-msgstr ""
+msgstr "Více od <0/>"
#: src/components/status.jsx:2998
msgid "Edit History"
@@ -2436,7 +2436,7 @@ msgstr "Zkuste to znovu"
#. placeholder {0}: fItems.length
#: src/components/timeline.jsx:591
msgid "{0, plural, one {# Boost} other {# Boosts}}"
-msgstr ""
+msgstr "{0, plural, one {# Boostnutí} other {# Boostnutí}}"
#: src/components/timeline.jsx:596
msgid "Pinned posts"
@@ -2610,7 +2610,7 @@ msgstr "Přepněte na tento účet"
#: src/pages/accounts.jsx:133
msgid "Switch in new tab/window"
-msgstr ""
+msgstr "Přepnout v novém panelu/okně"
#: src/pages/accounts.jsx:147
msgid "View profile…"
@@ -2904,7 +2904,7 @@ msgstr "Filtrováno: {0}"
#: src/pages/favourites.jsx:26
msgid "No likes yet. Go like something!"
-msgstr ""
+msgstr "Neudělili jste žádné \"líbí se mi\". Označte něco, co se vám líbí!"
#: src/pages/favourites.jsx:27
msgid "Unable to load likes."
@@ -3007,7 +3007,7 @@ msgstr "Vypršení platnosti"
#: src/pages/filters.jsx:526
msgid "Filtered post will be…"
-msgstr ""
+msgstr "Filtrovaný příspěvek bude…"
#: src/pages/filters.jsx:536
msgid "minimized"
@@ -3031,11 +3031,11 @@ msgstr "Vypršelo"
#: src/pages/filters.jsx:611
msgid "Expiring <0/>"
-msgstr ""
+msgstr "Vyprší <0/>"
#: src/pages/filters.jsx:615
msgid "Never expires"
-msgstr ""
+msgstr "Nikdy nevyprší"
#. placeholder {0}: followedHashtags.length
#: src/pages/followed-hashtags.jsx:71
@@ -3061,19 +3061,19 @@ msgstr "Nelze načíst příspěvky."
#: src/pages/hashtag.jsx:56
msgid "{hashtagTitle} (Media only) on {instance}"
-msgstr ""
+msgstr "{hashtagTitle} (pouze média) na {instance}"
#: src/pages/hashtag.jsx:57
msgid "{hashtagTitle} on {instance}"
-msgstr ""
+msgstr "{hashtagTitle} na {instance}"
#: src/pages/hashtag.jsx:59
msgid "{hashtagTitle} (Media only)"
-msgstr ""
+msgstr "{hashtagTitle} (pouze média)"
#: src/pages/hashtag.jsx:60
msgid "{hashtagTitle}"
-msgstr ""
+msgstr "{hashtagTitle}"
#: src/pages/hashtag.jsx:182
msgid "No one has posted anything with this tag yet."
@@ -3101,20 +3101,20 @@ msgstr "Sleduji…"
#: src/pages/hashtag.jsx:283
msgid "Unfeatured on profile"
-msgstr ""
+msgstr "Odebráno z profilu"
#: src/pages/hashtag.jsx:297
msgid "Unable to unfeature on profile"
-msgstr ""
+msgstr "Nepodařilo se odebrat z profilu"
#: src/pages/hashtag.jsx:306
#: src/pages/hashtag.jsx:322
msgid "Featured on profile"
-msgstr ""
+msgstr "Zmíněno v profilu"
#: src/pages/hashtag.jsx:329
msgid "Feature on profile"
-msgstr ""
+msgstr "Zmínit v profilu"
#: src/pages/hashtag.jsx:394
msgid "{TOTAL_TAGS_LIMIT, plural, other {Max # tags}}"
@@ -3134,7 +3134,7 @@ msgstr ""
#: src/pages/hashtag.jsx:472
msgid "This shortcut already exists"
-msgstr ""
+msgstr "Tato zkratka již existuje"
#: src/pages/hashtag.jsx:475
msgid "Hashtag shortcut added"
@@ -3170,11 +3170,11 @@ msgstr "Přejít na moji instanci (<0>{currentInstance}0>)"
#: src/pages/home.jsx:210
msgid "Unable to fetch notifications."
-msgstr ""
+msgstr "Nelze načíst oznámení."
#: src/pages/home.jsx:230
msgid "<0>New0> <1>Follow Requests1>"
-msgstr ""
+msgstr "<0>Nové0> <1>Žádosti o sledování1>"
#: src/pages/home.jsx:236
msgid "See all"
@@ -3200,7 +3200,7 @@ msgstr "Spravovat členy"
#. placeholder {0}: account.username
#: src/pages/list.jsx:316
msgid "Remove <0>@{0}0> from list?"
-msgstr ""
+msgstr "Odstranit <0>@{0}0> ze seznamu?"
#: src/pages/list.jsx:362
msgid "Remove…"
@@ -3213,12 +3213,12 @@ msgstr ""
#: src/pages/lists.jsx:109
msgid "No lists yet."
-msgstr ""
+msgstr "Nemáte žádné seznamy."
#: src/pages/login.jsx:110
#: src/pages/login.jsx:123
msgid "Failed to register application"
-msgstr ""
+msgstr "Nepodařilo se zaregistrovat aplikaci"
#: src/pages/login.jsx:209
msgid "instance domain"
@@ -3226,7 +3226,7 @@ msgstr ""
#: src/pages/login.jsx:233
msgid "e.g. “mastodon.social”"
-msgstr ""
+msgstr "např. “mastodon.social”"
#: src/pages/login.jsx:244
msgid "Failed to log in. Please try again or try another instance."
From 007343ec179371c74a32863666a1970a21ea0c98 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Wed, 8 Jan 2025 14:11:06 +0800
Subject: [PATCH 06/27] Upgrade dependencies
---
package-lock.json | 476 ++++++++++++++++++++++++----------------------
package.json | 18 +-
2 files changed, 257 insertions(+), 237 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 3a025456..08d2a6eb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,8 +8,8 @@
"name": "phanpy",
"version": "0.1.0",
"dependencies": {
- "@formatjs/intl-localematcher": "~0.5.9",
- "@formatjs/intl-segmenter": "~11.7.7",
+ "@formatjs/intl-localematcher": "~0.5.10",
+ "@formatjs/intl-segmenter": "~11.7.8",
"@formkit/auto-animate": "~0.8.2",
"@github/text-expander-element": "~2.8.0",
"@iconify-icons/mingcute": "~1.2.9",
@@ -21,7 +21,7 @@
"chroma-js": "~3.1.2",
"compare-versions": "~6.1.1",
"fast-blurhash": "~1.1.4",
- "fast-equals": "~5.0.1",
+ "fast-equals": "~5.2.1",
"fuse.js": "~7.0.0",
"html-prettify": "~1.0.7",
"idb-keyval": "~6.2.1",
@@ -33,10 +33,10 @@
"moize": "~6.1.6",
"p-retry": "~6.2.1",
"p-throttle": "~7.0.0",
- "preact": "~10.25.3",
+ "preact": "~10.25.4",
"punycode": "~2.3.1",
"react-hotkeys-hook": "~4.6.1",
- "react-intersection-observer": "~9.14.0",
+ "react-intersection-observer": "~9.14.1",
"react-quick-pinch-zoom": "~5.1.0",
"react-router-dom": "6.6.2",
"string-length": "6.0.0",
@@ -53,15 +53,15 @@
"@ianvs/prettier-plugin-sort-imports": "~4.4.0",
"@lingui/cli": "~5.1.2",
"@lingui/vite-plugin": "~5.1.2",
- "@preact/preset-vite": "~2.9.3",
+ "@preact/preset-vite": "~2.9.4",
"babel-plugin-macros": "~3.1.0",
"postcss": "~8.4.49",
"postcss-dark-theme-class": "~1.3.0",
- "postcss-preset-env": "~10.1.2",
+ "postcss-preset-env": "~10.1.3",
"prettier": "3.4.2",
- "sonda": "~0.6.2",
+ "sonda": "~0.7.1",
"twitter-text": "~3.1.0",
- "vite": "~6.0.5",
+ "vite": "~6.0.7",
"vite-plugin-generate-file": "~0.2.0",
"vite-plugin-html-config": "~2.0.2",
"vite-plugin-pwa": "~0.21.1",
@@ -1645,9 +1645,9 @@
}
},
"node_modules/@csstools/css-calc": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.0.tgz",
- "integrity": "sha512-X69PmFOrjTZfN5ijxtI8hZ9kRADFSLrmmQ6hgDJ272Il049WGKpDY64KhrFm/7rbWve0z81QepawzjkKlqkNGw==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.1.tgz",
+ "integrity": "sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==",
"dev": true,
"funding": [
{
@@ -1668,9 +1668,9 @@
}
},
"node_modules/@csstools/css-color-parser": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.6.tgz",
- "integrity": "sha512-S/IjXqTHdpI4EtzGoNCHfqraXF37x12ZZHA1Lk7zoT5pm2lMjFuqhX/89L7dqX4CcMacKK+6ZCs5TmEGb/+wKw==",
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.7.tgz",
+ "integrity": "sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==",
"dev": true,
"funding": [
{
@@ -1684,7 +1684,7 @@
],
"dependencies": {
"@csstools/color-helpers": "^5.0.1",
- "@csstools/css-calc": "^2.1.0"
+ "@csstools/css-calc": "^2.1.1"
},
"engines": {
"node": ">=18"
@@ -1785,9 +1785,9 @@
}
},
"node_modules/@csstools/postcss-color-function": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.6.tgz",
- "integrity": "sha512-EcvXfC60cTIumzpsxWuvVjb7rsJEHPvqn3jeMEBUaE3JSc4FRuP7mEQ+1eicxWmIrs3FtzMH9gR3sgA5TH+ebQ==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.7.tgz",
+ "integrity": "sha512-aDHYmhNIHR6iLw4ElWhf+tRqqaXwKnMl0YsQ/X105Zc4dQwe6yJpMrTN6BwOoESrkDjOYMOfORviSSLeDTJkdQ==",
"dev": true,
"funding": [
{
@@ -1800,7 +1800,7 @@
}
],
"dependencies": {
- "@csstools/css-color-parser": "^3.0.6",
+ "@csstools/css-color-parser": "^3.0.7",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3",
"@csstools/postcss-progressive-custom-properties": "^4.0.0",
@@ -1814,9 +1814,9 @@
}
},
"node_modules/@csstools/postcss-color-mix-function": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.6.tgz",
- "integrity": "sha512-jVKdJn4+JkASYGhyPO+Wa5WXSx1+oUgaXb3JsjJn/BlrtFh5zjocCY7pwWi0nuP24V1fY7glQsxEYcYNy0dMFg==",
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.7.tgz",
+ "integrity": "sha512-e68Nev4CxZYCLcrfWhHH4u/N1YocOfTmw67/kVX5Rb7rnguqqLyxPjhHWjSBX8o4bmyuukmNf3wrUSU3//kT7g==",
"dev": true,
"funding": [
{
@@ -1829,7 +1829,7 @@
}
],
"dependencies": {
- "@csstools/css-color-parser": "^3.0.6",
+ "@csstools/css-color-parser": "^3.0.7",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3",
"@csstools/postcss-progressive-custom-properties": "^4.0.0",
@@ -1871,9 +1871,9 @@
}
},
"node_modules/@csstools/postcss-exponential-functions": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.5.tgz",
- "integrity": "sha512-mi8R6dVfA2nDoKM3wcEi64I8vOYEgQVtVKCfmLHXupeLpACfGAided5ddMt5f+CnEodNu4DifuVwb0I6fQDGGQ==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.6.tgz",
+ "integrity": "sha512-IgJA5DQsQLu/upA3HcdvC6xEMR051ufebBTIXZ5E9/9iiaA7juXWz1ceYj814lnDYP/7eWjZnw0grRJlX4eI6g==",
"dev": true,
"funding": [
{
@@ -1886,7 +1886,7 @@
}
],
"dependencies": {
- "@csstools/css-calc": "^2.1.0",
+ "@csstools/css-calc": "^2.1.1",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3"
},
@@ -1924,9 +1924,9 @@
}
},
"node_modules/@csstools/postcss-gamut-mapping": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.6.tgz",
- "integrity": "sha512-0ke7fmXfc8H+kysZz246yjirAH6JFhyX9GTlyRnM0exHO80XcA9zeJpy5pOp5zo/AZiC/q5Pf+Hw7Pd6/uAoYA==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.7.tgz",
+ "integrity": "sha512-gzFEZPoOkY0HqGdyeBXR3JP218Owr683u7KOZazTK7tQZBE8s2yhg06W1tshOqk7R7SWvw9gkw2TQogKpIW8Xw==",
"dev": true,
"funding": [
{
@@ -1939,7 +1939,7 @@
}
],
"dependencies": {
- "@csstools/css-color-parser": "^3.0.6",
+ "@csstools/css-color-parser": "^3.0.7",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3"
},
@@ -1951,9 +1951,9 @@
}
},
"node_modules/@csstools/postcss-gradients-interpolation-method": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.6.tgz",
- "integrity": "sha512-Itrbx6SLUzsZ6Mz3VuOlxhbfuyLTogG5DwEF1V8dAi24iMuvQPIHd7Ti+pNDp7j6WixndJGZaoNR0f9VSzwuTg==",
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.7.tgz",
+ "integrity": "sha512-WgEyBeg6glUeTdS2XT7qeTFBthTJuXlS9GFro/DVomj7W7WMTamAwpoP4oQCq/0Ki2gvfRYFi/uZtmRE14/DFA==",
"dev": true,
"funding": [
{
@@ -1966,7 +1966,7 @@
}
],
"dependencies": {
- "@csstools/css-color-parser": "^3.0.6",
+ "@csstools/css-color-parser": "^3.0.7",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3",
"@csstools/postcss-progressive-custom-properties": "^4.0.0",
@@ -1980,9 +1980,9 @@
}
},
"node_modules/@csstools/postcss-hwb-function": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.6.tgz",
- "integrity": "sha512-927Pqy3a1uBP7U8sTfaNdZVB0mNXzIrJO/GZ8us9219q9n06gOqCdfZ0E6d1P66Fm0fYHvxfDbfcUuwAn5UwhQ==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.7.tgz",
+ "integrity": "sha512-LKYqjO+wGwDCfNIEllessCBWfR4MS/sS1WXO+j00KKyOjm7jDW2L6jzUmqASEiv/kkJO39GcoIOvTTfB3yeBUA==",
"dev": true,
"funding": [
{
@@ -1995,7 +1995,7 @@
}
],
"dependencies": {
- "@csstools/css-color-parser": "^3.0.6",
+ "@csstools/css-color-parser": "^3.0.7",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3",
"@csstools/postcss-progressive-custom-properties": "^4.0.0",
@@ -2229,9 +2229,9 @@
}
},
"node_modules/@csstools/postcss-media-minmax": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.5.tgz",
- "integrity": "sha512-sdh5i5GToZOIAiwhdntRWv77QDtsxP2r2gXW/WbLSCoLr00KTq/yiF1qlQ5XX2+lmiFa8rATKMcbwl3oXDMNew==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.6.tgz",
+ "integrity": "sha512-J1+4Fr2W3pLZsfxkFazK+9kr96LhEYqoeBszLmFjb6AjYs+g9oDAw3J5oQignLKk3rC9XHW+ebPTZ9FaW5u5pg==",
"dev": true,
"funding": [
{
@@ -2244,7 +2244,7 @@
}
],
"dependencies": {
- "@csstools/css-calc": "^2.1.0",
+ "@csstools/css-calc": "^2.1.1",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3",
"@csstools/media-query-list-parser": "^4.0.2"
@@ -2335,9 +2335,9 @@
}
},
"node_modules/@csstools/postcss-oklab-function": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.6.tgz",
- "integrity": "sha512-Hptoa0uX+XsNacFBCIQKTUBrFKDiplHan42X73EklG6XmQLG7/aIvxoNhvZ7PvOWMt67Pw3bIlUY2nD6p5vL8A==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.7.tgz",
+ "integrity": "sha512-I6WFQIbEKG2IO3vhaMGZDkucbCaUSXMxvHNzDdnfsTCF5tc0UlV3Oe2AhamatQoKFjBi75dSEMrgWq3+RegsOQ==",
"dev": true,
"funding": [
{
@@ -2350,7 +2350,7 @@
}
],
"dependencies": {
- "@csstools/css-color-parser": "^3.0.6",
+ "@csstools/css-color-parser": "^3.0.7",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3",
"@csstools/postcss-progressive-custom-properties": "^4.0.0",
@@ -2389,9 +2389,9 @@
}
},
"node_modules/@csstools/postcss-random-function": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-1.0.1.tgz",
- "integrity": "sha512-Ab/tF8/RXktQlFwVhiC70UNfpFQRhtE5fQQoP2pO+KCPGLsLdWFiOuHgSRtBOqEshCVAzR4H6o38nhvRZq8deA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-1.0.2.tgz",
+ "integrity": "sha512-vBCT6JvgdEkvRc91NFoNrLjgGtkLWt47GKT6E2UDn3nd8ZkMBiziQ1Md1OiKoSsgzxsSnGKG3RVdhlbdZEkHjA==",
"dev": true,
"funding": [
{
@@ -2404,7 +2404,7 @@
}
],
"dependencies": {
- "@csstools/css-calc": "^2.1.0",
+ "@csstools/css-calc": "^2.1.1",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3"
},
@@ -2416,9 +2416,9 @@
}
},
"node_modules/@csstools/postcss-relative-color-syntax": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.6.tgz",
- "integrity": "sha512-yxP618Xb+ji1I624jILaYM62uEmZcmbdmFoZHoaThw896sq0vU39kqTTF+ZNic9XyPtPMvq0vyvbgmHaszq8xg==",
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.7.tgz",
+ "integrity": "sha512-apbT31vsJVd18MabfPOnE977xgct5B1I+Jpf+Munw3n6kKb1MMuUmGGH+PT9Hm/fFs6fe61Q/EWnkrb4bNoNQw==",
"dev": true,
"funding": [
{
@@ -2431,7 +2431,7 @@
}
],
"dependencies": {
- "@csstools/css-color-parser": "^3.0.6",
+ "@csstools/css-color-parser": "^3.0.7",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3",
"@csstools/postcss-progressive-custom-properties": "^4.0.0",
@@ -2470,9 +2470,9 @@
}
},
"node_modules/@csstools/postcss-sign-functions": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.0.tgz",
- "integrity": "sha512-SLcc20Nujx/kqbSwDmj6oaXgpy3UjFhBy1sfcqPgDkHfOIfUtUVH7OXO+j7BU4v/At5s61N5ZX6shvgPwluhsA==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.1.tgz",
+ "integrity": "sha512-MslYkZCeMQDxetNkfmmQYgKCy4c+w9pPDfgOBCJOo/RI1RveEUdZQYtOfrC6cIZB7sD7/PHr2VGOcMXlZawrnA==",
"dev": true,
"funding": [
{
@@ -2485,7 +2485,7 @@
}
],
"dependencies": {
- "@csstools/css-calc": "^2.1.0",
+ "@csstools/css-calc": "^2.1.1",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3"
},
@@ -2497,9 +2497,9 @@
}
},
"node_modules/@csstools/postcss-stepped-value-functions": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.5.tgz",
- "integrity": "sha512-G6SJ6hZJkhxo6UZojVlLo14MohH4J5J7z8CRBrxxUYy9JuZiIqUo5TBYyDGcE0PLdzpg63a7mHSJz3VD+gMwqw==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.6.tgz",
+ "integrity": "sha512-/dwlO9w8vfKgiADxpxUbZOWlL5zKoRIsCymYoh1IPuBsXODKanKnfuZRr32DEqT0//3Av1VjfNZU9yhxtEfIeA==",
"dev": true,
"funding": [
{
@@ -2512,7 +2512,7 @@
}
],
"dependencies": {
- "@csstools/css-calc": "^2.1.0",
+ "@csstools/css-calc": "^2.1.1",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3"
},
@@ -2550,9 +2550,9 @@
}
},
"node_modules/@csstools/postcss-trigonometric-functions": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.5.tgz",
- "integrity": "sha512-/YQThYkt5MLvAmVu7zxjhceCYlKrYddK6LEmK5I4ojlS6BmO9u2yO4+xjXzu2+NPYmHSTtP4NFSamBCMmJ1NJA==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.6.tgz",
+ "integrity": "sha512-c4Y1D2Why/PeccaSouXnTt6WcNHJkoJRidV2VW9s5gJ97cNxnLgQ4Qj8qOqkIR9VmTQKJyNcbF4hy79ZQnWD7A==",
"dev": true,
"funding": [
{
@@ -2565,7 +2565,7 @@
}
],
"dependencies": {
- "@csstools/css-calc": "^2.1.0",
+ "@csstools/css-calc": "^2.1.1",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3"
},
@@ -2936,6 +2936,22 @@
"node": ">=12"
}
},
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz",
+ "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@esbuild/netbsd-x64": {
"version": "0.21.5",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
@@ -2953,9 +2969,9 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz",
- "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz",
+ "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==",
"cpu": [
"arm64"
],
@@ -3049,39 +3065,39 @@
}
},
"node_modules/@formatjs/ecma402-abstract": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.1.tgz",
- "integrity": "sha512-Ip9uV+/MpLXWRk03U/GzeJMuPeOXpJBSB5V1tjA6kJhvqssye5J5LoYLc7Z5IAHb7nR62sRoguzrFiVCP/hnzw==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.2.tgz",
+ "integrity": "sha512-6sE5nyvDloULiyOMbOTJEEgWL32w+VHkZQs8S02Lnn8Y/O5aQhjOEXwWzvR7SsBE/exxlSpY2EsWZgqHbtLatg==",
"dependencies": {
- "@formatjs/fast-memoize": "2.2.5",
- "@formatjs/intl-localematcher": "0.5.9",
+ "@formatjs/fast-memoize": "2.2.6",
+ "@formatjs/intl-localematcher": "0.5.10",
"decimal.js": "10",
"tslib": "2"
}
},
"node_modules/@formatjs/fast-memoize": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.5.tgz",
- "integrity": "sha512-6PoewUMrrcqxSoBXAOJDiW1m+AmkrAj0RiXnOMD59GRaswjXhm3MDhgepXPBgonc09oSirAJTsAggzAGQf6A6g==",
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.6.tgz",
+ "integrity": "sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==",
"dependencies": {
"tslib": "2"
}
},
"node_modules/@formatjs/intl-localematcher": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.9.tgz",
- "integrity": "sha512-8zkGu/sv5euxbjfZ/xmklqLyDGQSxsLqg8XOq88JW3cmJtzhCP8EtSJXlaKZnVO4beEaoiT9wj4eIoCQ9smwxA==",
+ "version": "0.5.10",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.10.tgz",
+ "integrity": "sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==",
"dependencies": {
"tslib": "2"
}
},
"node_modules/@formatjs/intl-segmenter": {
- "version": "11.7.7",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-segmenter/-/intl-segmenter-11.7.7.tgz",
- "integrity": "sha512-610J5xz5DxtEpa16zNR89CrvA9qWHxQFkUB3FKiGao0Nwn7i8cl+oyBhuH9SvtXF9j2LUOM9VMdVCMzJkVANNw==",
+ "version": "11.7.8",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-segmenter/-/intl-segmenter-11.7.8.tgz",
+ "integrity": "sha512-+nqMCJ6LNLl+qXldE2uthF82O/2Yo6GZlyWbOY25fe3066iaHjmrR4nXd6AKRMCHNeBBx3rANFLm2B5cNTBzTQ==",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/intl-localematcher": "0.5.9",
+ "@formatjs/ecma402-abstract": "2.3.2",
+ "@formatjs/intl-localematcher": "0.5.10",
"tslib": "2"
}
},
@@ -3599,9 +3615,9 @@
}
},
"node_modules/@preact/preset-vite": {
- "version": "2.9.3",
- "resolved": "https://registry.npmjs.org/@preact/preset-vite/-/preset-vite-2.9.3.tgz",
- "integrity": "sha512-uVDSKsFnPa/bmRTAcPiYpTvC04T1lhIH2ho3CJZLYibwcwliElS/i64iyATZkgR4DJxSc/JwOCSQS4IF/a03OQ==",
+ "version": "2.9.4",
+ "resolved": "https://registry.npmjs.org/@preact/preset-vite/-/preset-vite-2.9.4.tgz",
+ "integrity": "sha512-PpPnUlKUsbWZ2oBuAkAMnezhIYGsR7xi2EZcPjeTAjF1DhGl00IcPD1ZeXRFKp38i7Hk4kEdFlwpJ1525cAzpg==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.22.13",
@@ -5624,9 +5640,9 @@
"dev": true
},
"node_modules/fast-equals": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz",
- "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.2.1.tgz",
+ "integrity": "sha512-4DpZF7SS4GQO08ScYvTMuZSRik6Y+46ByOJOZR3yKjE69rooHcHB/UsO89qJyIlyvlya38296vypgnInFhRePA==",
"engines": {
"node": ">=6.0.0"
}
@@ -7627,9 +7643,9 @@
}
},
"node_modules/postcss-color-functional-notation": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.6.tgz",
- "integrity": "sha512-wLXvm8RmLs14Z2nVpB4CWlnvaWPRcOZFltJSlcbYwSJ1EDZKsKDhPKIMecCnuU054KSmlmubkqczmm6qBPCBhA==",
+ "version": "7.0.7",
+ "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.7.tgz",
+ "integrity": "sha512-EZvAHsvyASX63vXnyXOIynkxhaHRSsdb7z6yiXKIovGXAolW4cMZ3qoh7k3VdTsLBS6VGdksGfIo3r6+waLoOw==",
"dev": true,
"funding": [
{
@@ -7642,7 +7658,7 @@
}
],
"dependencies": {
- "@csstools/css-color-parser": "^3.0.6",
+ "@csstools/css-color-parser": "^3.0.7",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3",
"@csstools/postcss-progressive-custom-properties": "^4.0.0",
@@ -7978,9 +7994,9 @@
}
},
"node_modules/postcss-lab-function": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.6.tgz",
- "integrity": "sha512-HPwvsoK7C949vBZ+eMyvH2cQeMr3UREoHvbtra76/UhDuiViZH6pir+z71UaJQohd7VDSVUdR6TkWYKExEc9aQ==",
+ "version": "7.0.7",
+ "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.7.tgz",
+ "integrity": "sha512-+ONj2bpOQfsCKZE2T9VGMyVVdGcGUpr7u3SVfvkJlvhTRmDCfY25k4Jc8fubB9DclAPR4+w8uVtDZmdRgdAHig==",
"dev": true,
"funding": [
{
@@ -7993,7 +8009,7 @@
}
],
"dependencies": {
- "@csstools/css-color-parser": "^3.0.6",
+ "@csstools/css-color-parser": "^3.0.7",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3",
"@csstools/postcss-progressive-custom-properties": "^4.0.0",
@@ -8141,9 +8157,9 @@
}
},
"node_modules/postcss-preset-env": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.2.tgz",
- "integrity": "sha512-OqUBZ9ByVfngWhMNuBEMy52Izj07oIFA6K/EOGBlaSv+P12MiE1+S2cqXtS1VuW82demQ/Tzc7typYk3uHunkA==",
+ "version": "10.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.3.tgz",
+ "integrity": "sha512-9qzVhcMFU/MnwYHyYpJz4JhGku/4+xEiPTmhn0hj3IxnUYlEF9vbh7OC1KoLAnenS6Fgg43TKNp9xcuMeAi4Zw==",
"dev": true,
"funding": [
{
@@ -8157,14 +8173,14 @@
],
"dependencies": {
"@csstools/postcss-cascade-layers": "^5.0.1",
- "@csstools/postcss-color-function": "^4.0.6",
- "@csstools/postcss-color-mix-function": "^3.0.6",
+ "@csstools/postcss-color-function": "^4.0.7",
+ "@csstools/postcss-color-mix-function": "^3.0.7",
"@csstools/postcss-content-alt-text": "^2.0.4",
- "@csstools/postcss-exponential-functions": "^2.0.5",
+ "@csstools/postcss-exponential-functions": "^2.0.6",
"@csstools/postcss-font-format-keywords": "^4.0.0",
- "@csstools/postcss-gamut-mapping": "^2.0.6",
- "@csstools/postcss-gradients-interpolation-method": "^5.0.6",
- "@csstools/postcss-hwb-function": "^4.0.6",
+ "@csstools/postcss-gamut-mapping": "^2.0.7",
+ "@csstools/postcss-gradients-interpolation-method": "^5.0.7",
+ "@csstools/postcss-hwb-function": "^4.0.7",
"@csstools/postcss-ic-unit": "^4.0.0",
"@csstools/postcss-initial": "^2.0.0",
"@csstools/postcss-is-pseudo-class": "^5.0.1",
@@ -8174,19 +8190,19 @@
"@csstools/postcss-logical-overscroll-behavior": "^2.0.0",
"@csstools/postcss-logical-resize": "^3.0.0",
"@csstools/postcss-logical-viewport-units": "^3.0.3",
- "@csstools/postcss-media-minmax": "^2.0.5",
+ "@csstools/postcss-media-minmax": "^2.0.6",
"@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.4",
"@csstools/postcss-nested-calc": "^4.0.0",
"@csstools/postcss-normalize-display-values": "^4.0.0",
- "@csstools/postcss-oklab-function": "^4.0.6",
+ "@csstools/postcss-oklab-function": "^4.0.7",
"@csstools/postcss-progressive-custom-properties": "^4.0.0",
- "@csstools/postcss-random-function": "^1.0.1",
- "@csstools/postcss-relative-color-syntax": "^3.0.6",
+ "@csstools/postcss-random-function": "^1.0.2",
+ "@csstools/postcss-relative-color-syntax": "^3.0.7",
"@csstools/postcss-scope-pseudo-class": "^4.0.1",
- "@csstools/postcss-sign-functions": "^1.1.0",
- "@csstools/postcss-stepped-value-functions": "^4.0.5",
+ "@csstools/postcss-sign-functions": "^1.1.1",
+ "@csstools/postcss-stepped-value-functions": "^4.0.6",
"@csstools/postcss-text-decoration-shorthand": "^4.0.1",
- "@csstools/postcss-trigonometric-functions": "^4.0.5",
+ "@csstools/postcss-trigonometric-functions": "^4.0.6",
"@csstools/postcss-unset-value": "^4.0.0",
"autoprefixer": "^10.4.19",
"browserslist": "^4.23.1",
@@ -8196,7 +8212,7 @@
"cssdb": "^8.2.3",
"postcss-attribute-case-insensitive": "^7.0.1",
"postcss-clamp": "^4.1.0",
- "postcss-color-functional-notation": "^7.0.6",
+ "postcss-color-functional-notation": "^7.0.7",
"postcss-color-hex-alpha": "^10.0.0",
"postcss-color-rebeccapurple": "^10.0.0",
"postcss-custom-media": "^11.0.5",
@@ -8209,7 +8225,7 @@
"postcss-font-variant": "^5.0.0",
"postcss-gap-properties": "^6.0.0",
"postcss-image-set-function": "^7.0.0",
- "postcss-lab-function": "^7.0.6",
+ "postcss-lab-function": "^7.0.7",
"postcss-logical": "^8.0.0",
"postcss-nesting": "^13.0.1",
"postcss-opacity-percentage": "^3.0.0",
@@ -8314,9 +8330,9 @@
"dev": true
},
"node_modules/preact": {
- "version": "10.25.3",
- "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.3.tgz",
- "integrity": "sha512-dzQmIFtM970z+fP9ziQ3yG4e3ULIbwZzJ734vaMVUTaKQ2+Ru1Ou/gjshOYVHCcd1rpAelC6ngjvjDXph98unQ==",
+ "version": "10.25.4",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.4.tgz",
+ "integrity": "sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/preact"
@@ -8482,9 +8498,9 @@
}
},
"node_modules/react-intersection-observer": {
- "version": "9.14.0",
- "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.14.0.tgz",
- "integrity": "sha512-AYqlmDZn85VUmlODwYym9y5OlqY2cFyIu41dkN0GJWvhdbd19Mh16mz5IH6fO1gp5V4FfQOO4m0zGc04Tj13rQ==",
+ "version": "9.14.1",
+ "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.14.1.tgz",
+ "integrity": "sha512-k1xIUn3sCQi3ugNeF64FJb3zwve5mcetvAUR9JazXeOmtap4IP2evN8rs+yf6SQ7F1QydsOGiqTmt+lySKZ9uA==",
"peerDependencies": {
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
@@ -8996,14 +9012,17 @@
}
},
"node_modules/sonda": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/sonda/-/sonda-0.6.2.tgz",
- "integrity": "sha512-YD+3qKnB6Tov0aHH/pbWFXeppu51Aqg3Ih5t3zambwLhO5kIwb70m7qNcItK1ocfvCdFtb0uPuWczI7c0E3grA==",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/sonda/-/sonda-0.7.1.tgz",
+ "integrity": "sha512-PCdSdBvspoJXA0uY5GFeRzAolTHDP7gVnnMnr/O74IYIB8CiOFaEbTGNkEmShG6HBtmmFdQfPxdXbI+2vAgjYw==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "^2.3.0",
"@jridgewell/sourcemap-codec": "^1.5.0",
"open": "^10.1.0"
+ },
+ "bin": {
+ "sonda-angular": "bin/sonda-angular.js"
}
},
"node_modules/source-map": {
@@ -9803,12 +9822,12 @@
}
},
"node_modules/vite": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.5.tgz",
- "integrity": "sha512-akD5IAH/ID5imgue2DYhzsEwCi0/4VKY31uhMLEYJwPP4TiUp8pL5PIK+Wo7H8qT8JY9i+pVfPydcFPYD1EL7g==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.7.tgz",
+ "integrity": "sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==",
"dev": true,
"dependencies": {
- "esbuild": "0.24.0",
+ "esbuild": "^0.24.2",
"postcss": "^8.4.49",
"rollup": "^4.23.0"
},
@@ -9971,9 +9990,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/aix-ppc64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz",
- "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz",
+ "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==",
"cpu": [
"ppc64"
],
@@ -9987,9 +10006,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/android-arm": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz",
- "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz",
+ "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==",
"cpu": [
"arm"
],
@@ -10003,9 +10022,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/android-arm64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz",
- "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz",
+ "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==",
"cpu": [
"arm64"
],
@@ -10019,9 +10038,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/android-x64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz",
- "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz",
+ "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==",
"cpu": [
"x64"
],
@@ -10035,9 +10054,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/darwin-arm64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz",
- "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz",
+ "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==",
"cpu": [
"arm64"
],
@@ -10051,9 +10070,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/darwin-x64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz",
- "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz",
+ "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==",
"cpu": [
"x64"
],
@@ -10067,9 +10086,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz",
- "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz",
+ "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==",
"cpu": [
"arm64"
],
@@ -10083,9 +10102,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/freebsd-x64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz",
- "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz",
+ "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==",
"cpu": [
"x64"
],
@@ -10099,9 +10118,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/linux-arm": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz",
- "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz",
+ "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==",
"cpu": [
"arm"
],
@@ -10115,9 +10134,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/linux-arm64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz",
- "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz",
+ "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==",
"cpu": [
"arm64"
],
@@ -10131,9 +10150,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/linux-ia32": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz",
- "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz",
+ "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==",
"cpu": [
"ia32"
],
@@ -10147,9 +10166,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/linux-loong64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz",
- "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz",
+ "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==",
"cpu": [
"loong64"
],
@@ -10163,9 +10182,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/linux-mips64el": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz",
- "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz",
+ "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==",
"cpu": [
"mips64el"
],
@@ -10179,9 +10198,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/linux-ppc64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz",
- "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz",
+ "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==",
"cpu": [
"ppc64"
],
@@ -10195,9 +10214,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/linux-riscv64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz",
- "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz",
+ "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==",
"cpu": [
"riscv64"
],
@@ -10211,9 +10230,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/linux-s390x": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz",
- "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz",
+ "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==",
"cpu": [
"s390x"
],
@@ -10227,9 +10246,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/linux-x64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz",
- "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz",
+ "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==",
"cpu": [
"x64"
],
@@ -10243,9 +10262,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/netbsd-x64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz",
- "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz",
+ "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==",
"cpu": [
"x64"
],
@@ -10259,9 +10278,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/openbsd-x64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz",
- "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz",
+ "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==",
"cpu": [
"x64"
],
@@ -10275,9 +10294,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/sunos-x64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz",
- "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz",
+ "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==",
"cpu": [
"x64"
],
@@ -10291,9 +10310,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/win32-arm64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz",
- "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz",
+ "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==",
"cpu": [
"arm64"
],
@@ -10307,9 +10326,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/win32-ia32": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz",
- "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz",
+ "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==",
"cpu": [
"ia32"
],
@@ -10323,9 +10342,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/win32-x64": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz",
- "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz",
+ "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==",
"cpu": [
"x64"
],
@@ -10339,9 +10358,9 @@
}
},
"node_modules/vite/node_modules/esbuild": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz",
- "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz",
+ "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==",
"dev": true,
"hasInstallScript": true,
"bin": {
@@ -10351,30 +10370,31 @@
"node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.24.0",
- "@esbuild/android-arm": "0.24.0",
- "@esbuild/android-arm64": "0.24.0",
- "@esbuild/android-x64": "0.24.0",
- "@esbuild/darwin-arm64": "0.24.0",
- "@esbuild/darwin-x64": "0.24.0",
- "@esbuild/freebsd-arm64": "0.24.0",
- "@esbuild/freebsd-x64": "0.24.0",
- "@esbuild/linux-arm": "0.24.0",
- "@esbuild/linux-arm64": "0.24.0",
- "@esbuild/linux-ia32": "0.24.0",
- "@esbuild/linux-loong64": "0.24.0",
- "@esbuild/linux-mips64el": "0.24.0",
- "@esbuild/linux-ppc64": "0.24.0",
- "@esbuild/linux-riscv64": "0.24.0",
- "@esbuild/linux-s390x": "0.24.0",
- "@esbuild/linux-x64": "0.24.0",
- "@esbuild/netbsd-x64": "0.24.0",
- "@esbuild/openbsd-arm64": "0.24.0",
- "@esbuild/openbsd-x64": "0.24.0",
- "@esbuild/sunos-x64": "0.24.0",
- "@esbuild/win32-arm64": "0.24.0",
- "@esbuild/win32-ia32": "0.24.0",
- "@esbuild/win32-x64": "0.24.0"
+ "@esbuild/aix-ppc64": "0.24.2",
+ "@esbuild/android-arm": "0.24.2",
+ "@esbuild/android-arm64": "0.24.2",
+ "@esbuild/android-x64": "0.24.2",
+ "@esbuild/darwin-arm64": "0.24.2",
+ "@esbuild/darwin-x64": "0.24.2",
+ "@esbuild/freebsd-arm64": "0.24.2",
+ "@esbuild/freebsd-x64": "0.24.2",
+ "@esbuild/linux-arm": "0.24.2",
+ "@esbuild/linux-arm64": "0.24.2",
+ "@esbuild/linux-ia32": "0.24.2",
+ "@esbuild/linux-loong64": "0.24.2",
+ "@esbuild/linux-mips64el": "0.24.2",
+ "@esbuild/linux-ppc64": "0.24.2",
+ "@esbuild/linux-riscv64": "0.24.2",
+ "@esbuild/linux-s390x": "0.24.2",
+ "@esbuild/linux-x64": "0.24.2",
+ "@esbuild/netbsd-arm64": "0.24.2",
+ "@esbuild/netbsd-x64": "0.24.2",
+ "@esbuild/openbsd-arm64": "0.24.2",
+ "@esbuild/openbsd-x64": "0.24.2",
+ "@esbuild/sunos-x64": "0.24.2",
+ "@esbuild/win32-arm64": "0.24.2",
+ "@esbuild/win32-ia32": "0.24.2",
+ "@esbuild/win32-x64": "0.24.2"
}
},
"node_modules/wcwidth": {
diff --git a/package.json b/package.json
index 10be4692..12eaf0d0 100644
--- a/package.json
+++ b/package.json
@@ -16,8 +16,8 @@
"readme:i18n-volunteers": "node scripts/update-i18n-volunteers-readme.js"
},
"dependencies": {
- "@formatjs/intl-localematcher": "~0.5.9",
- "@formatjs/intl-segmenter": "~11.7.7",
+ "@formatjs/intl-localematcher": "~0.5.10",
+ "@formatjs/intl-segmenter": "~11.7.8",
"@formkit/auto-animate": "~0.8.2",
"@github/text-expander-element": "~2.8.0",
"@iconify-icons/mingcute": "~1.2.9",
@@ -29,7 +29,7 @@
"chroma-js": "~3.1.2",
"compare-versions": "~6.1.1",
"fast-blurhash": "~1.1.4",
- "fast-equals": "~5.0.1",
+ "fast-equals": "~5.2.1",
"fuse.js": "~7.0.0",
"html-prettify": "~1.0.7",
"idb-keyval": "~6.2.1",
@@ -41,10 +41,10 @@
"moize": "~6.1.6",
"p-retry": "~6.2.1",
"p-throttle": "~7.0.0",
- "preact": "~10.25.3",
+ "preact": "~10.25.4",
"punycode": "~2.3.1",
"react-hotkeys-hook": "~4.6.1",
- "react-intersection-observer": "~9.14.0",
+ "react-intersection-observer": "~9.14.1",
"react-quick-pinch-zoom": "~5.1.0",
"react-router-dom": "6.6.2",
"string-length": "6.0.0",
@@ -61,15 +61,15 @@
"@ianvs/prettier-plugin-sort-imports": "~4.4.0",
"@lingui/cli": "~5.1.2",
"@lingui/vite-plugin": "~5.1.2",
- "@preact/preset-vite": "~2.9.3",
+ "@preact/preset-vite": "~2.9.4",
"babel-plugin-macros": "~3.1.0",
"postcss": "~8.4.49",
"postcss-dark-theme-class": "~1.3.0",
- "postcss-preset-env": "~10.1.2",
+ "postcss-preset-env": "~10.1.3",
"prettier": "3.4.2",
- "sonda": "~0.6.2",
+ "sonda": "~0.7.1",
"twitter-text": "~3.1.0",
- "vite": "~6.0.5",
+ "vite": "~6.0.7",
"vite-plugin-generate-file": "~0.2.0",
"vite-plugin-html-config": "~2.0.2",
"vite-plugin-pwa": "~0.21.1",
From 6828b642ee5af5da905d62d95e8763759d528e00 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Wed, 8 Jan 2025 14:39:01 +0800
Subject: [PATCH 07/27] Sonda should've bump major version
---
vite.config.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/vite.config.js b/vite.config.js
index 81b9edb7..c1c51ecc 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -4,7 +4,7 @@ import { resolve } from 'path';
import { lingui } from '@lingui/vite-plugin';
import preact from '@preact/preset-vite';
-import { SondaRollupPlugin } from 'sonda';
+import Sonda from 'sonda/vite';
import { uid } from 'uid/single';
import { defineConfig, loadEnv, splitVendorChunkPlugin } from 'vite';
import generateFile from 'vite-plugin-generate-file';
@@ -150,7 +150,7 @@ export default defineConfig({
type: 'module',
},
}),
- SondaRollupPlugin({
+ Sonda({
detailed: true,
brotli: true,
}),
From 913fbd992a282d98f5f6aa5c1a7012468be29127 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Wed, 8 Jan 2025 14:47:28 +0800
Subject: [PATCH 08/27] Not sure if this works, try trigger when PRs are merged
into main
---
.github/workflows/main2prod.yml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/main2prod.yml b/.github/workflows/main2prod.yml
index 0f78df2c..46fd92b2 100644
--- a/.github/workflows/main2prod.yml
+++ b/.github/workflows/main2prod.yml
@@ -1,9 +1,13 @@
-name: Pull Request to `main` from `production`
+name: Pull Request into `production` from `main`
on:
push:
branches:
- main
+ pull_request:
+ types: [closed]
+ branches:
+ - main
jobs:
auto-pull-request:
From f432d2c897a741fa097fab69ebf30691d6bb3dfd Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Sun, 12 Jan 2025 00:02:30 +0000
Subject: [PATCH 09/27] Update README.md
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index ec8f883d..f1f0bb41 100644
--- a/README.md
+++ b/README.md
@@ -328,6 +328,7 @@ Costs involved in running and developing this web app:
-
LukeHong (Chinese Traditional)
-
Mannivu (Italian)
-
marcin.kozinski (Polish)
+-
martinmodrak (Czech)
-
mkljczkk (Polish)
-
mojosoeun (Korean)
-
moreal (Korean)
@@ -348,6 +349,7 @@ Costs involved in running and developing this web app:
-
Sky_NiniKo (French)
-
Steffo99 (Italian)
-
Su5hicz (Czech)
+-
svetlemodry (Czech)
-
tferrermo (Spanish)
-
tkbremnes (Norwegian Bokmal)
-
tux93 (German)
From 49a8b4543822f39de77e5aded1e4ed12b1f4082b Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Tue, 14 Jan 2025 12:52:37 +0800
Subject: [PATCH 10/27] Fix Log in title not working and not localised
---
src/locales/en.po | 1 +
src/pages/login.jsx | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/locales/en.po b/src/locales/en.po
index 22a5b882..5beaabf4 100644
--- a/src/locales/en.po
+++ b/src/locales/en.po
@@ -1405,6 +1405,7 @@ msgid "Accounts…"
msgstr ""
#: src/components/nav-menu.jsx:315
+#: src/pages/login.jsx:27
#: src/pages/login.jsx:190
#: src/pages/status.jsx:837
#: src/pages/welcome.jsx:65
diff --git a/src/pages/login.jsx b/src/pages/login.jsx
index 9d9980ca..7cca2829 100644
--- a/src/pages/login.jsx
+++ b/src/pages/login.jsx
@@ -24,7 +24,7 @@ const { PHANPY_DEFAULT_INSTANCE: DEFAULT_INSTANCE } = import.meta.env;
function Login() {
const { t } = useLingui();
- useTitle('Log in');
+ useTitle(t`Log in`, '/login');
const instanceURLRef = useRef();
const cachedInstanceURL = store.local.get('instanceURL');
const [uiState, setUIState] = useState('default');
From e6a8caa64e53b83b0705ae5067921f8344442c64 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Tue, 14 Jan 2025 12:54:20 +0800
Subject: [PATCH 11/27] Upgrade dependencies
---
package-lock.json | 48 +++++++++++++++++++++++------------------------
package.json | 10 +++++-----
2 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 08d2a6eb..845a25ee 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,11 +17,11 @@
"@lingui/detect-locale": "~5.1.2",
"@lingui/macro": "~5.1.2",
"@lingui/react": "~5.1.2",
- "@szhsin/react-menu": "~4.2.3",
+ "@szhsin/react-menu": "~4.2.4",
"chroma-js": "~3.1.2",
"compare-versions": "~6.1.1",
"fast-blurhash": "~1.1.4",
- "fast-equals": "~5.2.1",
+ "fast-equals": "~5.2.2",
"fuse.js": "~7.0.0",
"html-prettify": "~1.0.7",
"idb-keyval": "~6.2.1",
@@ -29,7 +29,7 @@
"js-cookie": "~3.0.5",
"just-debounce-it": "~3.2.0",
"lz-string": "~1.5.0",
- "masto": "~6.10.1",
+ "masto": "~6.10.2",
"moize": "~6.1.6",
"p-retry": "~6.2.1",
"p-throttle": "~7.0.0",
@@ -50,12 +50,12 @@
"valtio": "2.1.2"
},
"devDependencies": {
- "@ianvs/prettier-plugin-sort-imports": "~4.4.0",
+ "@ianvs/prettier-plugin-sort-imports": "~4.4.1",
"@lingui/cli": "~5.1.2",
"@lingui/vite-plugin": "~5.1.2",
"@preact/preset-vite": "~2.9.4",
"babel-plugin-macros": "~3.1.0",
- "postcss": "~8.4.49",
+ "postcss": "~8.5.0",
"postcss-dark-theme-class": "~1.3.0",
"postcss-preset-env": "~10.1.3",
"prettier": "3.4.2",
@@ -3122,9 +3122,9 @@
}
},
"node_modules/@ianvs/prettier-plugin-sort-imports": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@ianvs/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.4.0.tgz",
- "integrity": "sha512-f4/e+/ANGk3tHuwRW0uh2YuBR50I4h1ZjGQ+5uD8sWfinHTivQsnieR5cz24t8M6Vx4rYvZ5v/IEKZhYpzQm9Q==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/@ianvs/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.4.1.tgz",
+ "integrity": "sha512-F0/Hrcfpy8WuxlQyAWJTEren/uxKhYonOGY4OyWmwRdeTvkh9mMSCxowZLjNkhwi/2ipqCgtXwwOk7tW0mWXkA==",
"dev": true,
"dependencies": {
"@babel/generator": "^7.26.2",
@@ -3979,9 +3979,9 @@
}
},
"node_modules/@szhsin/react-menu": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/@szhsin/react-menu/-/react-menu-4.2.3.tgz",
- "integrity": "sha512-pLbjaR1XNu8rnHnmkf7eCotKFheumcxVrLQUxRRJB+P8XAc7LusAv4Rd6krhkGbeI4NsLFxNCvNq+wmx3/y/Wg==",
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/@szhsin/react-menu/-/react-menu-4.2.4.tgz",
+ "integrity": "sha512-FczIttEAVlT1wKU89mWvPeR6aJADDEGbTzJocsQgG6lPO4QuC8oHPAzxweufDSMbQjhqibCDIQiwTnB+ks7XXg==",
"dependencies": {
"prop-types": "^15.7.2",
"react-transition-state": "^2.1.2"
@@ -5640,9 +5640,9 @@
"dev": true
},
"node_modules/fast-equals": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.2.1.tgz",
- "integrity": "sha512-4DpZF7SS4GQO08ScYvTMuZSRik6Y+46ByOJOZR3yKjE69rooHcHB/UsO89qJyIlyvlya38296vypgnInFhRePA==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.2.2.tgz",
+ "integrity": "sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==",
"engines": {
"node": ">=6.0.0"
}
@@ -6973,9 +6973,9 @@
}
},
"node_modules/masto": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/masto/-/masto-6.10.1.tgz",
- "integrity": "sha512-CBEAvWJfMLMgk0cURSGU/fRJDcFEZWo1LBfVYztBNEOyijoedQh4htKaon+XCE4aT7TLYPqOLmcllXwMjOvztA==",
+ "version": "6.10.2",
+ "resolved": "https://registry.npmjs.org/masto/-/masto-6.10.2.tgz",
+ "integrity": "sha512-s9yU2AvA/8uhS1OILs1Oa54saO6qEqLR9+uu519DpnQfYdN26TI2PBmedQ4b98zM6Xrd9KSPr2LpHG+oriccVA==",
"dependencies": {
"change-case": "^4.1.2",
"events-to-async": "^2.0.1",
@@ -7096,9 +7096,9 @@
"dev": true
},
"node_modules/nanoid": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "version": "3.3.8",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
+ "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
"dev": true,
"funding": [
{
@@ -7574,9 +7574,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.49",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
- "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.0.tgz",
+ "integrity": "sha512-27VKOqrYfPncKA2NrFOVhP5MGAfHKLYn/Q0mz9cNQyRAKYi3VNHwYU2qKKqPCqgBmeeJ0uAFB56NumXZ5ZReXg==",
"dev": true,
"funding": [
{
@@ -7593,7 +7593,7 @@
}
],
"dependencies": {
- "nanoid": "^3.3.7",
+ "nanoid": "^3.3.8",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
diff --git a/package.json b/package.json
index 12eaf0d0..b77c3d3f 100644
--- a/package.json
+++ b/package.json
@@ -25,11 +25,11 @@
"@lingui/detect-locale": "~5.1.2",
"@lingui/macro": "~5.1.2",
"@lingui/react": "~5.1.2",
- "@szhsin/react-menu": "~4.2.3",
+ "@szhsin/react-menu": "~4.2.4",
"chroma-js": "~3.1.2",
"compare-versions": "~6.1.1",
"fast-blurhash": "~1.1.4",
- "fast-equals": "~5.2.1",
+ "fast-equals": "~5.2.2",
"fuse.js": "~7.0.0",
"html-prettify": "~1.0.7",
"idb-keyval": "~6.2.1",
@@ -37,7 +37,7 @@
"js-cookie": "~3.0.5",
"just-debounce-it": "~3.2.0",
"lz-string": "~1.5.0",
- "masto": "~6.10.1",
+ "masto": "~6.10.2",
"moize": "~6.1.6",
"p-retry": "~6.2.1",
"p-throttle": "~7.0.0",
@@ -58,12 +58,12 @@
"valtio": "2.1.2"
},
"devDependencies": {
- "@ianvs/prettier-plugin-sort-imports": "~4.4.0",
+ "@ianvs/prettier-plugin-sort-imports": "~4.4.1",
"@lingui/cli": "~5.1.2",
"@lingui/vite-plugin": "~5.1.2",
"@preact/preset-vite": "~2.9.4",
"babel-plugin-macros": "~3.1.0",
- "postcss": "~8.4.49",
+ "postcss": "~8.5.0",
"postcss-dark-theme-class": "~1.3.0",
"postcss-preset-env": "~10.1.3",
"prettier": "3.4.2",
From 4324139e9c288540be2fbfca7bdbdd123da8505a Mon Sep 17 00:00:00 2001
From: Chee Aun
Date: Wed, 15 Jan 2025 04:32:01 +0800
Subject: [PATCH 12/27] i18n updates (ca-ES,pt-PT) (#1023)
* New translations (Catalan)
* New translations (Portuguese)
---
src/locales/ca-ES.po | 5 ++-
src/locales/pt-PT.po | 105 ++++++++++++++++++++++---------------------
2 files changed, 56 insertions(+), 54 deletions(-)
diff --git a/src/locales/ca-ES.po b/src/locales/ca-ES.po
index 3afd4d09..f4f08dc7 100644
--- a/src/locales/ca-ES.po
+++ b/src/locales/ca-ES.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ca\n"
"Project-Id-Version: phanpy\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-01-06 00:52\n"
+"PO-Revision-Date: 2025-01-14 18:50\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -1410,6 +1410,7 @@ msgid "Accounts…"
msgstr "Comptes…"
#: src/components/nav-menu.jsx:315
+#: src/pages/login.jsx:27
#: src/pages/login.jsx:190
#: src/pages/status.jsx:837
#: src/pages/welcome.jsx:65
@@ -2708,7 +2709,7 @@ msgstr "Grups"
#: src/pages/catchup.jsx:596
msgid "Showing {selectedFilterCategory, select, all {all posts} original {original posts} replies {replies} boosts {boosts} followedTags {followed tags} groups {groups} filtered {filtered posts}}, {sortBy, select, createdAt {{sortOrder, select, asc {oldest} desc {latest}}} reblogsCount {{sortOrder, select, asc {fewest boosts} desc {most boosts}}} favouritesCount {{sortOrder, select, asc {fewest likes} desc {most likes}}} repliesCount {{sortOrder, select, asc {fewest replies} desc {most replies}}} density {{sortOrder, select, asc {least dense} desc {most dense}}}} first{groupBy, select, account {, grouped by authors} other {}}"
-msgstr "Es mostren {selectedFilterCategory, select, all {totes les publicacions} original {publicacions originals} replies {respostes} boosts {impulsos} followedTags {etiquetes seguides} groups {grups} filtered {publicacions filtrades}}, {sortBy, select, createdAt {{sortOrder, select, asc {més antic} desc {més recent}}} reblogsCount {{sortOrder, select, asc {amb menys impulsos} desc {amb més impulsos}}} favouritesCount {{sortOrder, select, asc {amb menys favorits} desc {amb més favorits}}} repliesCount {{sortOrder, select, asc {amb menys respostes} desc {amb més respostes}}} density {{sortOrder, select, asc {amb menys densitat} desc {amb més densitat}}}} primer{groupBy, select, account {, agrupat per autors} other {}}"
+msgstr "Es mostren {selectedFilterCategory, select, all {totes les publicacions} original {publicacions originals} replies {respostes} boosts {impulsos} followedTags {etiquetes seguides} groups {grups} filtered {publicacions filtrades}}, {sortBy, select, createdAt {{sortOrder, select, asc {més antiga} desc {més recent}}} reblogsCount {{sortOrder, select, asc {amb menys impulsos} desc {amb més impulsos}}} favouritesCount {{sortOrder, select, asc {amb menys favorits} desc {amb més favorits}}} repliesCount {{sortOrder, select, asc {amb menys respostes} desc {amb més respostes}}} density {{sortOrder, select, asc {amb menys densitat} desc {amb més densitat}}}} primer{groupBy, select, account {, agrupat per autors} other {}}"
#: src/pages/catchup.jsx:882
#: src/pages/catchup.jsx:906
diff --git a/src/locales/pt-PT.po b/src/locales/pt-PT.po
index 6d0319d4..7152676a 100644
--- a/src/locales/pt-PT.po
+++ b/src/locales/pt-PT.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: phanpy\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-12-22 00:30\n"
+"PO-Revision-Date: 2025-01-14 20:31\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -113,7 +113,7 @@ msgstr "Publicações"
#: src/components/account-info.jsx:429
#: src/components/account-info.jsx:1120
-#: src/components/compose.jsx:2592
+#: src/components/compose.jsx:2624
#: src/components/media-alt-modal.jsx:46
#: src/components/media-modal.jsx:358
#: src/components/status.jsx:1737
@@ -424,10 +424,10 @@ msgstr "Seguir"
#: src/components/account-info.jsx:2098
#: src/components/account-sheet.jsx:38
#: src/components/compose.jsx:859
-#: src/components/compose.jsx:2548
-#: src/components/compose.jsx:3022
-#: src/components/compose.jsx:3231
-#: src/components/compose.jsx:3461
+#: src/components/compose.jsx:2580
+#: src/components/compose.jsx:3054
+#: src/components/compose.jsx:3263
+#: src/components/compose.jsx:3493
#: src/components/drafts.jsx:59
#: src/components/embed-modal.jsx:13
#: src/components/generic-accounts.jsx:143
@@ -711,7 +711,7 @@ msgid "Mark media as sensitive"
msgstr "Marcar media como sensível"
#: src/components/compose.jsx:1381
-#: src/components/compose.jsx:3080
+#: src/components/compose.jsx:3112
#: src/components/shortcuts-settings.jsx:715
#: src/pages/list.jsx:362
msgid "Add"
@@ -743,31 +743,31 @@ msgstr "A transferir GIF…"
msgid "Failed to download GIF"
msgstr "Falhou ao transferir GIF"
-#: src/components/compose.jsx:1879
-#: src/components/compose.jsx:1956
+#: src/components/compose.jsx:1884
+#: src/components/compose.jsx:1961
#: src/components/nav-menu.jsx:239
msgid "More…"
msgstr "Mais…"
-#: src/components/compose.jsx:2361
+#: src/components/compose.jsx:2393
msgid "Uploaded"
msgstr "Enviado"
-#: src/components/compose.jsx:2374
+#: src/components/compose.jsx:2406
msgid "Image description"
msgstr "Descrição da imagem"
-#: src/components/compose.jsx:2375
+#: src/components/compose.jsx:2407
msgid "Video description"
msgstr "Descrição do vídeo"
-#: src/components/compose.jsx:2376
+#: src/components/compose.jsx:2408
msgid "Audio description"
msgstr "Descrição do áudio"
#. placeholder {0}: prettyBytes( imageSize, )
#. placeholder {1}: prettyBytes(imageSizeLimit)
-#: src/components/compose.jsx:2412
+#: src/components/compose.jsx:2444
msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower."
msgstr "O ficheiro é muito grande. Ao enviar pode enfrentar problemas. Tenta reduzir o tamanho de {0} a {1} ou mais baixo."
@@ -775,13 +775,13 @@ msgstr "O ficheiro é muito grande. Ao enviar pode enfrentar problemas. Tenta re
#. placeholder {3}: i18n.number(height)
#. placeholder {4}: i18n.number(newWidth)
#. placeholder {5}: i18n.number( newHeight, )
-#: src/components/compose.jsx:2424
+#: src/components/compose.jsx:2456
msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {2}×{3}px to {4}×{5}px."
msgstr "A dimensão é muito grande. Ao enviar pode enfrentar problemas. Tenta reduzir a dimensão de {2}×{3}px para {4}×{5}px."
#. placeholder {6}: prettyBytes( videoSize, )
#. placeholder {7}: prettyBytes(videoSizeLimit)
-#: src/components/compose.jsx:2432
+#: src/components/compose.jsx:2464
msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {6} to {7} or lower."
msgstr "O ficheiro é muito grande. Ao enviar pode enfrentar problemas. Tenta reduzir o tamanho de {6} a {7} ou mais baixo."
@@ -789,149 +789,149 @@ msgstr "O ficheiro é muito grande. Ao enviar pode enfrentar problemas. Tenta re
#. placeholder {9}: i18n.number(height)
#. placeholder {10}: i18n.number(newWidth)
#. placeholder {11}: i18n.number( newHeight, )
-#: src/components/compose.jsx:2444
+#: src/components/compose.jsx:2476
msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {8}×{9}px to {10}×{11}px."
msgstr "A dimensão é muito grande. Ao enviar pode enfrentar problemas. Tenta reduzir a dimensão de {8}×{9}px para {10}×{11}px."
-#: src/components/compose.jsx:2452
+#: src/components/compose.jsx:2484
msgid "Frame rate too high. Uploading might encounter issues."
msgstr "A taxa de quadros está muito alta. Ao enviar pode enfrentar problemas."
-#: src/components/compose.jsx:2512
-#: src/components/compose.jsx:2762
+#: src/components/compose.jsx:2544
+#: src/components/compose.jsx:2794
#: src/components/shortcuts-settings.jsx:726
#: src/pages/catchup.jsx:1074
#: src/pages/filters.jsx:412
msgid "Remove"
msgstr "Eliminar"
-#: src/components/compose.jsx:2529
+#: src/components/compose.jsx:2561
#: src/compose.jsx:84
msgid "Error"
msgstr "Erro"
-#: src/components/compose.jsx:2554
+#: src/components/compose.jsx:2586
msgid "Edit image description"
msgstr "Editar descrição da imagem"
-#: src/components/compose.jsx:2555
+#: src/components/compose.jsx:2587
msgid "Edit video description"
msgstr "Editar descrição do vídeo"
-#: src/components/compose.jsx:2556
+#: src/components/compose.jsx:2588
msgid "Edit audio description"
msgstr "Editar descrição do áudio"
-#: src/components/compose.jsx:2601
-#: src/components/compose.jsx:2650
+#: src/components/compose.jsx:2633
+#: src/components/compose.jsx:2682
msgid "Generating description. Please wait…"
msgstr "A gerar descrição. Por favor, espere…"
#. placeholder {12}: e.message
-#: src/components/compose.jsx:2621
+#: src/components/compose.jsx:2653
msgid "Failed to generate description: {12}"
msgstr "Falhou ao gerar descrição: {12}"
-#: src/components/compose.jsx:2622
+#: src/components/compose.jsx:2654
msgid "Failed to generate description"
msgstr "Falhou ao gerar descrição"
-#: src/components/compose.jsx:2634
-#: src/components/compose.jsx:2640
-#: src/components/compose.jsx:2686
+#: src/components/compose.jsx:2666
+#: src/components/compose.jsx:2672
+#: src/components/compose.jsx:2718
msgid "Generate description…"
msgstr "Gerar descrição…"
#. placeholder {13}: e?.message ? `: ${e.message}` : ''
-#: src/components/compose.jsx:2673
+#: src/components/compose.jsx:2705
msgid "Failed to generate description{13}"
msgstr "Falhou ao gerar descrição{13}"
#. placeholder {0}: localeCode2Text(lang)
-#: src/components/compose.jsx:2688
+#: src/components/compose.jsx:2720
msgid "({0}) <0>— experimental0>"
msgstr "({0}) <0>— experimental0>"
-#: src/components/compose.jsx:2707
+#: src/components/compose.jsx:2739
msgid "Done"
msgstr "Concluído"
#. placeholder {0}: i + 1
-#: src/components/compose.jsx:2743
+#: src/components/compose.jsx:2775
msgid "Choice {0}"
msgstr "Escolha {0}"
-#: src/components/compose.jsx:2790
+#: src/components/compose.jsx:2822
msgid "Multiple choices"
msgstr "Várias escolhas"
-#: src/components/compose.jsx:2793
+#: src/components/compose.jsx:2825
msgid "Duration"
msgstr "Duração"
-#: src/components/compose.jsx:2824
+#: src/components/compose.jsx:2856
msgid "Remove poll"
msgstr "Eliminar enquete"
-#: src/components/compose.jsx:3039
+#: src/components/compose.jsx:3071
msgid "Search accounts"
msgstr "Buscar contas"
-#: src/components/compose.jsx:3093
+#: src/components/compose.jsx:3125
#: src/components/generic-accounts.jsx:228
msgid "Error loading accounts"
msgstr "Erro ao carregar contas"
-#: src/components/compose.jsx:3237
+#: src/components/compose.jsx:3269
msgid "Custom emojis"
msgstr "Emojis personalizados"
-#: src/components/compose.jsx:3257
+#: src/components/compose.jsx:3289
msgid "Search emoji"
msgstr "Buscar emoji"
-#: src/components/compose.jsx:3288
+#: src/components/compose.jsx:3320
msgid "Error loading custom emojis"
msgstr "Erro ao carregar emojis personalizados"
-#: src/components/compose.jsx:3299
+#: src/components/compose.jsx:3331
msgid "Recently used"
msgstr "Usado recentemente"
-#: src/components/compose.jsx:3300
+#: src/components/compose.jsx:3332
msgid "Others"
msgstr "Outros"
#. placeholder {0}: i18n.number(emojis.length - max)
-#: src/components/compose.jsx:3338
+#: src/components/compose.jsx:3370
msgid "{0} more…"
msgstr "{0} mais…"
-#: src/components/compose.jsx:3476
+#: src/components/compose.jsx:3508
msgid "Search GIFs"
msgstr "Buscar GIFs"
-#: src/components/compose.jsx:3491
+#: src/components/compose.jsx:3523
msgid "Powered by GIPHY"
msgstr "Desenvolvido por GIPHY"
-#: src/components/compose.jsx:3499
+#: src/components/compose.jsx:3531
msgid "Type to search GIFs"
msgstr "Digite para buscar GIFs"
-#: src/components/compose.jsx:3597
+#: src/components/compose.jsx:3629
#: src/components/media-modal.jsx:462
#: src/components/timeline.jsx:893
msgid "Previous"
msgstr "Anterior"
-#: src/components/compose.jsx:3615
+#: src/components/compose.jsx:3647
#: src/components/media-modal.jsx:481
#: src/components/timeline.jsx:910
msgid "Next"
msgstr "Seguinte"
-#: src/components/compose.jsx:3632
+#: src/components/compose.jsx:3664
msgid "Error loading GIFs"
msgstr "Erro ao carregar GIFs"
@@ -1410,6 +1410,7 @@ msgid "Accounts…"
msgstr "Contas…"
#: src/components/nav-menu.jsx:315
+#: src/pages/login.jsx:27
#: src/pages/login.jsx:190
#: src/pages/status.jsx:837
#: src/pages/welcome.jsx:65
From 61485413b61d2ee633893ccaef24d23a13b06530 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Wed, 15 Jan 2025 18:02:16 +0800
Subject: [PATCH 13/27] Unfurl BotKit/Fedify links
---
src/utils/isMastodonLinkMaybe.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/utils/isMastodonLinkMaybe.js b/src/utils/isMastodonLinkMaybe.js
index 753fc3bb..a393cbb1 100644
--- a/src/utils/isMastodonLinkMaybe.js
+++ b/src/utils/isMastodonLinkMaybe.js
@@ -8,6 +8,7 @@ export default function isMastodonLinkMaybe(url) {
/^\/(notice|objects)\/[a-z0-9-]+$/i.test(pathname) || // Pleroma
/^\/@[^/]+\/post\/[a-z0-9\-_]+$/i.test(pathname) || // Threads
/^\/@[^/]+\/[a-z0-9]+[a-z0-9\-]+[a-z0-9]+$/i.test(pathname) || // Hollo
+ /^\/ap\/note\/[a-z0-9\-_]+$/i.test(pathname) || // BotKit, Fedify
(hostname === 'fed.brid.gy' && pathname.startsWith('/r/http')) || // Bridgy Fed
/#\/[^\/]+\.[^\/]+\/s\/.+/i.test(hash) // Phanpy 🫣
);
From 9e8ae6c6e497968ab6303aaab9040ba693ea4483 Mon Sep 17 00:00:00 2001
From: Chee Aun
Date: Wed, 15 Jan 2025 20:00:19 +0800
Subject: [PATCH 14/27] i18n updates (pt-PT) (#1026)
---
src/locales/pt-PT.po | 52 ++++++++++++++++++++++----------------------
1 file changed, 26 insertions(+), 26 deletions(-)
diff --git a/src/locales/pt-PT.po b/src/locales/pt-PT.po
index 7152676a..2ba57845 100644
--- a/src/locales/pt-PT.po
+++ b/src/locales/pt-PT.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: phanpy\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-01-14 20:31\n"
+"PO-Revision-Date: 2025-01-15 11:59\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -76,7 +76,7 @@ msgstr "Verificado"
#: src/components/account-block.jsx:223
#: src/components/account-info.jsx:782
msgid "Joined <0>{0}0>"
-msgstr "Se juntou em <0>{0}0>"
+msgstr "Juntou-se em <0>{0}0>"
#: src/components/account-info.jsx:58
msgid "Forever"
@@ -133,7 +133,7 @@ msgstr "Mais"
#: src/components/account-info.jsx:441
msgid "<0>{displayName}0> has indicated that their new account is now:"
-msgstr "<0>{displayName}0> indicou que a nova conta é:"
+msgstr "A nova conta de <0>{displayName}0> é:"
#: src/components/account-info.jsx:586
#: src/components/account-info.jsx:1278
@@ -169,7 +169,7 @@ msgstr "Em memória"
#: src/components/account-info.jsx:711
#: src/components/account-info.jsx:752
msgid "This user has chosen to not make this information available."
-msgstr "Este utilizador decidiu não fazer esta informação visível."
+msgstr "O utilizador deixou privado esta informação."
#. placeholder {0}: ( postingStats.originals / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
#. placeholder {1}: ( postingStats.replies / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
@@ -220,7 +220,7 @@ msgstr "Impulsos"
#: src/components/account-info.jsx:874
msgid "Post stats unavailable."
-msgstr "As estatísticas estão indisponíveis."
+msgstr "Estatísticas da publicação indisponíveis."
#: src/components/account-info.jsx:905
msgid "View post stats"
@@ -397,7 +397,7 @@ msgstr "Editar perfil"
#: src/components/account-info.jsx:1624
msgid "Withdraw follow request?"
-msgstr "Eliminar pedido de seguimento?"
+msgstr "Eliminar pedido de seguir?"
#. placeholder {1}: info.acct || info.username
#: src/components/account-info.jsx:1625
@@ -566,7 +566,7 @@ msgstr "Escrever"
#: src/components/compose.jsx:206
msgid "Add media"
-msgstr "Adicionar media"
+msgstr "Adicionar multimédia"
#: src/components/compose.jsx:207
msgid "Add custom emoji"
@@ -596,7 +596,7 @@ msgstr "{0, plural, one {O ficheiro {1} não é suportado.} other {Os ficheiros
#: src/components/compose.jsx:1674
#: src/components/compose.jsx:1760
msgid "{maxMediaAttachments, plural, one {You can only attach up to 1 file.} other {You can only attach up to # files.}}"
-msgstr "{maxMediaAttachments, plural,one {Tu podes anexar até 1 ficheiro.} other {Tu podes anexar até # ficheiros.}}"
+msgstr "{maxMediaAttachments, plural,one {Só pode anexar até 1 ficheiro.} other {Só pode anexar até # ficheiros.}}"
#: src/components/compose.jsx:840
msgid "Pop out"
@@ -647,7 +647,7 @@ msgstr "Algumas escolhas da enquete estão vazias"
#: src/components/compose.jsx:1034
msgid "Some media have no descriptions. Continue?"
-msgstr "Algumas das medias não têm descrição. Prosseguir?"
+msgstr "Algumas multimédias não possuem descrições. Prosseguir?"
#: src/components/compose.jsx:1086
msgid "Attachment #{i} failed"
@@ -661,7 +661,7 @@ msgstr "Alerta de conteúdo"
#: src/components/compose.jsx:1196
msgid "Content warning or sensitive media"
-msgstr "Alerta de conteúdo ou media sensível"
+msgstr "Alerta de conteúdo ou multimédia sensível"
#: src/components/compose.jsx:1232
#: src/components/status.jsx:93
@@ -704,11 +704,11 @@ msgstr "Editar publicação"
#: src/components/compose.jsx:1259
msgid "What are you doing?"
-msgstr "O que tu fazes?"
+msgstr "O que faz?"
#: src/components/compose.jsx:1337
msgid "Mark media as sensitive"
-msgstr "Marcar media como sensível"
+msgstr "Marcar multimédia como sensível"
#: src/components/compose.jsx:1381
#: src/components/compose.jsx:3112
@@ -987,7 +987,7 @@ msgstr "Enquete"
#: src/components/drafts.jsx:250
#: src/pages/account-statuses.jsx:364
msgid "Media"
-msgstr "Media"
+msgstr "Multimédia"
#: src/components/embed-modal.jsx:23
msgid "Open in new window"
@@ -1232,7 +1232,7 @@ msgstr "Impossível eliminar lista."
#: src/components/media-alt-modal.jsx:39
#: src/components/media.jsx:51
msgid "Media description"
-msgstr "Descrição da media"
+msgstr "Descrição da multimédia"
#: src/components/media-alt-modal.jsx:58
#: src/components/status.jsx:1066
@@ -1249,15 +1249,15 @@ msgstr "Falar"
#: src/components/media-modal.jsx:369
msgid "Open original media in new window"
-msgstr "Abrir media original em nova janela"
+msgstr "Abrir multimédia original em nova janela"
#: src/components/media-modal.jsx:373
msgid "Open original media"
-msgstr "Abrir media original"
+msgstr "Abrir multimédia original"
#: src/components/media-modal.jsx:389
msgid "Attempting to describe image. Please wait…"
-msgstr "A tentar descrever imagem. Por favor, espere…"
+msgstr "A descrever imagem. Por favor, espere…"
#: src/components/media-modal.jsx:404
msgid "Failed to describe image"
@@ -1273,7 +1273,7 @@ msgstr "Ver publicação"
#: src/components/media-post.jsx:128
msgid "Sensitive media"
-msgstr "Media sensível"
+msgstr "Multimédia sensível"
#: src/components/media-post.jsx:133
msgid "Filtered: {filterTitleStr}"
@@ -1871,7 +1871,7 @@ msgstr "ex.: PixelArt (Máx. 5, espaço separado)"
#: src/components/shortcuts-settings.jsx:117
#: src/pages/hashtag.jsx:356
msgid "Media only"
-msgstr "Apenas media"
+msgstr "Somente multimédia"
#: src/components/shortcuts-settings.jsx:235
#: src/components/shortcuts.jsx:192
@@ -2153,7 +2153,7 @@ msgstr "Citar"
#: src/components/status.jsx:961
#: src/components/status.jsx:2437
msgid "Some media have no descriptions."
-msgstr "Algumas das medias não têm descrição."
+msgstr "Algumas multimédias não possuem descrições."
#. placeholder {0}: rtf.format(-statusMonthsAgo, 'month')
#: src/components/status.jsx:968
@@ -2332,7 +2332,7 @@ msgstr "Mostrar conteúdo"
#: src/components/status.jsx:2173
msgid "Show media"
-msgstr "Mostrar media"
+msgstr "Mostrar multimédia"
#: src/components/status.jsx:2310
msgid "Edited"
@@ -2374,7 +2374,7 @@ msgstr "Impossível copiar código HTML"
#: src/components/status.jsx:3275
msgid "Media attachments:"
-msgstr "Anexos de media:"
+msgstr "Anexos de multimédia:"
#: src/components/status.jsx:3297
msgid "Account Emojis:"
@@ -2403,7 +2403,7 @@ msgstr "Votações não são interativas, ela vira uma lista com contador de vot
#: src/components/status.jsx:3402
msgid "Media attachments can be images, videos, audios or any file types."
-msgstr "Anexos de media pode ser imagens, vídeos, áudios, e qualquer tipo de ficheiro."
+msgstr "Anexos de multimédia pode ser imagens, vídeos, áudios, e qualquer tipo de ficheiro."
#: src/components/status.jsx:3408
msgid "Post could be edited or deleted later."
@@ -2526,7 +2526,7 @@ msgstr "{accountDisplay} (#{tagged})"
#: src/pages/account-statuses.jsx:245
msgid "{accountDisplay} (Media)"
-msgstr "{accountDisplay} (Media)"
+msgstr "{accountDisplay} (Multimédia)"
#: src/pages/account-statuses.jsx:251
msgid "{accountDisplay} ({monthYear})"
@@ -2558,7 +2558,7 @@ msgstr "- Impulsos"
#: src/pages/account-statuses.jsx:359
msgid "Showing posts with media"
-msgstr "A exibir publicações com media"
+msgstr "A exibir publicações com multimédia"
#. placeholder {0}: tag.name
#: src/pages/account-statuses.jsx:376
@@ -3063,7 +3063,7 @@ msgstr "Impossível carregar publicações."
#: src/pages/hashtag.jsx:56
msgid "{hashtagTitle} (Media only) on {instance}"
-msgstr "{hashtagTitle} (Apenas media) em {instance}"
+msgstr "{hashtagTitle} (Somente multimédia) em {instance}"
#: src/pages/hashtag.jsx:57
msgid "{hashtagTitle} on {instance}"
From 2c95db3b82ed4fd02f0c453388b7b3326302ae57 Mon Sep 17 00:00:00 2001
From: Chee Aun
Date: Thu, 16 Jan 2025 00:01:26 +0800
Subject: [PATCH 15/27] i18n updates (pt-BR,pt-PT) (#1027)
* New translations (Portuguese)
* New translations (Portuguese)
* New translations (Portuguese, Brazilian)
---
src/locales/pt-BR.po | 109 ++++++++++++++++++++++---------------------
src/locales/pt-PT.po | 38 +++++++--------
2 files changed, 74 insertions(+), 73 deletions(-)
diff --git a/src/locales/pt-BR.po b/src/locales/pt-BR.po
index 13198634..9639acfb 100644
--- a/src/locales/pt-BR.po
+++ b/src/locales/pt-BR.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: phanpy\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-12-22 00:30\n"
+"PO-Revision-Date: 2025-01-15 16:00\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -76,7 +76,7 @@ msgstr "Verificado"
#: src/components/account-block.jsx:223
#: src/components/account-info.jsx:782
msgid "Joined <0>{0}0>"
-msgstr "Se juntou em <0>{0}0>"
+msgstr "Juntou-se em <0>{0}0>"
#: src/components/account-info.jsx:58
msgid "Forever"
@@ -113,7 +113,7 @@ msgstr "Publicações"
#: src/components/account-info.jsx:429
#: src/components/account-info.jsx:1120
-#: src/components/compose.jsx:2592
+#: src/components/compose.jsx:2624
#: src/components/media-alt-modal.jsx:46
#: src/components/media-modal.jsx:358
#: src/components/status.jsx:1737
@@ -169,7 +169,7 @@ msgstr "Em memória"
#: src/components/account-info.jsx:711
#: src/components/account-info.jsx:752
msgid "This user has chosen to not make this information available."
-msgstr "Esse usuário decidiu não fazer esta informação visível."
+msgstr "O usuário deixou privado esta informação."
#. placeholder {0}: ( postingStats.originals / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
#. placeholder {1}: ( postingStats.replies / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
@@ -424,10 +424,10 @@ msgstr "Seguir"
#: src/components/account-info.jsx:2098
#: src/components/account-sheet.jsx:38
#: src/components/compose.jsx:859
-#: src/components/compose.jsx:2548
-#: src/components/compose.jsx:3022
-#: src/components/compose.jsx:3231
-#: src/components/compose.jsx:3461
+#: src/components/compose.jsx:2580
+#: src/components/compose.jsx:3054
+#: src/components/compose.jsx:3263
+#: src/components/compose.jsx:3493
#: src/components/drafts.jsx:59
#: src/components/embed-modal.jsx:13
#: src/components/generic-accounts.jsx:143
@@ -711,7 +711,7 @@ msgid "Mark media as sensitive"
msgstr "Marcar mídia como sensível"
#: src/components/compose.jsx:1381
-#: src/components/compose.jsx:3080
+#: src/components/compose.jsx:3112
#: src/components/shortcuts-settings.jsx:715
#: src/pages/list.jsx:362
msgid "Add"
@@ -743,31 +743,31 @@ msgstr "Baixando GIF…"
msgid "Failed to download GIF"
msgstr "Houve um erro ao baixar GIF"
-#: src/components/compose.jsx:1879
-#: src/components/compose.jsx:1956
+#: src/components/compose.jsx:1884
+#: src/components/compose.jsx:1961
#: src/components/nav-menu.jsx:239
msgid "More…"
msgstr "Mais…"
-#: src/components/compose.jsx:2361
+#: src/components/compose.jsx:2393
msgid "Uploaded"
msgstr "Enviado"
-#: src/components/compose.jsx:2374
+#: src/components/compose.jsx:2406
msgid "Image description"
msgstr "Descrição da imagem"
-#: src/components/compose.jsx:2375
+#: src/components/compose.jsx:2407
msgid "Video description"
msgstr "Descrição do vídeo"
-#: src/components/compose.jsx:2376
+#: src/components/compose.jsx:2408
msgid "Audio description"
msgstr "Descrição do áudio"
#. placeholder {0}: prettyBytes( imageSize, )
#. placeholder {1}: prettyBytes(imageSizeLimit)
-#: src/components/compose.jsx:2412
+#: src/components/compose.jsx:2444
msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower."
msgstr "O arquivo é muito grande. Enviá-lo pode enfrentar problemas. Reduza o tamanho do arquivo de {0} a {1} ou menor."
@@ -775,13 +775,13 @@ msgstr "O arquivo é muito grande. Enviá-lo pode enfrentar problemas. Reduza o
#. placeholder {3}: i18n.number(height)
#. placeholder {4}: i18n.number(newWidth)
#. placeholder {5}: i18n.number( newHeight, )
-#: src/components/compose.jsx:2424
+#: src/components/compose.jsx:2456
msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {2}×{3}px to {4}×{5}px."
msgstr "A dimensão é muito grande. Enviá-lo pode enfrentar problemas. Reduza a dimensão de {2}×{3}px a {4}×{5}px."
#. placeholder {6}: prettyBytes( videoSize, )
#. placeholder {7}: prettyBytes(videoSizeLimit)
-#: src/components/compose.jsx:2432
+#: src/components/compose.jsx:2464
msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {6} to {7} or lower."
msgstr "O arquivo é muito grande. Enviá-lo pode enfrentar problemas. Reduza o tamanho do arquivo de {6} a {7} ou menor."
@@ -789,149 +789,149 @@ msgstr "O arquivo é muito grande. Enviá-lo pode enfrentar problemas. Reduza o
#. placeholder {9}: i18n.number(height)
#. placeholder {10}: i18n.number(newWidth)
#. placeholder {11}: i18n.number( newHeight, )
-#: src/components/compose.jsx:2444
+#: src/components/compose.jsx:2476
msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {8}×{9}px to {10}×{11}px."
msgstr "A dimensão é muito grande. Enviá-lo pode enfrentar problemas. Reduza a dimensão de {8}×{9}px a {10}×{11}px."
-#: src/components/compose.jsx:2452
+#: src/components/compose.jsx:2484
msgid "Frame rate too high. Uploading might encounter issues."
msgstr "A taxa de quadros está muito alta. Enviá-lo pode enfrentar problemas."
-#: src/components/compose.jsx:2512
-#: src/components/compose.jsx:2762
+#: src/components/compose.jsx:2544
+#: src/components/compose.jsx:2794
#: src/components/shortcuts-settings.jsx:726
#: src/pages/catchup.jsx:1074
#: src/pages/filters.jsx:412
msgid "Remove"
msgstr "Excluir"
-#: src/components/compose.jsx:2529
+#: src/components/compose.jsx:2561
#: src/compose.jsx:84
msgid "Error"
msgstr "Erro"
-#: src/components/compose.jsx:2554
+#: src/components/compose.jsx:2586
msgid "Edit image description"
msgstr "Editar descrição da imagem"
-#: src/components/compose.jsx:2555
+#: src/components/compose.jsx:2587
msgid "Edit video description"
msgstr "Editar descrição do vídeo"
-#: src/components/compose.jsx:2556
+#: src/components/compose.jsx:2588
msgid "Edit audio description"
msgstr "Editar descrição do áudio"
-#: src/components/compose.jsx:2601
-#: src/components/compose.jsx:2650
+#: src/components/compose.jsx:2633
+#: src/components/compose.jsx:2682
msgid "Generating description. Please wait…"
msgstr "Gerando descrição. Por favor, espere…"
#. placeholder {12}: e.message
-#: src/components/compose.jsx:2621
+#: src/components/compose.jsx:2653
msgid "Failed to generate description: {12}"
msgstr "Falhou ao gerar descrição: {12}"
-#: src/components/compose.jsx:2622
+#: src/components/compose.jsx:2654
msgid "Failed to generate description"
msgstr "Houve um erro ao gerar descrição"
-#: src/components/compose.jsx:2634
-#: src/components/compose.jsx:2640
-#: src/components/compose.jsx:2686
+#: src/components/compose.jsx:2666
+#: src/components/compose.jsx:2672
+#: src/components/compose.jsx:2718
msgid "Generate description…"
msgstr "Gerar descrição…"
#. placeholder {13}: e?.message ? `: ${e.message}` : ''
-#: src/components/compose.jsx:2673
+#: src/components/compose.jsx:2705
msgid "Failed to generate description{13}"
msgstr "Falhou ao gerar descrição{13}"
#. placeholder {0}: localeCode2Text(lang)
-#: src/components/compose.jsx:2688
+#: src/components/compose.jsx:2720
msgid "({0}) <0>— experimental0>"
msgstr "({0}) <0>— experimental0>"
-#: src/components/compose.jsx:2707
+#: src/components/compose.jsx:2739
msgid "Done"
msgstr "Concluído"
#. placeholder {0}: i + 1
-#: src/components/compose.jsx:2743
+#: src/components/compose.jsx:2775
msgid "Choice {0}"
msgstr "Escolha {0}"
-#: src/components/compose.jsx:2790
+#: src/components/compose.jsx:2822
msgid "Multiple choices"
msgstr "Várias escolhas"
-#: src/components/compose.jsx:2793
+#: src/components/compose.jsx:2825
msgid "Duration"
msgstr "Duração"
-#: src/components/compose.jsx:2824
+#: src/components/compose.jsx:2856
msgid "Remove poll"
msgstr "Excluir enquete"
-#: src/components/compose.jsx:3039
+#: src/components/compose.jsx:3071
msgid "Search accounts"
msgstr "Procurar contas"
-#: src/components/compose.jsx:3093
+#: src/components/compose.jsx:3125
#: src/components/generic-accounts.jsx:228
msgid "Error loading accounts"
msgstr "Erro ao carregar contas"
-#: src/components/compose.jsx:3237
+#: src/components/compose.jsx:3269
msgid "Custom emojis"
msgstr "Emojis personalizados"
-#: src/components/compose.jsx:3257
+#: src/components/compose.jsx:3289
msgid "Search emoji"
msgstr "Procurar emoji"
-#: src/components/compose.jsx:3288
+#: src/components/compose.jsx:3320
msgid "Error loading custom emojis"
msgstr "Erro ao carregar emojis personalizados"
-#: src/components/compose.jsx:3299
+#: src/components/compose.jsx:3331
msgid "Recently used"
msgstr "Usado recentemente"
-#: src/components/compose.jsx:3300
+#: src/components/compose.jsx:3332
msgid "Others"
msgstr "Outros"
#. placeholder {0}: i18n.number(emojis.length - max)
-#: src/components/compose.jsx:3338
+#: src/components/compose.jsx:3370
msgid "{0} more…"
msgstr "{0} mais…"
-#: src/components/compose.jsx:3476
+#: src/components/compose.jsx:3508
msgid "Search GIFs"
msgstr "Procurar GIFs"
-#: src/components/compose.jsx:3491
+#: src/components/compose.jsx:3523
msgid "Powered by GIPHY"
msgstr "Desenvolvido por GIPHY"
-#: src/components/compose.jsx:3499
+#: src/components/compose.jsx:3531
msgid "Type to search GIFs"
msgstr "Escreva para pesquisar GIFs"
-#: src/components/compose.jsx:3597
+#: src/components/compose.jsx:3629
#: src/components/media-modal.jsx:462
#: src/components/timeline.jsx:893
msgid "Previous"
msgstr "Anterior"
-#: src/components/compose.jsx:3615
+#: src/components/compose.jsx:3647
#: src/components/media-modal.jsx:481
#: src/components/timeline.jsx:910
msgid "Next"
msgstr "Seguinte"
-#: src/components/compose.jsx:3632
+#: src/components/compose.jsx:3664
msgid "Error loading GIFs"
msgstr "Erro ao carregar GIFs"
@@ -1410,6 +1410,7 @@ msgid "Accounts…"
msgstr "Contas…"
#: src/components/nav-menu.jsx:315
+#: src/pages/login.jsx:27
#: src/pages/login.jsx:190
#: src/pages/status.jsx:837
#: src/pages/welcome.jsx:65
diff --git a/src/locales/pt-PT.po b/src/locales/pt-PT.po
index 2ba57845..bb57c7c8 100644
--- a/src/locales/pt-PT.po
+++ b/src/locales/pt-PT.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: phanpy\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-01-15 11:59\n"
+"PO-Revision-Date: 2025-01-15 16:00\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -25,7 +25,7 @@ msgstr "Bloqueado"
#. placeholder {0}: shortenNumber(statusesCount)
#: src/components/account-block.jsx:142
msgid "Posts: {0}"
-msgstr "Publicações: {0}"
+msgstr "Postagens: {0}"
#. placeholder {0}: niceDateTime(lastStatusAt, { hideTime: true, })
#: src/components/account-block.jsx:147
@@ -109,7 +109,7 @@ msgstr "A seguir"
#: src/pages/search.jsx:328
#: src/pages/search.jsx:475
msgid "Posts"
-msgstr "Publicações"
+msgstr "Postagens"
#: src/components/account-info.jsx:429
#: src/components/account-info.jsx:1120
@@ -176,7 +176,7 @@ msgstr "O utilizador deixou privado esta informação."
#. placeholder {2}: ( postingStats.boosts / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
#: src/components/account-info.jsx:807
msgid "{0} original posts, {1} replies, {2} boosts"
-msgstr "{0} publicações originais, {1} respostas, {2} impulsos"
+msgstr "{0} postagens originais, {1} respostas, {2} impulsos"
#. placeholder {0}: postingStats.total
#. placeholder {1}: postingStats.daysSinceLastPost
@@ -187,13 +187,13 @@ msgstr "{0} publicações originais, {1} respostas, {2} impulsos"
#. placeholder {6}: postingStats.daysSinceLastPost
#: src/components/account-info.jsx:823
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}}}}"
-msgstr "{0, plural, one {{1, plural, one {Última publicação no último dia} other {Última publicação nos últimos {2} dias}}} other {{3, plural, one {Últimas {4} publicações no último dia} other {Últimas {5} publicações nos últimos {6} dias}}}}"
+msgstr "{0, plural, one {{1, plural, one {Última postagem no último dia} other {Última postagem nos últimos {2} dias}}} other {{3, plural, one {Últimas {4} postagens no último dia} other {Últimas {5} postagens nos últimos {6} dias}}}}"
#. placeholder {0}: postingStats.total
#. placeholder {1}: postingStats.total
#: src/components/account-info.jsx:836
msgid "{0, plural, one {Last 1 post in the past year(s)} other {Last {1} posts in the past year(s)}}"
-msgstr "{0, plural, one {Última publicação no(s) ano(s) passado(s)} other {Últimas {1} publicações no(s) ano(s) passado(s)}}"
+msgstr "{0, plural, one {Última postagem no(s) ano(s) passado(s)} other {Últimas {1} postagens no(s) ano(s) passado(s)}}"
#: src/components/account-info.jsx:860
#: src/pages/catchup.jsx:70
@@ -261,11 +261,11 @@ msgstr "Adicionar nota privada"
#: src/components/account-info.jsx:1196
msgid "Notifications enabled for @{username}'s posts."
-msgstr "Notificações ativadas para as publicações de @{username}."
+msgstr "Habilitado as notificações para postagens de @{username}."
#: src/components/account-info.jsx:1197
msgid " Notifications disabled for @{username}'s posts."
-msgstr " Notificações desativadas para as publicações de @{username}."
+msgstr " Desabilitado as notificações de postagens de @{username}."
#: src/components/account-info.jsx:1209
msgid "Disable notifications"
@@ -1076,7 +1076,7 @@ msgstr "<0>Shift0> + <1>k1>"
#: src/components/keyboard-shortcuts-help.jsx:80
msgid "Load new posts"
-msgstr "Carregar novas publicações"
+msgstr "Ver novas postagens"
#: src/components/keyboard-shortcuts-help.jsx:84
#: src/pages/catchup.jsx:1676
@@ -1214,7 +1214,7 @@ msgstr "Não mostrar respostas"
#: src/components/list-add-edit.jsx:144
msgid "Hide posts on this list from Home/Following"
-msgstr "Ocultar publicações nesta lista da página inicial/A seguir"
+msgstr "Ocultar postagens nesta lista da página inicial/A seguir"
#: src/components/list-add-edit.jsx:150
#: src/pages/filters.jsx:554
@@ -1478,7 +1478,7 @@ msgstr "{account} fez uma publicação."
#. placeholder {1}: shortenNumber(count)
#: src/components/notification.jsx:86
msgid "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} boosted your reply.} other {{account} boosted your post.}}} other {{account} boosted {postsCount} of your posts.}}} other {{postType, select, reply {<0><1>{0}1> people0> boosted your reply.} other {<2><3>{1}3> people2> boosted your post.}}}}"
-msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} impulsionou a sua resposta.} other {{account} impulsionou a sua publicação.}}} other {{account} impulsionou {postsCount} das suas publicações.}}} other {{postType, select, reply {<0><1>{0}1> pessoa(s)0> impulsionou a sua resposta.} other {<2><3>{1}3> pessoa(s)2> impulsionou a sua publicação.}}}}"
+msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} impulsionou a sua resposta.} other {{account} impulsionou a sua postagem.}}} other {{account} impulsionou {postsCount} das suas postagens.}}} other {{postType, select, reply {<0><1>{0}1> pessoa(s)0> impulsionou a sua resposta.} other {<2><3>{1}3> pessoa(s)2> impulsionou a sua postagem.}}}}"
#. placeholder {0}: shortenNumber(count)
#: src/components/notification.jsx:129
@@ -1493,7 +1493,7 @@ msgstr "{account} pediu para seguir-te."
#. placeholder {1}: shortenNumber(count)
#: src/components/notification.jsx:152
msgid "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} liked your reply.} other {{account} liked your post.}}} other {{account} liked {postsCount} of your posts.}}} other {{postType, select, reply {<0><1>{0}1> people0> liked your reply.} other {<2><3>{1}3> people2> liked your post.}}}}"
-msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} gostou da sua resposta.} other {{account} gostou de sua publicação.}}} other {{account} gostou de {postsCount} de suas publicações.}}} other {{postType, select, reply {<0><1>{0}1> pessoa(s)0> gostou da sua resposta.} other {<2><3>{1}3> pessoa(s)2> gostou da sua publicação.}}}}"
+msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} gostou da sua resposta.} other {{account} gostou da sua postagem.}}} other {{account} gostou de {postsCount} das suas postagens.}}} other {{postType, select, reply {<0><1>{0}1> pessoa(s)0> gostou da sua resposta.} other {<2><3>{1}3> pessoa(s)2> gostou da sua postagens.}}}}"
#: src/components/notification.jsx:194
msgid "A poll you have voted in or created has ended."
@@ -1515,7 +1515,7 @@ msgstr "Uma publicação que interagiste foi editada."
#. placeholder {1}: shortenNumber(count)
#: src/components/notification.jsx:205
msgid "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} boosted & liked your reply.} other {{account} boosted & liked your post.}}} other {{account} boosted & liked {postsCount} of your posts.}}} other {{postType, select, reply {<0><1>{0}1> people0> boosted & liked your reply.} other {<2><3>{1}3> people2> boosted & liked your post.}}}}"
-msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} impulsionou e gostou da sua resposta.} other {{account} impulsionou e gostou da sua publicação.}}} other {{account} impulsionou e gostou de {postsCount} de suas publicações.}}} other {{postType, select, reply {<0><1>{0}1> pessoa(s)0> impulsionou e gostou da sua resposta.} other {<2><3>{1}3> pessoa(s)2> impulsionou e gostou da sua publicação.}}}}"
+msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} impulsionou e gostou da sua resposta.} other {{account} impulsionou e gostou da sua postagem.}}} other {{account} impulsionou e gostou de {postsCount} das suas postagens.}}} other {{postType, select, reply {<0><1>{0}1> pessoa(s)0> impulsionou e gostou da sua resposta.} other {<2><3>{1}3> pessoa(s)2> impulsionou e gostou da sua postagem.}}}}"
#: src/components/notification.jsx:247
msgid "{account} signed up."
@@ -1560,15 +1560,15 @@ msgstr "A sua conta foi desativada."
#: src/components/notification.jsx:293
msgid "Some of your posts have been marked as sensitive."
-msgstr "Algumas das suas publicações foram marcadas como sensível."
+msgstr "Algumas das suas postagens foram marcados como sensíveis."
#: src/components/notification.jsx:294
msgid "Some of your posts have been deleted."
-msgstr "Algumas publicações suas foram eliminadas."
+msgstr "Algumas das suas postagens foram eliminadas."
#: src/components/notification.jsx:295
msgid "Your posts will be marked as sensitive from now on."
-msgstr "Agora as suas publicações serão marcadas como sensíveis."
+msgstr "Agora as suas postagens serão marcadas como sensíveis."
#: src/components/notification.jsx:296
msgid "Your account has been limited."
@@ -1800,7 +1800,7 @@ msgstr "Enviar relato <0>+ Bloquear perfil0>"
#: src/components/search-form.jsx:203
msgid "{query} <0>‒ accounts, hashtags & posts0>"
-msgstr "{query} <0>‒ contas, hashtags e publicações0>"
+msgstr "{query} <0>‒ contas, hashtags e postagens0>"
#: src/components/search-form.jsx:216
msgid "Posts with <0>{query}0>"
@@ -3071,7 +3071,7 @@ msgstr "{hashtagTitle} em {instance}"
#: src/pages/hashtag.jsx:59
msgid "{hashtagTitle} (Media only)"
-msgstr "{hashtagTitle} (Apenas media)"
+msgstr "{hashtagTitle} (Somente multimédia)"
#: src/pages/hashtag.jsx:60
msgid "{hashtagTitle}"
@@ -3574,7 +3574,7 @@ msgstr "Tradução automática"
#: src/pages/settings.jsx:518
msgid "Automatically show translation for posts in timeline. Only works for <0>short0> posts without content warning, media and poll."
-msgstr "Automaticamente exibe tradução para publicações na linha de tempo. Só funciona para publicações <0>curtas0> sem aviso de conteúdo, media ou enquete."
+msgstr "Automaticamente exibe tradução para publicações na linha de tempo. Só funciona para publicações <0>curtas0> sem aviso de conteúdo, multimédia ou enquete."
#: src/pages/settings.jsx:538
msgid "GIF Picker for composer"
From ef4c7d8fb2d0bd2498c0ca610708cd9fa32cd707 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Fri, 17 Jan 2025 16:56:48 +0800
Subject: [PATCH 16/27] Upgrade dependencies
---
package-lock.json | 16 ++++++++--------
package.json | 4 ++--
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 845a25ee..b72c8d10 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -36,7 +36,7 @@
"preact": "~10.25.4",
"punycode": "~2.3.1",
"react-hotkeys-hook": "~4.6.1",
- "react-intersection-observer": "~9.14.1",
+ "react-intersection-observer": "~9.15.0",
"react-quick-pinch-zoom": "~5.1.0",
"react-router-dom": "6.6.2",
"string-length": "6.0.0",
@@ -55,7 +55,7 @@
"@lingui/vite-plugin": "~5.1.2",
"@preact/preset-vite": "~2.9.4",
"babel-plugin-macros": "~3.1.0",
- "postcss": "~8.5.0",
+ "postcss": "~8.5.1",
"postcss-dark-theme-class": "~1.3.0",
"postcss-preset-env": "~10.1.3",
"prettier": "3.4.2",
@@ -7574,9 +7574,9 @@
}
},
"node_modules/postcss": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.0.tgz",
- "integrity": "sha512-27VKOqrYfPncKA2NrFOVhP5MGAfHKLYn/Q0mz9cNQyRAKYi3VNHwYU2qKKqPCqgBmeeJ0uAFB56NumXZ5ZReXg==",
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz",
+ "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==",
"dev": true,
"funding": [
{
@@ -8498,9 +8498,9 @@
}
},
"node_modules/react-intersection-observer": {
- "version": "9.14.1",
- "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.14.1.tgz",
- "integrity": "sha512-k1xIUn3sCQi3ugNeF64FJb3zwve5mcetvAUR9JazXeOmtap4IP2evN8rs+yf6SQ7F1QydsOGiqTmt+lySKZ9uA==",
+ "version": "9.15.0",
+ "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.15.0.tgz",
+ "integrity": "sha512-qul9TzGgZtHIHAsLOXnRfMWNYCrqjU87HMKhRjwC8l6XSxz2Bo0xmpq5pklaXGj+brx2gSMe8lp1K17mMP2Q8w==",
"peerDependencies": {
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
diff --git a/package.json b/package.json
index b77c3d3f..4111cc0a 100644
--- a/package.json
+++ b/package.json
@@ -44,7 +44,7 @@
"preact": "~10.25.4",
"punycode": "~2.3.1",
"react-hotkeys-hook": "~4.6.1",
- "react-intersection-observer": "~9.14.1",
+ "react-intersection-observer": "~9.15.0",
"react-quick-pinch-zoom": "~5.1.0",
"react-router-dom": "6.6.2",
"string-length": "6.0.0",
@@ -63,7 +63,7 @@
"@lingui/vite-plugin": "~5.1.2",
"@preact/preset-vite": "~2.9.4",
"babel-plugin-macros": "~3.1.0",
- "postcss": "~8.5.0",
+ "postcss": "~8.5.1",
"postcss-dark-theme-class": "~1.3.0",
"postcss-preset-env": "~10.1.3",
"prettier": "3.4.2",
From 5c7e67e91c54a81860dc9cfebba2b5ed648ca288 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Sun, 19 Jan 2025 00:02:24 +0000
Subject: [PATCH 17/27] Update README.md
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index f1f0bb41..47fbe022 100644
--- a/README.md
+++ b/README.md
@@ -313,6 +313,7 @@ Costs involved in running and developing this web app:
-
drydenwu (Chinese Traditional)
-
elissarc (French)
-
ElPamplina (Spanish)
+-
filipesmedeiros (Portuguese)
-
Fitik (Esperanto, Hebrew)
-
Freeesia (Japanese)
-
ghose (Galician)
From 0586194dcce6410cd5978a6f628182d313bf257b Mon Sep 17 00:00:00 2001
From: Chee Aun
Date: Wed, 22 Jan 2025 17:58:28 +0800
Subject: [PATCH 18/27] i18n updates (eu-ES) (#1031)
---
src/locales/eu-ES.po | 109 ++++++++++++++++++++++---------------------
1 file changed, 55 insertions(+), 54 deletions(-)
diff --git a/src/locales/eu-ES.po b/src/locales/eu-ES.po
index 5287cd18..dd18c2d0 100644
--- a/src/locales/eu-ES.po
+++ b/src/locales/eu-ES.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: eu\n"
"Project-Id-Version: phanpy\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-12-21 14:14\n"
+"PO-Revision-Date: 2025-01-22 09:57\n"
"Last-Translator: \n"
"Language-Team: Basque\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -113,7 +113,7 @@ msgstr "bidalketa"
#: src/components/account-info.jsx:429
#: src/components/account-info.jsx:1120
-#: src/components/compose.jsx:2592
+#: src/components/compose.jsx:2624
#: src/components/media-alt-modal.jsx:46
#: src/components/media-modal.jsx:358
#: src/components/status.jsx:1737
@@ -424,10 +424,10 @@ msgstr "Jarraitu"
#: src/components/account-info.jsx:2098
#: src/components/account-sheet.jsx:38
#: src/components/compose.jsx:859
-#: src/components/compose.jsx:2548
-#: src/components/compose.jsx:3022
-#: src/components/compose.jsx:3231
-#: src/components/compose.jsx:3461
+#: src/components/compose.jsx:2580
+#: src/components/compose.jsx:3054
+#: src/components/compose.jsx:3263
+#: src/components/compose.jsx:3493
#: src/components/drafts.jsx:59
#: src/components/embed-modal.jsx:13
#: src/components/generic-accounts.jsx:143
@@ -711,7 +711,7 @@ msgid "Mark media as sensitive"
msgstr "Markatu multimedia hunkigarri gisa"
#: src/components/compose.jsx:1381
-#: src/components/compose.jsx:3080
+#: src/components/compose.jsx:3112
#: src/components/shortcuts-settings.jsx:715
#: src/pages/list.jsx:362
msgid "Add"
@@ -743,31 +743,31 @@ msgstr "GIFa deskargatzen…"
msgid "Failed to download GIF"
msgstr "Ezin da GIFa deskargatu"
-#: src/components/compose.jsx:1879
-#: src/components/compose.jsx:1956
+#: src/components/compose.jsx:1884
+#: src/components/compose.jsx:1961
#: src/components/nav-menu.jsx:239
msgid "More…"
msgstr "Gehiago…"
-#: src/components/compose.jsx:2361
+#: src/components/compose.jsx:2393
msgid "Uploaded"
msgstr "Igota"
-#: src/components/compose.jsx:2374
+#: src/components/compose.jsx:2406
msgid "Image description"
msgstr "Irudiaren deskribapena"
-#: src/components/compose.jsx:2375
+#: src/components/compose.jsx:2407
msgid "Video description"
msgstr "Bideoaren deskribapena"
-#: src/components/compose.jsx:2376
+#: src/components/compose.jsx:2408
msgid "Audio description"
msgstr "Audioaren deskribapena"
#. placeholder {0}: prettyBytes( imageSize, )
#. placeholder {1}: prettyBytes(imageSizeLimit)
-#: src/components/compose.jsx:2412
+#: src/components/compose.jsx:2444
msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower."
msgstr "Fitxategia handiegia da. Igoerak arazoak izan ditzake. Saiatu tamaina {0}tik {1} edo gutxiagora murrizten."
@@ -775,13 +775,13 @@ msgstr "Fitxategia handiegia da. Igoerak arazoak izan ditzake. Saiatu tamaina {0
#. placeholder {3}: i18n.number(height)
#. placeholder {4}: i18n.number(newWidth)
#. placeholder {5}: i18n.number( newHeight, )
-#: src/components/compose.jsx:2424
+#: src/components/compose.jsx:2456
msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {2}×{3}px to {4}×{5}px."
msgstr "Neurria handiegia da. Igoerak arazoak izan ditzake. Saiatu neurria {2}×{3}px-etik {4}×{5}px edo gutxiagora murrizten."
#. placeholder {6}: prettyBytes( videoSize, )
#. placeholder {7}: prettyBytes(videoSizeLimit)
-#: src/components/compose.jsx:2432
+#: src/components/compose.jsx:2464
msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {6} to {7} or lower."
msgstr "Fitxategia handiegia da. Igoerak arazoak izan ditzake. Saiatu tamaina {6}tik {7} edo gutxiagora murrizten."
@@ -789,149 +789,149 @@ msgstr "Fitxategia handiegia da. Igoerak arazoak izan ditzake. Saiatu tamaina {6
#. placeholder {9}: i18n.number(height)
#. placeholder {10}: i18n.number(newWidth)
#. placeholder {11}: i18n.number( newHeight, )
-#: src/components/compose.jsx:2444
+#: src/components/compose.jsx:2476
msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {8}×{9}px to {10}×{11}px."
msgstr "Neurria handiegia da. Igoerak arazoak izan ditzake. Saiatu neurria {8}×{9}px-etik {10}×{11}px edo gutxiagora murrizten."
-#: src/components/compose.jsx:2452
+#: src/components/compose.jsx:2484
msgid "Frame rate too high. Uploading might encounter issues."
msgstr "Fotograma-tasa (frame rate) altuegia da. Igoerak arazoak izan ditzake."
-#: src/components/compose.jsx:2512
-#: src/components/compose.jsx:2762
+#: src/components/compose.jsx:2544
+#: src/components/compose.jsx:2794
#: src/components/shortcuts-settings.jsx:726
#: src/pages/catchup.jsx:1074
#: src/pages/filters.jsx:412
msgid "Remove"
msgstr "Kendu"
-#: src/components/compose.jsx:2529
+#: src/components/compose.jsx:2561
#: src/compose.jsx:84
msgid "Error"
msgstr "Errorea"
-#: src/components/compose.jsx:2554
+#: src/components/compose.jsx:2586
msgid "Edit image description"
msgstr "Editatu irudiaren deskribapena"
-#: src/components/compose.jsx:2555
+#: src/components/compose.jsx:2587
msgid "Edit video description"
msgstr "Editatu bideoaren deskribapena"
-#: src/components/compose.jsx:2556
+#: src/components/compose.jsx:2588
msgid "Edit audio description"
msgstr "Editatu audioaren deskribapena"
-#: src/components/compose.jsx:2601
-#: src/components/compose.jsx:2650
+#: src/components/compose.jsx:2633
+#: src/components/compose.jsx:2682
msgid "Generating description. Please wait…"
msgstr "Deskribapena sortzen. Itxaron…"
#. placeholder {12}: e.message
-#: src/components/compose.jsx:2621
+#: src/components/compose.jsx:2653
msgid "Failed to generate description: {12}"
msgstr "Ezin da deskribapena sortu: {12}"
-#: src/components/compose.jsx:2622
+#: src/components/compose.jsx:2654
msgid "Failed to generate description"
msgstr "Ezin da deskribapena sortu"
-#: src/components/compose.jsx:2634
-#: src/components/compose.jsx:2640
-#: src/components/compose.jsx:2686
+#: src/components/compose.jsx:2666
+#: src/components/compose.jsx:2672
+#: src/components/compose.jsx:2718
msgid "Generate description…"
msgstr "Sortu deskribapena…"
#. placeholder {13}: e?.message ? `: ${e.message}` : ''
-#: src/components/compose.jsx:2673
+#: src/components/compose.jsx:2705
msgid "Failed to generate description{13}"
msgstr "Ezin izan da deskribapena sortu{13}"
#. placeholder {0}: localeCode2Text(lang)
-#: src/components/compose.jsx:2688
+#: src/components/compose.jsx:2720
msgid "({0}) <0>— experimental0>"
msgstr "({0}) <0>— esperimentala0>"
-#: src/components/compose.jsx:2707
+#: src/components/compose.jsx:2739
msgid "Done"
msgstr "Eginda"
#. placeholder {0}: i + 1
-#: src/components/compose.jsx:2743
+#: src/components/compose.jsx:2775
msgid "Choice {0}"
msgstr "{0}. aukera"
-#: src/components/compose.jsx:2790
+#: src/components/compose.jsx:2822
msgid "Multiple choices"
msgstr "Hainbat aukera"
-#: src/components/compose.jsx:2793
+#: src/components/compose.jsx:2825
msgid "Duration"
msgstr "Iraupena"
-#: src/components/compose.jsx:2824
+#: src/components/compose.jsx:2856
msgid "Remove poll"
msgstr "Kendu bozketa"
-#: src/components/compose.jsx:3039
+#: src/components/compose.jsx:3071
msgid "Search accounts"
msgstr "Bilatu kontuak"
-#: src/components/compose.jsx:3093
+#: src/components/compose.jsx:3125
#: src/components/generic-accounts.jsx:228
msgid "Error loading accounts"
msgstr "Errorea kontuak kargatzean"
-#: src/components/compose.jsx:3237
+#: src/components/compose.jsx:3269
msgid "Custom emojis"
msgstr "Instantziako emojiak"
-#: src/components/compose.jsx:3257
+#: src/components/compose.jsx:3289
msgid "Search emoji"
msgstr "Bilatu emojia"
-#: src/components/compose.jsx:3288
+#: src/components/compose.jsx:3320
msgid "Error loading custom emojis"
msgstr "Errorea emoji pertsonalizatua kargatzean"
-#: src/components/compose.jsx:3299
+#: src/components/compose.jsx:3331
msgid "Recently used"
msgstr "Oraintsu erabilita"
-#: src/components/compose.jsx:3300
+#: src/components/compose.jsx:3332
msgid "Others"
msgstr "Besteak"
#. placeholder {0}: i18n.number(emojis.length - max)
-#: src/components/compose.jsx:3338
+#: src/components/compose.jsx:3370
msgid "{0} more…"
msgstr "{0} gehiago…"
-#: src/components/compose.jsx:3476
+#: src/components/compose.jsx:3508
msgid "Search GIFs"
msgstr "Bilatu GIFak"
-#: src/components/compose.jsx:3491
+#: src/components/compose.jsx:3523
msgid "Powered by GIPHY"
msgstr "GIPHYri esker"
-#: src/components/compose.jsx:3499
+#: src/components/compose.jsx:3531
msgid "Type to search GIFs"
msgstr "Idatzi GIFak bilatzeko"
-#: src/components/compose.jsx:3597
+#: src/components/compose.jsx:3629
#: src/components/media-modal.jsx:462
#: src/components/timeline.jsx:893
msgid "Previous"
msgstr "Aurrekoa"
-#: src/components/compose.jsx:3615
+#: src/components/compose.jsx:3647
#: src/components/media-modal.jsx:481
#: src/components/timeline.jsx:910
msgid "Next"
msgstr "Hurrengoa"
-#: src/components/compose.jsx:3632
+#: src/components/compose.jsx:3664
msgid "Error loading GIFs"
msgstr "Errorea GIFak kargatzean"
@@ -1410,6 +1410,7 @@ msgid "Accounts…"
msgstr "Kontuak…"
#: src/components/nav-menu.jsx:315
+#: src/pages/login.jsx:27
#: src/pages/login.jsx:190
#: src/pages/status.jsx:837
#: src/pages/welcome.jsx:65
@@ -1656,7 +1657,7 @@ msgstr "{votersCount, plural, one {hautesle <0>{0}0>} other {<1>{1}1> hautes
#: src/components/poll.jsx:268
msgid "Ended <0/>"
-msgstr "<0/>(e)an amaitu zen"
+msgstr "<0/> amaitu da"
#: src/components/poll.jsx:272
msgid "Ended"
@@ -1664,7 +1665,7 @@ msgstr "Amaitu da"
#: src/components/poll.jsx:275
msgid "Ending <0/>"
-msgstr "<0/>(e)an amaituko da"
+msgstr "<0/> amaituko da"
#: src/components/poll.jsx:279
msgid "Ending"
From 2b05784a37b526268af38682656672c4bccfe445 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Thu, 23 Jan 2025 09:46:47 +0800
Subject: [PATCH 19/27] Need to read the values too for PN alerts
Reference: #1032
---
src/pages/settings.jsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/pages/settings.jsx b/src/pages/settings.jsx
index bd9d4940..dbe53365 100644
--- a/src/pages/settings.jsx
+++ b/src/pages/settings.jsx
@@ -984,10 +984,10 @@ function PushNotificationsSection({ onClose }) {
const policyEl = elements.namedItem('policy');
if (policyEl) policyEl.value = policy;
// alerts is {}, iterate it
- Object.keys(alerts).forEach((alert) => {
+ Object.entries(alerts).forEach(([alert, value]) => {
const el = elements.namedItem(alert);
if (el?.type === 'checkbox') {
- el.checked = true;
+ el.checked = !!value;
}
});
}
From 7aa677e6e25a1fdaf7cd966c5b1af58e9333e87f Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Thu, 23 Jan 2025 21:17:58 +0800
Subject: [PATCH 20/27] Allow configure referrer policy
---
README.md | 5 +
src/components/account-info.jsx | 6 +-
src/components/embed-modal.jsx | 7 +-
src/components/notification.jsx | 8 +-
src/components/status.jsx | 8 +-
src/locales/en.po | 274 ++++++++++++++++----------------
src/pages/catchup.jsx | 2 +-
src/pages/http-route.jsx | 4 +-
src/pages/settings.jsx | 32 ++--
src/pages/trending.jsx | 4 +-
src/utils/enhance-content.js | 2 +-
vite.config.js | 8 +
12 files changed, 180 insertions(+), 180 deletions(-)
diff --git a/README.md b/README.md
index 47fbe022..4543ef79 100644
--- a/README.md
+++ b/README.md
@@ -233,6 +233,11 @@ Available variables:
- `PHANPY_DEFAULT_LANG` (optional):
- Default language is English (`en`) if not specified.
- Fallback language after multiple detection methods (`lang` query parameter, `lang` key in `localStorage` and `navigator.language`)
+- `PHANPY_REFERRER_POLICY` (optional, default: `origin`):
+ - Referrer policy for the site. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy).
+ - This is applied with the `` tag on the client-side.
+ - The policy can also be set with `Referrer-Policy` header configured on the server-side (not this variable).
+ - Note that since Phanpy uses hash-based URLs, the referrer does not include the hash part.
- `PHANPY_LINGVA_INSTANCES` (optional, space-separated list, default: `lingva.phanpy.social [...hard-coded list of fallback instances]`):
- Specify a space-separated list of instances. First will be used as default before falling back to the subsequent instances. If there's only 1 instance, means no fallback.
- May specify a self-hosted Lingva instance, powered by either [lingva-translate](https://github.com/thedaviddelta/lingva-translate) or [lingva-api](https://github.com/cheeaun/lingva-api)
diff --git a/src/components/account-info.jsx b/src/components/account-info.jsx
index fe30bf0d..07ea4da8 100644
--- a/src/components/account-info.jsx
+++ b/src/components/account-info.jsx
@@ -379,11 +379,7 @@ function AccountInfo({
Unable to load account.
-
+
Go to account page
diff --git a/src/components/embed-modal.jsx b/src/components/embed-modal.jsx
index 28bf22d3..fdd9c3ed 100644
--- a/src/components/embed-modal.jsx
+++ b/src/components/embed-modal.jsx
@@ -13,12 +13,7 @@ function EmbedModal({ html, url, width, height, onClose = () => {} }) {
{url && (
-
+
Open in new window
{' '}
diff --git a/src/components/notification.jsx b/src/components/notification.jsx
index 6e3f93fa..c7f11a40 100644
--- a/src/components/notification.jsx
+++ b/src/components/notification.jsx
@@ -510,7 +510,7 @@ function Notification({
Learn more
@@ -526,7 +526,7 @@ function Notification({
Learn more
@@ -550,7 +550,7 @@ function Notification({
{
e.preventDefault();
@@ -654,7 +654,7 @@ function Notification({
{
e.preventDefault();
diff --git a/src/components/status.jsx b/src/components/status.jsx
index 924bfcd6..5f21ca20 100644
--- a/src/components/status.jsx
+++ b/src/components/status.jsx
@@ -2282,7 +2282,7 @@ function Status({
alt={visibilityText[visibility]}
/> */}
{_(visibilityText[visibility])} •{' '}
-
+
{
// within a day
new Date().getTime() - createdAtDate.getTime() <
@@ -2820,7 +2820,7 @@ function Card({ card, selfReferential, selfAuthor, instance }) {
@@ -2930,7 +2930,7 @@ function Card({ card, selfReferential, selfAuthor, instance }) {
{0}0>"
msgstr ""
@@ -81,33 +81,33 @@ msgstr ""
msgid "Unable to load account."
msgstr ""
-#: src/components/account-info.jsx:387
+#: src/components/account-info.jsx:383
msgid "Go to account page"
msgstr ""
-#: src/components/account-info.jsx:415
-#: src/components/account-info.jsx:704
-#: src/components/account-info.jsx:734
+#: src/components/account-info.jsx:411
+#: src/components/account-info.jsx:700
+#: src/components/account-info.jsx:730
msgid "Followers"
msgstr ""
#. js-lingui-explicit-id
-#: src/components/account-info.jsx:418
-#: src/components/account-info.jsx:744
-#: src/components/account-info.jsx:761
+#: src/components/account-info.jsx:414
+#: src/components/account-info.jsx:740
+#: src/components/account-info.jsx:757
msgid "following.stats"
msgstr "Following"
-#: src/components/account-info.jsx:421
-#: src/components/account-info.jsx:778
+#: src/components/account-info.jsx:417
+#: src/components/account-info.jsx:774
#: src/pages/account-statuses.jsx:483
#: src/pages/search.jsx:328
#: src/pages/search.jsx:475
msgid "Posts"
msgstr ""
-#: src/components/account-info.jsx:429
-#: src/components/account-info.jsx:1120
+#: src/components/account-info.jsx:425
+#: src/components/account-info.jsx:1116
#: src/components/compose.jsx:2624
#: src/components/media-alt-modal.jsx:46
#: src/components/media-modal.jsx:358
@@ -126,50 +126,50 @@ msgstr ""
msgid "More"
msgstr ""
-#: src/components/account-info.jsx:441
+#: src/components/account-info.jsx:437
msgid "<0>{displayName}0> has indicated that their new account is now:"
msgstr ""
-#: src/components/account-info.jsx:586
-#: src/components/account-info.jsx:1278
+#: src/components/account-info.jsx:582
+#: src/components/account-info.jsx:1274
msgid "Handle copied"
msgstr "Handle copied"
-#: src/components/account-info.jsx:589
-#: src/components/account-info.jsx:1281
+#: src/components/account-info.jsx:585
+#: src/components/account-info.jsx:1277
msgid "Unable to copy handle"
msgstr "Unable to copy handle"
-#: src/components/account-info.jsx:595
-#: src/components/account-info.jsx:1287
+#: src/components/account-info.jsx:591
+#: src/components/account-info.jsx:1283
msgid "Copy handle"
msgstr ""
-#: src/components/account-info.jsx:601
+#: src/components/account-info.jsx:597
msgid "Go to original profile page"
msgstr ""
-#: src/components/account-info.jsx:608
+#: src/components/account-info.jsx:604
msgid "View profile image"
msgstr ""
-#: src/components/account-info.jsx:614
+#: src/components/account-info.jsx:610
msgid "View profile header"
msgstr ""
-#: src/components/account-info.jsx:631
+#: src/components/account-info.jsx:627
msgid "In Memoriam"
msgstr ""
-#: src/components/account-info.jsx:711
-#: src/components/account-info.jsx:752
+#: src/components/account-info.jsx:707
+#: src/components/account-info.jsx:748
msgid "This user has chosen to not make this information available."
msgstr "This user has chosen to not make this information available."
#. placeholder {0}: ( postingStats.originals / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
#. placeholder {1}: ( postingStats.replies / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
#. placeholder {2}: ( postingStats.boosts / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
-#: src/components/account-info.jsx:807
+#: src/components/account-info.jsx:803
msgid "{0} original posts, {1} replies, {2} boosts"
msgstr "{0} original posts, {1} replies, {2} boosts"
@@ -180,22 +180,22 @@ msgstr "{0} original posts, {1} replies, {2} boosts"
#. placeholder {4}: postingStats.total
#. placeholder {5}: postingStats.total
#. placeholder {6}: postingStats.daysSinceLastPost
-#: src/components/account-info.jsx:823
+#: src/components/account-info.jsx:819
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}}}}"
msgstr ""
#. placeholder {0}: postingStats.total
#. placeholder {1}: postingStats.total
-#: src/components/account-info.jsx:836
+#: src/components/account-info.jsx:832
msgid "{0, plural, one {Last 1 post in the past year(s)} other {Last {1} posts in the past year(s)}}"
msgstr ""
-#: src/components/account-info.jsx:860
+#: src/components/account-info.jsx:856
#: src/pages/catchup.jsx:70
msgid "Original"
msgstr ""
-#: src/components/account-info.jsx:864
+#: src/components/account-info.jsx:860
#: src/components/status.jsx:2268
#: src/pages/catchup.jsx:71
#: src/pages/catchup.jsx:1445
@@ -205,218 +205,218 @@ msgstr ""
msgid "Replies"
msgstr ""
-#: src/components/account-info.jsx:868
+#: src/components/account-info.jsx:864
#: src/pages/catchup.jsx:72
#: src/pages/catchup.jsx:1447
#: src/pages/catchup.jsx:2070
-#: src/pages/settings.jsx:1155
+#: src/pages/settings.jsx:1151
msgid "Boosts"
msgstr ""
-#: src/components/account-info.jsx:874
+#: src/components/account-info.jsx:870
msgid "Post stats unavailable."
msgstr ""
-#: src/components/account-info.jsx:905
+#: src/components/account-info.jsx:901
msgid "View post stats"
msgstr ""
#. placeholder {0}: niceDateTime(lastStatusAt, { hideTime: true, })
-#: src/components/account-info.jsx:1068
+#: src/components/account-info.jsx:1064
msgid "Last post: <0>{0}0>"
msgstr ""
-#: src/components/account-info.jsx:1082
+#: src/components/account-info.jsx:1078
msgid "Muted"
msgstr ""
-#: src/components/account-info.jsx:1087
+#: src/components/account-info.jsx:1083
msgid "Blocked"
msgstr ""
-#: src/components/account-info.jsx:1096
+#: src/components/account-info.jsx:1092
msgid "Private note"
msgstr "Private note"
-#: src/components/account-info.jsx:1153
+#: src/components/account-info.jsx:1149
msgid "Mention <0>@{username}0>"
msgstr ""
-#: src/components/account-info.jsx:1165
+#: src/components/account-info.jsx:1161
msgid "Translate bio"
msgstr ""
-#: src/components/account-info.jsx:1176
+#: src/components/account-info.jsx:1172
msgid "Edit private note"
msgstr "Edit private note"
-#: src/components/account-info.jsx:1176
+#: src/components/account-info.jsx:1172
msgid "Add private note"
msgstr "Add private note"
-#: src/components/account-info.jsx:1196
+#: src/components/account-info.jsx:1192
msgid "Notifications enabled for @{username}'s posts."
msgstr "Notifications enabled for @{username}'s posts."
-#: src/components/account-info.jsx:1197
+#: src/components/account-info.jsx:1193
msgid " Notifications disabled for @{username}'s posts."
msgstr " Notifications disabled for @{username}'s posts."
-#: src/components/account-info.jsx:1209
+#: src/components/account-info.jsx:1205
msgid "Disable notifications"
msgstr "Disable notifications"
-#: src/components/account-info.jsx:1210
+#: src/components/account-info.jsx:1206
msgid "Enable notifications"
msgstr "Enable notifications"
-#: src/components/account-info.jsx:1227
+#: src/components/account-info.jsx:1223
msgid "Boosts from @{username} enabled."
msgstr "Boosts from @{username} enabled."
-#: src/components/account-info.jsx:1228
+#: src/components/account-info.jsx:1224
msgid "Boosts from @{username} disabled."
msgstr "Boosts from @{username} disabled."
-#: src/components/account-info.jsx:1239
+#: src/components/account-info.jsx:1235
msgid "Disable boosts"
msgstr "Disable boosts"
-#: src/components/account-info.jsx:1239
+#: src/components/account-info.jsx:1235
msgid "Enable boosts"
msgstr "Enable boosts"
-#: src/components/account-info.jsx:1255
-#: src/components/account-info.jsx:1265
-#: src/components/account-info.jsx:1868
+#: src/components/account-info.jsx:1251
+#: src/components/account-info.jsx:1261
+#: src/components/account-info.jsx:1864
msgid "Add/Remove from Lists"
msgstr ""
-#: src/components/account-info.jsx:1304
+#: src/components/account-info.jsx:1300
#: src/components/status.jsx:1177
msgid "Link copied"
msgstr ""
-#: src/components/account-info.jsx:1307
+#: src/components/account-info.jsx:1303
#: src/components/status.jsx:1180
msgid "Unable to copy link"
msgstr ""
-#: src/components/account-info.jsx:1313
+#: src/components/account-info.jsx:1309
#: src/components/shortcuts-settings.jsx:1059
#: src/components/status.jsx:1186
#: src/components/status.jsx:3269
msgid "Copy"
msgstr ""
-#: src/components/account-info.jsx:1328
+#: src/components/account-info.jsx:1324
#: src/components/shortcuts-settings.jsx:1077
#: src/components/status.jsx:1202
msgid "Sharing doesn't seem to work."
msgstr ""
-#: src/components/account-info.jsx:1334
+#: src/components/account-info.jsx:1330
#: src/components/status.jsx:1208
msgid "Share…"
msgstr ""
-#: src/components/account-info.jsx:1354
+#: src/components/account-info.jsx:1350
msgid "Unmuted @{username}"
msgstr "Unmuted @{username}"
-#: src/components/account-info.jsx:1366
+#: src/components/account-info.jsx:1362
msgid "Unmute <0>@{username}0>"
msgstr ""
-#: src/components/account-info.jsx:1382
+#: src/components/account-info.jsx:1378
msgid "Mute <0>@{username}0>…"
msgstr ""
#. placeholder {0}: typeof MUTE_DURATIONS_LABELS[duration] === 'function' ? MUTE_DURATIONS_LABELS[duration]() : _(MUTE_DURATIONS_LABELS[duration])
-#: src/components/account-info.jsx:1414
+#: src/components/account-info.jsx:1410
msgid "Muted @{username} for {0}"
msgstr "Muted @{username} for {0}"
-#: src/components/account-info.jsx:1426
+#: src/components/account-info.jsx:1422
msgid "Unable to mute @{username}"
msgstr "Unable to mute @{username}"
-#: src/components/account-info.jsx:1447
+#: src/components/account-info.jsx:1443
msgid "Remove <0>@{username}0> from followers?"
msgstr ""
-#: src/components/account-info.jsx:1467
+#: src/components/account-info.jsx:1463
msgid "@{username} removed from followers"
msgstr "@{username} removed from followers"
-#: src/components/account-info.jsx:1479
+#: src/components/account-info.jsx:1475
msgid "Remove follower…"
msgstr ""
-#: src/components/account-info.jsx:1490
+#: src/components/account-info.jsx:1486
msgid "Block <0>@{username}0>?"
msgstr ""
-#: src/components/account-info.jsx:1514
+#: src/components/account-info.jsx:1510
msgid "Unblocked @{username}"
msgstr "Unblocked @{username}"
-#: src/components/account-info.jsx:1522
+#: src/components/account-info.jsx:1518
msgid "Blocked @{username}"
msgstr "Blocked @{username}"
-#: src/components/account-info.jsx:1530
+#: src/components/account-info.jsx:1526
msgid "Unable to unblock @{username}"
msgstr "Unable to unblock @{username}"
-#: src/components/account-info.jsx:1532
+#: src/components/account-info.jsx:1528
msgid "Unable to block @{username}"
msgstr "Unable to block @{username}"
-#: src/components/account-info.jsx:1542
+#: src/components/account-info.jsx:1538
msgid "Unblock <0>@{username}0>"
msgstr ""
-#: src/components/account-info.jsx:1551
+#: src/components/account-info.jsx:1547
msgid "Block <0>@{username}0>…"
msgstr ""
-#: src/components/account-info.jsx:1568
+#: src/components/account-info.jsx:1564
msgid "Report <0>@{username}0>…"
msgstr ""
-#: src/components/account-info.jsx:1588
-#: src/components/account-info.jsx:2103
+#: src/components/account-info.jsx:1584
+#: src/components/account-info.jsx:2099
msgid "Edit profile"
msgstr ""
-#: src/components/account-info.jsx:1624
+#: src/components/account-info.jsx:1620
msgid "Withdraw follow request?"
msgstr "Withdraw follow request?"
#. placeholder {1}: info.acct || info.username
-#: src/components/account-info.jsx:1625
+#: src/components/account-info.jsx:1621
msgid "Unfollow @{1}?"
msgstr "Unfollow @{1}?"
-#: src/components/account-info.jsx:1676
+#: src/components/account-info.jsx:1672
msgid "Unfollow…"
msgstr ""
-#: src/components/account-info.jsx:1685
+#: src/components/account-info.jsx:1681
msgid "Withdraw…"
msgstr ""
+#: src/components/account-info.jsx:1688
#: src/components/account-info.jsx:1692
-#: src/components/account-info.jsx:1696
#: src/pages/hashtag.jsx:262
msgid "Follow"
msgstr ""
-#: src/components/account-info.jsx:1808
-#: src/components/account-info.jsx:1863
-#: src/components/account-info.jsx:1997
-#: src/components/account-info.jsx:2098
+#: src/components/account-info.jsx:1804
+#: src/components/account-info.jsx:1859
+#: src/components/account-info.jsx:1993
+#: src/components/account-info.jsx:2094
#: src/components/account-sheet.jsx:38
#: src/components/compose.jsx:859
#: src/components/compose.jsx:2580
@@ -448,77 +448,77 @@ msgstr ""
msgid "Close"
msgstr ""
-#: src/components/account-info.jsx:1813
+#: src/components/account-info.jsx:1809
msgid "Translated Bio"
msgstr ""
-#: src/components/account-info.jsx:1908
+#: src/components/account-info.jsx:1904
msgid "Unable to remove from list."
msgstr "Unable to remove from list."
-#: src/components/account-info.jsx:1909
+#: src/components/account-info.jsx:1905
msgid "Unable to add to list."
msgstr "Unable to add to list."
-#: src/components/account-info.jsx:1928
+#: src/components/account-info.jsx:1924
#: src/pages/lists.jsx:105
msgid "Unable to load lists."
msgstr ""
-#: src/components/account-info.jsx:1932
+#: src/components/account-info.jsx:1928
msgid "No lists."
msgstr ""
-#: src/components/account-info.jsx:1943
+#: src/components/account-info.jsx:1939
#: src/components/list-add-edit.jsx:40
#: src/pages/lists.jsx:59
msgid "New list"
msgstr ""
#. placeholder {0}: account?.username || account?.acct
-#: src/components/account-info.jsx:2002
+#: src/components/account-info.jsx:1998
msgid "Private note about <0>@{0}0>"
msgstr ""
-#: src/components/account-info.jsx:2032
+#: src/components/account-info.jsx:2028
msgid "Unable to update private note."
msgstr "Unable to update private note."
-#: src/components/account-info.jsx:2055
-#: src/components/account-info.jsx:2226
+#: src/components/account-info.jsx:2051
+#: src/components/account-info.jsx:2222
msgid "Cancel"
msgstr ""
-#: src/components/account-info.jsx:2060
+#: src/components/account-info.jsx:2056
msgid "Save & close"
msgstr ""
-#: src/components/account-info.jsx:2154
+#: src/components/account-info.jsx:2150
msgid "Unable to update profile."
msgstr "Unable to update profile."
-#: src/components/account-info.jsx:2161
+#: src/components/account-info.jsx:2157
#: src/components/list-add-edit.jsx:105
msgid "Name"
msgstr ""
-#: src/components/account-info.jsx:2174
+#: src/components/account-info.jsx:2170
msgid "Bio"
msgstr ""
-#: src/components/account-info.jsx:2187
+#: src/components/account-info.jsx:2183
msgid "Extra fields"
msgstr ""
-#: src/components/account-info.jsx:2193
+#: src/components/account-info.jsx:2189
msgid "Label"
msgstr ""
-#: src/components/account-info.jsx:2196
+#: src/components/account-info.jsx:2192
msgid "Content"
msgstr ""
-#: src/components/account-info.jsx:2229
+#: src/components/account-info.jsx:2225
#: src/components/list-add-edit.jsx:150
#: src/components/shortcuts-settings.jsx:715
#: src/pages/filters.jsx:554
@@ -526,11 +526,11 @@ msgstr ""
msgid "Save"
msgstr ""
-#: src/components/account-info.jsx:2283
+#: src/components/account-info.jsx:2279
msgid "username"
msgstr ""
-#: src/components/account-info.jsx:2287
+#: src/components/account-info.jsx:2283
msgid "server domain name"
msgstr ""
@@ -984,7 +984,7 @@ msgstr ""
msgid "Media"
msgstr ""
-#: src/components/embed-modal.jsx:23
+#: src/components/embed-modal.jsx:18
msgid "Open in new window"
msgstr ""
@@ -1327,7 +1327,7 @@ msgstr ""
#: src/pages/home.jsx:225
#: src/pages/mentions.jsx:21
#: src/pages/mentions.jsx:168
-#: src/pages/settings.jsx:1147
+#: src/pages/settings.jsx:1143
#: src/pages/trending.jsx:382
msgid "Mentions"
msgstr ""
@@ -1366,7 +1366,7 @@ msgstr ""
#: src/pages/catchup.jsx:2064
#: src/pages/favourites.jsx:12
#: src/pages/favourites.jsx:24
-#: src/pages/settings.jsx:1151
+#: src/pages/settings.jsx:1147
msgid "Likes"
msgstr ""
@@ -2417,7 +2417,7 @@ msgid "<0/> <1/> boosted"
msgstr ""
#: src/components/timeline.jsx:455
-#: src/pages/settings.jsx:1175
+#: src/pages/settings.jsx:1171
msgid "New posts"
msgstr ""
@@ -3291,7 +3291,7 @@ msgid "{0, plural, one {Announcement} other {Announcements}}"
msgstr ""
#: src/pages/notifications.jsx:654
-#: src/pages/settings.jsx:1163
+#: src/pages/settings.jsx:1159
msgid "Follow requests"
msgstr ""
@@ -3634,79 +3634,79 @@ msgstr ""
msgid "Donate"
msgstr "Donate"
-#: src/pages/settings.jsx:793
+#: src/pages/settings.jsx:789
msgid "Privacy Policy"
msgstr ""
#. placeholder {0}: WEBSITE.replace(/https?:\/\//g, '').replace(/\/$/, '')
-#: src/pages/settings.jsx:800
+#: src/pages/settings.jsx:796
msgid "<0>Site:0> {0}"
msgstr ""
-#. placeholder {0}: !__FAKE_COMMIT_HASH__ && ( ( ) )
-#: src/pages/settings.jsx:807
+#. placeholder {0}: !__FAKE_COMMIT_HASH__ && ( ( ) )
+#: src/pages/settings.jsx:803
msgid "<0>Version:0> <1/> {0}"
msgstr ""
-#: src/pages/settings.jsx:822
+#: src/pages/settings.jsx:818
msgid "Version string copied"
msgstr ""
-#: src/pages/settings.jsx:825
+#: src/pages/settings.jsx:821
msgid "Unable to copy version string"
msgstr ""
-#: src/pages/settings.jsx:1060
-#: src/pages/settings.jsx:1065
+#: src/pages/settings.jsx:1056
+#: src/pages/settings.jsx:1061
msgid "Failed to update subscription. Please try again."
msgstr ""
-#: src/pages/settings.jsx:1071
+#: src/pages/settings.jsx:1067
msgid "Failed to remove subscription. Please try again."
msgstr ""
-#: src/pages/settings.jsx:1078
+#: src/pages/settings.jsx:1074
msgid "Push Notifications (beta)"
msgstr ""
-#: src/pages/settings.jsx:1100
+#: src/pages/settings.jsx:1096
msgid "Push notifications are blocked. Please enable them in your browser settings."
msgstr ""
#. placeholder {0}: [ { value: 'all', label: t`anyone`, }, { value: 'followed', label: t`people I follow`, }, { value: 'follower', label: t`followers`, }, ].map((type) => ( ))
-#: src/pages/settings.jsx:1109
+#: src/pages/settings.jsx:1105
msgid "Allow from <0>{0}0>"
msgstr ""
-#: src/pages/settings.jsx:1118
+#: src/pages/settings.jsx:1114
msgid "anyone"
msgstr ""
-#: src/pages/settings.jsx:1122
+#: src/pages/settings.jsx:1118
msgid "people I follow"
msgstr ""
-#: src/pages/settings.jsx:1126
+#: src/pages/settings.jsx:1122
msgid "followers"
msgstr ""
-#: src/pages/settings.jsx:1159
+#: src/pages/settings.jsx:1155
msgid "Follows"
msgstr ""
-#: src/pages/settings.jsx:1167
+#: src/pages/settings.jsx:1163
msgid "Polls"
msgstr ""
-#: src/pages/settings.jsx:1171
+#: src/pages/settings.jsx:1167
msgid "Post edits"
msgstr ""
-#: src/pages/settings.jsx:1192
+#: src/pages/settings.jsx:1188
msgid "Push permission was not granted since your last login. You'll need to <0><1>log in1> again to grant push permission0>."
msgstr ""
-#: src/pages/settings.jsx:1208
+#: src/pages/settings.jsx:1204
msgid "NOTE: Push notifications only work for <0>one account0>."
msgstr ""
@@ -3807,7 +3807,7 @@ msgid "Trending News"
msgstr ""
#. By [Author]
-#. placeholder {0}: author ? ( ) : authorUrl ? ( {authorName} ) : ( authorName )
+#. placeholder {0}: author ? ( ) : authorUrl ? ( {authorName} ) : ( authorName )
#: src/pages/trending.jsx:348
msgid "By {0}"
msgstr "By {0}"
diff --git a/src/pages/catchup.jsx b/src/pages/catchup.jsx
index b5aa39b5..9aa1c858 100644
--- a/src/pages/catchup.jsx
+++ b/src/pages/catchup.jsx
@@ -1192,7 +1192,7 @@ function Catchup() {
key={url}
href={url}
target="_blank"
- rel="noopener noreferrer"
+ rel="noopener"
class="link-block"
style={
accentColor
diff --git a/src/pages/http-route.jsx b/src/pages/http-route.jsx
index c0fe500f..a41de53f 100644
--- a/src/pages/http-route.jsx
+++ b/src/pages/http-route.jsx
@@ -68,7 +68,7 @@ export default function HttpRoute() {
Resolving…
-
+
{url}
@@ -79,7 +79,7 @@ export default function HttpRoute() {
Unable to resolve URL
-
+
{url}
diff --git a/src/pages/settings.jsx b/src/pages/settings.jsx
index dbe53365..3fe154d9 100644
--- a/src/pages/settings.jsx
+++ b/src/pages/settings.jsx
@@ -250,7 +250,7 @@ function Settings({ onClose }) {
Volunteer translations
@@ -324,7 +324,7 @@ function Settings({ onClose }) {
Go to your instance ({instance}) for more settings.
@@ -483,7 +483,7 @@ function Settings({ onClose }) {
Lingva API
{' '}
@@ -491,7 +491,7 @@ function Settings({ onClose }) {
Lingva Translate
@@ -545,7 +545,7 @@ function Settings({ onClose }) {
GIPHY
@@ -585,7 +585,7 @@ function Settings({ onClose }) {
img-alt-api
@@ -728,7 +728,7 @@ function Settings({ onClose }) {
{
e.preventDefault();
states.showAccount = 'phanpy@hachyderm.io';
@@ -741,7 +741,7 @@ function Settings({ onClose }) {
Built
{' '}
@@ -749,7 +749,7 @@ function Settings({ onClose }) {
{
e.preventDefault();
states.showAccount = 'cheeaun@mastodon.social';
@@ -764,7 +764,7 @@ function Settings({ onClose }) {
Sponsor
{' '}
@@ -772,7 +772,7 @@ function Settings({ onClose }) {
Donate
{' '}
@@ -780,16 +780,12 @@ function Settings({ onClose }) {
Patreon
{' '}
·{' '}
-
+
Privacy Policy
@@ -832,7 +828,7 @@ function Settings({ onClose }) {
diff --git a/src/pages/trending.jsx b/src/pages/trending.jsx
index a8f5f10a..dc3c0e9d 100644
--- a/src/pages/trending.jsx
+++ b/src/pages/trending.jsx
@@ -274,7 +274,7 @@ function Trending({ columnMode, ...props }) {
ref={currentLink === url ? currentLinkRef : null}
href={url}
target="_blank"
- rel="noopener noreferrer"
+ rel="noopener"
class={`link-block ${
hasCurrentLink
? currentLink === url
@@ -353,7 +353,7 @@ function Trending({ columnMode, ...props }) {
{authorName}
diff --git a/src/utils/enhance-content.js b/src/utils/enhance-content.js
index 70e92e38..7e0b6076 100644
--- a/src/utils/enhance-content.js
+++ b/src/utils/enhance-content.js
@@ -218,7 +218,7 @@ function _enhanceContent(content, opts = {}) {
if (TWITTER_MENTION_REGEX.test(html)) {
html = html.replaceAll(
TWITTER_MENTION_CAPTURE_REGEX,
- '$1',
+ '$1',
);
}
fauxDiv.innerHTML = html;
diff --git a/vite.config.js b/vite.config.js
index c1c51ecc..0e1e51ec 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -21,6 +21,7 @@ const {
PHANPY_WEBSITE: WEBSITE,
PHANPY_CLIENT_NAME: CLIENT_NAME,
PHANPY_APP_ERROR_LOGGING: ERROR_LOGGING,
+ PHANPY_REFERRER_POLICY: REFERRER_POLICY,
} = loadEnv('production', process.cwd(), allowedEnvPrefixes);
const now = new Date();
@@ -86,6 +87,13 @@ export default defineConfig({
includes: ['log', 'debug', 'info', 'warn', 'error'],
}),
htmlPlugin({
+ metas: [
+ // Learn more: https://web.dev/articles/referrer-best-practices
+ {
+ name: 'referrer',
+ content: REFERRER_POLICY || 'origin',
+ },
+ ],
headScripts: ERROR_LOGGING ? [rollbarCode] : [],
links: [
...ALL_LOCALES.map((lang) => ({
From 719f7f8f1bdcd3945b764a3dc992ba6e3e834c5f Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Fri, 24 Jan 2025 09:17:45 +0800
Subject: [PATCH 21/27] Fix "old post" prompt not appearing
---
src/components/status.jsx | 53 ++++----
src/locales/en.po | 259 +++++++++++++++++++-------------------
2 files changed, 150 insertions(+), 162 deletions(-)
diff --git a/src/components/status.jsx b/src/components/status.jsx
index 5f21ca20..9d1da496 100644
--- a/src/components/status.jsx
+++ b/src/components/status.jsx
@@ -918,6 +918,25 @@ function Status({
const actionsRef = useRef();
const isPublic = ['public', 'unlisted'].includes(visibility);
const isPinnable = ['public', 'unlisted', 'private'].includes(visibility);
+ const menuFooter =
+ mediaNoDesc && !reblogged ? (
+
+ ) : (
+ statusMonthsAgo >= 3 && (
+
+ )
+ );
const StatusMenuItems = (
<>
{!isSizeLarge && sameInstance && (
@@ -954,29 +973,7 @@ function Status({
}
- menuFooter={
- mediaNoDesc && !reblogged ? (
-
- ) : (
- statusMonthsAgo >= 3 && (
-
- )
- )
- }
+ menuFooter={menuFooter}
disabled={!canBoost}
onClick={async () => {
try {
@@ -2429,15 +2426,7 @@ function Status({
}
- menuFooter={
- mediaNoDesc &&
- !reblogged && (
-
- )
- }
+ menuFooter={menuFooter}
>
l0> or <1>f1>"
msgstr ""
#: src/components/keyboard-shortcuts-help.jsx:173
-#: src/components/status.jsx:937
-#: src/components/status.jsx:2413
-#: src/components/status.jsx:2444
-#: src/components/status.jsx:2445
+#: src/components/status.jsx:956
+#: src/components/status.jsx:2410
+#: src/components/status.jsx:2433
+#: src/components/status.jsx:2434
msgid "Boost"
msgstr ""
@@ -1169,9 +1169,9 @@ msgid "<0>Shift0> + <1>b1>"
msgstr ""
#: src/components/keyboard-shortcuts-help.jsx:181
-#: src/components/status.jsx:1022
-#: src/components/status.jsx:2469
-#: src/components/status.jsx:2470
+#: src/components/status.jsx:1019
+#: src/components/status.jsx:2458
+#: src/components/status.jsx:2459
msgid "Bookmark"
msgstr ""
@@ -1230,15 +1230,15 @@ msgid "Media description"
msgstr ""
#: src/components/media-alt-modal.jsx:58
-#: src/components/status.jsx:1066
-#: src/components/status.jsx:1093
+#: src/components/status.jsx:1063
+#: src/components/status.jsx:1090
#: src/components/translation-block.jsx:196
msgid "Translate"
msgstr ""
#: src/components/media-alt-modal.jsx:69
-#: src/components/status.jsx:1080
-#: src/components/status.jsx:1107
+#: src/components/status.jsx:1077
+#: src/components/status.jsx:1104
msgid "Speak"
msgstr ""
@@ -1275,9 +1275,9 @@ msgid "Filtered: {filterTitleStr}"
msgstr ""
#: src/components/media-post.jsx:134
-#: src/components/status.jsx:3563
-#: src/components/status.jsx:3659
-#: src/components/status.jsx:3737
+#: src/components/status.jsx:3552
+#: src/components/status.jsx:3648
+#: src/components/status.jsx:3726
#: src/components/timeline.jsx:978
#: src/pages/catchup.jsx:75
#: src/pages/catchup.jsx:1877
@@ -1577,8 +1577,8 @@ msgid "[Unknown notification type: {type}]"
msgstr ""
#: src/components/notification.jsx:441
-#: src/components/status.jsx:1036
-#: src/components/status.jsx:1046
+#: src/components/status.jsx:1033
+#: src/components/status.jsx:1043
msgid "Boosted/Liked by…"
msgstr ""
@@ -1905,7 +1905,7 @@ msgid "Move down"
msgstr ""
#: src/components/shortcuts-settings.jsx:379
-#: src/components/status.jsx:1314
+#: src/components/status.jsx:1311
#: src/pages/list.jsx:171
msgid "Edit"
msgstr ""
@@ -2132,287 +2132,286 @@ msgstr "Unbookmarked @{2}'s post"
msgid "Bookmarked @{3}'s post"
msgstr "Bookmarked @{3}'s post"
-#: src/components/status.jsx:937
-#: src/components/status.jsx:999
-#: src/components/status.jsx:2413
-#: src/components/status.jsx:2444
-msgid "Unboost"
-msgstr ""
-
-#: src/components/status.jsx:953
-#: src/components/status.jsx:2428
-msgid "Quote"
-msgstr ""
-
-#: src/components/status.jsx:961
-#: src/components/status.jsx:2437
+#: src/components/status.jsx:925
msgid "Some media have no descriptions."
msgstr ""
#. placeholder {0}: rtf.format(-statusMonthsAgo, 'month')
-#: src/components/status.jsx:968
+#: src/components/status.jsx:932
msgid "Old post (<0>{0}0>)"
msgstr ""
+#: src/components/status.jsx:956
+#: src/components/status.jsx:996
+#: src/components/status.jsx:2410
+#: src/components/status.jsx:2433
+msgid "Unboost"
+msgstr ""
+
+#: src/components/status.jsx:972
+#: src/components/status.jsx:2425
+msgid "Quote"
+msgstr ""
+
#. placeholder {4}: username || acct
-#: src/components/status.jsx:987
+#: src/components/status.jsx:984
msgid "Unboosted @{4}'s post"
msgstr "Unboosted @{4}'s post"
#. placeholder {5}: username || acct
-#: src/components/status.jsx:988
+#: src/components/status.jsx:985
msgid "Boosted @{5}'s post"
msgstr "Boosted @{5}'s post"
-#: src/components/status.jsx:1000
+#: src/components/status.jsx:997
msgid "Boost…"
msgstr ""
-#: src/components/status.jsx:1012
-#: src/components/status.jsx:1727
-#: src/components/status.jsx:2457
+#: src/components/status.jsx:1009
+#: src/components/status.jsx:1724
+#: src/components/status.jsx:2446
msgid "Unlike"
msgstr ""
-#: src/components/status.jsx:1013
-#: src/components/status.jsx:1727
-#: src/components/status.jsx:1728
-#: src/components/status.jsx:2457
-#: src/components/status.jsx:2458
+#: src/components/status.jsx:1010
+#: src/components/status.jsx:1724
+#: src/components/status.jsx:1725
+#: src/components/status.jsx:2446
+#: src/components/status.jsx:2447
msgid "Like"
msgstr ""
-#: src/components/status.jsx:1022
-#: src/components/status.jsx:2469
+#: src/components/status.jsx:1019
+#: src/components/status.jsx:2458
msgid "Unbookmark"
msgstr ""
#. placeholder {0}: username || acct
-#: src/components/status.jsx:1130
+#: src/components/status.jsx:1127
msgid "View post by <0>@{0}0>"
msgstr ""
-#: src/components/status.jsx:1151
+#: src/components/status.jsx:1148
msgid "Show Edit History"
msgstr ""
-#: src/components/status.jsx:1154
+#: src/components/status.jsx:1151
msgid "Edited: {editedDateText}"
msgstr ""
-#: src/components/status.jsx:1221
-#: src/components/status.jsx:3238
+#: src/components/status.jsx:1218
+#: src/components/status.jsx:3227
msgid "Embed post"
msgstr ""
-#: src/components/status.jsx:1235
+#: src/components/status.jsx:1232
msgid "Conversation unmuted"
msgstr ""
-#: src/components/status.jsx:1235
+#: src/components/status.jsx:1232
msgid "Conversation muted"
msgstr ""
-#: src/components/status.jsx:1241
+#: src/components/status.jsx:1238
msgid "Unable to unmute conversation"
msgstr ""
-#: src/components/status.jsx:1242
+#: src/components/status.jsx:1239
msgid "Unable to mute conversation"
msgstr ""
-#: src/components/status.jsx:1251
+#: src/components/status.jsx:1248
msgid "Unmute conversation"
msgstr ""
-#: src/components/status.jsx:1258
+#: src/components/status.jsx:1255
msgid "Mute conversation"
msgstr ""
-#: src/components/status.jsx:1274
+#: src/components/status.jsx:1271
msgid "Post unpinned from profile"
msgstr ""
-#: src/components/status.jsx:1275
+#: src/components/status.jsx:1272
msgid "Post pinned to profile"
msgstr ""
-#: src/components/status.jsx:1280
+#: src/components/status.jsx:1277
msgid "Unable to unpin post"
msgstr ""
-#: src/components/status.jsx:1280
+#: src/components/status.jsx:1277
msgid "Unable to pin post"
msgstr ""
-#: src/components/status.jsx:1289
+#: src/components/status.jsx:1286
msgid "Unpin from profile"
msgstr ""
-#: src/components/status.jsx:1296
+#: src/components/status.jsx:1293
msgid "Pin to profile"
msgstr ""
-#: src/components/status.jsx:1325
+#: src/components/status.jsx:1322
msgid "Delete this post?"
msgstr ""
-#: src/components/status.jsx:1341
+#: src/components/status.jsx:1338
msgid "Post deleted"
msgstr ""
-#: src/components/status.jsx:1344
+#: src/components/status.jsx:1341
msgid "Unable to delete post"
msgstr ""
-#: src/components/status.jsx:1372
+#: src/components/status.jsx:1369
msgid "Report post…"
msgstr ""
#. placeholder {6}: username || acct
-#: src/components/status.jsx:1442
+#: src/components/status.jsx:1439
msgid "Unboosted @{6}'s post"
msgstr "Unboosted @{6}'s post"
#. placeholder {7}: username || acct
-#: src/components/status.jsx:1443
+#: src/components/status.jsx:1440
msgid "Boosted @{7}'s post"
msgstr "Boosted @{7}'s post"
-#: src/components/status.jsx:1728
-#: src/components/status.jsx:1764
-#: src/components/status.jsx:2458
+#: src/components/status.jsx:1725
+#: src/components/status.jsx:1761
+#: src/components/status.jsx:2447
msgid "Liked"
msgstr ""
-#: src/components/status.jsx:1761
-#: src/components/status.jsx:2445
+#: src/components/status.jsx:1758
+#: src/components/status.jsx:2434
msgid "Boosted"
msgstr ""
-#: src/components/status.jsx:1771
-#: src/components/status.jsx:2470
+#: src/components/status.jsx:1768
+#: src/components/status.jsx:2459
msgid "Bookmarked"
msgstr ""
-#: src/components/status.jsx:1775
+#: src/components/status.jsx:1772
msgid "Pinned"
msgstr ""
-#: src/components/status.jsx:1820
-#: src/components/status.jsx:2276
+#: src/components/status.jsx:1817
+#: src/components/status.jsx:2273
msgid "Deleted"
msgstr ""
-#: src/components/status.jsx:1861
+#: src/components/status.jsx:1858
msgid "{repliesCount, plural, one {# reply} other {# replies}}"
msgstr ""
#. placeholder {0}: snapStates.statusThreadNumber[sKey] ? ` ${snapStates.statusThreadNumber[sKey]}/X` : ''
-#: src/components/status.jsx:1950
+#: src/components/status.jsx:1947
msgid "Thread{0}"
msgstr ""
-#: src/components/status.jsx:2026
-#: src/components/status.jsx:2088
-#: src/components/status.jsx:2173
+#: src/components/status.jsx:2023
+#: src/components/status.jsx:2085
+#: src/components/status.jsx:2170
msgid "Show less"
msgstr ""
-#: src/components/status.jsx:2026
-#: src/components/status.jsx:2088
+#: src/components/status.jsx:2023
+#: src/components/status.jsx:2085
msgid "Show content"
msgstr ""
-#: src/components/status.jsx:2173
+#: src/components/status.jsx:2170
msgid "Show media"
msgstr ""
-#: src/components/status.jsx:2310
+#: src/components/status.jsx:2307
msgid "Edited"
msgstr ""
-#: src/components/status.jsx:2387
+#: src/components/status.jsx:2384
msgid "Comments"
msgstr ""
#. More from [Author]
-#: src/components/status.jsx:2696
+#: src/components/status.jsx:2685
msgid "More from <0/>"
msgstr "More from <0/>"
-#: src/components/status.jsx:2998
+#: src/components/status.jsx:2987
msgid "Edit History"
msgstr ""
-#: src/components/status.jsx:3002
+#: src/components/status.jsx:2991
msgid "Failed to load history"
msgstr ""
-#: src/components/status.jsx:3007
+#: src/components/status.jsx:2996
#: src/pages/annual-report.jsx:45
msgid "Loading…"
msgstr ""
-#: src/components/status.jsx:3243
+#: src/components/status.jsx:3232
msgid "HTML Code"
msgstr ""
-#: src/components/status.jsx:3260
+#: src/components/status.jsx:3249
msgid "HTML code copied"
msgstr ""
-#: src/components/status.jsx:3263
+#: src/components/status.jsx:3252
msgid "Unable to copy HTML code"
msgstr ""
-#: src/components/status.jsx:3275
+#: src/components/status.jsx:3264
msgid "Media attachments:"
msgstr ""
-#: src/components/status.jsx:3297
+#: src/components/status.jsx:3286
msgid "Account Emojis:"
msgstr ""
-#: src/components/status.jsx:3328
-#: src/components/status.jsx:3373
+#: src/components/status.jsx:3317
+#: src/components/status.jsx:3362
msgid "static URL"
msgstr ""
-#: src/components/status.jsx:3342
+#: src/components/status.jsx:3331
msgid "Emojis:"
msgstr ""
-#: src/components/status.jsx:3387
+#: src/components/status.jsx:3376
msgid "Notes:"
msgstr ""
-#: src/components/status.jsx:3391
+#: src/components/status.jsx:3380
msgid "This is static, unstyled and scriptless. You may need to apply your own styles and edit as needed."
msgstr ""
-#: src/components/status.jsx:3397
+#: src/components/status.jsx:3386
msgid "Polls are not interactive, becomes a list with vote counts."
msgstr ""
-#: src/components/status.jsx:3402
+#: src/components/status.jsx:3391
msgid "Media attachments can be images, videos, audios or any file types."
msgstr ""
-#: src/components/status.jsx:3408
+#: src/components/status.jsx:3397
msgid "Post could be edited or deleted later."
msgstr ""
-#: src/components/status.jsx:3414
+#: src/components/status.jsx:3403
msgid "Preview"
msgstr ""
-#: src/components/status.jsx:3423
+#: src/components/status.jsx:3412
msgid "Note: This preview is lightly styled."
msgstr ""
#. [Name] [Visibility icon] boosted
-#: src/components/status.jsx:3667
+#: src/components/status.jsx:3656
msgid "<0/> <1/> boosted"
msgstr ""
From 6e68e9524030955a1c29ffb67556fc646e48c0d9 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Sat, 25 Jan 2025 00:09:37 +0800
Subject: [PATCH 22/27] Fix menu footer positioned too low
---
src/app.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/app.css b/src/app.css
index 7046cacb..e6223093 100644
--- a/src/app.css
+++ b/src/app.css
@@ -1987,7 +1987,7 @@ body > .szh-menu-container {
min-width: min(12em, 90vw);
}
.szh-menu .footer {
- margin: 8px 0 -8px;
+ margin: 8px 0 -4px;
padding: 8px 16px;
color: var(--text-insignificant-color);
font-size: 90%;
From 7e3314849f5fe0dca6bced03e2d38cffed7e67e0 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Sat, 25 Jan 2025 00:09:51 +0800
Subject: [PATCH 23/27] Upgrade dependencies
---
package-lock.json | 131 +++++++++++++++++++++++++++-------------------
package.json | 10 ++--
2 files changed, 81 insertions(+), 60 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index b72c8d10..3d63bd14 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,7 +17,7 @@
"@lingui/detect-locale": "~5.1.2",
"@lingui/macro": "~5.1.2",
"@lingui/react": "~5.1.2",
- "@szhsin/react-menu": "~4.2.4",
+ "@szhsin/react-menu": "~4.3.0",
"chroma-js": "~3.1.2",
"compare-versions": "~6.1.1",
"fast-blurhash": "~1.1.4",
@@ -29,14 +29,14 @@
"js-cookie": "~3.0.5",
"just-debounce-it": "~3.2.0",
"lz-string": "~1.5.0",
- "masto": "~6.10.2",
+ "masto": "~6.10.3",
"moize": "~6.1.6",
"p-retry": "~6.2.1",
"p-throttle": "~7.0.0",
"preact": "~10.25.4",
"punycode": "~2.3.1",
"react-hotkeys-hook": "~4.6.1",
- "react-intersection-observer": "~9.15.0",
+ "react-intersection-observer": "~9.15.1",
"react-quick-pinch-zoom": "~5.1.0",
"react-router-dom": "6.6.2",
"string-length": "6.0.0",
@@ -53,7 +53,7 @@
"@ianvs/prettier-plugin-sort-imports": "~4.4.1",
"@lingui/cli": "~5.1.2",
"@lingui/vite-plugin": "~5.1.2",
- "@preact/preset-vite": "~2.9.4",
+ "@preact/preset-vite": "~2.10.0",
"babel-plugin-macros": "~3.1.0",
"postcss": "~8.5.1",
"postcss-dark-theme-class": "~1.3.0",
@@ -61,7 +61,7 @@
"prettier": "3.4.2",
"sonda": "~0.7.1",
"twitter-text": "~3.1.0",
- "vite": "~6.0.7",
+ "vite": "~6.0.11",
"vite-plugin-generate-file": "~0.2.0",
"vite-plugin-html-config": "~2.0.2",
"vite-plugin-pwa": "~0.21.1",
@@ -3615,12 +3615,11 @@
}
},
"node_modules/@preact/preset-vite": {
- "version": "2.9.4",
- "resolved": "https://registry.npmjs.org/@preact/preset-vite/-/preset-vite-2.9.4.tgz",
- "integrity": "sha512-PpPnUlKUsbWZ2oBuAkAMnezhIYGsR7xi2EZcPjeTAjF1DhGl00IcPD1ZeXRFKp38i7Hk4kEdFlwpJ1525cAzpg==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@preact/preset-vite/-/preset-vite-2.10.0.tgz",
+ "integrity": "sha512-U49rFSfF5h4rL1IYSmtiCe+lHDave9es3JzVnCMKoKF5ZW3Adua34/pkU2bT5vKQ02ek142RUjTwLhwLSgFp6g==",
"dev": true,
"dependencies": {
- "@babel/code-frame": "^7.22.13",
"@babel/plugin-transform-react-jsx": "^7.22.15",
"@babel/plugin-transform-react-jsx-development": "^7.22.5",
"@prefresh/vite": "^2.4.1",
@@ -3628,37 +3627,13 @@
"babel-plugin-transform-hook-names": "^1.0.2",
"debug": "^4.3.4",
"kolorist": "^1.8.0",
- "magic-string": "0.30.5",
- "node-html-parser": "^6.1.10",
- "source-map": "^0.7.4",
- "stack-trace": "^1.0.0-pre2"
+ "vite-prerender-plugin": "^0.5.3"
},
"peerDependencies": {
"@babel/core": "7.x",
"vite": "2.x || 3.x || 4.x || 5.x || 6.x"
}
},
- "node_modules/@preact/preset-vite/node_modules/magic-string": {
- "version": "0.30.5",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
- "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
- "dev": true,
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.15"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@preact/preset-vite/node_modules/source-map": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
- "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/@prefresh/babel-plugin": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@prefresh/babel-plugin/-/babel-plugin-0.5.0.tgz",
@@ -3979,12 +3954,11 @@
}
},
"node_modules/@szhsin/react-menu": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/@szhsin/react-menu/-/react-menu-4.2.4.tgz",
- "integrity": "sha512-FczIttEAVlT1wKU89mWvPeR6aJADDEGbTzJocsQgG6lPO4QuC8oHPAzxweufDSMbQjhqibCDIQiwTnB+ks7XXg==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@szhsin/react-menu/-/react-menu-4.3.0.tgz",
+ "integrity": "sha512-TklTnPT6cYZcOO0GYnBQX6qVvpsdHvI0GkWsL90/fisIMlFfv+rpEPy4YNm+qNTUuCPeOkcRYVU7ooH0yUFTgQ==",
"dependencies": {
- "prop-types": "^15.7.2",
- "react-transition-state": "^2.1.2"
+ "react-transition-state": "^2.2.0"
},
"peerDependencies": {
"react": ">=16.14.0",
@@ -5312,9 +5286,9 @@
}
},
"node_modules/domutils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
- "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
+ "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
"dev": true,
"dependencies": {
"dom-serializer": "^2.0.0",
@@ -6928,6 +6902,7 @@
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
},
@@ -6973,9 +6948,9 @@
}
},
"node_modules/masto": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/masto/-/masto-6.10.2.tgz",
- "integrity": "sha512-s9yU2AvA/8uhS1OILs1Oa54saO6qEqLR9+uu519DpnQfYdN26TI2PBmedQ4b98zM6Xrd9KSPr2LpHG+oriccVA==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/masto/-/masto-6.10.3.tgz",
+ "integrity": "sha512-/ajJpdH0jXEqEBgSDTzYc4RS5CcDR0AGtweQmWNAaaFagdBHiNtJZHr7xFvdhR88C83qxispIGYNkLaL2GWumg==",
"dependencies": {
"change-case": "^4.1.2",
"events-to-async": "^2.0.1",
@@ -7124,9 +7099,9 @@
}
},
"node_modules/node-html-parser": {
- "version": "6.1.12",
- "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.12.tgz",
- "integrity": "sha512-/bT/Ncmv+fbMGX96XG9g05vFt43m/+SYKIs9oAemQVYyVcZmDAI2Xq/SbNcpOA35eF0Zk2av3Ksf+Xk8Vt8abA==",
+ "version": "6.1.13",
+ "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.13.tgz",
+ "integrity": "sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==",
"dev": true,
"dependencies": {
"css-select": "^5.1.0",
@@ -7186,6 +7161,8 @@
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"license": "MIT",
+ "optional": true,
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -8403,6 +8380,8 @@
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
"integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"license": "MIT",
+ "optional": true,
+ "peer": true,
"dependencies": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
@@ -8498,9 +8477,9 @@
}
},
"node_modules/react-intersection-observer": {
- "version": "9.15.0",
- "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.15.0.tgz",
- "integrity": "sha512-qul9TzGgZtHIHAsLOXnRfMWNYCrqjU87HMKhRjwC8l6XSxz2Bo0xmpq5pklaXGj+brx2gSMe8lp1K17mMP2Q8w==",
+ "version": "9.15.1",
+ "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.15.1.tgz",
+ "integrity": "sha512-vGrqYEVWXfH+AGu241uzfUpNK4HAdhCkSAyFdkMb9VWWXs6mxzBLpWCxEy9YcnDNY2g9eO6z7qUtTBdA9hc8pA==",
"peerDependencies": {
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
@@ -8515,7 +8494,9 @@
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "license": "MIT"
+ "license": "MIT",
+ "optional": true,
+ "peer": true
},
"node_modules/react-quick-pinch-zoom": {
"version": "5.1.0",
@@ -8995,6 +8976,15 @@
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
"dev": true
},
+ "node_modules/simple-code-frame": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/simple-code-frame/-/simple-code-frame-1.3.0.tgz",
+ "integrity": "sha512-MB4pQmETUBlNs62BBeRjIFGeuy/x6gGKh7+eRUemn1rCFhqo7K+4slPqsyizCbcbYLnaYqaoZ2FWsZ/jN06D8w==",
+ "dev": true,
+ "dependencies": {
+ "kolorist": "^1.6.0"
+ }
+ },
"node_modules/smob": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",
@@ -9822,9 +9812,9 @@
}
},
"node_modules/vite": {
- "version": "6.0.7",
- "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.7.tgz",
- "integrity": "sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==",
+ "version": "6.0.11",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz",
+ "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==",
"dev": true,
"dependencies": {
"esbuild": "^0.24.2",
@@ -9989,6 +9979,37 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/vite-prerender-plugin": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/vite-prerender-plugin/-/vite-prerender-plugin-0.5.4.tgz",
+ "integrity": "sha512-nGcAiKbjBodQIkqN8g0iZ8CQyaNC5KcbVLhoJtj8oFddmfTDBP4CuFIW1dX2zAw9NFWfwoftevJP2x3HAmNjDw==",
+ "dev": true,
+ "dependencies": {
+ "magic-string": "^0.30.6",
+ "node-html-parser": "^6.1.12",
+ "simple-code-frame": "^1.3.0",
+ "source-map": "^0.7.4",
+ "stack-trace": "^1.0.0-pre2"
+ }
+ },
+ "node_modules/vite-prerender-plugin/node_modules/magic-string": {
+ "version": "0.30.17",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
+ "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0"
+ }
+ },
+ "node_modules/vite-prerender-plugin/node_modules/source-map": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+ "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/vite/node_modules/@esbuild/aix-ppc64": {
"version": "0.24.2",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz",
diff --git a/package.json b/package.json
index 4111cc0a..917cd2b3 100644
--- a/package.json
+++ b/package.json
@@ -25,7 +25,7 @@
"@lingui/detect-locale": "~5.1.2",
"@lingui/macro": "~5.1.2",
"@lingui/react": "~5.1.2",
- "@szhsin/react-menu": "~4.2.4",
+ "@szhsin/react-menu": "~4.3.0",
"chroma-js": "~3.1.2",
"compare-versions": "~6.1.1",
"fast-blurhash": "~1.1.4",
@@ -37,14 +37,14 @@
"js-cookie": "~3.0.5",
"just-debounce-it": "~3.2.0",
"lz-string": "~1.5.0",
- "masto": "~6.10.2",
+ "masto": "~6.10.3",
"moize": "~6.1.6",
"p-retry": "~6.2.1",
"p-throttle": "~7.0.0",
"preact": "~10.25.4",
"punycode": "~2.3.1",
"react-hotkeys-hook": "~4.6.1",
- "react-intersection-observer": "~9.15.0",
+ "react-intersection-observer": "~9.15.1",
"react-quick-pinch-zoom": "~5.1.0",
"react-router-dom": "6.6.2",
"string-length": "6.0.0",
@@ -61,7 +61,7 @@
"@ianvs/prettier-plugin-sort-imports": "~4.4.1",
"@lingui/cli": "~5.1.2",
"@lingui/vite-plugin": "~5.1.2",
- "@preact/preset-vite": "~2.9.4",
+ "@preact/preset-vite": "~2.10.0",
"babel-plugin-macros": "~3.1.0",
"postcss": "~8.5.1",
"postcss-dark-theme-class": "~1.3.0",
@@ -69,7 +69,7 @@
"prettier": "3.4.2",
"sonda": "~0.7.1",
"twitter-text": "~3.1.0",
- "vite": "~6.0.7",
+ "vite": "~6.0.11",
"vite-plugin-generate-file": "~0.2.0",
"vite-plugin-html-config": "~2.0.2",
"vite-plugin-pwa": "~0.21.1",
From d0862cecb686cfb8280f5d466783d18eab91e9cc Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Sat, 25 Jan 2025 00:10:15 +0800
Subject: [PATCH 24/27] Somehow prettier prettified this
---
src/app.css | 51 ++++++++++++++++++++++++++++++++++++---------------
1 file changed, 36 insertions(+), 15 deletions(-)
diff --git a/src/app.css b/src/app.css
index e6223093..bb7adb62 100644
--- a/src/app.css
+++ b/src/app.css
@@ -459,7 +459,9 @@ a[href^='http'][rel*='nofollow']:visited:not(:has(div)) {
transparent var(--curves-radius)
);
background-size: var(--curves-radius);
- background-position: top var(--backward), bottom var(--forward);
+ background-position:
+ top var(--backward),
+ bottom var(--forward);
}
}
.timeline.contextual > li {
@@ -519,7 +521,8 @@ a[href^='http'][rel*='nofollow']:visited:not(:has(div)) {
}
.timeline.contextual .replies[data-scroll-left]:not([data-scroll-left='0']) {
background-color: var(--bg-color);
- box-shadow: inset 0 -3px var(--comment-line-color),
+ box-shadow:
+ inset 0 -3px var(--comment-line-color),
inset 0 3px var(--comment-line-color);
overscroll-behavior-x: contain;
/* touch-action: pan-x; */
@@ -1655,7 +1658,8 @@ body:has(.media-modal-container + .status-deck) .media-post-link {
background-color: var(--button-bg-blur-color);
/* backdrop-filter: blur(16px); */
z-index: 10;
- box-shadow: 0 3px 8px -1px var(--drop-shadow-color),
+ box-shadow:
+ 0 3px 8px -1px var(--drop-shadow-color),
0 10px 36px -4px var(--button-bg-blur-color);
transition: all 0.3s ease-in-out;
}
@@ -1815,7 +1819,8 @@ body:has(.media-modal-container + .status-deck) .media-post-link {
box-shadow: none;
}
100% {
- box-shadow: 0 0 0 1px var(--outline-color),
+ box-shadow:
+ 0 0 0 1px var(--outline-color),
0 8px 16px -8px var(--drop-shadow-color);
}
}
@@ -1944,7 +1949,8 @@ body > .szh-menu-container {
background-color: var(--bg-color);
border: 1px solid var(--outline-stronger-color);
border-radius: 8px;
- box-shadow: 0 3px 8px var(--drop-shadow-color),
+ box-shadow:
+ 0 3px 8px var(--drop-shadow-color),
0 6px 32px -6px var(--drop-shadow-color);
text-align: start;
/* animation: appear-smooth 0.15s ease-in-out; */
@@ -1978,8 +1984,10 @@ body > .szh-menu-container {
}
.szh-menu.menu-emphasized {
border-color: var(--outline-hover-color);
- box-shadow: 0 3px 16px -3px var(--drop-shadow-color),
- 0 3px 32px var(--drop-shadow-color), 0 3px 48px var(--drop-shadow-color);
+ box-shadow:
+ 0 3px 16px -3px var(--drop-shadow-color),
+ 0 3px 32px var(--drop-shadow-color),
+ 0 3px 48px var(--drop-shadow-color);
background-color: var(--bg-color);
animation-duration: 0.3s;
animation-timing-function: ease-in-out;
@@ -2262,7 +2270,9 @@ body > .szh-menu-container {
background-color: var(--bg-blur-color);
backdrop-filter: blur(8px) saturate(3);
border: var(--hairline-width) solid var(--bg-color);
- text-shadow: 0 var(--hairline-width) var(--bg-color), 0 0 8px var(--bg-color);
+ text-shadow:
+ 0 var(--hairline-width) var(--bg-color),
+ 0 0 8px var(--bg-color);
}
.glass-menu .szh-menu__item--hover {
/* background-color: var(--button-bg-blur-color); */
@@ -2363,14 +2373,16 @@ body > .szh-menu-container {
text-shadow: 0 1px var(--bg-color);
background-color: var(--bg-color);
border: 2px solid var(--link-faded-color);
- box-shadow: 0 3px 16px var(--drop-shadow-color),
+ box-shadow:
+ 0 3px 16px var(--drop-shadow-color),
0 6px 16px -3px var(--drop-shadow-color);
}
:is(.shiny-pill, :root .toastify.shiny-pill):hover:not(:active) {
color: var(--text-color);
border-color: var(--link-color);
filter: none !important;
- box-shadow: 0 3px 16px var(--drop-shadow-color),
+ box-shadow:
+ 0 3px 16px var(--drop-shadow-color),
0 6px 16px -3px var(--drop-shadow-color),
0 6px 16px var(--drop-shadow-color);
}
@@ -2386,7 +2398,8 @@ body > .szh-menu-container {
text-shadow: 0 calc(var(--hairline-width) * -1) var(--drop-shadow-color);
background-color: var(--button-bg-color);
background-image: none;
- box-shadow: 0 3px 8px -1px var(--drop-shadow-color),
+ box-shadow:
+ 0 3px 8px -1px var(--drop-shadow-color),
0 10px 36px -4px var(--button-bg-blur-color);
text-align: center;
width: fit-content;
@@ -2551,10 +2564,14 @@ ul.link-list li a .icon {
filter: none !important;
}
.nav-menu-button .avatar {
- box-shadow: 0 0 0 2px var(--bg-color), 0 0 0 4px var(--link-light-color) !important;
+ box-shadow:
+ 0 0 0 2px var(--bg-color),
+ 0 0 0 4px var(--link-light-color) !important;
}
.nav-menu-button:is(:hover, :focus, .active) .avatar {
- box-shadow: 0 0 0 2px var(--bg-color), 0 0 0 4px var(--link-color) !important;
+ box-shadow:
+ 0 0 0 2px var(--bg-color),
+ 0 0 0 4px var(--link-color) !important;
}
.nav-menu-button.with-avatar .icon {
position: absolute;
@@ -2598,10 +2615,14 @@ ul.link-list li a .icon {
overscroll-behavior: auto;
flex-basis: min(100vw, var(--column-size));
flex-shrink: 0;
- box-shadow: -1px 0 var(--bg-color), -2px 0 var(--drop-shadow-color),
+ box-shadow:
+ -1px 0 var(--bg-color),
+ -2px 0 var(--drop-shadow-color),
-3px 0 var(--bg-color);
&:dir(rtl) {
- box-shadow: 1px 0 var(--bg-color), 2px 0 var(--drop-shadow-color),
+ box-shadow:
+ 1px 0 var(--bg-color),
+ 2px 0 var(--drop-shadow-color),
3px 0 var(--bg-color);
}
}
From b1cad570ad995bbe4d64da1285fbf522a0a3b373 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Sat, 25 Jan 2025 09:45:45 +0800
Subject: [PATCH 25/27] Allow keyboard shortcuts help appear when modals are
opened
Except Catch-up because it has its own Help.
---
src/components/keyboard-shortcuts-help.jsx | 6 +-
src/locales/en.po | 70 +++++++++++-----------
2 files changed, 39 insertions(+), 37 deletions(-)
diff --git a/src/components/keyboard-shortcuts-help.jsx b/src/components/keyboard-shortcuts-help.jsx
index 7d717aa5..e41d16d6 100644
--- a/src/components/keyboard-shortcuts-help.jsx
+++ b/src/components/keyboard-shortcuts-help.jsx
@@ -26,8 +26,10 @@ export default memo(function KeyboardShortcutsHelp() {
},
{
ignoreEventWhen: (e) => {
- const hasModal = !!document.querySelector('#modal-container > *');
- return hasModal;
+ const isCatchUpPage = /\/catchup/i.test(location.hash);
+ return isCatchUpPage;
+ // const hasModal = !!document.querySelector('#modal-container > *');
+ // return hasModal;
},
},
);
diff --git a/src/locales/en.po b/src/locales/en.po
index c7aa956f..410b5f02 100644
--- a/src/locales/en.po
+++ b/src/locales/en.po
@@ -426,7 +426,7 @@ msgstr ""
#: src/components/drafts.jsx:59
#: src/components/embed-modal.jsx:13
#: src/components/generic-accounts.jsx:143
-#: src/components/keyboard-shortcuts-help.jsx:40
+#: src/components/keyboard-shortcuts-help.jsx:42
#: src/components/list-add-edit.jsx:36
#: src/components/media-alt-modal.jsx:34
#: src/components/media-modal.jsx:322
@@ -713,7 +713,7 @@ msgid "Add"
msgstr ""
#: src/components/compose.jsx:1555
-#: src/components/keyboard-shortcuts-help.jsx:152
+#: src/components/keyboard-shortcuts-help.jsx:154
#: src/components/status.jsx:948
#: src/components/status.jsx:1714
#: src/components/status.jsx:1715
@@ -1033,104 +1033,104 @@ msgstr ""
msgid "Nothing to show"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:44
+#: src/components/keyboard-shortcuts-help.jsx:46
#: src/components/nav-menu.jsx:357
#: src/pages/catchup.jsx:1619
msgid "Keyboard shortcuts"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:52
+#: src/components/keyboard-shortcuts-help.jsx:54
msgid "Keyboard shortcuts help"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:56
+#: src/components/keyboard-shortcuts-help.jsx:58
#: src/pages/catchup.jsx:1644
msgid "Next post"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:60
+#: src/components/keyboard-shortcuts-help.jsx:62
#: src/pages/catchup.jsx:1652
msgid "Previous post"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:64
+#: src/components/keyboard-shortcuts-help.jsx:66
msgid "Skip carousel to next post"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:66
+#: src/components/keyboard-shortcuts-help.jsx:68
msgid "<0>Shift0> + <1>j1>"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:72
+#: src/components/keyboard-shortcuts-help.jsx:74
msgid "Skip carousel to previous post"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:74
+#: src/components/keyboard-shortcuts-help.jsx:76
msgid "<0>Shift0> + <1>k1>"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:80
+#: src/components/keyboard-shortcuts-help.jsx:82
msgid "Load new posts"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:84
+#: src/components/keyboard-shortcuts-help.jsx:86
#: src/pages/catchup.jsx:1676
msgid "Open post details"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:86
+#: src/components/keyboard-shortcuts-help.jsx:88
msgid "<0>Enter0> or <1>o1>"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:93
+#: src/components/keyboard-shortcuts-help.jsx:95
msgid "Expand content warning or<0/>toggle expanded/collapsed thread"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:102
+#: src/components/keyboard-shortcuts-help.jsx:104
msgid "Close post or dialogs"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:104
+#: src/components/keyboard-shortcuts-help.jsx:106
msgid "<0>Esc0> or <1>Backspace1>"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:110
+#: src/components/keyboard-shortcuts-help.jsx:112
msgid "Focus column in multi-column mode"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:112
+#: src/components/keyboard-shortcuts-help.jsx:114
msgid "<0>10> to <1>91>"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:118
+#: src/components/keyboard-shortcuts-help.jsx:120
msgid "Focus next column in multi-column mode"
msgstr "Focus next column in multi-column mode"
-#: src/components/keyboard-shortcuts-help.jsx:122
+#: src/components/keyboard-shortcuts-help.jsx:124
msgid "Focus previous column in multi-column mode"
msgstr "Focus previous column in multi-column mode"
-#: src/components/keyboard-shortcuts-help.jsx:126
+#: src/components/keyboard-shortcuts-help.jsx:128
msgid "Compose new post"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:130
+#: src/components/keyboard-shortcuts-help.jsx:132
msgid "Compose new post (new window)"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:133
+#: src/components/keyboard-shortcuts-help.jsx:135
msgid "<0>Shift0> + <1>c1>"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:139
+#: src/components/keyboard-shortcuts-help.jsx:141
msgid "Send post"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:141
+#: src/components/keyboard-shortcuts-help.jsx:143
msgid "<0>Ctrl0> + <1>Enter1> or <2>⌘2> + <3>Enter3>"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:148
+#: src/components/keyboard-shortcuts-help.jsx:150
#: src/components/nav-menu.jsx:326
#: src/components/search-form.jsx:73
#: src/components/shortcuts-settings.jsx:52
@@ -1140,23 +1140,23 @@ msgstr ""
msgid "Search"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:156
+#: src/components/keyboard-shortcuts-help.jsx:158
msgid "Reply (new window)"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:159
+#: src/components/keyboard-shortcuts-help.jsx:161
msgid "<0>Shift0> + <1>r1>"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:165
+#: src/components/keyboard-shortcuts-help.jsx:167
msgid "Like (favourite)"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:167
+#: src/components/keyboard-shortcuts-help.jsx:169
msgid "<0>l0> or <1>f1>"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:173
+#: src/components/keyboard-shortcuts-help.jsx:175
#: src/components/status.jsx:956
#: src/components/status.jsx:2410
#: src/components/status.jsx:2433
@@ -1164,22 +1164,22 @@ msgstr ""
msgid "Boost"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:175
+#: src/components/keyboard-shortcuts-help.jsx:177
msgid "<0>Shift0> + <1>b1>"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:181
+#: src/components/keyboard-shortcuts-help.jsx:183
#: src/components/status.jsx:1019
#: src/components/status.jsx:2458
#: src/components/status.jsx:2459
msgid "Bookmark"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:185
+#: src/components/keyboard-shortcuts-help.jsx:187
msgid "Toggle Cloak mode"
msgstr ""
-#: src/components/keyboard-shortcuts-help.jsx:187
+#: src/components/keyboard-shortcuts-help.jsx:189
msgid "<0>Shift0> + <1>Alt1> + <2>k2>"
msgstr ""
From de0da11cc0c8fd030e9536653c9515daa78accdf Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Sat, 25 Jan 2025 21:19:43 +0800
Subject: [PATCH 26/27] Fix j/k not skipping over display:none items
Hide-filtered posts are display:none-d
---
src/components/timeline.jsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/timeline.jsx b/src/components/timeline.jsx
index 526cbbc0..0619dc5a 100644
--- a/src/components/timeline.jsx
+++ b/src/components/timeline.jsx
@@ -149,7 +149,7 @@ function Timeline({
const activeItemRect = activeItem?.getBoundingClientRect();
const allItems = Array.from(
scrollableRef.current.querySelectorAll(itemsSelector),
- );
+ ).filter((item) => !!item.offsetHeight);
if (
activeItem &&
activeItemRect.top < scrollableRef.current.clientHeight &&
@@ -188,7 +188,7 @@ function Timeline({
const activeItemRect = activeItem?.getBoundingClientRect();
const allItems = Array.from(
scrollableRef.current.querySelectorAll(itemsSelector),
- );
+ ).filter((item) => !!item.offsetHeight);
if (
activeItem &&
activeItemRect.top < scrollableRef.current.clientHeight &&
From ffbd07b5d8383e8a600d6cf5ac1ab181be7c9b56 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun
Date: Sun, 26 Jan 2025 18:59:50 +0800
Subject: [PATCH 27/27] Attempt to fix potential XSS
---
src/components/account-info.jsx | 16 ++-
src/locales/en.po | 222 ++++++++++++++++----------------
2 files changed, 122 insertions(+), 116 deletions(-)
diff --git a/src/components/account-info.jsx b/src/components/account-info.jsx
index 07ea4da8..d809be5f 100644
--- a/src/components/account-info.jsx
+++ b/src/components/account-info.jsx
@@ -378,11 +378,17 @@ function AccountInfo({
Unable to load account.
-
-
- Go to account page
-
-
+ {isString ? (
+
+ {account}
+
+ ) : (
+
+
+ Go to account page
+
+
+ )}
)}
{uiState === 'loading' ? (
diff --git a/src/locales/en.po b/src/locales/en.po
index 410b5f02..b1a3de44 100644
--- a/src/locales/en.po
+++ b/src/locales/en.po
@@ -28,12 +28,12 @@ msgid "Last posted: {0}"
msgstr ""
#: src/components/account-block.jsx:162
-#: src/components/account-info.jsx:632
+#: src/components/account-info.jsx:638
msgid "Automated"
msgstr ""
#: src/components/account-block.jsx:169
-#: src/components/account-info.jsx:637
+#: src/components/account-info.jsx:643
#: src/components/status.jsx:514
msgid "Group"
msgstr ""
@@ -43,17 +43,17 @@ msgid "Mutual"
msgstr ""
#: src/components/account-block.jsx:183
-#: src/components/account-info.jsx:1678
+#: src/components/account-info.jsx:1684
msgid "Requested"
msgstr ""
#: src/components/account-block.jsx:187
-#: src/components/account-info.jsx:1669
+#: src/components/account-info.jsx:1675
msgid "Following"
msgstr ""
#: src/components/account-block.jsx:191
-#: src/components/account-info.jsx:1060
+#: src/components/account-info.jsx:1066
msgid "Follows you"
msgstr ""
@@ -62,14 +62,14 @@ msgid "{followersCount, plural, one {# follower} other {# followers}}"
msgstr ""
#: src/components/account-block.jsx:208
-#: src/components/account-info.jsx:678
+#: src/components/account-info.jsx:684
msgid "Verified"
msgstr ""
#. placeholder {0}: niceDateTime(createdAt, { hideTime: true, })
#. placeholder {0}: niceDateTime(createdAt, { hideTime: true, })
#: src/components/account-block.jsx:223
-#: src/components/account-info.jsx:778
+#: src/components/account-info.jsx:784
msgid "Joined <0>{0}0>"
msgstr ""
@@ -81,33 +81,33 @@ msgstr ""
msgid "Unable to load account."
msgstr ""
-#: src/components/account-info.jsx:383
+#: src/components/account-info.jsx:388
msgid "Go to account page"
msgstr ""
-#: src/components/account-info.jsx:411
-#: src/components/account-info.jsx:700
-#: src/components/account-info.jsx:730
+#: src/components/account-info.jsx:417
+#: src/components/account-info.jsx:706
+#: src/components/account-info.jsx:736
msgid "Followers"
msgstr ""
#. js-lingui-explicit-id
-#: src/components/account-info.jsx:414
-#: src/components/account-info.jsx:740
-#: src/components/account-info.jsx:757
+#: src/components/account-info.jsx:420
+#: src/components/account-info.jsx:746
+#: src/components/account-info.jsx:763
msgid "following.stats"
msgstr "Following"
-#: src/components/account-info.jsx:417
-#: src/components/account-info.jsx:774
+#: src/components/account-info.jsx:423
+#: src/components/account-info.jsx:780
#: src/pages/account-statuses.jsx:483
#: src/pages/search.jsx:328
#: src/pages/search.jsx:475
msgid "Posts"
msgstr ""
-#: src/components/account-info.jsx:425
-#: src/components/account-info.jsx:1116
+#: src/components/account-info.jsx:431
+#: src/components/account-info.jsx:1122
#: src/components/compose.jsx:2624
#: src/components/media-alt-modal.jsx:46
#: src/components/media-modal.jsx:358
@@ -126,50 +126,50 @@ msgstr ""
msgid "More"
msgstr ""
-#: src/components/account-info.jsx:437
+#: src/components/account-info.jsx:443
msgid "<0>{displayName}0> has indicated that their new account is now:"
msgstr ""
-#: src/components/account-info.jsx:582
-#: src/components/account-info.jsx:1274
+#: src/components/account-info.jsx:588
+#: src/components/account-info.jsx:1280
msgid "Handle copied"
msgstr "Handle copied"
-#: src/components/account-info.jsx:585
-#: src/components/account-info.jsx:1277
+#: src/components/account-info.jsx:591
+#: src/components/account-info.jsx:1283
msgid "Unable to copy handle"
msgstr "Unable to copy handle"
-#: src/components/account-info.jsx:591
-#: src/components/account-info.jsx:1283
+#: src/components/account-info.jsx:597
+#: src/components/account-info.jsx:1289
msgid "Copy handle"
msgstr ""
-#: src/components/account-info.jsx:597
+#: src/components/account-info.jsx:603
msgid "Go to original profile page"
msgstr ""
-#: src/components/account-info.jsx:604
+#: src/components/account-info.jsx:610
msgid "View profile image"
msgstr ""
-#: src/components/account-info.jsx:610
+#: src/components/account-info.jsx:616
msgid "View profile header"
msgstr ""
-#: src/components/account-info.jsx:627
+#: src/components/account-info.jsx:633
msgid "In Memoriam"
msgstr ""
-#: src/components/account-info.jsx:707
-#: src/components/account-info.jsx:748
+#: src/components/account-info.jsx:713
+#: src/components/account-info.jsx:754
msgid "This user has chosen to not make this information available."
msgstr "This user has chosen to not make this information available."
#. placeholder {0}: ( postingStats.originals / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
#. placeholder {1}: ( postingStats.replies / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
#. placeholder {2}: ( postingStats.boosts / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', })
-#: src/components/account-info.jsx:803
+#: src/components/account-info.jsx:809
msgid "{0} original posts, {1} replies, {2} boosts"
msgstr "{0} original posts, {1} replies, {2} boosts"
@@ -180,22 +180,22 @@ msgstr "{0} original posts, {1} replies, {2} boosts"
#. placeholder {4}: postingStats.total
#. placeholder {5}: postingStats.total
#. placeholder {6}: postingStats.daysSinceLastPost
-#: src/components/account-info.jsx:819
+#: src/components/account-info.jsx:825
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}}}}"
msgstr ""
#. placeholder {0}: postingStats.total
#. placeholder {1}: postingStats.total
-#: src/components/account-info.jsx:832
+#: src/components/account-info.jsx:838
msgid "{0, plural, one {Last 1 post in the past year(s)} other {Last {1} posts in the past year(s)}}"
msgstr ""
-#: src/components/account-info.jsx:856
+#: src/components/account-info.jsx:862
#: src/pages/catchup.jsx:70
msgid "Original"
msgstr ""
-#: src/components/account-info.jsx:860
+#: src/components/account-info.jsx:866
#: src/components/status.jsx:2265
#: src/pages/catchup.jsx:71
#: src/pages/catchup.jsx:1445
@@ -205,7 +205,7 @@ msgstr ""
msgid "Replies"
msgstr ""
-#: src/components/account-info.jsx:864
+#: src/components/account-info.jsx:870
#: src/pages/catchup.jsx:72
#: src/pages/catchup.jsx:1447
#: src/pages/catchup.jsx:2070
@@ -213,210 +213,210 @@ msgstr ""
msgid "Boosts"
msgstr ""
-#: src/components/account-info.jsx:870
+#: src/components/account-info.jsx:876
msgid "Post stats unavailable."
msgstr ""
-#: src/components/account-info.jsx:901
+#: src/components/account-info.jsx:907
msgid "View post stats"
msgstr ""
#. placeholder {0}: niceDateTime(lastStatusAt, { hideTime: true, })
-#: src/components/account-info.jsx:1064
+#: src/components/account-info.jsx:1070
msgid "Last post: <0>{0}0>"
msgstr ""
-#: src/components/account-info.jsx:1078
+#: src/components/account-info.jsx:1084
msgid "Muted"
msgstr ""
-#: src/components/account-info.jsx:1083
+#: src/components/account-info.jsx:1089
msgid "Blocked"
msgstr ""
-#: src/components/account-info.jsx:1092
+#: src/components/account-info.jsx:1098
msgid "Private note"
msgstr "Private note"
-#: src/components/account-info.jsx:1149
+#: src/components/account-info.jsx:1155
msgid "Mention <0>@{username}0>"
msgstr ""
-#: src/components/account-info.jsx:1161
+#: src/components/account-info.jsx:1167
msgid "Translate bio"
msgstr ""
-#: src/components/account-info.jsx:1172
+#: src/components/account-info.jsx:1178
msgid "Edit private note"
msgstr "Edit private note"
-#: src/components/account-info.jsx:1172
+#: src/components/account-info.jsx:1178
msgid "Add private note"
msgstr "Add private note"
-#: src/components/account-info.jsx:1192
+#: src/components/account-info.jsx:1198
msgid "Notifications enabled for @{username}'s posts."
msgstr "Notifications enabled for @{username}'s posts."
-#: src/components/account-info.jsx:1193
+#: src/components/account-info.jsx:1199
msgid " Notifications disabled for @{username}'s posts."
msgstr " Notifications disabled for @{username}'s posts."
-#: src/components/account-info.jsx:1205
+#: src/components/account-info.jsx:1211
msgid "Disable notifications"
msgstr "Disable notifications"
-#: src/components/account-info.jsx:1206
+#: src/components/account-info.jsx:1212
msgid "Enable notifications"
msgstr "Enable notifications"
-#: src/components/account-info.jsx:1223
+#: src/components/account-info.jsx:1229
msgid "Boosts from @{username} enabled."
msgstr "Boosts from @{username} enabled."
-#: src/components/account-info.jsx:1224
+#: src/components/account-info.jsx:1230
msgid "Boosts from @{username} disabled."
msgstr "Boosts from @{username} disabled."
-#: src/components/account-info.jsx:1235
+#: src/components/account-info.jsx:1241
msgid "Disable boosts"
msgstr "Disable boosts"
-#: src/components/account-info.jsx:1235
+#: src/components/account-info.jsx:1241
msgid "Enable boosts"
msgstr "Enable boosts"
-#: src/components/account-info.jsx:1251
-#: src/components/account-info.jsx:1261
-#: src/components/account-info.jsx:1864
+#: src/components/account-info.jsx:1257
+#: src/components/account-info.jsx:1267
+#: src/components/account-info.jsx:1870
msgid "Add/Remove from Lists"
msgstr ""
-#: src/components/account-info.jsx:1300
+#: src/components/account-info.jsx:1306
#: src/components/status.jsx:1174
msgid "Link copied"
msgstr ""
-#: src/components/account-info.jsx:1303
+#: src/components/account-info.jsx:1309
#: src/components/status.jsx:1177
msgid "Unable to copy link"
msgstr ""
-#: src/components/account-info.jsx:1309
+#: src/components/account-info.jsx:1315
#: src/components/shortcuts-settings.jsx:1059
#: src/components/status.jsx:1183
#: src/components/status.jsx:3258
msgid "Copy"
msgstr ""
-#: src/components/account-info.jsx:1324
+#: src/components/account-info.jsx:1330
#: src/components/shortcuts-settings.jsx:1077
#: src/components/status.jsx:1199
msgid "Sharing doesn't seem to work."
msgstr ""
-#: src/components/account-info.jsx:1330
+#: src/components/account-info.jsx:1336
#: src/components/status.jsx:1205
msgid "Share…"
msgstr ""
-#: src/components/account-info.jsx:1350
+#: src/components/account-info.jsx:1356
msgid "Unmuted @{username}"
msgstr "Unmuted @{username}"
-#: src/components/account-info.jsx:1362
+#: src/components/account-info.jsx:1368
msgid "Unmute <0>@{username}0>"
msgstr ""
-#: src/components/account-info.jsx:1378
+#: src/components/account-info.jsx:1384
msgid "Mute <0>@{username}0>…"
msgstr ""
#. placeholder {0}: typeof MUTE_DURATIONS_LABELS[duration] === 'function' ? MUTE_DURATIONS_LABELS[duration]() : _(MUTE_DURATIONS_LABELS[duration])
-#: src/components/account-info.jsx:1410
+#: src/components/account-info.jsx:1416
msgid "Muted @{username} for {0}"
msgstr "Muted @{username} for {0}"
-#: src/components/account-info.jsx:1422
+#: src/components/account-info.jsx:1428
msgid "Unable to mute @{username}"
msgstr "Unable to mute @{username}"
-#: src/components/account-info.jsx:1443
+#: src/components/account-info.jsx:1449
msgid "Remove <0>@{username}0> from followers?"
msgstr ""
-#: src/components/account-info.jsx:1463
+#: src/components/account-info.jsx:1469
msgid "@{username} removed from followers"
msgstr "@{username} removed from followers"
-#: src/components/account-info.jsx:1475
+#: src/components/account-info.jsx:1481
msgid "Remove follower…"
msgstr ""
-#: src/components/account-info.jsx:1486
+#: src/components/account-info.jsx:1492
msgid "Block <0>@{username}0>?"
msgstr ""
-#: src/components/account-info.jsx:1510
+#: src/components/account-info.jsx:1516
msgid "Unblocked @{username}"
msgstr "Unblocked @{username}"
-#: src/components/account-info.jsx:1518
+#: src/components/account-info.jsx:1524
msgid "Blocked @{username}"
msgstr "Blocked @{username}"
-#: src/components/account-info.jsx:1526
+#: src/components/account-info.jsx:1532
msgid "Unable to unblock @{username}"
msgstr "Unable to unblock @{username}"
-#: src/components/account-info.jsx:1528
+#: src/components/account-info.jsx:1534
msgid "Unable to block @{username}"
msgstr "Unable to block @{username}"
-#: src/components/account-info.jsx:1538
+#: src/components/account-info.jsx:1544
msgid "Unblock <0>@{username}0>"
msgstr ""
-#: src/components/account-info.jsx:1547
+#: src/components/account-info.jsx:1553
msgid "Block <0>@{username}0>…"
msgstr ""
-#: src/components/account-info.jsx:1564
+#: src/components/account-info.jsx:1570
msgid "Report <0>@{username}0>…"
msgstr ""
-#: src/components/account-info.jsx:1584
-#: src/components/account-info.jsx:2099
+#: src/components/account-info.jsx:1590
+#: src/components/account-info.jsx:2105
msgid "Edit profile"
msgstr ""
-#: src/components/account-info.jsx:1620
+#: src/components/account-info.jsx:1626
msgid "Withdraw follow request?"
msgstr "Withdraw follow request?"
#. placeholder {1}: info.acct || info.username
-#: src/components/account-info.jsx:1621
+#: src/components/account-info.jsx:1627
msgid "Unfollow @{1}?"
msgstr "Unfollow @{1}?"
-#: src/components/account-info.jsx:1672
+#: src/components/account-info.jsx:1678
msgid "Unfollow…"
msgstr ""
-#: src/components/account-info.jsx:1681
+#: src/components/account-info.jsx:1687
msgid "Withdraw…"
msgstr ""
-#: src/components/account-info.jsx:1688
-#: src/components/account-info.jsx:1692
+#: src/components/account-info.jsx:1694
+#: src/components/account-info.jsx:1698
#: src/pages/hashtag.jsx:262
msgid "Follow"
msgstr ""
-#: src/components/account-info.jsx:1804
-#: src/components/account-info.jsx:1859
-#: src/components/account-info.jsx:1993
-#: src/components/account-info.jsx:2094
+#: src/components/account-info.jsx:1810
+#: src/components/account-info.jsx:1865
+#: src/components/account-info.jsx:1999
+#: src/components/account-info.jsx:2100
#: src/components/account-sheet.jsx:38
#: src/components/compose.jsx:859
#: src/components/compose.jsx:2580
@@ -448,77 +448,77 @@ msgstr ""
msgid "Close"
msgstr ""
-#: src/components/account-info.jsx:1809
+#: src/components/account-info.jsx:1815
msgid "Translated Bio"
msgstr ""
-#: src/components/account-info.jsx:1904
+#: src/components/account-info.jsx:1910
msgid "Unable to remove from list."
msgstr "Unable to remove from list."
-#: src/components/account-info.jsx:1905
+#: src/components/account-info.jsx:1911
msgid "Unable to add to list."
msgstr "Unable to add to list."
-#: src/components/account-info.jsx:1924
+#: src/components/account-info.jsx:1930
#: src/pages/lists.jsx:105
msgid "Unable to load lists."
msgstr ""
-#: src/components/account-info.jsx:1928
+#: src/components/account-info.jsx:1934
msgid "No lists."
msgstr ""
-#: src/components/account-info.jsx:1939
+#: src/components/account-info.jsx:1945
#: src/components/list-add-edit.jsx:40
#: src/pages/lists.jsx:59
msgid "New list"
msgstr ""
#. placeholder {0}: account?.username || account?.acct
-#: src/components/account-info.jsx:1998
+#: src/components/account-info.jsx:2004
msgid "Private note about <0>@{0}0>"
msgstr ""
-#: src/components/account-info.jsx:2028
+#: src/components/account-info.jsx:2034
msgid "Unable to update private note."
msgstr "Unable to update private note."
-#: src/components/account-info.jsx:2051
-#: src/components/account-info.jsx:2222
+#: src/components/account-info.jsx:2057
+#: src/components/account-info.jsx:2228
msgid "Cancel"
msgstr ""
-#: src/components/account-info.jsx:2056
+#: src/components/account-info.jsx:2062
msgid "Save & close"
msgstr ""
-#: src/components/account-info.jsx:2150
+#: src/components/account-info.jsx:2156
msgid "Unable to update profile."
msgstr "Unable to update profile."
-#: src/components/account-info.jsx:2157
+#: src/components/account-info.jsx:2163
#: src/components/list-add-edit.jsx:105
msgid "Name"
msgstr ""
-#: src/components/account-info.jsx:2170
+#: src/components/account-info.jsx:2176
msgid "Bio"
msgstr ""
-#: src/components/account-info.jsx:2183
+#: src/components/account-info.jsx:2189
msgid "Extra fields"
msgstr ""
-#: src/components/account-info.jsx:2189
+#: src/components/account-info.jsx:2195
msgid "Label"
msgstr ""
-#: src/components/account-info.jsx:2192
+#: src/components/account-info.jsx:2198
msgid "Content"
msgstr ""
-#: src/components/account-info.jsx:2225
+#: src/components/account-info.jsx:2231
#: src/components/list-add-edit.jsx:150
#: src/components/shortcuts-settings.jsx:715
#: src/pages/filters.jsx:554
@@ -526,11 +526,11 @@ msgstr ""
msgid "Save"
msgstr ""
-#: src/components/account-info.jsx:2279
+#: src/components/account-info.jsx:2285
msgid "username"
msgstr ""
-#: src/components/account-info.jsx:2283
+#: src/components/account-info.jsx:2289
msgid "server domain name"
msgstr ""