From 0c841d777bca1cde5c853394c035513a5be6f1c6 Mon Sep 17 00:00:00 2001 From: botmaster Date: Sun, 3 Mar 2024 15:17:58 +0100 Subject: [PATCH 1/5] chore(deps): Update deps --- package.json | 6 +- pnpm-lock.yaml | 292 ++++++++++++++++++++++++++++++++----------------- 2 files changed, 195 insertions(+), 103 deletions(-) diff --git a/package.json b/package.json index 2505b10..425a094 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "splitting": "^1.0.6" }, "devDependencies": { - "@antfu/eslint-config": "^2.6.4", + "@antfu/eslint-config": "^2.7.0", "@eslint/eslintrc": "^3.0.2", "@nuxt/content": "^2.12.0", "@nuxt/devtools": "^1.0.8", @@ -40,7 +40,7 @@ "@nuxtjs/tailwindcss": "^6.11.4", "@pinia/nuxt": "^0.5.1", "@tailwindcss/forms": "^0.5.7", - "@types/node": "^20.11.22", + "@types/node": "^20.11.24", "@types/splitting": "^1.0.6", "@types/uuid": "^9.0.8", "@typescript-eslint/parser": "^7.1.0", @@ -56,6 +56,6 @@ "typescript": "^5.3.3", "uuid": "^9.0.1", "vite-svg-loader": "^5.1.0", - "vue-tsc": "^1.8.27" + "vue-tsc": "^2.0.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bc76986..6810914 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,8 +38,8 @@ dependencies: devDependencies: '@antfu/eslint-config': - specifier: ^2.6.4 - version: 2.6.4(@vue/compiler-sfc@3.4.19)(eslint@8.57.0)(typescript@5.3.3) + specifier: ^2.7.0 + version: 2.7.0(@vue/compiler-sfc@3.4.19)(eslint@8.57.0)(typescript@5.3.3) '@eslint/eslintrc': specifier: ^3.0.2 version: 3.0.2 @@ -74,8 +74,8 @@ devDependencies: specifier: ^0.5.7 version: 0.5.7(tailwindcss@3.4.1) '@types/node': - specifier: ^20.11.22 - version: 20.11.22 + specifier: ^20.11.24 + version: 20.11.24 '@types/splitting': specifier: ^1.0.6 version: 1.0.6 @@ -99,7 +99,7 @@ devDependencies: version: 3.14.3(tailwindcss@3.4.1) nuxt: specifier: ^3.10.3 - version: 3.10.3(@types/node@20.11.22)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27) + version: 3.10.3(@types/node@20.11.24)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.3) nuxt-headlessui: specifier: ^1.1.5 version: 1.1.5(rollup@4.12.0)(vue@3.4.19) @@ -122,8 +122,8 @@ devDependencies: specifier: ^5.1.0 version: 5.1.0(vue@3.4.19) vue-tsc: - specifier: ^1.8.27 - version: 1.8.27(typescript@5.3.3) + specifier: ^2.0.3 + version: 2.0.3(typescript@5.3.3) packages: @@ -142,21 +142,28 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.22 - /@antfu/eslint-config@2.6.4(@vue/compiler-sfc@3.4.19)(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-dMD/QC5KWS1OltdpKLhfZM7W7y7zils85opk8d4lyNr7yn0OFjZs7eMYtcC6DrrN2kQ1JrFvBM7uB0QdWn5PUQ==} + /@antfu/eslint-config@2.7.0(@vue/compiler-sfc@3.4.19)(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-CMILR+ZeiahWk8LhDlsHij/LPygX6QvQxl5AknTXm2QcFpMR6CZ14JHxTgkQJnRLM78D/CYZXwV38rU3us3PlQ==} hasBin: true peerDependencies: '@unocss/eslint-plugin': '>=0.50.0' + astro-eslint-parser: ^0.16.3 eslint: '>=8.40.0' + eslint-plugin-astro: ^0.31.4 eslint-plugin-format: '>=0.1.0' eslint-plugin-react: ^7.33.2 eslint-plugin-react-hooks: ^4.6.0 eslint-plugin-react-refresh: ^0.4.4 eslint-plugin-svelte: ^2.34.1 + prettier-plugin-slidev: ^1.0.5 svelte-eslint-parser: ^0.33.1 peerDependenciesMeta: '@unocss/eslint-plugin': optional: true + astro-eslint-parser: + optional: true + eslint-plugin-astro: + optional: true eslint-plugin-format: optional: true eslint-plugin-react: @@ -167,23 +174,25 @@ packages: optional: true eslint-plugin-svelte: optional: true + prettier-plugin-slidev: + optional: true svelte-eslint-parser: optional: true dependencies: '@antfu/eslint-define-config': 1.23.0-2 '@antfu/install-pkg': 0.3.1 '@eslint-types/jsdoc': 46.8.2-1 - '@eslint-types/typescript-eslint': 6.21.0 - '@eslint-types/unicorn': 50.0.1 - '@stylistic/eslint-plugin': 1.6.2(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@eslint-types/typescript-eslint': 7.0.2 + '@eslint-types/unicorn': 51.0.1 + '@stylistic/eslint-plugin': 1.6.3(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 eslint-config-flat-gitignore: 0.1.3 eslint-merge-processors: 0.1.0(eslint@8.57.0) eslint-plugin-antfu: 2.1.2(eslint@8.57.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) - eslint-plugin-i: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.57.0) + eslint-plugin-i: 2.29.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0) eslint-plugin-jsdoc: 48.2.0(eslint@8.57.0) eslint-plugin-jsonc: 2.13.0(eslint@8.57.0) eslint-plugin-markdown: 3.0.1(eslint@8.57.0) @@ -191,13 +200,13 @@ packages: eslint-plugin-no-only-tests: 3.1.0 eslint-plugin-perfectionist: 2.5.0(eslint@8.57.0)(typescript@5.3.3)(vue-eslint-parser@9.4.2) eslint-plugin-toml: 0.9.2(eslint@8.57.0) - eslint-plugin-unicorn: 50.0.1(eslint@8.57.0) - eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0) - eslint-plugin-vitest: 0.3.22(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.3.3) - eslint-plugin-vue: 9.21.1(eslint@8.57.0) + eslint-plugin-unicorn: 51.0.1(eslint@8.57.0) + eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@7.1.0)(eslint@8.57.0) + eslint-plugin-vitest: 0.3.22(@typescript-eslint/eslint-plugin@7.1.0)(eslint@8.57.0)(typescript@5.3.3) + eslint-plugin-vue: 9.22.0(eslint@8.57.0) eslint-plugin-yml: 1.12.2(eslint@8.57.0) eslint-processor-vue-blocks: 0.1.1(@vue/compiler-sfc@3.4.19)(eslint@8.57.0) - globals: 13.24.0 + globals: 14.0.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 @@ -209,7 +218,6 @@ packages: yargs: 17.7.2 transitivePeerDependencies: - '@vue/compiler-sfc' - - astro-eslint-parser - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color @@ -1018,12 +1026,12 @@ packages: resolution: {integrity: sha512-FwD7V0xX0jyaqj8Ul5ZY+TAAPohDfVqtbuXJNHb+OIv1aTIqZi5+Zn3F2UwQ5O3BnQd2mTduyK0+HjGx3/AMFg==} dev: true - /@eslint-types/typescript-eslint@6.21.0: - resolution: {integrity: sha512-ao4TdMLw+zFdAJ9q6iBBxC5GSrJ14Hpv0VKaergr++jRTDaGgoYiAq84tx1FYqUJzQgzJC7dm6s52IAQP7EiHA==} + /@eslint-types/typescript-eslint@7.0.2: + resolution: {integrity: sha512-2F67MVKhkJ2rSwoYvNJzJULqZwR5rNYI/eWoIrKDQ14lMzfqzbpzCBvnHrivBYWTN+Az7MVX00TzDTrjOc+YNA==} dev: true - /@eslint-types/unicorn@50.0.1: - resolution: {integrity: sha512-nuJuipTNcg9f+oxZ+3QZw4tuDLmir4RJOPfM/oujgToiy1s+tePDZhwg5jUGc3q8OzTtPbVpsFSYX7QApjO3EA==} + /@eslint-types/unicorn@51.0.1: + resolution: {integrity: sha512-RuuEK+dBISEikf7a8lrWOrDCUYv09sZfqLoG/kozH+5UqEvot1xMmGHXomGkTyB68rzjgJe0N4uESVyL62obJw==} dev: true /@eslint/eslintrc@2.1.4: @@ -1566,8 +1574,8 @@ packages: '@nuxt/kit': 3.10.3(rollup@4.12.0) '@nuxt/schema': 3.10.3(rollup@4.12.0) execa: 7.2.0 - nuxt: 3.10.3(@types/node@20.11.22)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27) - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) + nuxt: 3.10.3(@types/node@20.11.24)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.3) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) transitivePeerDependencies: - rollup - supports-color @@ -1663,7 +1671,7 @@ packages: launch-editor: 2.6.1 local-pkg: 0.5.0 magicast: 0.3.3 - nuxt: 3.10.3(@types/node@20.11.22)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27) + nuxt: 3.10.3(@types/node@20.11.24)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.3) nypm: 0.3.6 ohash: 1.1.3 pacote: 17.0.6 @@ -1676,7 +1684,7 @@ packages: simple-git: 3.22.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.12.0) - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) vite-plugin-inspect: 0.8.3(@nuxt/kit@3.10.3)(rollup@4.12.0)(vite@5.1.4) vite-plugin-vue-inspector: 4.0.2(vite@5.1.4) which: 3.0.1 @@ -1761,7 +1769,7 @@ packages: /@nuxt/ui-templates@1.3.1: resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} - /@nuxt/vite-builder@3.10.3(@types/node@20.11.22)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vue-tsc@1.8.27)(vue@3.4.19): + /@nuxt/vite-builder@3.10.3(@types/node@20.11.24)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vue-tsc@2.0.3)(vue@3.4.19): resolution: {integrity: sha512-BqkbrYkEk1AVUJleofbqTRV+ltf2p1CDjGDK78zENPCgrSABlj4F4oK8rze8vmRY5qoH7kMZxgMa2dXVXCp6OA==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -1797,9 +1805,9 @@ packages: ufo: 1.4.0 unenv: 1.9.0 unplugin: 1.7.1 - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) - vite-node: 1.3.1(@types/node@20.11.22)(sass@1.71.1) - vite-plugin-checker: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) + vite-node: 1.3.1(@types/node@20.11.24)(sass@1.71.1) + vite-plugin-checker: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.3) vue: 3.4.19(typescript@5.3.3) vue-bundle-renderer: 2.0.0 transitivePeerDependencies: @@ -2503,8 +2511,8 @@ packages: resolution: {integrity: sha512-63LPZD087kFSiNS3lF6Uve8fFeshQwNCXrl7DUocoeUYiElVTzr9a+dLodNBa0Yn5NZ4umAoQQ6LOosB5I6AAQ==} dev: false - /@stylistic/eslint-plugin-js@1.6.2(eslint@8.57.0): - resolution: {integrity: sha512-ndT6X2KgWGxv8101pdMOxL8pihlYIHcOv3ICd70cgaJ9exwkPn8hJj4YQwslxoAlre1TFHnXd/G1/hYXgDrjIA==} + /@stylistic/eslint-plugin-js@1.6.3(eslint@8.57.0): + resolution: {integrity: sha512-ckdz51oHxD2FaxgY2piJWJVJiwgp8Uu96s+as2yB3RMwavn3nHBrpliVukXY9S/DmMicPRB2+H8nBk23GDG+qA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' @@ -2517,21 +2525,21 @@ packages: espree: 9.6.1 dev: true - /@stylistic/eslint-plugin-jsx@1.6.2(eslint@8.57.0): - resolution: {integrity: sha512-hbbouazSJbHD/fshBIOLh9JgtSphKNoTCfHLSNBjAkXLK+GR4i2jhEZZF9P0mtXrNuy2WWInmpq/g0pfWBmSBA==} + /@stylistic/eslint-plugin-jsx@1.6.3(eslint@8.57.0): + resolution: {integrity: sha512-SRysCIg59Zvn3dJPqHziiHwuni4NNj1et5stAmivmyQ3Cdp2ULCB7tGxCF1OxpkwRlZQue3ZgdiM7EXfJKaf9w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' dependencies: - '@stylistic/eslint-plugin-js': 1.6.2(eslint@8.57.0) + '@stylistic/eslint-plugin-js': 1.6.3(eslint@8.57.0) '@types/eslint': 8.56.2 eslint: 8.57.0 estraverse: 5.3.0 picomatch: 4.0.1 dev: true - /@stylistic/eslint-plugin-plus@1.6.2(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-EDMwa6gzKw4bXRqdIAUvZDfIgwotbjJs8o+vYE22chAYtVAnA0Pcq+cPx0Uk35t2gvJWb5OaLDjqA6oy1tD0jg==} + /@stylistic/eslint-plugin-plus@1.6.3(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-TuwQOdyVGycDPw5XeF7W4f3ZonAVzOAzORSaD2yGAJ0fRAbJ+l/v3CkKzIAqBBwWkc+c2aRMsWtLP2+viBnmlQ==} peerDependencies: eslint: '*' dependencies: @@ -2543,13 +2551,13 @@ packages: - typescript dev: true - /@stylistic/eslint-plugin-ts@1.6.2(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-FizV58em0OjO/xFHRIy/LJJVqzxCNmYC/xVtKDf8aGDRgZpLo+lkaBKfBrbMkAGzhBKbYj+iLEFI4WEl6aVZGQ==} + /@stylistic/eslint-plugin-ts@1.6.3(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-v5GwZsPLblWM9uAIdaSi31Sed3XBWlTFQJ3b5upEmj6QsKYivA5nmIYutwqqL133QdVWjmC86pINlx2Muq3uNQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' dependencies: - '@stylistic/eslint-plugin-js': 1.6.2(eslint@8.57.0) + '@stylistic/eslint-plugin-js': 1.6.3(eslint@8.57.0) '@types/eslint': 8.56.2 '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 @@ -2558,16 +2566,16 @@ packages: - typescript dev: true - /@stylistic/eslint-plugin@1.6.2(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-EFnVcKOE5HTiMlVwisL9hHjz8a69yBbJRscWF/z+/vl6M4ew8NVrBlY8ea7KdV8QtyCY4Yapmsbg5ZDfhWlEgg==} + /@stylistic/eslint-plugin@1.6.3(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-WDa4FjhImp7YcztRaMG09svhKYYhi2Hc4p9ltQRSqyB4fsUUFm+GKzStqqH7xfjHnxacMJaOnaMGRTUqIIZDLA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' dependencies: - '@stylistic/eslint-plugin-js': 1.6.2(eslint@8.57.0) - '@stylistic/eslint-plugin-jsx': 1.6.2(eslint@8.57.0) - '@stylistic/eslint-plugin-plus': 1.6.2(eslint@8.57.0)(typescript@5.3.3) - '@stylistic/eslint-plugin-ts': 1.6.2(eslint@8.57.0)(typescript@5.3.3) + '@stylistic/eslint-plugin-js': 1.6.3(eslint@8.57.0) + '@stylistic/eslint-plugin-jsx': 1.6.3(eslint@8.57.0) + '@stylistic/eslint-plugin-plus': 1.6.3(eslint@8.57.0)(typescript@5.3.3) + '@stylistic/eslint-plugin-ts': 1.6.3(eslint@8.57.0)(typescript@5.3.3) '@types/eslint': 8.56.2 eslint: 8.57.0 transitivePeerDependencies: @@ -2657,7 +2665,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.22 + '@types/node': 20.11.24 /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -2686,12 +2694,12 @@ packages: /@types/node-fetch@2.6.11: resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} dependencies: - '@types/node': 20.11.22 + '@types/node': 20.11.24 form-data: 4.0.0 dev: false - /@types/node@20.11.22: - resolution: {integrity: sha512-/G+IxWxma6V3E+pqK1tSl2Fo1kl41pK1yeCyDsgkF9WlVAme4j5ISYM2zR11bgLFJGLN5sVK40T4RJNuiZbEjA==} + /@types/node@20.11.24: + resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} dependencies: undici-types: 5.26.5 @@ -2754,6 +2762,35 @@ packages: - supports-color dev: true + /@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.1.0 + '@typescript-eslint/type-utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.1.0 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2832,6 +2869,26 @@ packages: - supports-color dev: true + /@typescript-eslint/type-utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) + '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.2.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/types@6.21.0: resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2905,6 +2962,25 @@ packages: - typescript dev: true + /@typescript-eslint/utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.7 + '@typescript-eslint/scope-manager': 7.1.0 + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) + eslint: 8.57.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/visitor-keys@6.21.0: resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2969,7 +3045,7 @@ packages: '@unocss/core': 0.58.5 '@unocss/reset': 0.58.5 '@unocss/vite': 0.58.5(rollup@4.12.0)(vite@5.1.4) - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) transitivePeerDependencies: - rollup dev: true @@ -3192,7 +3268,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.7 - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) transitivePeerDependencies: - rollup dev: true @@ -3246,7 +3322,7 @@ packages: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.2.1(@babel/core@7.23.9) - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) vue: 3.4.19(typescript@5.3.3) transitivePeerDependencies: - supports-color @@ -3258,23 +3334,23 @@ packages: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) vue: 3.4.19(typescript@5.3.3) - /@volar/language-core@1.11.1: - resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + /@volar/language-core@2.1.0: + resolution: {integrity: sha512-BrYEgYHx92ocpt1OUxJs2x3TAXEjpPLxsQoARb96g2GdF62xnfRQUqCNBwiU7Z3MQ/0tOAdqdHNYNmrFtx6q4A==} dependencies: - '@volar/source-map': 1.11.1 + '@volar/source-map': 2.1.0 - /@volar/source-map@1.11.1: - resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + /@volar/source-map@2.1.0: + resolution: {integrity: sha512-VPyi+DTv67cvUOkUewzsOQJY3VUhjOjQxigT487z/H7tEI8ZFd5RksC5afk3JelOK+a/3Y8LRDbKmYKu1dz87g==} dependencies: - muggle-string: 0.3.1 + muggle-string: 0.4.1 - /@volar/typescript@1.11.1: - resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + /@volar/typescript@2.1.0: + resolution: {integrity: sha512-2cicVoW4q6eU/omqfOBv+6r9JdrF5bBelujbJhayPNKiOj/xwotSJ/DM8IeMvTZvtkOZkm6suyOCLEokLY0w2w==} dependencies: - '@volar/language-core': 1.11.1 + '@volar/language-core': 2.1.0 path-browserify: 1.0.1 /@vue-macros/common@1.10.1(rollup@4.12.0)(vue@3.4.19): @@ -3371,21 +3447,19 @@ packages: /@vue/devtools-api@6.6.1: resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} - /@vue/language-core@1.8.27(typescript@5.3.3): - resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + /@vue/language-core@2.0.3(typescript@5.3.3): + resolution: {integrity: sha512-hnVF/Q3cD2v+EFD4pD1YdITGBcdM38P18SYqilVQDezKw5RobWny4BwIckWGS1fJmUstsO9mTX30ZOyzyR2Q+Q==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@volar/language-core': 1.11.1 - '@volar/source-map': 1.11.1 + '@volar/language-core': 2.1.0 '@vue/compiler-dom': 3.4.19 '@vue/shared': 3.4.19 computeds: 0.0.1 minimatch: 9.0.3 - muggle-string: 0.3.1 path-browserify: 1.0.1 typescript: 5.3.3 vue-template-compiler: 2.7.16 @@ -3532,7 +3606,7 @@ packages: '@vueuse/core': 10.9.0(vue@3.4.19) '@vueuse/metadata': 10.9.0 local-pkg: 0.5.0 - nuxt: 3.10.3(@types/node@20.11.22)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27) + nuxt: 3.10.3(@types/node@20.11.24)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.3) vue-demi: 0.14.7(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' @@ -5261,7 +5335,7 @@ packages: ignore: 5.3.1 dev: true - /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.57.0): + /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0): resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} engines: {node: '>=12'} peerDependencies: @@ -5271,7 +5345,7 @@ packages: doctrine: 3.0.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 @@ -5565,8 +5639,8 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-unicorn@50.0.1(eslint@8.57.0): - resolution: {integrity: sha512-KxenCZxqSYW0GWHH18okDlOQcpezcitm5aOSz6EnobyJ6BIByiPDviQRjJIUAjG/tMN11958MxaQ+qCoU6lfDA==} + /eslint-plugin-unicorn@51.0.1(eslint@8.57.0): + resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.56.0' @@ -5592,7 +5666,7 @@ packages: - supports-color dev: true - /eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0): + /eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.1.0)(eslint@8.57.0): resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5602,12 +5676,12 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 eslint-rule-composer: 0.3.0 dev: true - /eslint-plugin-vitest@0.3.22(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.3.3): + /eslint-plugin-vitest@0.3.22(@typescript-eslint/eslint-plugin@7.1.0)(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-atkFGQ7aVgcuSeSMDqnyevIyUpfBPMnosksgEPrKE7Y8xQlqG/5z2IQ6UDau05zXaaFv7Iz8uzqvIuKshjZ0Zw==} engines: {node: ^18.0.0 || >= 20.0.0} peerDependencies: @@ -5620,7 +5694,7 @@ packages: vitest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 transitivePeerDependencies: @@ -5646,6 +5720,24 @@ packages: - supports-color dev: true + /eslint-plugin-vue@9.22.0(eslint@8.57.0): + resolution: {integrity: sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + eslint: 8.57.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.15 + semver: 7.6.0 + vue-eslint-parser: 9.4.2(eslint@8.57.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /eslint-plugin-yml@1.12.2(eslint@8.57.0): resolution: {integrity: sha512-hvS9p08FhPT7i/ynwl7/Wt7ke7Rf4P2D6fT8lZlL43peZDTsHtH2A0SIFQ7Kt7+mJ6if6P+FX3iJhMkdnxQwpg==} engines: {node: ^14.17.0 || >=16.0.0} @@ -6985,7 +7077,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.22 + '@types/node': 20.11.24 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -7979,8 +8071,8 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /muggle-string@0.3.1: - resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + /muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -8410,7 +8502,7 @@ packages: - webpack dev: true - /nuxt@3.10.3(@types/node@20.11.22)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27): + /nuxt@3.10.3(@types/node@20.11.24)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.3): resolution: {integrity: sha512-NchGNiiz9g/ErJAb462W/lpX2NqcXYb9hugySKWvLXNdrjeAPiJ2/7mhgwUSiZA9MpjuQg3saiEajr1zlRIOCg==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true @@ -8429,8 +8521,8 @@ packages: '@nuxt/schema': 3.10.3(rollup@4.12.0) '@nuxt/telemetry': 2.5.3(rollup@4.12.0) '@nuxt/ui-templates': 1.3.1 - '@nuxt/vite-builder': 3.10.3(@types/node@20.11.22)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vue-tsc@1.8.27)(vue@3.4.19) - '@types/node': 20.11.22 + '@nuxt/vite-builder': 3.10.3(@types/node@20.11.24)(eslint@8.57.0)(rollup@4.12.0)(sass@1.71.1)(typescript@5.3.3)(vue-tsc@2.0.3)(vue@3.4.19) + '@types/node': 20.11.24 '@unhead/dom': 1.8.10 '@unhead/ssr': 1.8.10 '@unhead/vue': 1.8.10(vue@3.4.19) @@ -10806,7 +10898,7 @@ packages: '@unocss/transformer-variant-group': 0.58.5 '@unocss/vite': 0.58.5(rollup@4.12.0)(vite@5.1.4) '@unocss/webpack': 0.58.5(rollup@4.12.0)(webpack@5.90.3) - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) transitivePeerDependencies: - postcss - rollup @@ -11010,7 +11102,7 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@1.3.1(@types/node@20.11.22)(sass@1.71.1): + /vite-node@1.3.1(@types/node@20.11.24)(sass@1.71.1): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11019,7 +11111,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) transitivePeerDependencies: - '@types/node' - less @@ -11030,7 +11122,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.3): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11074,12 +11166,12 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.3.3 - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 1.8.27(typescript@5.3.3) + vue-tsc: 2.0.3(typescript@5.3.3) /vite-plugin-inspect@0.8.3(@nuxt/kit@3.10.3)(rollup@4.12.0)(vite@5.1.4): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} @@ -11101,7 +11193,7 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) transitivePeerDependencies: - rollup - supports-color @@ -11120,7 +11212,7 @@ packages: '@vue/compiler-dom': 3.4.19 kolorist: 1.8.0 magic-string: 0.30.7 - vite: 5.1.4(@types/node@20.11.22)(sass@1.71.1) + vite: 5.1.4(@types/node@20.11.24)(sass@1.71.1) transitivePeerDependencies: - supports-color @@ -11133,7 +11225,7 @@ packages: vue: 3.4.19(typescript@5.3.3) dev: true - /vite@5.1.4(@types/node@20.11.22)(sass@1.71.1): + /vite@5.1.4(@types/node@20.11.24)(sass@1.71.1): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11161,7 +11253,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.22 + '@types/node': 20.11.24 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.0 @@ -11276,14 +11368,14 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@1.8.27(typescript@5.3.3): - resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} + /vue-tsc@2.0.3(typescript@5.3.3): + resolution: {integrity: sha512-aMJqbgLiKDAwAglWqMoGf1Ez6Wwqhlk2MDxEjFGziiLW0A+tHOWE1+YQJZQ1Vm6zaENPA2KJAubFhaR988UvGg==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/typescript': 1.11.1 - '@vue/language-core': 1.8.27(typescript@5.3.3) + '@volar/typescript': 2.1.0 + '@vue/language-core': 2.0.3(typescript@5.3.3) semver: 7.6.0 typescript: 5.3.3 From fb4ad07fbd4d94a4a333746e1e945e016bc847ad Mon Sep 17 00:00:00 2001 From: botmaster Date: Sun, 3 Mar 2024 15:18:29 +0100 Subject: [PATCH 2/5] feat: Add readings type select --- .../app/readings/ArticleListActionBar.vue | 33 +++++++++++++- content/en/readings.md | 3 +- content/fr/readings.md | 3 +- locales/en.json | 12 ++++- locales/fr.json | 12 ++++- pages/readings.vue | 44 ++++++++++++++----- 6 files changed, 87 insertions(+), 20 deletions(-) diff --git a/components/app/readings/ArticleListActionBar.vue b/components/app/readings/ArticleListActionBar.vue index 57cb34d..9c738a4 100644 --- a/components/app/readings/ArticleListActionBar.vue +++ b/components/app/readings/ArticleListActionBar.vue @@ -16,11 +16,12 @@ const { t } = useI18n(); const selectedOptions = defineModel('selectedOptions', { required: true }); const search = defineModel('search', { required: true }); const status = defineModel('status', { required: true }); +const type = defineModel('type', { required: true }); const sort = defineModel('sort', { required: true }); // Computed - Has any filters const hasFilters = computed(() => { - return status.value !== '' || search.value !== '' || selectedOptions.value.length > 0; + return status.value !== '' || type.value !== '' || search.value !== '' || selectedOptions.value.length > 0; }); // Map status @@ -34,6 +35,16 @@ const mapStatus = computed>(() => { }; }); +// Map type +const mapType = computed>(() => { + return { + all: t('pages.readings.filters.type.all'), + Article: t('pages.readings.filters.type.article'), + Podcast: t('pages.readings.filters.type.podcast'), + Video: t('pages.readings.filters.type.video'), + }; +}); + // Map sort const mapSort = computed>(() => { return { @@ -76,6 +87,24 @@ const mapSort = computed>(() => { +
+ + +
+
@@ -108,6 +137,8 @@ const mapSort = computed>(() => {

{{ t('common.article', 1) }} {{ mapStatus[status] }} + + {{ mapType[type] }} {{ selectedOptions.map(tag => tag.name).toString() }} diff --git a/content/en/readings.md b/content/en/readings.md index 6d84d72..e689ef4 100644 --- a/content/en/readings.md +++ b/content/en/readings.md @@ -5,5 +5,4 @@ coverDescription: Like a to-do list, but for articles to be read. description: Pascal Achard, senior frontend developer. Reading. List of articles to read. --- - -## Articles +I store my readings on a Notion page Notion. You can access it here [ici](https://totoro38.notion.site/My-Reading-List-01cc6c50b8ce483fb887bbdacf47d9b6?pvs=4){target="_blank" rel="noopener"}. diff --git a/content/fr/readings.md b/content/fr/readings.md index 43c29d2..86b76b1 100644 --- a/content/fr/readings.md +++ b/content/fr/readings.md @@ -5,5 +5,4 @@ coverDescription: Base de données d’articles collectés au fil du temps. description: Pascal Achard, développeur frontend senior. Lecture. Liste d'articles à lire. --- - -## Articles +Je stocke mes lectures sur une page Notion. Vous pouvez y accéder [ici](https://totoro38.notion.site/My-Reading-List-01cc6c50b8ce483fb887bbdacf47d9b6?pvs=4){target="_blank" rel="noopener"}. diff --git a/locales/en.json b/locales/en.json index 31d97b7..0d85b95 100644 --- a/locales/en.json +++ b/locales/en.json @@ -57,7 +57,8 @@ "sortedBy": "sort by {0}", "withSearch": "matching {0}", "withStatus": "with the status {0}", - "withTags": "integrating tags {0}" + "withTags": "integrating tags {0}", + "withType": "type of {0}" }, "pageSizes": "Articles by page", "searchPlaceHolder": "Search an article", @@ -69,7 +70,14 @@ "toRead": "To read" }, "statusLabel": "Status", - "tagsPlaceHolder": "Select tags" + "tagsPlaceHolder": "Select tags", + "type": { + "all": "All", + "article": "Article", + "podcast": "Podcast", + "video": "Video" + }, + "typeLabel": "Type" }, "filtersTooRestrictive": "🤔 Filters too restrictive ?", "sort": { diff --git a/locales/fr.json b/locales/fr.json index 655ae31..3fd33db 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -57,7 +57,8 @@ "sortedBy": "triés par {0}", "withSearch": "correspondant à {0}", "withStatus": "avec le status {0}", - "withTags": "intégrant les tags {0}" + "withTags": "intégrant les tags {0}", + "withType": "de type {0}" }, "pageSizes": "Articles par page", "searchPlaceHolder": "Rechercher un article", @@ -69,7 +70,14 @@ "toRead": "À lire" }, "statusLabel": "Statut", - "tagsPlaceHolder": "Sélectionner des tags" + "tagsPlaceHolder": "Sélectionner des tags", + "type": { + "all": "Tous", + "article": "Article", + "podcast": "Podcast", + "video": "Vidéo" + }, + "typeLabel": "Type" }, "filtersTooRestrictive": "🤔 Filtres trop restrictifs ?", "sort": { diff --git a/pages/readings.vue b/pages/readings.vue index 8c53da0..83fd656 100644 --- a/pages/readings.vue +++ b/pages/readings.vue @@ -24,9 +24,10 @@ const selectedTags = ref([]); // Route query const pageSize = useRouteQuery('pageSize', DEFAULT_LIMIT, { transform: Number }); -const status = useRouteQuery('status', '', { transform: String }); +const selectedStatus = useRouteQuery('status', '', { transform: String }); +const selectedType = useRouteQuery('type', '', { transform: String }); const search = useRouteQuery('search', '', { transform: String }); -const sort = useRouteQuery('sort', 'Created time', { transform: String }); +const selectedSort = useRouteQuery('sort', 'Created time', { transform: String }); // Pinia store const databaseStore = useArticleDatabaseInfoStore(); @@ -54,8 +55,8 @@ const { error, pending, refresh } = await useAsyncData(`page-list-${route.fullPa start_cursor: cursor.value, sorts: [ { - property: sort.value.replace(/\+/g, ' '), - direction: sort.value === 'Name' ? 'ascending' : 'descending', + property: selectedSort.value.replace(/\+/g, ' '), + direction: selectedSort.value === 'Name' ? 'ascending' : 'descending', }, ], filter: { @@ -63,7 +64,13 @@ const { error, pending, refresh } = await useAsyncData(`page-list-${route.fullPa { property: 'Status', select: { - equals: status.value.replace(/\+/g, ' '), + equals: selectedStatus.value.replace(/\+/g, ' '), + }, + }, + { + property: 'Type', + select: { + equals: selectedType.value.replace(/\+/g, ' '), }, }, { @@ -93,7 +100,8 @@ const { error, pending, refresh } = await useAsyncData(`page-list-${route.fullPa function clearFilters() { cursor.value = null; - status.value = ''; + selectedStatus.value = ''; + selectedType.value = ''; search.value = ''; selectedTags.value = []; } @@ -133,7 +141,19 @@ watch( // Watch status change watch( - () => status.value, + () => selectedStatus.value, + async (newVal) => { + if (!newVal && newVal !== '') + return; + cursor.value = null; + await refresh(); + }, + { immediate: false }, +); + +// Watch type change +watch( + () => selectedType.value, async (newVal) => { if (!newVal && newVal !== '') return; @@ -169,7 +189,7 @@ watch( // Watch sort change watch( - () => sort.value, + () => selectedSort.value, async (newVal) => { if (!newVal && newVal !== '') return; @@ -210,7 +230,9 @@ watch(

- +
+ +