Merge branch 'cheeaun:main' into width-columns-css-fix

pull/512/head
Nathan Sparrow 2024-04-30 07:13:06 -04:00 zatwierdzone przez GitHub
commit bc4e766f05
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
8 zmienionych plików z 140 dodań i 120 usunięć

Wyświetl plik

@ -244,6 +244,8 @@ And here I am. Building a Mastodon web client.
## Alternative web clients
- Phanpy forks ↓
- [Agora](https://agorasocial.app/)
- [Pinafore](https://pinafore.social/) ([retired](https://nolanlawson.com/2023/01/09/retiring-pinafore/)) - forks ↓
- [Semaphore](https://semaphore.social/)
- [Enafore](https://enafore.social/)

214
package-lock.json wygenerowano
Wyświetl plik

@ -10,7 +10,7 @@
"dependencies": {
"@formatjs/intl-localematcher": "~0.5.4",
"@formatjs/intl-segmenter": "~11.5.5",
"@formkit/auto-animate": "~0.8.1",
"@formkit/auto-animate": "~0.8.2",
"@github/text-expander-element": "~2.6.1",
"@iconify-icons/mingcute": "~1.2.9",
"@justinribeiro/lite-youtube": "~1.5.0",
@ -25,14 +25,14 @@
"idb-keyval": "~6.2.1",
"just-debounce-it": "~3.2.0",
"lz-string": "~1.5.0",
"masto": "~6.7.0",
"masto": "~6.7.2",
"moize": "~6.1.6",
"p-retry": "~6.2.0",
"p-throttle": "~6.1.0",
"preact": "~10.20.1",
"preact": "~10.20.2",
"punycode": "~2.3.1",
"react-hotkeys-hook": "~4.5.0",
"react-intersection-observer": "~9.8.1",
"react-intersection-observer": "~9.8.2",
"react-quick-pinch-zoom": "~5.1.0",
"react-router-dom": "6.6.2",
"string-length": "6.0.0",
@ -48,13 +48,13 @@
"@preact/preset-vite": "~2.8.2",
"@trivago/prettier-plugin-sort-imports": "~4.3.0",
"postcss": "~8.4.38",
"postcss-dark-theme-class": "~1.2.1",
"postcss-preset-env": "~9.5.4",
"postcss-dark-theme-class": "~1.2.3",
"postcss-preset-env": "~9.5.8",
"twitter-text": "~3.1.0",
"vite": "~5.2.8",
"vite": "~5.2.10",
"vite-plugin-generate-file": "~0.1.1",
"vite-plugin-html-config": "~1.0.11",
"vite-plugin-pwa": "~0.19.7",
"vite-plugin-pwa": "~0.19.8",
"vite-plugin-remove-console": "~2.2.0",
"workbox-cacheable-response": "~7.0.0",
"workbox-expiration": "~7.0.0",
@ -1974,9 +1974,9 @@
}
},
"node_modules/@csstools/color-helpers": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-4.1.0.tgz",
"integrity": "sha512-pWRKF6cDwget8HowIIf2MqEmqIca/cf8/jO4b3PRtUF5EfQXYMtBIKycXB4yXTCUmwLKOoRZAzh/hjnc7ywOIg==",
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-4.2.0.tgz",
"integrity": "sha512-hJJrSBzbfGxUsaR6X4Bzd/FLx0F1ulKnR5ljY9AiXCtsR+H+zSWQDFWlKES1BRaVZTDHLpIIHS9K2o0h+JLlrg==",
"dev": true,
"funding": [
{
@ -2016,9 +2016,9 @@
}
},
"node_modules/@csstools/css-color-parser": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.6.3.tgz",
"integrity": "sha512-pQPUPo32HW3/NuZxrwr3VJHE+vGqSTVI5gK4jGbuJ7eOFUrsTmZikXcVdInCVWOvuxK5xbCzwDWoTlZUCAKN+A==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-2.0.0.tgz",
"integrity": "sha512-0/v6OPpcg+b8TJT2N1Rcp0oH5xEvVOU5K2qDkaR3IMHNXuJ7XfVCQLINt3Cuj8mr54DbilEoZ9uvAmHBoZ//Fw==",
"dev": true,
"funding": [
{
@ -2031,7 +2031,7 @@
}
],
"dependencies": {
"@csstools/color-helpers": "^4.1.0",
"@csstools/color-helpers": "^4.2.0",
"@csstools/css-calc": "^1.2.0"
},
"engines": {
@ -2133,9 +2133,9 @@
}
},
"node_modules/@csstools/postcss-color-function": {
"version": "3.0.13",
"resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.13.tgz",
"integrity": "sha512-gM24cIPU45HSPJ2zllz7VKjS1OKQS1sKOMI7Wsw8gFyXSGAGrxhYo++McylOqOXd8ecMaKxKQMUJqJVibvJYig==",
"version": "3.0.14",
"resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.14.tgz",
"integrity": "sha512-joGAf5bT3Jg1CpybupMJ4DwNg/VNjmLWZoWMDmX0MTy/ftHA1Qr4+CslqTT4AA1n6Dx4Wa+DSMGPrDLHtRP0jg==",
"dev": true,
"funding": [
{
@ -2148,7 +2148,7 @@
}
],
"dependencies": {
"@csstools/css-color-parser": "^1.6.3",
"@csstools/css-color-parser": "^2.0.0",
"@csstools/css-parser-algorithms": "^2.6.1",
"@csstools/css-tokenizer": "^2.2.4",
"@csstools/postcss-progressive-custom-properties": "^3.2.0",
@ -2162,9 +2162,9 @@
}
},
"node_modules/@csstools/postcss-color-mix-function": {
"version": "2.0.13",
"resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.13.tgz",
"integrity": "sha512-mD8IIfGVeWkN1H1wfCqYePOg4cDnVrOXm4P0OlYcvKriq6sImGCGShv/2D88q6s3iUlLXfUBES+DUjLVjDMhnw==",
"version": "2.0.14",
"resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.14.tgz",
"integrity": "sha512-ZLbgtdhyuOoWoRo/W8jFv68q+IMgTJHOAI+WunRbrRPqI+vJ0K2rud/lS9Se5urzM/imVKs/kz0Uobm5Yj4HUg==",
"dev": true,
"funding": [
{
@ -2177,7 +2177,7 @@
}
],
"dependencies": {
"@csstools/css-color-parser": "^1.6.3",
"@csstools/css-color-parser": "^2.0.0",
"@csstools/css-parser-algorithms": "^2.6.1",
"@csstools/css-tokenizer": "^2.2.4",
"@csstools/postcss-progressive-custom-properties": "^3.2.0",
@ -2244,9 +2244,9 @@
}
},
"node_modules/@csstools/postcss-gamut-mapping": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.6.tgz",
"integrity": "sha512-qGFpHU9cRf9qqkbHh9cWMTlBtGi/ujPgP/znQdwkbB4TgDR1ddI5wRRrksBsx64sfoUSlIEd70bxXzD9FtfdLg==",
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.7.tgz",
"integrity": "sha512-vrsHsl5TN6NB5CT0rPG6JE9V2GLFftcmPtF/k4cWT4gyVMCsDyS9wEVl82sgvh/JQ32TaUo6bh8Ndl+XRJqGQw==",
"dev": true,
"funding": [
{
@ -2259,7 +2259,7 @@
}
],
"dependencies": {
"@csstools/css-color-parser": "^1.6.3",
"@csstools/css-color-parser": "^2.0.0",
"@csstools/css-parser-algorithms": "^2.6.1",
"@csstools/css-tokenizer": "^2.2.4"
},
@ -2271,9 +2271,9 @@
}
},
"node_modules/@csstools/postcss-gradients-interpolation-method": {
"version": "4.0.14",
"resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.14.tgz",
"integrity": "sha512-VMWC3xtpchHJoRBb/fs1gJR/5nHopX+0GwwmgdCI1DjROtfWUKIW0nv8occ922Gv0/Lk93XBtYBv8JttVBMZUQ==",
"version": "4.0.15",
"resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.15.tgz",
"integrity": "sha512-0xQ5r4WU/6W2lDmnOTx9liC1Cq6RSnrkEzqX7d0cRA3fz5hjC276pA0nLMoAiY3vtAp0u71nTk/3TRdnCx/OUw==",
"dev": true,
"funding": [
{
@ -2286,7 +2286,7 @@
}
],
"dependencies": {
"@csstools/css-color-parser": "^1.6.3",
"@csstools/css-color-parser": "^2.0.0",
"@csstools/css-parser-algorithms": "^2.6.1",
"@csstools/css-tokenizer": "^2.2.4",
"@csstools/postcss-progressive-custom-properties": "^3.2.0",
@ -2300,9 +2300,9 @@
}
},
"node_modules/@csstools/postcss-hwb-function": {
"version": "3.0.12",
"resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.12.tgz",
"integrity": "sha512-90kIs+FsM6isAXLVoFHTTl4h0J6g1J1M6ahpIjAs6/k7a2A9FB/q+l0MHpLre0ZiPlBf2y3e1j4L+79vml7kJw==",
"version": "3.0.13",
"resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.13.tgz",
"integrity": "sha512-f44tgkFSxJBGm8UjlkAfBP7xE2x2XFFdvNdedHl8jpx2pQcW8a50OT3yeMnM3NB9Y2Ynd7Wn8iXARiV/IHoKvw==",
"dev": true,
"funding": [
{
@ -2315,7 +2315,7 @@
}
],
"dependencies": {
"@csstools/css-color-parser": "^1.6.3",
"@csstools/css-color-parser": "^2.0.0",
"@csstools/css-parser-algorithms": "^2.6.1",
"@csstools/css-tokenizer": "^2.2.4",
"@csstools/postcss-progressive-custom-properties": "^3.2.0",
@ -2655,9 +2655,9 @@
}
},
"node_modules/@csstools/postcss-oklab-function": {
"version": "3.0.13",
"resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.13.tgz",
"integrity": "sha512-xbzMmukDFAwCt2+279io7ZiamZj87s6cnU3UgKB3G+NMpRX9A6uvN8xlnTLCe384hqg6hix5vlOmwkxqACb5pg==",
"version": "3.0.14",
"resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.14.tgz",
"integrity": "sha512-92xdpcfc2wB3z4+GftPA0PXMuGI/tRLw9Tc0+HzpaAHHxyLK6aCJtoQIcw0Ox/PthXtqXZn/3wWT/Idfe8I7Wg==",
"dev": true,
"funding": [
{
@ -2670,7 +2670,7 @@
}
],
"dependencies": {
"@csstools/css-color-parser": "^1.6.3",
"@csstools/css-color-parser": "^2.0.0",
"@csstools/css-parser-algorithms": "^2.6.1",
"@csstools/css-tokenizer": "^2.2.4",
"@csstools/postcss-progressive-custom-properties": "^3.2.0",
@ -2709,9 +2709,9 @@
}
},
"node_modules/@csstools/postcss-relative-color-syntax": {
"version": "2.0.13",
"resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.13.tgz",
"integrity": "sha512-mENWPNcHdiEYtjHFfZP9U1jNukQgFpSQ7wvTvwiadK3qgNBiSl0vMSinM9kKsGsJLTHQ0LEAqWLHurU52I4Jeg==",
"version": "2.0.14",
"resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.14.tgz",
"integrity": "sha512-NlxgLjAjVCTUVGiWk8WNj3dKvux9eC6O5aLM3BmdA8UXEwBHYI9r4IqlanxG9PlcXnzhTUX6eZsqgmxwt4FPow==",
"dev": true,
"funding": [
{
@ -2724,7 +2724,7 @@
}
],
"dependencies": {
"@csstools/css-color-parser": "^1.6.3",
"@csstools/css-color-parser": "^2.0.0",
"@csstools/css-parser-algorithms": "^2.6.1",
"@csstools/css-tokenizer": "^2.2.4",
"@csstools/postcss-progressive-custom-properties": "^3.2.0",
@ -2790,9 +2790,9 @@
}
},
"node_modules/@csstools/postcss-text-decoration-shorthand": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.5.tgz",
"integrity": "sha512-qKxXpD0TYINkUtWDN1RHdeWKtZCzEv5j3UMT/ZGqyY27icwCFw7iKO0bUeLSHjYFBqhurCWvoOsa9REqLdrNDw==",
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.6.tgz",
"integrity": "sha512-Q8HEu4AEiwNVZBD6+DpQ8M9SajpMow4+WtmndWIAv8qxDtDYL4JK1xXWkhOGk28PrcJawOvkrEZ8Ri59UN1TJw==",
"dev": true,
"funding": [
{
@ -2805,7 +2805,7 @@
}
],
"dependencies": {
"@csstools/color-helpers": "^4.1.0",
"@csstools/color-helpers": "^4.2.0",
"postcss-value-parser": "^4.2.0"
},
"engines": {
@ -3326,10 +3326,9 @@
}
},
"node_modules/@formkit/auto-animate": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/@formkit/auto-animate/-/auto-animate-0.8.1.tgz",
"integrity": "sha512-0/Z2cuNXWVVIG/l0SpcHAWFhGdvLJ8DRvEfRWvmojtmRWfEy+LWNwgDazbZqY0qQYtkHcoEK3jBLkhiZaB/4Ig==",
"license": "MIT"
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/@formkit/auto-animate/-/auto-animate-0.8.2.tgz",
"integrity": "sha512-SwPWfeRa5veb1hOIBMdzI+73te5puUBHmqqaF1Bu7FjvxlYSz/kJcZKSa9Cg60zL0uRNeJL2SbRxV6Jp6Q1nFQ=="
},
"node_modules/@github/combobox-nav": {
"version": "2.1.5",
@ -4469,9 +4468,9 @@
}
},
"node_modules/css-blank-pseudo": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.1.tgz",
"integrity": "sha512-goSnEITByxTzU4Oh5oJZrEWudxTqk7L6IXj1UW69pO6Hv0UdX+Vsrt02FFu5DweRh2bLu6WpX/+zsQCu5O1gKw==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.2.tgz",
"integrity": "sha512-J/6m+lsqpKPqWHOifAFtKFeGLOzw3jR92rxQcwRUfA/eTuZzKfKlxOmYDx2+tqOPQAueNvBiY8WhAeHu5qNmTg==",
"dev": true,
"funding": [
{
@ -6031,9 +6030,9 @@
}
},
"node_modules/masto": {
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/masto/-/masto-6.7.0.tgz",
"integrity": "sha512-R1UyuCdiyBuA9xuIEVIYa2187oIoHhpL1T0glIY+RICAo7JYOAEPdi4aAmROyPcWOYwMlaVDmRRb1zmNbvTnVg==",
"version": "6.7.2",
"resolved": "https://registry.npmjs.org/masto/-/masto-6.7.2.tgz",
"integrity": "sha512-MEX/XDWLJyOjCOedhGZaIsrTIH9yIA1k+z2ySJkClIfphtv8DTulBpcpi8CnBMCvgR/RjAF/wdu3QL5p6BVe2A==",
"dependencies": {
"change-case": "^4.1.2",
"events-to-async": "^2.0.1",
@ -6424,9 +6423,9 @@
}
},
"node_modules/postcss-color-functional-notation": {
"version": "6.0.8",
"resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.8.tgz",
"integrity": "sha512-BilFPTHcfWEnuQeqL83nbSPVK3tcU57S60aOrqgditarNDzOojyF0Gdc2Ur5L+zox366QjrCe0rOBLDO2pNvRQ==",
"version": "6.0.9",
"resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.9.tgz",
"integrity": "sha512-8i/ofOArZ4fljp+3g+HI6Pok01Kb8YaSqInrJt2vMimEKrI0ZDNRLpH+wLhXBNu/Bi8zeWDvxhvCqsGSpu8E6Q==",
"dev": true,
"funding": [
{
@ -6439,7 +6438,7 @@
}
],
"dependencies": {
"@csstools/css-color-parser": "^1.6.3",
"@csstools/css-color-parser": "^2.0.0",
"@csstools/css-parser-algorithms": "^2.6.1",
"@csstools/css-tokenizer": "^2.2.4",
"@csstools/postcss-progressive-custom-properties": "^3.2.0",
@ -6533,9 +6532,9 @@
}
},
"node_modules/postcss-custom-properties": {
"version": "13.3.6",
"resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.6.tgz",
"integrity": "sha512-vVVIwQbJiIz+PBLMIWA6XMi53Zg66/f474KolA7x0Das6EwkATc/9ZvM6zZx2gs7ZhcgVHjmWBbHkK9FlCgLeA==",
"version": "13.3.7",
"resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.7.tgz",
"integrity": "sha512-0N9F/GUCr/D0IazjzHahyYW2bQVDT6qDtEudiGHAhMd3XqhfM3VmfYVlkc/40DOhsPtngSNb54/Ctu8msvFOvQ==",
"dev": true,
"funding": [
{
@ -6590,9 +6589,9 @@
}
},
"node_modules/postcss-dark-theme-class": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/postcss-dark-theme-class/-/postcss-dark-theme-class-1.2.1.tgz",
"integrity": "sha512-EzQMGOcYnE0eMBjfgB+xnamlZ8O02Aiojyg/iv84cpRUdLKZW8ankZWxWUhhIid1OF7yl4G3BeYfE+7CGY2tdQ==",
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/postcss-dark-theme-class/-/postcss-dark-theme-class-1.2.3.tgz",
"integrity": "sha512-Hr3pf9naYw0AJmIv6BcnkkpeWtIbXNc8OGqLbyYtHLqbuBpue5g7qK9g8fY7qvl3jig6tyu+Ga6N1FpMjIYqBQ==",
"dev": true,
"funding": [
{
@ -6604,6 +6603,9 @@
"url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
"engines": {
"node": ">=18.0"
},
@ -6772,9 +6774,9 @@
}
},
"node_modules/postcss-lab-function": {
"version": "6.0.13",
"resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.13.tgz",
"integrity": "sha512-tzEThi3prSyomnVqaAU+k/YJib4rxeeTKVfMt+mPcEugFgp0t6xRjoc7fzaWCoEwYLC6GxGLD8/Ugx8COCqabw==",
"version": "6.0.14",
"resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.14.tgz",
"integrity": "sha512-ddQS9FRWT8sfl4wfW0ae8fpP2JdLIuhC9pYpHq1077avjrLzg73T9IEVu5QmFa72nJhYFlO9CbqjcoSdEzfY9A==",
"dev": true,
"funding": [
{
@ -6787,7 +6789,7 @@
}
],
"dependencies": {
"@csstools/css-color-parser": "^1.6.3",
"@csstools/css-color-parser": "^2.0.0",
"@csstools/css-parser-algorithms": "^2.6.1",
"@csstools/css-tokenizer": "^2.2.4",
"@csstools/postcss-progressive-custom-properties": "^3.2.0",
@ -6826,9 +6828,9 @@
}
},
"node_modules/postcss-nesting": {
"version": "12.1.1",
"resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.1.1.tgz",
"integrity": "sha512-qc74KvIAQNa5ujZKG1UV286dhaDW6basbUy2i9AzNU/T8C9hpvGu9NZzm1SfePe2yP7sPYgpA8d4sPVopn2Hhw==",
"version": "12.1.2",
"resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.1.2.tgz",
"integrity": "sha512-FUmTHGDNundodutB4PUBxt/EPuhgtpk8FJGRsBhOuy+6FnkR2A8RZWIsyyy6XmhvX2DZQQWIkvu+HB4IbJm+Ew==",
"dev": true,
"funding": [
{
@ -6936,9 +6938,9 @@
}
},
"node_modules/postcss-preset-env": {
"version": "9.5.4",
"resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.5.4.tgz",
"integrity": "sha512-o/jOlJjhm4f6rI5q1f+4Og3tz1cjaO50er9ndk7ZdcXHjWOH49kMAhqDC/nQifypQkOAiAmF46dPt3pZM+Cwbg==",
"version": "9.5.8",
"resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.5.8.tgz",
"integrity": "sha512-AjQ5ZgrVJVL8Ja7UxIlbyHUN5knkdk6L0JxxV7KDZU4S5WfJjRNgvWlU7Xq7CMyRZSjHZBmLDOsBKIL9WStPyw==",
"dev": true,
"funding": [
{
@ -6952,13 +6954,13 @@
],
"dependencies": {
"@csstools/postcss-cascade-layers": "^4.0.4",
"@csstools/postcss-color-function": "^3.0.13",
"@csstools/postcss-color-mix-function": "^2.0.13",
"@csstools/postcss-color-function": "^3.0.14",
"@csstools/postcss-color-mix-function": "^2.0.14",
"@csstools/postcss-exponential-functions": "^1.0.5",
"@csstools/postcss-font-format-keywords": "^3.0.2",
"@csstools/postcss-gamut-mapping": "^1.0.6",
"@csstools/postcss-gradients-interpolation-method": "^4.0.14",
"@csstools/postcss-hwb-function": "^3.0.12",
"@csstools/postcss-gamut-mapping": "^1.0.7",
"@csstools/postcss-gradients-interpolation-method": "^4.0.15",
"@csstools/postcss-hwb-function": "^3.0.13",
"@csstools/postcss-ic-unit": "^3.0.6",
"@csstools/postcss-initial": "^1.0.1",
"@csstools/postcss-is-pseudo-class": "^4.0.6",
@ -6972,27 +6974,27 @@
"@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.7",
"@csstools/postcss-nested-calc": "^3.0.2",
"@csstools/postcss-normalize-display-values": "^3.0.2",
"@csstools/postcss-oklab-function": "^3.0.13",
"@csstools/postcss-oklab-function": "^3.0.14",
"@csstools/postcss-progressive-custom-properties": "^3.2.0",
"@csstools/postcss-relative-color-syntax": "^2.0.13",
"@csstools/postcss-relative-color-syntax": "^2.0.14",
"@csstools/postcss-scope-pseudo-class": "^3.0.1",
"@csstools/postcss-stepped-value-functions": "^3.0.6",
"@csstools/postcss-text-decoration-shorthand": "^3.0.5",
"@csstools/postcss-text-decoration-shorthand": "^3.0.6",
"@csstools/postcss-trigonometric-functions": "^3.0.6",
"@csstools/postcss-unset-value": "^3.0.1",
"autoprefixer": "^10.4.19",
"browserslist": "^4.22.3",
"css-blank-pseudo": "^6.0.1",
"css-blank-pseudo": "^6.0.2",
"css-has-pseudo": "^6.0.3",
"css-prefers-color-scheme": "^9.0.1",
"cssdb": "^8.0.0",
"postcss-attribute-case-insensitive": "^6.0.3",
"postcss-clamp": "^4.1.0",
"postcss-color-functional-notation": "^6.0.8",
"postcss-color-functional-notation": "^6.0.9",
"postcss-color-hex-alpha": "^9.0.4",
"postcss-color-rebeccapurple": "^9.0.3",
"postcss-custom-media": "^10.0.4",
"postcss-custom-properties": "^13.3.6",
"postcss-custom-properties": "^13.3.7",
"postcss-custom-selectors": "^7.1.8",
"postcss-dir-pseudo-class": "^8.0.1",
"postcss-double-position-gradients": "^5.0.6",
@ -7001,14 +7003,14 @@
"postcss-font-variant": "^5.0.0",
"postcss-gap-properties": "^5.0.1",
"postcss-image-set-function": "^6.0.3",
"postcss-lab-function": "^6.0.13",
"postcss-lab-function": "^6.0.14",
"postcss-logical": "^7.0.1",
"postcss-nesting": "^12.1.1",
"postcss-nesting": "^12.1.2",
"postcss-opacity-percentage": "^2.0.0",
"postcss-overflow-shorthand": "^5.0.1",
"postcss-page-break": "^3.0.4",
"postcss-place": "^9.0.1",
"postcss-pseudo-class-any-link": "^9.0.1",
"postcss-pseudo-class-any-link": "^9.0.2",
"postcss-replace-overflow-wrap": "^4.0.0",
"postcss-selector-not": "^7.0.2"
},
@ -7020,9 +7022,9 @@
}
},
"node_modules/postcss-pseudo-class-any-link": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.1.tgz",
"integrity": "sha512-cKYGGZ9yzUZi+dZd7XT2M8iSDfo+T2Ctbpiizf89uBTBfIpZpjvTavzIJXpCReMVXSKROqzpxClNu6fz4DHM0Q==",
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.2.tgz",
"integrity": "sha512-HFSsxIqQ9nA27ahyfH37cRWGk3SYyQLpk0LiWw/UGMV4VKT5YG2ONee4Pz/oFesnK0dn2AjcyequDbIjKJgB0g==",
"dev": true,
"funding": [
{
@ -7100,9 +7102,9 @@
"license": "MIT"
},
"node_modules/preact": {
"version": "10.20.1",
"resolved": "https://registry.npmjs.org/preact/-/preact-10.20.1.tgz",
"integrity": "sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==",
"version": "10.20.2",
"resolved": "https://registry.npmjs.org/preact/-/preact-10.20.2.tgz",
"integrity": "sha512-S1d1ernz3KQ+Y2awUxKakpfOg2CEmJmwOP+6igPx6dgr6pgDvenqYviyokWso2rhHvGtTlWWnJDa7RaPbQerTg==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/preact"
@ -7230,9 +7232,9 @@
}
},
"node_modules/react-intersection-observer": {
"version": "9.8.1",
"resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.8.1.tgz",
"integrity": "sha512-QzOFdROX8D8MH3wE3OVKH0f3mLjKTtEN1VX/rkNuECCff+aKky0pIjulDhr3Ewqj5el/L+MhBkM3ef0Tbt+qUQ==",
"version": "9.8.2",
"resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.8.2.tgz",
"integrity": "sha512-901naEiiZmse3p+AmtbQ3NL9xx+gQ8TXLiGDc+8GiE3JKJkNV3vP737aGuWTAXBA+1QqxPrDDE+fIEgYpGDlrQ==",
"peerDependencies": {
"react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
@ -8207,9 +8209,9 @@
}
},
"node_modules/vite": {
"version": "5.2.8",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.2.8.tgz",
"integrity": "sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==",
"version": "5.2.10",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz",
"integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==",
"dev": true,
"dependencies": {
"esbuild": "^0.20.1",
@ -8288,9 +8290,9 @@
}
},
"node_modules/vite-plugin-pwa": {
"version": "0.19.7",
"resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.19.7.tgz",
"integrity": "sha512-18TECxoGPQE7tVZzKxbf5Icrl5688n1JGMPSgGotTsh89vLDxevY7ICfD3CFVfonZXh8ckuyJXg0NXE5+FAl2A==",
"version": "0.19.8",
"resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.19.8.tgz",
"integrity": "sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==",
"dev": true,
"dependencies": {
"debug": "^4.3.4",

Wyświetl plik

@ -12,7 +12,7 @@
"dependencies": {
"@formatjs/intl-localematcher": "~0.5.4",
"@formatjs/intl-segmenter": "~11.5.5",
"@formkit/auto-animate": "~0.8.1",
"@formkit/auto-animate": "~0.8.2",
"@github/text-expander-element": "~2.6.1",
"@iconify-icons/mingcute": "~1.2.9",
"@justinribeiro/lite-youtube": "~1.5.0",
@ -27,14 +27,14 @@
"idb-keyval": "~6.2.1",
"just-debounce-it": "~3.2.0",
"lz-string": "~1.5.0",
"masto": "~6.7.0",
"masto": "~6.7.2",
"moize": "~6.1.6",
"p-retry": "~6.2.0",
"p-throttle": "~6.1.0",
"preact": "~10.20.1",
"preact": "~10.20.2",
"punycode": "~2.3.1",
"react-hotkeys-hook": "~4.5.0",
"react-intersection-observer": "~9.8.1",
"react-intersection-observer": "~9.8.2",
"react-quick-pinch-zoom": "~5.1.0",
"react-router-dom": "6.6.2",
"string-length": "6.0.0",
@ -50,13 +50,13 @@
"@preact/preset-vite": "~2.8.2",
"@trivago/prettier-plugin-sort-imports": "~4.3.0",
"postcss": "~8.4.38",
"postcss-dark-theme-class": "~1.2.1",
"postcss-preset-env": "~9.5.4",
"postcss-dark-theme-class": "~1.2.3",
"postcss-preset-env": "~9.5.8",
"twitter-text": "~3.1.0",
"vite": "~5.2.8",
"vite": "~5.2.10",
"vite-plugin-generate-file": "~0.1.1",
"vite-plugin-html-config": "~1.0.11",
"vite-plugin-pwa": "~0.19.7",
"vite-plugin-pwa": "~0.19.8",
"vite-plugin-remove-console": "~2.2.0",
"workbox-cacheable-response": "~7.0.0",
"workbox-expiration": "~7.0.0",

Wyświetl plik

@ -7,10 +7,13 @@ import { useInView } from 'react-intersection-observer';
// The sticky header, usually at the top
const TOP = 48;
export default function LazyShazam({ children }) {
const shazamIDs = {};
export default function LazyShazam({ id, children }) {
const containerRef = useRef();
const hasID = !!shazamIDs[id];
const [visible, setVisible] = useState(false);
const [visibleStart, setVisibleStart] = useState(false);
const [visibleStart, setVisibleStart] = useState(hasID || false);
const { ref } = useInView({
root: null,
@ -20,6 +23,7 @@ export default function LazyShazam({ children }) {
onChange: (inView) => {
if (inView) {
setVisible(true);
if (id) shazamIDs[id] = true;
}
},
triggerOnce: true,
@ -35,6 +39,7 @@ export default function LazyShazam({ children }) {
} else {
setVisibleStart(true);
}
if (id) shazamIDs[id] = true;
}
}, []);

Wyświetl plik

@ -3337,7 +3337,7 @@ const QuoteStatuses = memo(({ id, instance, level = 0 }) => {
return uniqueQuotes.map((q) => {
return (
<LazyShazam>
<LazyShazam id={q.instance + q.id}>
<Link
key={q.instance + q.id}
to={`${q.instance ? `/${q.instance}` : ''}/s/${q.id}`}

Wyświetl plik

@ -209,8 +209,8 @@ function Timeline({
const oRef = useHotkeys(['enter', 'o'], () => {
// open active status
const activeItem = document.activeElement.closest(itemsSelector);
if (activeItem) {
const activeItem = document.activeElement;
if (activeItem?.matches(itemsSelector)) {
activeItem.click();
}
});

Wyświetl plik

@ -7,6 +7,7 @@ import { lazy } from 'preact/compat';
import { useEffect, useState } from 'preact/hooks';
import IntlSegmenterSuspense from './components/intl-segmenter-suspense';
import { initStates } from './utils/states';
// import Compose from './components/compose';
import useTitle from './utils/useTitle';
@ -31,6 +32,10 @@ function App() {
: 'Compose',
);
useEffect(() => {
initStates();
}, []);
useEffect(() => {
if (uiState === 'closed') {
try {

Wyświetl plik

@ -286,7 +286,13 @@ function FiltersAddEdit({ filter, onClose }) {
// Preserve existing expiry if not specified
// Seconds from now to expiresAtDate
// Other clients don't do this
expiresIn = Math.floor((expiresAtDate - new Date()) / 1000);
if (hasExpiry) {
expiresIn = Math.floor(
(expiresAtDate - new Date()) / 1000,
);
} else {
expiresIn = null;
}
} else if (expiresIn === '0' || expiresIn === 0) {
// 0 = Never
expiresIn = null;