diff --git a/package.json b/package.json index d0f67b1f..cc81eb51 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "cy:run": "cypress run" }, "dependencies": { - "@intlify/unplugin-vue-i18n": "^4.0.0", + "@intlify/unplugin-vue-i18n": "^6.0.0", "@quasar/extras": "^1.16.15", "@vitejs/plugin-vue": "^5.2.1", "@vueuse/core": "^12.0.0", @@ -19,7 +19,7 @@ "sass-embedded": "^1.82.0", "vite-plugin-manifest-sri": "^0.2.0", "vue": "^3.5.13", - "vue-i18n": "^9.14.2", + "vue-i18n": "^10.0", "vue-router": "^4.5.0" }, "devDependencies": { @@ -36,7 +36,7 @@ "prettier": "^3.4.2", "typescript": "^5.7.2", "unplugin-auto-import": "^0.18.6", - "vite": "^5.4.11", + "vite": "^6.0.3", "vue-tsc": "^2.1.10" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c0f63e5b..28d0bd2e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,14 +9,14 @@ importers: .: dependencies: '@intlify/unplugin-vue-i18n': - specifier: ^4.0.0 - version: 4.0.0(rollup@4.28.0)(vue-i18n@9.14.2(vue@3.5.13(typescript@5.7.2))) + specifier: ^6.0.0 + version: 6.0.0(@vue/compiler-dom@3.5.13)(eslint@9.16.0)(rollup@4.28.0)(typescript@5.7.2)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) '@quasar/extras': specifier: ^1.16.15 version: 1.16.15 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)) + version: 5.2.1(vite@6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@vueuse/core': specifier: ^12.0.0 version: 12.0.0(typescript@5.7.2) @@ -39,8 +39,8 @@ importers: specifier: ^3.5.13 version: 3.5.13(typescript@5.7.2) vue-i18n: - specifier: ^9.14.2 - version: 9.14.2(vue@3.5.13(typescript@5.7.2)) + specifier: ^10.0 + version: 10.0.5(vue@3.5.13(typescript@5.7.2)) vue-router: specifier: ^4.5.0 version: 4.5.0(vue@3.5.13(typescript@5.7.2)) @@ -50,7 +50,7 @@ importers: version: 3.11.2(@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint@9.16.0)(typescript@5.7.2) '@quasar/vite-plugin': specifier: ^1.8.1 - version: 1.8.1(@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.4)(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)) + version: 1.8.1(@vitejs/plugin-vue@5.2.1(vite@6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.4)(vite@6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@types/node': specifier: ^22.10.1 version: 22.10.1 @@ -71,7 +71,7 @@ importers: version: 15.13.0 laravel-vite-plugin: specifier: ^1.1.1 - version: 1.1.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)) + version: 1.1.1(vite@6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1)) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -85,8 +85,8 @@ importers: specifier: ^0.18.6 version: 0.18.6(@vueuse/core@12.0.0(typescript@5.7.2))(rollup@4.28.0) vite: - specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3) + specifier: ^6.0.3 + version: 6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1) vue-tsc: specifier: ^2.1.10 version: 2.1.10(typescript@5.7.2) @@ -194,141 +194,147 @@ packages: resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} engines: {node: '>=16'} - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.24.0': + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} + '@esbuild/android-arm64@0.24.0': + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} + '@esbuild/android-arm@0.24.0': + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} + '@esbuild/android-x64@0.24.0': + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} + '@esbuild/darwin-arm64@0.24.0': + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} + '@esbuild/darwin-x64@0.24.0': + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} + '@esbuild/freebsd-arm64@0.24.0': + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} + '@esbuild/freebsd-x64@0.24.0': + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} + '@esbuild/linux-arm64@0.24.0': + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} + '@esbuild/linux-arm@0.24.0': + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} + '@esbuild/linux-ia32@0.24.0': + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} + '@esbuild/linux-loong64@0.24.0': + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.24.0': + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} + '@esbuild/linux-ppc64@0.24.0': + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} + '@esbuild/linux-riscv64@0.24.0': + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} + '@esbuild/linux-s390x@0.24.0': + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} + '@esbuild/linux-x64@0.24.0': + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} + '@esbuild/netbsd-x64@0.24.0': + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} + '@esbuild/openbsd-arm64@0.24.0': + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.0': + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} + '@esbuild/sunos-x64@0.24.0': + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} + '@esbuild/win32-arm64@0.24.0': + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} + '@esbuild/win32-ia32@0.24.0': + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.24.0': + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -405,9 +411,9 @@ packages: resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} engines: {node: '>=18.18'} - '@intlify/bundle-utils@8.0.0': - resolution: {integrity: sha512-1B++zykRnMwQ+20SpsZI1JCnV/YJt9Oq7AGlEurzkWJOFtFAVqaGc/oV36PBRYeiKnTbY9VYfjBimr2Vt42wLQ==} - engines: {node: '>= 14.16'} + '@intlify/bundle-utils@10.0.0': + resolution: {integrity: sha512-BR5yLOkF2dzrARTbAg7RGAIPcx9Aark7p1K/0O285F7rfzso9j2dsa+S4dA67clZ0rToZ10NSSTfbyUptVu7Bg==} + engines: {node: '>= 18'} peerDependencies: petite-vue-i18n: '*' vue-i18n: '*' @@ -417,31 +423,55 @@ packages: vue-i18n: optional: true - '@intlify/core-base@9.14.2': - resolution: {integrity: sha512-DZyQ4Hk22sC81MP4qiCDuU+LdaYW91A6lCjq8AWPvY3+mGMzhGDfOCzvyR6YBQxtlPjFqMoFk9ylnNYRAQwXtQ==} + '@intlify/core-base@10.0.5': + resolution: {integrity: sha512-F3snDTQs0MdvnnyzTDTVkOYVAZOE/MHwRvF7mn7Jw1yuih4NrFYLNYIymGlLmq4HU2iIdzYsZ7f47bOcwY73XQ==} + engines: {node: '>= 16'} + + '@intlify/message-compiler@10.0.5': + resolution: {integrity: sha512-6GT1BJ852gZ0gItNZN2krX5QAmea+cmdjMvsWohArAZ3GmHdnNANEcF9JjPXAMRtQ6Ux5E269ymamg/+WU6tQA==} engines: {node: '>= 16'} - '@intlify/message-compiler@9.14.2': - resolution: {integrity: sha512-YsKKuV4Qv4wrLNsvgWbTf0E40uRv+Qiw1BeLQ0LAxifQuhiMe+hfTIzOMdWj/ZpnTDj4RSZtkXjJM7JDiiB5LQ==} + '@intlify/message-compiler@11.0.0-beta.2': + resolution: {integrity: sha512-/cJHP1n45Zlf9tbm/hudLrUwXzJZngR9OMTQk32H1S4lBjM2996wzKTHuLbaJJlJZNTTjnfWZUHPb+F6sE6p1Q==} engines: {node: '>= 16'} - '@intlify/shared@9.14.2': - resolution: {integrity: sha512-uRAHAxYPeF+G5DBIboKpPgC/Waecd4Jz8ihtkpJQD5ycb5PwXp0k/+hBGl5dAjwF7w+l74kz/PKA8r8OK//RUw==} + '@intlify/shared@10.0.5': + resolution: {integrity: sha512-bmsP4L2HqBF6i6uaMqJMcFBONVjKt+siGluRq4Ca4C0q7W2eMaVZr8iCgF9dKbcVXutftkC7D6z2SaSMmLiDyA==} engines: {node: '>= 16'} - '@intlify/unplugin-vue-i18n@4.0.0': - resolution: {integrity: sha512-q2Mhqa/mLi0tulfLFO4fMXXvEbkSZpI5yGhNNsLTNJJ41icEGUuyDe+j5zRZIKSkOJRgX6YbCyibTDJdRsukmw==} - engines: {node: '>= 14.16'} + '@intlify/shared@11.0.0-beta.2': + resolution: {integrity: sha512-N6ngJfFaVA0l2iLtx/SymgHOBW4wiS5Pyue7YmY/G+mrGjesi+S+U+u/Xlv6pZa/YIBfeM4QB07lI7rz1YqKLg==} + engines: {node: '>= 16'} + + '@intlify/unplugin-vue-i18n@6.0.0': + resolution: {integrity: sha512-PhFdVR0YggJcvbFrfXTKRv5S6/DPy7FPBtepVIloDpOvco5FHJYKHyaPXqMMWhN1o8MiD2KnSwS2222zWAQs+A==} + engines: {node: '>= 18'} peerDependencies: petite-vue-i18n: '*' + vue: ^3.2.25 vue-i18n: '*' - vue-i18n-bridge: '*' peerDependenciesMeta: petite-vue-i18n: optional: true vue-i18n: optional: true - vue-i18n-bridge: + + '@intlify/vue-i18n-extensions@7.0.0': + resolution: {integrity: sha512-MtvfJnb4aklpCU5Q/dkWkBT/vGsp3qERiPIwtTq5lX4PCLHtUprAJZp8wQj5ZcwDaFCU7+yVMjYbeXpIf927cA==} + engines: {node: '>= 18'} + peerDependencies: + '@intlify/shared': ^9.0.0 || ^10.0.0 + '@vue/compiler-dom': ^3.0.0 + vue: ^3.0.0 + vue-i18n: ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + '@intlify/shared': + optional: true + '@vue/compiler-dom': + optional: true + vue: + optional: true + vue-i18n: optional: true '@jridgewell/sourcemap-codec@1.5.0': @@ -1186,9 +1216,9 @@ packages: es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} + esbuild@0.24.0: + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + engines: {node: '>=18'} hasBin: true escalade@3.2.0: @@ -2676,22 +2706,27 @@ packages: vite-plugin-manifest-sri@0.2.0: resolution: {integrity: sha512-Zt5jt19xTIJ91LOuQTCtNG7rTFc5OziAjBz2H5NdCGqaOD1nxrWExLhcKW+W4/q8/jOPCg/n5ncYEQmqCxiGQQ==} - vite@5.4.11: - resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} - engines: {node: ^18.0.0 || >=20.0.0} + vite@6.0.3: + resolution: {integrity: sha512-Cmuo5P0ENTN6HxLSo6IHsjCLn/81Vgrp81oaiFFMRa8gGDj5xEjIcEpf2ZymZtZR8oU0P2JX5WuUp/rlXcHkAw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' less: '*' lightningcss: ^1.21.0 sass: '*' sass-embedded: '*' stylus: '*' sugarss: '*' - terser: ^5.4.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: '@types/node': optional: true + jiti: + optional: true less: optional: true lightningcss: @@ -2706,6 +2741,10 @@ packages: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} @@ -2727,8 +2766,8 @@ packages: peerDependencies: eslint: '>=6.0.0' - vue-i18n@9.14.2: - resolution: {integrity: sha512-JK9Pm80OqssGJU2Y6F7DcM8RFHqVG4WkuCqOZTVsXkEzZME7ABejAUqUdA931zEBedc4thBgSUWxeQh4uocJAQ==} + vue-i18n@10.0.5: + resolution: {integrity: sha512-9/gmDlCblz3i8ypu/afiIc/SUIfTTE1mr0mZhb9pk70xo2csHAM9mp2gdQ3KD2O0AM3Hz/5ypb+FycTj/lHlPQ==} engines: {node: '>= 16'} peerDependencies: vue: ^3.0.0 @@ -2940,73 +2979,76 @@ snapshots: esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 - '@esbuild/aix-ppc64@0.21.5': + '@esbuild/aix-ppc64@0.24.0': + optional: true + + '@esbuild/android-arm64@0.24.0': optional: true - '@esbuild/android-arm64@0.21.5': + '@esbuild/android-arm@0.24.0': optional: true - '@esbuild/android-arm@0.21.5': + '@esbuild/android-x64@0.24.0': optional: true - '@esbuild/android-x64@0.21.5': + '@esbuild/darwin-arm64@0.24.0': optional: true - '@esbuild/darwin-arm64@0.21.5': + '@esbuild/darwin-x64@0.24.0': optional: true - '@esbuild/darwin-x64@0.21.5': + '@esbuild/freebsd-arm64@0.24.0': optional: true - '@esbuild/freebsd-arm64@0.21.5': + '@esbuild/freebsd-x64@0.24.0': optional: true - '@esbuild/freebsd-x64@0.21.5': + '@esbuild/linux-arm64@0.24.0': optional: true - '@esbuild/linux-arm64@0.21.5': + '@esbuild/linux-arm@0.24.0': optional: true - '@esbuild/linux-arm@0.21.5': + '@esbuild/linux-ia32@0.24.0': optional: true - '@esbuild/linux-ia32@0.21.5': + '@esbuild/linux-loong64@0.24.0': optional: true - '@esbuild/linux-loong64@0.21.5': + '@esbuild/linux-mips64el@0.24.0': optional: true - '@esbuild/linux-mips64el@0.21.5': + '@esbuild/linux-ppc64@0.24.0': optional: true - '@esbuild/linux-ppc64@0.21.5': + '@esbuild/linux-riscv64@0.24.0': optional: true - '@esbuild/linux-riscv64@0.21.5': + '@esbuild/linux-s390x@0.24.0': optional: true - '@esbuild/linux-s390x@0.21.5': + '@esbuild/linux-x64@0.24.0': optional: true - '@esbuild/linux-x64@0.21.5': + '@esbuild/netbsd-x64@0.24.0': optional: true - '@esbuild/netbsd-x64@0.21.5': + '@esbuild/openbsd-arm64@0.24.0': optional: true - '@esbuild/openbsd-x64@0.21.5': + '@esbuild/openbsd-x64@0.24.0': optional: true - '@esbuild/sunos-x64@0.21.5': + '@esbuild/sunos-x64@0.24.0': optional: true - '@esbuild/win32-arm64@0.21.5': + '@esbuild/win32-arm64@0.24.0': optional: true - '@esbuild/win32-ia32@0.21.5': + '@esbuild/win32-ia32@0.24.0': optional: true - '@esbuild/win32-x64@0.21.5': + '@esbuild/win32-x64@0.24.0': optional: true '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.16.0)': @@ -3082,10 +3124,10 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} - '@intlify/bundle-utils@8.0.0(vue-i18n@9.14.2(vue@3.5.13(typescript@5.7.2)))': + '@intlify/bundle-utils@10.0.0(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.2)))': dependencies: - '@intlify/message-compiler': 9.14.2 - '@intlify/shared': 9.14.2 + '@intlify/message-compiler': 11.0.0-beta.2 + '@intlify/shared': 11.0.0-beta.2 acorn: 8.14.0 escodegen: 2.1.0 estree-walker: 2.0.2 @@ -3094,26 +3136,36 @@ snapshots: source-map-js: 1.2.1 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 9.14.2(vue@3.5.13(typescript@5.7.2)) + vue-i18n: 10.0.5(vue@3.5.13(typescript@5.7.2)) - '@intlify/core-base@9.14.2': + '@intlify/core-base@10.0.5': dependencies: - '@intlify/message-compiler': 9.14.2 - '@intlify/shared': 9.14.2 + '@intlify/message-compiler': 10.0.5 + '@intlify/shared': 10.0.5 - '@intlify/message-compiler@9.14.2': + '@intlify/message-compiler@10.0.5': dependencies: - '@intlify/shared': 9.14.2 + '@intlify/shared': 10.0.5 source-map-js: 1.2.1 - '@intlify/shared@9.14.2': {} + '@intlify/message-compiler@11.0.0-beta.2': + dependencies: + '@intlify/shared': 11.0.0-beta.2 + source-map-js: 1.2.1 + + '@intlify/shared@10.0.5': {} - '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.28.0)(vue-i18n@9.14.2(vue@3.5.13(typescript@5.7.2)))': + '@intlify/shared@11.0.0-beta.2': {} + + '@intlify/unplugin-vue-i18n@6.0.0(@vue/compiler-dom@3.5.13)(eslint@9.16.0)(rollup@4.28.0)(typescript@5.7.2)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))': dependencies: - '@intlify/bundle-utils': 8.0.0(vue-i18n@9.14.2(vue@3.5.13(typescript@5.7.2))) - '@intlify/shared': 9.14.2 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) + '@intlify/bundle-utils': 10.0.0(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.2))) + '@intlify/shared': 10.0.5 + '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.5)(@vue/compiler-dom@3.5.13)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) '@rollup/pluginutils': 5.1.3(rollup@4.28.0) - '@vue/compiler-sfc': 3.5.13 + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) debug: 4.3.7(supports-color@8.1.1) fast-glob: 3.3.2 js-yaml: 4.1.0 @@ -3122,11 +3174,24 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 unplugin: 1.16.0 + vue: 3.5.13(typescript@5.7.2) optionalDependencies: - vue-i18n: 9.14.2(vue@3.5.13(typescript@5.7.2)) + vue-i18n: 10.0.5(vue@3.5.13(typescript@5.7.2)) transitivePeerDependencies: + - '@vue/compiler-dom' + - eslint - rollup - supports-color + - typescript + + '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.5)(@vue/compiler-dom@3.5.13)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@babel/parser': 7.26.3 + optionalDependencies: + '@intlify/shared': 10.0.5 + '@vue/compiler-dom': 3.5.13 + vue: 3.5.13(typescript@5.7.2) + vue-i18n: 10.0.5(vue@3.5.13(typescript@5.7.2)) '@jridgewell/sourcemap-codec@1.5.0': {} @@ -3207,11 +3272,11 @@ snapshots: '@quasar/extras@1.16.15': {} - '@quasar/vite-plugin@1.8.1(@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.4)(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2))': + '@quasar/vite-plugin@1.8.1(@vitejs/plugin-vue@5.2.1(vite@6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.4)(vite@6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': dependencies: - '@vitejs/plugin-vue': 5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)) + '@vitejs/plugin-vue': 5.2.1(vite@6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) quasar: 2.17.4 - vite: 5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3) + vite: 6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1) vue: 3.5.13(typescript@5.7.2) '@rollup/pluginutils@5.1.3(rollup@4.28.0)': @@ -3406,9 +3471,9 @@ snapshots: '@typescript-eslint/types': 8.17.0 eslint-visitor-keys: 4.2.0 - '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2))': + '@vitejs/plugin-vue@5.2.1(vite@6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': dependencies: - vite: 5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3) + vite: 6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1) vue: 3.5.13(typescript@5.7.2) '@vitest/eslint-plugin@1.1.14(@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': @@ -3865,31 +3930,32 @@ snapshots: es-module-lexer@1.5.4: {} - esbuild@0.21.5: + esbuild@0.24.0: optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 + '@esbuild/aix-ppc64': 0.24.0 + '@esbuild/android-arm': 0.24.0 + '@esbuild/android-arm64': 0.24.0 + '@esbuild/android-x64': 0.24.0 + '@esbuild/darwin-arm64': 0.24.0 + '@esbuild/darwin-x64': 0.24.0 + '@esbuild/freebsd-arm64': 0.24.0 + '@esbuild/freebsd-x64': 0.24.0 + '@esbuild/linux-arm': 0.24.0 + '@esbuild/linux-arm64': 0.24.0 + '@esbuild/linux-ia32': 0.24.0 + '@esbuild/linux-loong64': 0.24.0 + '@esbuild/linux-mips64el': 0.24.0 + '@esbuild/linux-ppc64': 0.24.0 + '@esbuild/linux-riscv64': 0.24.0 + '@esbuild/linux-s390x': 0.24.0 + '@esbuild/linux-x64': 0.24.0 + '@esbuild/netbsd-x64': 0.24.0 + '@esbuild/openbsd-arm64': 0.24.0 + '@esbuild/openbsd-x64': 0.24.0 + '@esbuild/sunos-x64': 0.24.0 + '@esbuild/win32-arm64': 0.24.0 + '@esbuild/win32-ia32': 0.24.0 + '@esbuild/win32-x64': 0.24.0 escalade@3.2.0: {} @@ -4504,10 +4570,10 @@ snapshots: dependencies: json-buffer: 3.0.1 - laravel-vite-plugin@1.1.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)): + laravel-vite-plugin@1.1.1(vite@6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1)): dependencies: picocolors: 1.1.1 - vite: 5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3) + vite: 6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1) vite-plugin-full-reload: 1.2.0 lazy-ass@1.6.0: {} @@ -5565,9 +5631,9 @@ snapshots: vite-plugin-manifest-sri@0.2.0: {} - vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3): + vite@6.0.3(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)(yaml@2.6.1): dependencies: - esbuild: 0.21.5 + esbuild: 0.24.0 postcss: 8.4.49 rollup: 4.28.0 optionalDependencies: @@ -5575,6 +5641,7 @@ snapshots: fsevents: 2.3.3 sass: 1.80.3 sass-embedded: 1.82.0 + yaml: 2.6.1 vscode-uri@3.0.8: {} @@ -5595,10 +5662,10 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@9.14.2(vue@3.5.13(typescript@5.7.2)): + vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.2)): dependencies: - '@intlify/core-base': 9.14.2 - '@intlify/shared': 9.14.2 + '@intlify/core-base': 10.0.5 + '@intlify/shared': 10.0.5 '@vue/devtools-api': 6.6.4 vue: 3.5.13(typescript@5.7.2) diff --git a/resources/src/locales/en.json b/resources/src/locales/en.json index bdbafc02..3c8e287c 100644 --- a/resources/src/locales/en.json +++ b/resources/src/locales/en.json @@ -276,7 +276,10 @@ "cant-download": "You are not authorized to download this file.", "publication-previous-version": "This is a previous version of the publication", "unauthenticated-orcid-id": "Unauthenticated ORCID iD", - "authors": "Authors" + "authors": "Authors", + "upload-a-new-version-of-the-publication": "Upload a new version of the publication", + "upload-the-publication": "Upload the publication", + "from": "from" }, "create-author-dialog": { "title": "Create a new author" diff --git a/resources/src/locales/fr.json b/resources/src/locales/fr.json index 8c14e359..2cb09fc4 100644 --- a/resources/src/locales/fr.json +++ b/resources/src/locales/fr.json @@ -276,7 +276,10 @@ "cant-download": "Vous n'êtes pas autorisé à télécharger ce fichier.", "publication-previous-version": "Ceci est une version précédente de la publication", "unauthenticated-orcid-id": "ORCID iD Non authentifié", - "authors": "Auteurs" + "authors": "Auteurs", + "upload-a-new-version-of-the-publication": "Télécharger une nouvelle version de la publication", + "upload-the-publication": "Téléchargez la publication", + "from": "de" }, "create-author-dialog": { "title": "Créer un nouvel auteur" diff --git a/resources/src/models/Author/views/AuthorsView.vue b/resources/src/models/Author/views/AuthorsView.vue index 8b57cda4..b6eb6244 100644 --- a/resources/src/models/Author/views/AuthorsView.vue +++ b/resources/src/models/Author/views/AuthorsView.vue @@ -19,9 +19,11 @@ const currentPage = ref(1) const search = ref(null) const showFilters = ref(false) const organizationId = ref(null) +const organizationSelect = ref | null>(null) // i18n const { t } = useI18n() +const localeStore = useLocaleStore() // Main filter options const mainFilterOptions = computed(() => { @@ -76,6 +78,11 @@ const mainFilter = computed(() => { const filterCaption = computed(() => { let caption = '' + if (organizationId.value) { + const { name_en, name_fr } = organizationSelect?.value?.selectedOrganization?.data || {} + const name = localeStore.isFr() ? name_fr : name_en + caption += `${t('common.from')} ${name || name_en || 'NA'}` + } if (caption.length > 0) caption = `${t('common.authors')} ${caption.slice(0, -1)}` else caption = t('common.no-filters-applied') @@ -210,6 +217,7 @@ interface MainFilterOption { > props.modelValue, (value) => { if (value === null) { selectedOrganization.value = null diff --git a/resources/src/models/Publication/components/PublicationFileManagementCard.vue b/resources/src/models/Publication/components/PublicationFileManagementCard.vue index 3c1b5bae..340da40a 100644 --- a/resources/src/models/Publication/components/PublicationFileManagementCard.vue +++ b/resources/src/models/Publication/components/PublicationFileManagementCard.vue @@ -132,8 +132,8 @@ watch(publicationFile, () => { use-chips :label=" publicationResourceList?.data - ? 'Upload a new version of the publication' - : 'Upload the publication' + ? t('common.upload-a-new-version-of-the-publication') + : t('common.upload-the-publication') " :hint="t('mrf.upload-hint', { max: maxFileSizeMB })" accept="application/pdf" diff --git a/resources/src/models/Publication/views/PublicationsView.vue b/resources/src/models/Publication/views/PublicationsView.vue index a0a95a50..4ee1c7c7 100644 --- a/resources/src/models/Publication/views/PublicationsView.vue +++ b/resources/src/models/Publication/views/PublicationsView.vue @@ -83,11 +83,11 @@ const filterCaption = computed(() => { let caption = '' if (journalId.value) { const { title } = journalSelect?.value?.selectedJournal?.data || {} - caption += `${t('common.in')} ${title} ` + caption += `${t('common.in')} ${title || 'NA'} ` } if (authorId.value) { const { first_name, last_name } = authorSelect?.value?.selectedAuthor?.data || {} - caption += `${t('common.by')} ${first_name} ${last_name} ` + caption += `${t('common.by')} ${first_name || 'NA'} ${last_name || 'NA'} ` } if (caption.length > 0) caption = `${t('common.publications')} ${caption.slice(0, -1)}` diff --git a/resources/src/stores/LocaleStore.ts b/resources/src/stores/LocaleStore.ts index 3cfb8e00..f8213632 100644 --- a/resources/src/stores/LocaleStore.ts +++ b/resources/src/stores/LocaleStore.ts @@ -1,6 +1,6 @@ import { i18n } from '@/plugins/i18n' // locale store is used to store the current locale -import { Lang } from 'quasar' +import { useQuasar } from 'quasar' export type Locale = 'en' | 'fr' @@ -13,9 +13,15 @@ export const useLocaleStore = defineStore('LocaleStore', () => { '../../../node_modules/quasar/lang/(fr|en-US).js', ) + const $q = useQuasar() // sync initial states i18n, quasar and persistent locale setQuasarLocale() + // what is the other locale? + const otherLocale = computed(() => { + return locale.value === 'en' ? 'fr' : 'en' + }) + function toggleLocale() { locale.value = otherLocale.value persistentLocale.value = locale.value @@ -24,20 +30,20 @@ export const useLocaleStore = defineStore('LocaleStore', () => { function setQuasarLocale() { const l = locale.value === 'fr' ? 'fr' : 'en-US' - langs[`../../../node_modules/quasar/lang/${l}.js`]().then((lang) => { - Lang.set(lang.default) + langs[`../../../node_modules/quasar/lang/${l}.js`]().then((lang: any) => { + $q.lang.set(lang.default) }) } - // what is the other locale? - const otherLocale = computed(() => { - return locale.value === 'en' ? 'fr' : 'en' - }) + function isFr(): boolean { + return locale.value === 'fr' + } return { toggleLocale, otherLocale, locale, + isFr, persistentLocale, } })