diff --git a/package-lock.json b/package-lock.json index ac8811d4..7d226c08 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,11 +22,11 @@ "masto": "~5.11.3", "mem": "~9.0.2", "p-retry": "~5.1.2", - "p-throttle": "~5.0.0", - "preact": "~10.13.2", + "p-throttle": "~5.1.0", + "preact": "~10.15.0", "react-hotkeys-hook": "~4.4.0", "react-intersection-observer": "~9.4.3", - "react-quick-pinch-zoom": "~4.6.0", + "react-quick-pinch-zoom": "~4.9.0", "react-router-dom": "6.6.2", "string-length": "~5.0.1", "swiped-events": "~1.1.7", @@ -42,12 +42,12 @@ "@trivago/prettier-plugin-sort-imports": "~4.1.1", "postcss": "~8.4.23", "postcss-dark-theme-class": "~0.7.3", - "postcss-preset-env": "~8.3.2", + "postcss-preset-env": "~8.4.1", "twitter-text": "~3.1.0", - "vite": "~4.3.5", + "vite": "~4.3.8", "vite-plugin-generate-file": "~0.0.4", "vite-plugin-html-config": "~1.0.11", - "vite-plugin-pwa": "~0.14.7", + "vite-plugin-pwa": "~0.15.0", "vite-plugin-remove-console": "~2.1.1", "workbox-cacheable-response": "~6.5.4", "workbox-expiration": "~6.5.4", @@ -1735,16 +1735,22 @@ } }, "node_modules/@csstools/color-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-2.0.0.tgz", - "integrity": "sha512-VcPjEnp07RNgz/D+oI2uIALg+IPCSl6mj0XhA3pl3F2bM2B95vgzatExmmzSg/X0zkh+R2v+jFY/J2pV/bnwpw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-2.1.0.tgz", + "integrity": "sha512-OWkqBa7PDzZuJ3Ha7T5bxdSVfSCfTq6K1mbAhbO1MD+GSULGjrp45i5RudyJOedstSarN/3mdwu9upJE7gDXfw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "engines": { "node": "^14 || ^16 || >=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" } }, "node_modules/@csstools/css-calc": { @@ -1765,21 +1771,27 @@ } }, "node_modules/@csstools/css-color-parser": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.1.2.tgz", - "integrity": "sha512-MjW/VspbFSkvbuou7tUUu2+FAlAR7VJ/PA69M9EGKltThbONC8nyW33wHRzNvLzRLGstZLEO5X5oR7IMhMDi0A==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.2.0.tgz", + "integrity": "sha512-kt9jhqyL/Ig/Tsf1cY+iygxs2nu3/D532048G9BSeg9YjlpZxbor6I+nvgMNB1A1ppL+i15Mb/yyDHYMQmgBtQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "@csstools/color-helpers": "^2.0.0", + "@csstools/color-helpers": "^2.1.0", "@csstools/css-calc": "^1.1.1" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1" @@ -1852,45 +1864,57 @@ } }, "node_modules/@csstools/postcss-color-function": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-2.2.1.tgz", - "integrity": "sha512-T52iiqmzyKk09B9iNTQbuWa9Tn83SztXY7o6r2+j+o1BS/7+CiCjTgN2HgzybDmx8cr6XYhQ1BzqgV9tJzhrmw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-2.2.2.tgz", + "integrity": "sha512-HpBtNAS8m07Umr1kYYOIKTSg2uBMjWMc7zeXchhodsZtopICa5pTyCIuuT0z9oy07j/M4+Uj0M01OLvmN0AHqA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1", - "@csstools/postcss-progressive-custom-properties": "^2.0.0" + "@csstools/postcss-progressive-custom-properties": "^2.2.0" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } }, "node_modules/@csstools/postcss-color-mix-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-1.0.1.tgz", - "integrity": "sha512-NSVrzjVcI4TMzDfh6GKZXvEuelT81xpXzruuTNJrwKMTZXEBHY9G2gvmr0eC0wwmL8EF1TblXyPPfBbZobvfXg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-1.0.2.tgz", + "integrity": "sha512-SZRZ1osJo5CR89xojPEkORnH6RS0FK1aktMujo52TCc74oJCIf6udX1e22qTeV8YG78lRNx8NpM3WzI4dL94tQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1", - "@csstools/postcss-progressive-custom-properties": "^2.0.0" + "@csstools/postcss-progressive-custom-properties": "^2.2.0" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } @@ -1915,9 +1939,9 @@ } }, "node_modules/@csstools/postcss-gradients-interpolation-method": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-3.0.4.tgz", - "integrity": "sha512-GgKoY7OlvL65UPigEdlrvMAUCR5kOQCjtue2/36TPrBNoRS6KM2KOqmjIVsxEwYYwK+L28pdnM8r10m03hhZxA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-3.0.5.tgz", + "integrity": "sha512-x1tKUChKajjlZ+pOvapvHTXfRasXLBaChzwcKzI+wGsUmWIfIZhWVdksI/9Yeef0RhI9RFsEgr1fI3gWNcxHyg==", "dev": true, "funding": [ { @@ -1930,10 +1954,10 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1", - "@csstools/postcss-progressive-custom-properties": "^2.0.0" + "@csstools/postcss-progressive-custom-properties": "^2.2.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -1943,51 +1967,73 @@ } }, "node_modules/@csstools/postcss-hwb-function": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-2.2.1.tgz", - "integrity": "sha512-eiqB4DIs+xqProAly7KwIgE04oze1YHb0QSCw/Y7062d9gpw+Cdif3Y0Z+Te+U7JROYdO0/0j91A6Qy8fo/Rlw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-2.2.2.tgz", + "integrity": "sha512-W5Y5oaJ382HSlbdGfPf60d7dAK6Hqf10+Be1yZbd/TNNrQ/3dDdV1c07YwOXPQ3PZ6dvFMhxbIbn8EC3ki3nEg==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } }, "node_modules/@csstools/postcss-ic-unit": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-2.0.2.tgz", - "integrity": "sha512-N84qGTJkfLTPj2qOG5P4CIqGjpZBbjOEMKMn+UjO5wlb9lcBTfBsxCF0lQsFdWJUzBHYFOz19dL66v71WF3Pig==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-2.0.3.tgz", + "integrity": "sha512-azDezOeI7IhLGqRauyfi/JuJOfNHM951h0TZWnL9L38xTmlBK+s7y4MpWXTq/Ohz8IuiIuVPobXTewsqXaTeiQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^2.0.0", + "@csstools/postcss-progressive-custom-properties": "^2.2.0", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } }, "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-3.2.0.tgz", - "integrity": "sha512-uooelBL99jMg8ZD6xy0Pj1hSalchWmplcin00eI+JHpv1jW2iwbi1cn2UnVsToM4JLwJSZFzTSWCgSpmlyhe3A==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-3.2.1.tgz", + "integrity": "sha512-AtANdV34kJl04Al62is3eQRk/BfOfyAvEmRJvbt+nx5REqImLC+2XhuE6skgkcPli1l8ONS67wS+l1sBzySc3Q==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -1995,10 +2041,6 @@ "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } @@ -2139,41 +2181,81 @@ } }, "node_modules/@csstools/postcss-oklab-function": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-2.2.1.tgz", - "integrity": "sha512-g4wrVopp6xXr1KetUK4Lj36P+PFPwvUUtd2gaqo7X/0xgJHmMtKMPhD9p77H9bmIpPtkIYQ8b7+7cdmrWNEVAw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-2.2.2.tgz", + "integrity": "sha512-25Y9GYia9QamEOHx3B8hyHftDo/lzVhmPPm96ziOzOri9MDZvphPYPyx8NxQXh0P1P0j92eJcOjw4AO6HcXWYw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1", - "@csstools/postcss-progressive-custom-properties": "^2.0.0" + "@csstools/postcss-progressive-custom-properties": "^2.2.0" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } }, "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-2.1.1.tgz", - "integrity": "sha512-6p8eO5+j+9hn4h2Klr9dbmya0GIb9SRrnPaCxqR1muVlV1waAZq6YkmlApEwXrox9qxggSwGZD5TnLRIY9f7WA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-2.2.0.tgz", + "integrity": "sha512-qtJ2Jgf5bQW65OK7JaR0dw+XL3tc3BN99g+I5cRdik++HpyZitrKKxIwDGb3OHp2Yo3PZKuiX8pXljqmLHT/eg==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-relative-color-syntax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-1.0.0.tgz", + "integrity": "sha512-/Q2xOHjOeq8p8j/+yilJlroWzqbBca3+tux2ikkArsAsQS9sHWbFtPz602EpNnoGSnVg7o/QSf3xxaekyzv/8A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-color-parser": "^1.2.0", + "@csstools/css-parser-algorithms": "^2.1.1", + "@csstools/css-tokenizer": "^2.1.1", + "@csstools/postcss-progressive-custom-properties": "^2.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" }, "peerDependencies": { "postcss": "^8.4" @@ -2220,21 +2302,27 @@ } }, "node_modules/@csstools/postcss-text-decoration-shorthand": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-2.2.3.tgz", - "integrity": "sha512-PADJidg/tdhDk120aWlGuDxsp5ZTc9Nx7GhJ8t0qBCk5fOgLK6V3DsB9X6sOAhDokIihXKzjtUu15puac5McWw==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-2.2.4.tgz", + "integrity": "sha512-zPN56sQkS/7YTCVZhOBVCWf7AiNge8fXDl7JVaHLz2RyT4pnyK2gFjckWRLpO0A2xkm1lCgZ0bepYZTwAVd/5A==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "@csstools/color-helpers": "^2.0.0", + "@csstools/color-helpers": "^2.1.0", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } @@ -2881,61 +2969,6 @@ "node": ">=14" } }, - "node_modules/@rollup/plugin-replace": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.2.tgz", - "integrity": "sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "magic-string": "^0.27.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-replace/node_modules/@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-replace/node_modules/magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@rollup/pluginutils": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", @@ -3054,12 +3087,6 @@ "node": ">=0.10.0" } }, - "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "dev": true - }, "node_modules/@types/node": { "version": "18.11.17", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.17.tgz", @@ -3673,14 +3700,20 @@ } }, "node_modules/cssdb": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.5.3.tgz", - "integrity": "sha512-NQNRhrEnS6cW+RU/foLphb6xI/MDA70bI3Cy6VxJU8ilxgyTYz1X9zUzFGVTG5nGPylcKAGIt/UNc4deT56lQQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.6.0.tgz", + "integrity": "sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ] }, "node_modules/cssesc": { "version": "3.0.0", @@ -5131,9 +5164,9 @@ } }, "node_modules/p-throttle": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-5.0.0.tgz", - "integrity": "sha512-iXBFjW4kP/5Ivw7uC9EDnj+/xo3pNn4Rws3zgMGPwXnWTv1M3P0LVdZxLrqRUI5JK0Fp3Du0bt6lCaVrI3WF7g==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-5.1.0.tgz", + "integrity": "sha512-+N+s2g01w1Zch4D0K3OpnPDqLOKmLcQ4BvIFq3JC0K29R28vUOjWpO+OJZBNt8X9i3pFCksZJZ0YXkUGjaFE6g==", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -5422,21 +5455,27 @@ } }, "node_modules/postcss-double-position-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-4.0.2.tgz", - "integrity": "sha512-GXL1RmFREDK4Q9aYvI2RhVrA6a6qqSMQQ5ke8gSH1xgV6exsqbcJpIumC7AOgooH6/WIG3/K/T8xxAiVHy/tJg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-4.0.3.tgz", + "integrity": "sha512-Td1+C+kFCadnhRBMMf6D/eiQxjp33eAgwgMcLNYzZPcgXt1iU6vi/qEJ/YObp4nwn3QOtudFBMUOVHoGqmpfiA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^2.0.0", + "@csstools/postcss-progressive-custom-properties": "^2.2.0", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } @@ -5533,42 +5572,54 @@ } }, "node_modules/postcss-lab-function": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-5.2.1.tgz", - "integrity": "sha512-u71Adr4nWi+4EmSZq5EV/fg9d1dYO6W26RNtT9LISEyjhH1q23vJIUkSqRwHgD6v7xxsxLOY5cSdVyaNE6rqzw==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-5.2.2.tgz", + "integrity": "sha512-O5LrVYzOD3anfPqvSL1HiQ8PpKAav74Gst3pXgZBHSFo6t5sws3dLGTQMnw4hgn1t064SODWAjb9KcC39N820A==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1", - "@csstools/postcss-progressive-custom-properties": "^2.0.0" + "@csstools/postcss-progressive-custom-properties": "^2.2.0" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } }, "node_modules/postcss-logical": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-6.1.0.tgz", - "integrity": "sha512-qb1+LpClhYjxac8SfOcWotnY3unKZesDqIOm+jnGt8rTl7xaIWpE2bPGZHxflOip1E/4ETo79qlJyRL3yrHn1g==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-6.2.0.tgz", + "integrity": "sha512-aqlfKGaY0nnbgI9jwUikp4gJKBqcH5noU/EdnIVceghaaDPYhZuyJVxlvWNy55tlTG5tunRKCTAX9yljLiFgmw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } @@ -5663,9 +5714,9 @@ } }, "node_modules/postcss-preset-env": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-8.3.2.tgz", - "integrity": "sha512-VSAOsfxTXzO/gX5QljC8x8hN3ABbD9iqqLgqHqohBdNI5FhJptwpl96kpu+kYvvzK7BWwaHYou0IeYrp+NqmcQ==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-8.4.1.tgz", + "integrity": "sha512-IlcUT8ZSuQFWXJ/F+KvqmkzT85u33rlvd36IzM6qhdnccO7Rs3uBrHY802BFjNcPRawqSCDmPv7KKyCzNxx5Fw==", "dev": true, "funding": [ { @@ -5679,13 +5730,13 @@ ], "dependencies": { "@csstools/postcss-cascade-layers": "^3.0.1", - "@csstools/postcss-color-function": "^2.2.1", - "@csstools/postcss-color-mix-function": "^1.0.1", + "@csstools/postcss-color-function": "^2.2.2", + "@csstools/postcss-color-mix-function": "^1.0.2", "@csstools/postcss-font-format-keywords": "^2.0.2", - "@csstools/postcss-gradients-interpolation-method": "^3.0.4", - "@csstools/postcss-hwb-function": "^2.2.1", - "@csstools/postcss-ic-unit": "^2.0.2", - "@csstools/postcss-is-pseudo-class": "^3.2.0", + "@csstools/postcss-gradients-interpolation-method": "^3.0.5", + "@csstools/postcss-hwb-function": "^2.2.2", + "@csstools/postcss-ic-unit": "^2.0.3", + "@csstools/postcss-is-pseudo-class": "^3.2.1", "@csstools/postcss-logical-float-and-clear": "^1.0.1", "@csstools/postcss-logical-resize": "^1.0.1", "@csstools/postcss-logical-viewport-units": "^1.0.3", @@ -5693,11 +5744,12 @@ "@csstools/postcss-media-queries-aspect-ratio-number-values": "^1.0.2", "@csstools/postcss-nested-calc": "^2.0.2", "@csstools/postcss-normalize-display-values": "^2.0.1", - "@csstools/postcss-oklab-function": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^2.1.0", + "@csstools/postcss-oklab-function": "^2.2.2", + "@csstools/postcss-progressive-custom-properties": "^2.2.0", + "@csstools/postcss-relative-color-syntax": "^1.0.0", "@csstools/postcss-scope-pseudo-class": "^2.0.2", "@csstools/postcss-stepped-value-functions": "^2.1.1", - "@csstools/postcss-text-decoration-shorthand": "^2.2.3", + "@csstools/postcss-text-decoration-shorthand": "^2.2.4", "@csstools/postcss-trigonometric-functions": "^2.1.1", "@csstools/postcss-unset-value": "^2.0.1", "autoprefixer": "^10.4.14", @@ -5705,7 +5757,7 @@ "css-blank-pseudo": "^5.0.2", "css-has-pseudo": "^5.0.2", "css-prefers-color-scheme": "^8.0.2", - "cssdb": "^7.5.3", + "cssdb": "^7.6.0", "postcss-attribute-case-insensitive": "^6.0.2", "postcss-clamp": "^4.1.0", "postcss-color-functional-notation": "^5.0.2", @@ -5715,15 +5767,15 @@ "postcss-custom-properties": "^13.1.5", "postcss-custom-selectors": "^7.1.3", "postcss-dir-pseudo-class": "^7.0.2", - "postcss-double-position-gradients": "^4.0.2", + "postcss-double-position-gradients": "^4.0.3", "postcss-focus-visible": "^8.0.2", "postcss-focus-within": "^7.0.2", "postcss-font-variant": "^5.0.0", "postcss-gap-properties": "^4.0.1", "postcss-image-set-function": "^5.0.2", "postcss-initial": "^4.0.1", - "postcss-lab-function": "^5.2.1", - "postcss-logical": "^6.1.0", + "postcss-lab-function": "^5.2.2", + "postcss-logical": "^6.2.0", "postcss-nesting": "^11.2.1", "postcss-opacity-percentage": "^2.0.0", "postcss-overflow-shorthand": "^4.0.1", @@ -5808,9 +5860,9 @@ "dev": true }, "node_modules/preact": { - "version": "10.13.2", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.13.2.tgz", - "integrity": "sha512-q44QFLhOhty2Bd0Y46fnYW0gD/cbVM9dUVtNTDKPcdXSMA7jfY+Jpd6rk3GB0lcQss0z5s/6CmVP0Z/hV+g6pw==", + "version": "10.15.0", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.15.0.tgz", + "integrity": "sha512-nZSa8M2R2m1n7nJSBlzDpxRJaIsejrTO1vlFbdpFvyC8qM1iU+On2y0otfoUm6SRB5o0lF0CKDFxg6grEFU0iQ==", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -5959,13 +6011,15 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-quick-pinch-zoom": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/react-quick-pinch-zoom/-/react-quick-pinch-zoom-4.6.0.tgz", - "integrity": "sha512-M3woYVzWt8Kh6FCAytBtJJ4KC/5noG98GpI8ZTxTIE2sjR1XRPjV0NpFRhFgxPQpDvD+lkMp63sxP130uhafaw==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/react-quick-pinch-zoom/-/react-quick-pinch-zoom-4.9.0.tgz", + "integrity": "sha512-gCPnZu5+rkYDNvewi/d7A2wgLs7izQNMuC6kjt+KLC1qqHnRU27Ed8AgcEcnWAZKdMr3ZKoKhSvjlZSVZI0fuw==", + "dependencies": { + "tslib": ">=2.0.0" + }, "peerDependencies": { "react": ">=16.4.0", - "react-dom": ">=16.4.0", - "tslib": ">=2.0.0" + "react-dom": ">=16.4.0" }, "peerDependenciesMeta": { "react": { @@ -5973,9 +6027,6 @@ }, "react-dom": { "optional": true - }, - "tslib": { - "optional": true } } }, @@ -6785,9 +6836,9 @@ } }, "node_modules/vite": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.5.tgz", - "integrity": "sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==", + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.8.tgz", + "integrity": "sha512-uYB8PwN7hbMrf4j1xzGDk/lqjsZvCDbt/JC5dyfxc19Pg8kRm14LinK/uq+HSLNswZEoKmweGdtpbnxRtrAXiQ==", "dev": true, "dependencies": { "esbuild": "^0.17.5", @@ -6927,16 +6978,14 @@ } }, "node_modules/vite-plugin-pwa": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.14.7.tgz", - "integrity": "sha512-dNJaf0fYOWncmjxv9HiSa2xrSjipjff7IkYE5oIUJ2x5HKu3cXgA8LRgzOwTc5MhwyFYRSU0xyN0Phbx3NsQYw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.15.0.tgz", + "integrity": "sha512-gpmx3BeubsRIXRBkjPToOTJbo8fknNmZFQs24i0TPZyaNVa0n27YHDo0Y72amnO70WvHKGE3e1fn8SYUP7e8SA==", "dev": true, "dependencies": { - "@rollup/plugin-replace": "^5.0.1", "debug": "^4.3.4", "fast-glob": "^3.2.12", "pretty-bytes": "^6.0.0", - "rollup": "^3.7.2", "workbox-build": "^6.5.4", "workbox-window": "^6.5.4" }, @@ -8510,9 +8559,9 @@ "requires": {} }, "@csstools/color-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-2.0.0.tgz", - "integrity": "sha512-VcPjEnp07RNgz/D+oI2uIALg+IPCSl6mj0XhA3pl3F2bM2B95vgzatExmmzSg/X0zkh+R2v+jFY/J2pV/bnwpw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-2.1.0.tgz", + "integrity": "sha512-OWkqBa7PDzZuJ3Ha7T5bxdSVfSCfTq6K1mbAhbO1MD+GSULGjrp45i5RudyJOedstSarN/3mdwu9upJE7gDXfw==", "dev": true }, "@csstools/css-calc": { @@ -8523,12 +8572,12 @@ "requires": {} }, "@csstools/css-color-parser": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.1.2.tgz", - "integrity": "sha512-MjW/VspbFSkvbuou7tUUu2+FAlAR7VJ/PA69M9EGKltThbONC8nyW33wHRzNvLzRLGstZLEO5X5oR7IMhMDi0A==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.2.0.tgz", + "integrity": "sha512-kt9jhqyL/Ig/Tsf1cY+iygxs2nu3/D532048G9BSeg9YjlpZxbor6I+nvgMNB1A1ppL+i15Mb/yyDHYMQmgBtQ==", "dev": true, "requires": { - "@csstools/color-helpers": "^2.0.0", + "@csstools/color-helpers": "^2.1.0", "@csstools/css-calc": "^1.1.1" } }, @@ -8563,27 +8612,27 @@ } }, "@csstools/postcss-color-function": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-2.2.1.tgz", - "integrity": "sha512-T52iiqmzyKk09B9iNTQbuWa9Tn83SztXY7o6r2+j+o1BS/7+CiCjTgN2HgzybDmx8cr6XYhQ1BzqgV9tJzhrmw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-2.2.2.tgz", + "integrity": "sha512-HpBtNAS8m07Umr1kYYOIKTSg2uBMjWMc7zeXchhodsZtopICa5pTyCIuuT0z9oy07j/M4+Uj0M01OLvmN0AHqA==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1", - "@csstools/postcss-progressive-custom-properties": "^2.0.0" + "@csstools/postcss-progressive-custom-properties": "^2.2.0" } }, "@csstools/postcss-color-mix-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-1.0.1.tgz", - "integrity": "sha512-NSVrzjVcI4TMzDfh6GKZXvEuelT81xpXzruuTNJrwKMTZXEBHY9G2gvmr0eC0wwmL8EF1TblXyPPfBbZobvfXg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-1.0.2.tgz", + "integrity": "sha512-SZRZ1osJo5CR89xojPEkORnH6RS0FK1aktMujo52TCc74oJCIf6udX1e22qTeV8YG78lRNx8NpM3WzI4dL94tQ==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1", - "@csstools/postcss-progressive-custom-properties": "^2.0.0" + "@csstools/postcss-progressive-custom-properties": "^2.2.0" } }, "@csstools/postcss-font-format-keywords": { @@ -8596,42 +8645,42 @@ } }, "@csstools/postcss-gradients-interpolation-method": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-3.0.4.tgz", - "integrity": "sha512-GgKoY7OlvL65UPigEdlrvMAUCR5kOQCjtue2/36TPrBNoRS6KM2KOqmjIVsxEwYYwK+L28pdnM8r10m03hhZxA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-3.0.5.tgz", + "integrity": "sha512-x1tKUChKajjlZ+pOvapvHTXfRasXLBaChzwcKzI+wGsUmWIfIZhWVdksI/9Yeef0RhI9RFsEgr1fI3gWNcxHyg==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1", - "@csstools/postcss-progressive-custom-properties": "^2.0.0" + "@csstools/postcss-progressive-custom-properties": "^2.2.0" } }, "@csstools/postcss-hwb-function": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-2.2.1.tgz", - "integrity": "sha512-eiqB4DIs+xqProAly7KwIgE04oze1YHb0QSCw/Y7062d9gpw+Cdif3Y0Z+Te+U7JROYdO0/0j91A6Qy8fo/Rlw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-2.2.2.tgz", + "integrity": "sha512-W5Y5oaJ382HSlbdGfPf60d7dAK6Hqf10+Be1yZbd/TNNrQ/3dDdV1c07YwOXPQ3PZ6dvFMhxbIbn8EC3ki3nEg==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1" } }, "@csstools/postcss-ic-unit": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-2.0.2.tgz", - "integrity": "sha512-N84qGTJkfLTPj2qOG5P4CIqGjpZBbjOEMKMn+UjO5wlb9lcBTfBsxCF0lQsFdWJUzBHYFOz19dL66v71WF3Pig==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-2.0.3.tgz", + "integrity": "sha512-azDezOeI7IhLGqRauyfi/JuJOfNHM951h0TZWnL9L38xTmlBK+s7y4MpWXTq/Ohz8IuiIuVPobXTewsqXaTeiQ==", "dev": true, "requires": { - "@csstools/postcss-progressive-custom-properties": "^2.0.0", + "@csstools/postcss-progressive-custom-properties": "^2.2.0", "postcss-value-parser": "^4.2.0" } }, "@csstools/postcss-is-pseudo-class": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-3.2.0.tgz", - "integrity": "sha512-uooelBL99jMg8ZD6xy0Pj1hSalchWmplcin00eI+JHpv1jW2iwbi1cn2UnVsToM4JLwJSZFzTSWCgSpmlyhe3A==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-3.2.1.tgz", + "integrity": "sha512-AtANdV34kJl04Al62is3eQRk/BfOfyAvEmRJvbt+nx5REqImLC+2XhuE6skgkcPli1l8ONS67wS+l1sBzySc3Q==", "dev": true, "requires": { "@csstools/selector-specificity": "^2.0.0", @@ -8705,26 +8754,38 @@ } }, "@csstools/postcss-oklab-function": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-2.2.1.tgz", - "integrity": "sha512-g4wrVopp6xXr1KetUK4Lj36P+PFPwvUUtd2gaqo7X/0xgJHmMtKMPhD9p77H9bmIpPtkIYQ8b7+7cdmrWNEVAw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-2.2.2.tgz", + "integrity": "sha512-25Y9GYia9QamEOHx3B8hyHftDo/lzVhmPPm96ziOzOri9MDZvphPYPyx8NxQXh0P1P0j92eJcOjw4AO6HcXWYw==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1", - "@csstools/postcss-progressive-custom-properties": "^2.0.0" + "@csstools/postcss-progressive-custom-properties": "^2.2.0" } }, "@csstools/postcss-progressive-custom-properties": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-2.1.1.tgz", - "integrity": "sha512-6p8eO5+j+9hn4h2Klr9dbmya0GIb9SRrnPaCxqR1muVlV1waAZq6YkmlApEwXrox9qxggSwGZD5TnLRIY9f7WA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-2.2.0.tgz", + "integrity": "sha512-qtJ2Jgf5bQW65OK7JaR0dw+XL3tc3BN99g+I5cRdik++HpyZitrKKxIwDGb3OHp2Yo3PZKuiX8pXljqmLHT/eg==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, + "@csstools/postcss-relative-color-syntax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-1.0.0.tgz", + "integrity": "sha512-/Q2xOHjOeq8p8j/+yilJlroWzqbBca3+tux2ikkArsAsQS9sHWbFtPz602EpNnoGSnVg7o/QSf3xxaekyzv/8A==", + "dev": true, + "requires": { + "@csstools/css-color-parser": "^1.2.0", + "@csstools/css-parser-algorithms": "^2.1.1", + "@csstools/css-tokenizer": "^2.1.1", + "@csstools/postcss-progressive-custom-properties": "^2.2.0" + } + }, "@csstools/postcss-scope-pseudo-class": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-2.0.2.tgz", @@ -8746,12 +8807,12 @@ } }, "@csstools/postcss-text-decoration-shorthand": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-2.2.3.tgz", - "integrity": "sha512-PADJidg/tdhDk120aWlGuDxsp5ZTc9Nx7GhJ8t0qBCk5fOgLK6V3DsB9X6sOAhDokIihXKzjtUu15puac5McWw==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-2.2.4.tgz", + "integrity": "sha512-zPN56sQkS/7YTCVZhOBVCWf7AiNge8fXDl7JVaHLz2RyT4pnyK2gFjckWRLpO0A2xkm1lCgZ0bepYZTwAVd/5A==", "dev": true, "requires": { - "@csstools/color-helpers": "^2.0.0", + "@csstools/color-helpers": "^2.1.0", "postcss-value-parser": "^4.2.0" } }, @@ -9135,38 +9196,6 @@ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.2.1.tgz", "integrity": "sha512-XiY0IsyHR+DXYS5vBxpoBe/8veTeoRpMHP+vDosLZxL5bnpetzI0igkxkLZS235ldLzyfkxF+2divEwWHP3vMQ==" }, - "@rollup/plugin-replace": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.2.tgz", - "integrity": "sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^5.0.1", - "magic-string": "^0.27.0" - }, - "dependencies": { - "@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", - "dev": true, - "requires": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - } - }, - "magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - } - } - }, "@rollup/pluginutils": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", @@ -9259,12 +9288,6 @@ } } }, - "@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "dev": true - }, "@types/node": { "version": "18.11.17", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.17.tgz", @@ -9730,9 +9753,9 @@ "requires": {} }, "cssdb": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.5.3.tgz", - "integrity": "sha512-NQNRhrEnS6cW+RU/foLphb6xI/MDA70bI3Cy6VxJU8ilxgyTYz1X9zUzFGVTG5nGPylcKAGIt/UNc4deT56lQQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.6.0.tgz", + "integrity": "sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==", "dev": true }, "cssesc": { @@ -10805,9 +10828,9 @@ } }, "p-throttle": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-5.0.0.tgz", - "integrity": "sha512-iXBFjW4kP/5Ivw7uC9EDnj+/xo3pNn4Rws3zgMGPwXnWTv1M3P0LVdZxLrqRUI5JK0Fp3Du0bt6lCaVrI3WF7g==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-5.1.0.tgz", + "integrity": "sha512-+N+s2g01w1Zch4D0K3OpnPDqLOKmLcQ4BvIFq3JC0K29R28vUOjWpO+OJZBNt8X9i3pFCksZJZ0YXkUGjaFE6g==" }, "param-case": { "version": "3.0.4", @@ -10969,12 +10992,12 @@ } }, "postcss-double-position-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-4.0.2.tgz", - "integrity": "sha512-GXL1RmFREDK4Q9aYvI2RhVrA6a6qqSMQQ5ke8gSH1xgV6exsqbcJpIumC7AOgooH6/WIG3/K/T8xxAiVHy/tJg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-4.0.3.tgz", + "integrity": "sha512-Td1+C+kFCadnhRBMMf6D/eiQxjp33eAgwgMcLNYzZPcgXt1iU6vi/qEJ/YObp4nwn3QOtudFBMUOVHoGqmpfiA==", "dev": true, "requires": { - "@csstools/postcss-progressive-custom-properties": "^2.0.0", + "@csstools/postcss-progressive-custom-properties": "^2.2.0", "postcss-value-parser": "^4.2.0" } }, @@ -11027,21 +11050,21 @@ "requires": {} }, "postcss-lab-function": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-5.2.1.tgz", - "integrity": "sha512-u71Adr4nWi+4EmSZq5EV/fg9d1dYO6W26RNtT9LISEyjhH1q23vJIUkSqRwHgD6v7xxsxLOY5cSdVyaNE6rqzw==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-5.2.2.tgz", + "integrity": "sha512-O5LrVYzOD3anfPqvSL1HiQ8PpKAav74Gst3pXgZBHSFo6t5sws3dLGTQMnw4hgn1t064SODWAjb9KcC39N820A==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.1.2", + "@csstools/css-color-parser": "^1.2.0", "@csstools/css-parser-algorithms": "^2.1.1", "@csstools/css-tokenizer": "^2.1.1", - "@csstools/postcss-progressive-custom-properties": "^2.0.0" + "@csstools/postcss-progressive-custom-properties": "^2.2.0" } }, "postcss-logical": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-6.1.0.tgz", - "integrity": "sha512-qb1+LpClhYjxac8SfOcWotnY3unKZesDqIOm+jnGt8rTl7xaIWpE2bPGZHxflOip1E/4ETo79qlJyRL3yrHn1g==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-6.2.0.tgz", + "integrity": "sha512-aqlfKGaY0nnbgI9jwUikp4gJKBqcH5noU/EdnIVceghaaDPYhZuyJVxlvWNy55tlTG5tunRKCTAX9yljLiFgmw==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" @@ -11090,19 +11113,19 @@ } }, "postcss-preset-env": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-8.3.2.tgz", - "integrity": "sha512-VSAOsfxTXzO/gX5QljC8x8hN3ABbD9iqqLgqHqohBdNI5FhJptwpl96kpu+kYvvzK7BWwaHYou0IeYrp+NqmcQ==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-8.4.1.tgz", + "integrity": "sha512-IlcUT8ZSuQFWXJ/F+KvqmkzT85u33rlvd36IzM6qhdnccO7Rs3uBrHY802BFjNcPRawqSCDmPv7KKyCzNxx5Fw==", "dev": true, "requires": { "@csstools/postcss-cascade-layers": "^3.0.1", - "@csstools/postcss-color-function": "^2.2.1", - "@csstools/postcss-color-mix-function": "^1.0.1", + "@csstools/postcss-color-function": "^2.2.2", + "@csstools/postcss-color-mix-function": "^1.0.2", "@csstools/postcss-font-format-keywords": "^2.0.2", - "@csstools/postcss-gradients-interpolation-method": "^3.0.4", - "@csstools/postcss-hwb-function": "^2.2.1", - "@csstools/postcss-ic-unit": "^2.0.2", - "@csstools/postcss-is-pseudo-class": "^3.2.0", + "@csstools/postcss-gradients-interpolation-method": "^3.0.5", + "@csstools/postcss-hwb-function": "^2.2.2", + "@csstools/postcss-ic-unit": "^2.0.3", + "@csstools/postcss-is-pseudo-class": "^3.2.1", "@csstools/postcss-logical-float-and-clear": "^1.0.1", "@csstools/postcss-logical-resize": "^1.0.1", "@csstools/postcss-logical-viewport-units": "^1.0.3", @@ -11110,11 +11133,12 @@ "@csstools/postcss-media-queries-aspect-ratio-number-values": "^1.0.2", "@csstools/postcss-nested-calc": "^2.0.2", "@csstools/postcss-normalize-display-values": "^2.0.1", - "@csstools/postcss-oklab-function": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^2.1.0", + "@csstools/postcss-oklab-function": "^2.2.2", + "@csstools/postcss-progressive-custom-properties": "^2.2.0", + "@csstools/postcss-relative-color-syntax": "^1.0.0", "@csstools/postcss-scope-pseudo-class": "^2.0.2", "@csstools/postcss-stepped-value-functions": "^2.1.1", - "@csstools/postcss-text-decoration-shorthand": "^2.2.3", + "@csstools/postcss-text-decoration-shorthand": "^2.2.4", "@csstools/postcss-trigonometric-functions": "^2.1.1", "@csstools/postcss-unset-value": "^2.0.1", "autoprefixer": "^10.4.14", @@ -11122,7 +11146,7 @@ "css-blank-pseudo": "^5.0.2", "css-has-pseudo": "^5.0.2", "css-prefers-color-scheme": "^8.0.2", - "cssdb": "^7.5.3", + "cssdb": "^7.6.0", "postcss-attribute-case-insensitive": "^6.0.2", "postcss-clamp": "^4.1.0", "postcss-color-functional-notation": "^5.0.2", @@ -11132,15 +11156,15 @@ "postcss-custom-properties": "^13.1.5", "postcss-custom-selectors": "^7.1.3", "postcss-dir-pseudo-class": "^7.0.2", - "postcss-double-position-gradients": "^4.0.2", + "postcss-double-position-gradients": "^4.0.3", "postcss-focus-visible": "^8.0.2", "postcss-focus-within": "^7.0.2", "postcss-font-variant": "^5.0.0", "postcss-gap-properties": "^4.0.1", "postcss-image-set-function": "^5.0.2", "postcss-initial": "^4.0.1", - "postcss-lab-function": "^5.2.1", - "postcss-logical": "^6.1.0", + "postcss-lab-function": "^5.2.2", + "postcss-logical": "^6.2.0", "postcss-nesting": "^11.2.1", "postcss-opacity-percentage": "^2.0.0", "postcss-overflow-shorthand": "^4.0.1", @@ -11194,9 +11218,9 @@ "dev": true }, "preact": { - "version": "10.13.2", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.13.2.tgz", - "integrity": "sha512-q44QFLhOhty2Bd0Y46fnYW0gD/cbVM9dUVtNTDKPcdXSMA7jfY+Jpd6rk3GB0lcQss0z5s/6CmVP0Z/hV+g6pw==" + "version": "10.15.0", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.15.0.tgz", + "integrity": "sha512-nZSa8M2R2m1n7nJSBlzDpxRJaIsejrTO1vlFbdpFvyC8qM1iU+On2y0otfoUm6SRB5o0lF0CKDFxg6grEFU0iQ==" }, "prettier": { "version": "2.8.0", @@ -11292,10 +11316,12 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "react-quick-pinch-zoom": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/react-quick-pinch-zoom/-/react-quick-pinch-zoom-4.6.0.tgz", - "integrity": "sha512-M3woYVzWt8Kh6FCAytBtJJ4KC/5noG98GpI8ZTxTIE2sjR1XRPjV0NpFRhFgxPQpDvD+lkMp63sxP130uhafaw==", - "requires": {} + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/react-quick-pinch-zoom/-/react-quick-pinch-zoom-4.9.0.tgz", + "integrity": "sha512-gCPnZu5+rkYDNvewi/d7A2wgLs7izQNMuC6kjt+KLC1qqHnRU27Ed8AgcEcnWAZKdMr3ZKoKhSvjlZSVZI0fuw==", + "requires": { + "tslib": ">=2.0.0" + } }, "react-router": { "version": "6.6.2", @@ -11876,9 +11902,9 @@ } }, "vite": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.5.tgz", - "integrity": "sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==", + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.8.tgz", + "integrity": "sha512-uYB8PwN7hbMrf4j1xzGDk/lqjsZvCDbt/JC5dyfxc19Pg8kRm14LinK/uq+HSLNswZEoKmweGdtpbnxRtrAXiQ==", "dev": true, "requires": { "esbuild": "^0.17.5", @@ -11958,16 +11984,14 @@ "requires": {} }, "vite-plugin-pwa": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.14.7.tgz", - "integrity": "sha512-dNJaf0fYOWncmjxv9HiSa2xrSjipjff7IkYE5oIUJ2x5HKu3cXgA8LRgzOwTc5MhwyFYRSU0xyN0Phbx3NsQYw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.15.0.tgz", + "integrity": "sha512-gpmx3BeubsRIXRBkjPToOTJbo8fknNmZFQs24i0TPZyaNVa0n27YHDo0Y72amnO70WvHKGE3e1fn8SYUP7e8SA==", "dev": true, "requires": { - "@rollup/plugin-replace": "^5.0.1", "debug": "^4.3.4", "fast-glob": "^3.2.12", "pretty-bytes": "^6.0.0", - "rollup": "^3.7.2", "workbox-build": "^6.5.4", "workbox-window": "^6.5.4" } diff --git a/package.json b/package.json index 54eff130..e00595e6 100644 --- a/package.json +++ b/package.json @@ -24,11 +24,11 @@ "masto": "~5.11.3", "mem": "~9.0.2", "p-retry": "~5.1.2", - "p-throttle": "~5.0.0", - "preact": "~10.13.2", + "p-throttle": "~5.1.0", + "preact": "~10.15.0", "react-hotkeys-hook": "~4.4.0", "react-intersection-observer": "~9.4.3", - "react-quick-pinch-zoom": "~4.6.0", + "react-quick-pinch-zoom": "~4.9.0", "react-router-dom": "6.6.2", "string-length": "~5.0.1", "swiped-events": "~1.1.7", @@ -44,12 +44,12 @@ "@trivago/prettier-plugin-sort-imports": "~4.1.1", "postcss": "~8.4.23", "postcss-dark-theme-class": "~0.7.3", - "postcss-preset-env": "~8.3.2", + "postcss-preset-env": "~8.4.1", "twitter-text": "~3.1.0", - "vite": "~4.3.5", + "vite": "~4.3.8", "vite-plugin-generate-file": "~0.0.4", "vite-plugin-html-config": "~1.0.11", - "vite-plugin-pwa": "~0.14.7", + "vite-plugin-pwa": "~0.15.0", "vite-plugin-remove-console": "~2.1.1", "workbox-cacheable-response": "~6.5.4", "workbox-expiration": "~6.5.4", diff --git a/public/sw.js b/public/sw.js index 95121e3c..1f63d459 100644 --- a/public/sw.js +++ b/public/sw.js @@ -59,8 +59,9 @@ registerRoute(iconsRoute); // - /api/v1/custom_emojis // - /api/v1/preferences // - /api/v1/lists/:id +// - /api/v1/announcements const apiExtendedRoute = new RegExpRoute( - /^https?:\/\/[^\/]+\/api\/v\d+\/(instance|custom_emojis|preferences|lists\/\d+)$/, + /^https?:\/\/[^\/]+\/api\/v\d+\/(instance|custom_emojis|preferences|lists\/\d+|announcements)$/, new StaleWhileRevalidate({ cacheName: 'api-extended', plugins: [ diff --git a/src/app.css b/src/app.css index ff573875..9defe76b 100644 --- a/src/app.css +++ b/src/app.css @@ -262,10 +262,10 @@ a[href^='http'][rel*='nofollow']:visited:not(:has(div)) { inset 0 3px var(--comment-line-color); } .timeline.contextual .replies[data-comments-level='4'] { - overflow: auto; + overflow-x: auto; } .timeline.contextual .replies[data-comments-level='4']:has(.replies) { - overflow: auto; + overflow-x: auto; mask-image: linear-gradient(to left, transparent, black 32px); } .timeline.contextual diff --git a/src/app.jsx b/src/app.jsx index 63357bff..0d303bbb 100644 --- a/src/app.jsx +++ b/src/app.jsx @@ -91,7 +91,9 @@ function App() { useEffect(() => { const instanceURL = store.local.get('instanceURL'); - const code = (window.location.search.match(/code=([^&]+)/) || [])[1]; + const code = decodeURIComponent( + (window.location.search.match(/code=([^&]+)/) || [, ''])[1], + ); if (code) { console.log({ code }); diff --git a/src/assets/phanpy-bg.svg b/src/assets/phanpy-bg.svg new file mode 100644 index 00000000..0371d762 --- /dev/null +++ b/src/assets/phanpy-bg.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/account-info.jsx b/src/components/account-info.jsx index a1e30168..751c062d 100644 --- a/src/components/account-info.jsx +++ b/src/components/account-info.jsx @@ -493,7 +493,7 @@ function RelatedActions({ info, instance, authenticated }) { >

- Also followed by{' '} + Followed by{' '} {familiarFollowers.map((follower) => ( { }); observer.observe(menu); -const DEFAULT_LANG = match( +const DEFAULT_LANG = localeMatch( [new Intl.DateTimeFormat().resolvedOptions().locale, ...navigator.languages], supportedLanguages.map((l) => l[0]), 'en', diff --git a/src/components/nav-menu.css b/src/components/nav-menu.css new file mode 100644 index 00000000..933b0c5c --- /dev/null +++ b/src/components/nav-menu.css @@ -0,0 +1,43 @@ +@media (min-width: 23em) { + .nav-menu { + display: flex; + width: auto; + padding: 0; + } + .nav-menu section { + padding: 8px 0; + width: 50%; + } + @keyframes phanpying { + 0% { + background-position: 0 0, 0 0, 3em 85%; + } + 100% { + background-position: 0 0, 0 0, 2em 90%; + } + } + .nav-menu section:last-child { + background-color: var(--bg-faded-color); + background-image: linear-gradient( + to right, + var(--divider-color) 1px, + transparent 1px + ), + linear-gradient(to bottom left, var(--bg-blur-color), transparent), + url(../assets/phanpy-bg.svg); + background-repeat: no-repeat; + /* background-size: auto, auto, 200%; */ + background-position: 0 0, 0 0, 2em 90%; + background-blend-mode: normal, normal, overlay; + box-shadow: inset 0 0 1px var(--bg-color); + position: sticky; + top: 0; + animation: phanpying 0.2s ease-in-out both; + } + .nav-menu section:last-child > .szh-menu__divider:first-child { + display: none; + } + .nav-menu .szh-menu__item span { + white-space: normal; + } +} diff --git a/src/components/nav-menu.jsx b/src/components/nav-menu.jsx index 402331d9..45793528 100644 --- a/src/components/nav-menu.jsx +++ b/src/components/nav-menu.jsx @@ -1,11 +1,7 @@ -import { - ControlledMenu, - MenuDivider, - MenuItem, - useClick, - useMenuState, -} from '@szhsin/react-menu'; -import { useRef } from 'preact/hooks'; +import './nav-menu.css'; + +import { ControlledMenu, MenuDivider, MenuItem } from '@szhsin/react-menu'; +import { useRef, useState } from 'preact/hooks'; import { useLongPress } from 'use-long-press'; import { useSnapshot } from 'valtio'; @@ -47,8 +43,7 @@ function NavMenu(props) { ); const buttonRef = useRef(); - const [menuState, toggleMenu] = useMenuState(); - const anchorProps = useClick(menuState.state, toggleMenu); + const [menuState, setMenuState] = useState(undefined); return ( <> @@ -59,7 +54,9 @@ function NavMenu(props) { moreThanOneAccount ? 'with-avatar' : '' } ${open ? 'active' : ''}`} style={{ position: 'relative' }} - {...anchorProps} + onClick={() => { + setMenuState((state) => (!state ? 'open' : undefined)); + }} onContextMenu={(e) => { e.preventDefault(); states.showAccounts = true; @@ -78,17 +75,18 @@ function NavMenu(props) { { - toggleMenu(false); + setMenuState(undefined); }} containerProps={{ style: { zIndex: 10, }, onClick: () => { - toggleMenu(false); + setMenuState(undefined); }, }} portal={{ @@ -102,109 +100,113 @@ function NavMenu(props) { boundingBoxPadding="8 8 8 8" unmountOnClose > - {!!snapStates.appVersion?.commitHash && - __COMMIT_HASH__ !== snapStates.appVersion.commitHash && ( +

+ {!!snapStates.appVersion?.commitHash && + __COMMIT_HASH__ !== snapStates.appVersion.commitHash && ( + <> + { + const yes = confirm('Reload page now to update?'); + if (yes) { + (async () => { + try { + location.reload(); + } catch (e) {} + })(); + } + }} + > + {' '} + New update available… + + + + )} + + Home + + {authenticated && ( <> - { - const yes = confirm('Reload page now to update?'); - if (yes) { - (async () => { - try { - location.reload(); - } catch (e) {} - })(); - } - }} - > - {' '} - New update available… - + {showFollowing && ( + + Following + + )} + + Mentions + + + Notifications + {snapStates.notificationsShowNew && ( + + {' '} + • + + )} + + + Lists + + + Followed Hashtags + + + Bookmarks + + + Favourites + )} - - Home - - {authenticated && ( - <> - {showFollowing && ( - - Following - - )} - - Mentions - - - Notifications - {snapStates.notificationsShowNew && ( - - {' '} - • - + + + Search + + + Local + + + Federated + + + Trending + +
+
+ {authenticated && ( + <> + + {currentAccount?.info?.id && ( + + Profile + )} - - - - Lists - - - Followed Hashtags - - - Bookmarks - - - Favourites - - - )} - - - Search - - - Local - - - Federated - - - Trending - - {authenticated && ( - <> - - {currentAccount?.info?.id && ( - - Profile - - )} - { - states.showAccounts = true; - }} - > - Accounts… - - { - states.showShortcutsSettings = true; - }} - > - {' '} - Shortcuts Settings… - - { - states.showSettings = true; - }} - > - Settings… - - - )} + { + states.showAccounts = true; + }} + > + Accounts… + + { + states.showShortcutsSettings = true; + }} + > + {' '} + Shortcuts Settings… + + { + states.showSettings = true; + }} + > + Settings… + + + )} +
); diff --git a/src/components/status.css b/src/components/status.css index 755f3c13..0e417b1d 100644 --- a/src/components/status.css +++ b/src/components/status.css @@ -518,7 +518,7 @@ .status .content > div > :is(ul, ol) { margin-block: min(0.75em, 12px); margin-inline: 0; - padding-inline-start: 1em; + padding-inline-start: 1.5em; } .status .content .invisible { display: none; diff --git a/src/components/status.jsx b/src/components/status.jsx index c09277ac..b776299f 100644 --- a/src/components/status.jsx +++ b/src/components/status.jsx @@ -1,6 +1,5 @@ import './status.css'; -import { match } from '@formatjs/intl-localematcher'; import '@justinribeiro/lite-youtube'; import { ControlledMenu, @@ -33,6 +32,7 @@ import getHTMLText from '../utils/getHTMLText'; import handleContentLinks from '../utils/handle-content-links'; import htmlContentLength from '../utils/html-content-length'; import isMastodonLinkMaybe from '../utils/isMastodonLinkMaybe'; +import localeMatch from '../utils/locale-match'; import niceDateTime from '../utils/nice-date-time'; import shortenNumber from '../utils/shorten-number'; import showToast from '../utils/show-toast'; @@ -105,10 +105,11 @@ function Status({ const { instance: currentInstance } = api(); const sameInstance = instance === currentInstance; - const sKey = statusKey(statusID, instance); + let sKey = statusKey(statusID, instance); const snapStates = useSnapshot(states); if (!status) { status = snapStates.statuses[sKey] || snapStates.statuses[statusID]; + sKey = statusKey(status?.id, instance); } if (!status) { return null; @@ -408,9 +409,9 @@ function Status({ const differentLanguage = language && language !== targetLanguage && - !match([language], [targetLanguage]) && + !localeMatch([language], [targetLanguage]) && !contentTranslationHideLanguages.find( - (l) => language === l || match([language], [l]), + (l) => language === l || localeMatch([language], [l]), ); const menuInstanceRef = useRef(); @@ -977,6 +978,7 @@ function Status({ (result) => { if (!result) return; a.removeAttribute('target'); + if (!sKey) return; if (!Array.isArray(states.statusQuotes[sKey])) { states.statusQuotes[sKey] = []; } @@ -1102,7 +1104,7 @@ function Status({ <> {' '}