diff --git a/package.json b/package.json index 1c773c12..bf360b46 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "TeyvatGuide", - "version": "0.4.9", + "version": "0.5.0", "description": "Game Tool for Genshin Impact player", "private": true, "type": "module", @@ -67,14 +67,14 @@ "dependencies": { "@mdi/font": "7.4.47", "@tauri-apps/api": "2.0.0-beta.14", - "@tauri-apps/plugin-deep-link": "2.0.0-beta.7", - "@tauri-apps/plugin-dialog": "2.0.0-beta.5", - "@tauri-apps/plugin-fs": "2.0.0-beta.5", - "@tauri-apps/plugin-http": "2.0.0-beta.6", + "@tauri-apps/plugin-deep-link": "2.0.0-beta.8", + "@tauri-apps/plugin-dialog": "2.0.0-beta.6", + "@tauri-apps/plugin-fs": "2.0.0-beta.6", + "@tauri-apps/plugin-http": "2.0.0-beta.7", "@tauri-apps/plugin-log": "2.0.0-beta.7", "@tauri-apps/plugin-os": "2.0.0-beta.6", "@tauri-apps/plugin-process": "2.0.0-beta.6", - "@tauri-apps/plugin-shell": "2.0.0-beta.6", + "@tauri-apps/plugin-shell": "2.0.0-beta.7", "@tauri-apps/plugin-sql": "2.0.0-beta.6", "ajv": "^8.16.0", "artplayer": "^5.1.6", @@ -91,7 +91,7 @@ "vue-echarts": "^6.7.3", "vue-json-viewer": "^3.0.4", "vue-router": "^4.4.0", - "vuetify": "^3.6.10", + "vuetify": "^3.6.11", "wcag-color": "^1.1.1", "xml-js": "^1.6.11" }, @@ -101,7 +101,7 @@ "@tauri-apps/cli": "2.0.0-beta.21", "@types/color-convert": "^2.0.3", "@types/js-md5": "^0.7.2", - "@types/node": "^20.14.9", + "@types/node": "^20.14.10", "@types/uuid": "^10.0.0", "@typescript-eslint/parser": "^7.15.0", "@vitejs/plugin-vue": "^5.0.5", @@ -116,11 +116,11 @@ "eslint-plugin-promise": "^6.4.0", "eslint-plugin-vue": "^9.27.0", "eslint-plugin-yml": "^1.14.0", - "globals": "^15.7.0", + "globals": "^15.8.0", "husky": "^9.0.11", "jsonc-eslint-parser": "^2.4.0", "lint-staged": "^15.2.7", - "oxlint": "^0.5.1", + "oxlint": "^0.5.2", "prettier": "3.3.2", "stylelint": "^16.6.1", "stylelint-config-idiomatic-order": "^10.0.0", @@ -131,7 +131,7 @@ "stylelint-prettier": "^5.0.0", "typescript": "^5.5.3", "typescript-eslint": "^7.15.0", - "vite": "^5.3.2", + "vite": "^5.3.3", "vite-plugin-vue-devtools": "^7.3.5", "vite-plugin-vuetify": "^2.0.3", "vue-eslint-parser": "^9.4.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2617377c..682c6ce1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,17 +15,17 @@ importers: specifier: 2.0.0-beta.14 version: 2.0.0-beta.14 '@tauri-apps/plugin-deep-link': - specifier: 2.0.0-beta.7 - version: 2.0.0-beta.7 + specifier: 2.0.0-beta.8 + version: 2.0.0-beta.8 '@tauri-apps/plugin-dialog': - specifier: 2.0.0-beta.5 - version: 2.0.0-beta.5 - '@tauri-apps/plugin-fs': - specifier: 2.0.0-beta.5 - version: 2.0.0-beta.5 - '@tauri-apps/plugin-http': specifier: 2.0.0-beta.6 version: 2.0.0-beta.6 + '@tauri-apps/plugin-fs': + specifier: 2.0.0-beta.6 + version: 2.0.0-beta.6 + '@tauri-apps/plugin-http': + specifier: 2.0.0-beta.7 + version: 2.0.0-beta.7 '@tauri-apps/plugin-log': specifier: 2.0.0-beta.7 version: 2.0.0-beta.7 @@ -36,8 +36,8 @@ importers: specifier: 2.0.0-beta.6 version: 2.0.0-beta.6 '@tauri-apps/plugin-shell': - specifier: 2.0.0-beta.6 - version: 2.0.0-beta.6 + specifier: 2.0.0-beta.7 + version: 2.0.0-beta.7 '@tauri-apps/plugin-sql': specifier: 2.0.0-beta.6 version: 2.0.0-beta.6 @@ -87,8 +87,8 @@ importers: specifier: ^4.4.0 version: 4.4.0(vue@3.4.31(typescript@5.5.3)) vuetify: - specifier: ^3.6.10 - version: 3.6.10(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3)) + specifier: ^3.6.11 + version: 3.6.11(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3)) wcag-color: specifier: ^1.1.1 version: 1.1.1 @@ -112,8 +112,8 @@ importers: specifier: ^0.7.2 version: 0.7.2 '@types/node': - specifier: ^20.14.9 - version: 20.14.9 + specifier: ^20.14.10 + version: 20.14.10 '@types/uuid': specifier: ^10.0.0 version: 10.0.0 @@ -122,7 +122,7 @@ importers: version: 7.15.0(eslint@9.6.0)(typescript@5.5.3) '@vitejs/plugin-vue': specifier: ^5.0.5 - version: 5.0.5(vite@5.3.2(@types/node@20.14.9))(vue@3.4.31(typescript@5.5.3)) + version: 5.0.5(vite@5.3.3(@types/node@20.14.10))(vue@3.4.31(typescript@5.5.3)) concurrently: specifier: ^8.2.2 version: 8.2.2 @@ -157,8 +157,8 @@ importers: specifier: ^1.14.0 version: 1.14.0(eslint@9.6.0) globals: - specifier: ^15.7.0 - version: 15.7.0 + specifier: ^15.8.0 + version: 15.8.0 husky: specifier: ^9.0.11 version: 9.0.11 @@ -169,8 +169,8 @@ importers: specifier: ^15.2.7 version: 15.2.7 oxlint: - specifier: ^0.5.1 - version: 0.5.1 + specifier: ^0.5.2 + version: 0.5.2 prettier: specifier: 3.3.2 version: 3.3.2 @@ -202,14 +202,14 @@ importers: specifier: ^7.15.0 version: 7.15.0(eslint@9.6.0)(typescript@5.5.3) vite: - specifier: ^5.3.2 - version: 5.3.2(@types/node@20.14.9) + specifier: ^5.3.3 + version: 5.3.3(@types/node@20.14.10) vite-plugin-vue-devtools: specifier: ^7.3.5 - version: 7.3.5(rollup@4.14.3)(vite@5.3.2(@types/node@20.14.9))(vue@3.4.31(typescript@5.5.3)) + version: 7.3.5(rollup@4.14.3)(vite@5.3.3(@types/node@20.14.10))(vue@3.4.31(typescript@5.5.3)) vite-plugin-vuetify: specifier: ^2.0.3 - version: 2.0.3(vite@5.3.2(@types/node@20.14.9))(vue@3.4.31(typescript@5.5.3))(vuetify@3.6.10) + version: 2.0.3(vite@5.3.3(@types/node@20.14.10))(vue@3.4.31(typescript@5.5.3))(vuetify@3.6.11) vue-eslint-parser: specifier: ^9.4.3 version: 9.4.3(eslint@9.6.0) @@ -629,47 +629,47 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxlint/darwin-arm64@0.5.1': - resolution: {integrity: sha512-GMOD0CjP5W8pd/8cknUaC3Saq+46vCQKo5Xi8jLu/ZAa6kFxp9dtunqS5Dcx1DbbY4mVKjocirGE10P5MTdphA==} + '@oxlint/darwin-arm64@0.5.2': + resolution: {integrity: sha512-NVUH1ZQYP1opS7LPd8xzmha9HrEDu+TpGSxM+dq9SS34FrsaYUEE4gue2OKo8Pgplu/oTKT7mUdTR4YDDBu5xA==} cpu: [arm64] os: [darwin] - '@oxlint/darwin-x64@0.5.1': - resolution: {integrity: sha512-oSa96N6QLaUEZ3MaI1nU8y+qhDJ6kMr0OymukxpRpNaVbONkcs/GapDCDM9NitfZbrChQG9EkMC8eRUu3T1Mtg==} + '@oxlint/darwin-x64@0.5.2': + resolution: {integrity: sha512-jtaKcGhFC4frGzKVN2ieGQ0h960C1E1jQrTjMjNAvGfjRUpO9nDpNMD9BpsAbC0/GULEirtIg+5pW7G8gDQPTQ==} cpu: [x64] os: [darwin] - '@oxlint/linux-arm64-gnu@0.5.1': - resolution: {integrity: sha512-eUZ9yybIcQe7jpN0BQmixF4m820FdN1iDRJzJEVtNejRXWcVKWNffYW4u2Sb0nvIeVVXeKc8BnVPdz0rxDpVVQ==} + '@oxlint/linux-arm64-gnu@0.5.2': + resolution: {integrity: sha512-B1HPicpi37lXBdSJOenSjI2sf4C/75iP+AcRHI8GPlrimm/RFvcMdV5F5k5KIVf+v7fKFiWXA/LY3SkjLkbmxw==} cpu: [arm64] os: [linux] libc: [glibc] - '@oxlint/linux-arm64-musl@0.5.1': - resolution: {integrity: sha512-XsQJ5XL3XckuJeQ/zJQy84NXYpO44XKwQXH70Ovk073c8jIa+ATpxz5Q1SLe92MFGlqt6zzejG4T3iePg09dAw==} + '@oxlint/linux-arm64-musl@0.5.2': + resolution: {integrity: sha512-8JAWyrIJd5iSnikuCrHrvLpsJoFSeqhWGz3OIb2Xp0eLOT48G5oek/yASCd0IHTOL/fGUexarTqNG8tcX/qesg==} cpu: [arm64] os: [linux] libc: [musl] - '@oxlint/linux-x64-gnu@0.5.1': - resolution: {integrity: sha512-7ndq8fl56prdhVkHv4hZnpj8B2oZfXcuQRC5jJgy2ggs3btP1Q7+Hl4kP1E4WmAnUT4U9itQt+7TaeC86UkGTQ==} + '@oxlint/linux-x64-gnu@0.5.2': + resolution: {integrity: sha512-qBcEN1evZxF9SQi7DegeIcnHhv88v73y2nkm9dqZ3wIflusvV5nxFkLAfh3df5K38mKo1/FxSnOvxN7E6aFjdg==} cpu: [x64] os: [linux] libc: [glibc] - '@oxlint/linux-x64-musl@0.5.1': - resolution: {integrity: sha512-Cejhkd+pucRduqOkkbK6jsZCijA3XbRzcq9TECYb2qulbeb/1flXdjBtDENKC0imh1LK4IAyndMAxapP0Q9rAw==} + '@oxlint/linux-x64-musl@0.5.2': + resolution: {integrity: sha512-6DOkaRkKx6ix9hliWG51cZvXSjwlDWhOPDibJJOg0nIpxpUbtAnEEVBwK3CoGrgRsuWH7wgu/kf1gkSyyePSVQ==} cpu: [x64] os: [linux] libc: [musl] - '@oxlint/win32-arm64@0.5.1': - resolution: {integrity: sha512-XcoT9P60SIteonev8EzAeQoQbwu2phFr7auEg8OFONQfnic+W1qgbmqgIq5Epfva5U6u+RHu4tZUAVaocRBicg==} + '@oxlint/win32-arm64@0.5.2': + resolution: {integrity: sha512-XBl1QQ+db0fVb/KnGLmjM6r2S3xkI770Z/u5jIvQxxj8M6FFdHdJozf55FnCRGap3H3kMpB56SVEAexB7Z29wA==} cpu: [arm64] os: [win32] - '@oxlint/win32-x64@0.5.1': - resolution: {integrity: sha512-hC/SLlPbT3WclDCJbgzS8oqcKZZPXx3gj5BiMsTK7xdePDYZ5vylEoh5nBiRtVt3m3vY3uC3fAaQEPOi4wk8TA==} + '@oxlint/win32-x64@0.5.2': + resolution: {integrity: sha512-qP7JL8d7y7W91BpgyA8J3BmIGBl7E2rfZH4e7PX9hJ2o+W3pHBRpPxoFFqLx+zBMMkSHdv2h2FLVfvObbI58kQ==} cpu: [x64] os: [win32] @@ -776,10 +776,6 @@ packages: cpu: [x64] os: [win32] - '@tauri-apps/api@2.0.0-beta.13': - resolution: {integrity: sha512-Np1opKANzRMF3lgJ9gDquBCB9SxlE2lRmNpVx1+L6RyzAmigkuh0ZulT5jMnDA3JLsuSDU135r/s4t/Pmx4atg==} - engines: {node: '>= 18', npm: '>= 6.6.0', yarn: '>= 1.19.1'} - '@tauri-apps/api@2.0.0-beta.14': resolution: {integrity: sha512-YLYgHqdwWswr4Y70+hRzaLD6kLIUgHhE3shLXNquPiTaQ9+cX3Q2dB0AFfqsua6NXYFNe7LfkmMzaqEzqv3yQg==} engines: {node: '>= 18.18', npm: '>= 6.6.0', yarn: '>= 1.19.1'} @@ -853,17 +849,17 @@ packages: engines: {node: '>= 10'} hasBin: true - '@tauri-apps/plugin-deep-link@2.0.0-beta.7': - resolution: {integrity: sha512-YY2DHcH9H43u4t3c2fba5sUYf6oY4dqrM2s2Dr/NuuvyO7s9OYWtOSiU7pZMIZPx/QM9naOWer5hZigXFRJfaA==} + '@tauri-apps/plugin-deep-link@2.0.0-beta.8': + resolution: {integrity: sha512-lFpMaz2pmbz6YbMEWaokR7nQ3UMgYjIqzFt+EWDdFJsM5hTnLf72/4hK++WHgXepXhZbPWcm5PLL6BtibXebyA==} - '@tauri-apps/plugin-dialog@2.0.0-beta.5': - resolution: {integrity: sha512-jkaBCsx2v6WB6sB77fTMCeijuvT3FlzwschiHnPlD7aU6CHvQgRlpCv/FttPdTq4ih2t6MIlM4oX85hNYgfs6w==} + '@tauri-apps/plugin-dialog@2.0.0-beta.6': + resolution: {integrity: sha512-Rw8C8t/0y3QExEinp+cAOZi/BDt0c9jifv0bS3WDCwQt9ANdmfCWKamsIhqwemt3MjepkU2RV8bvphzoWlbOGw==} - '@tauri-apps/plugin-fs@2.0.0-beta.5': - resolution: {integrity: sha512-uTqCDFA1z8KDtTe5fKlbRrKV4zxh63UVUvD/PR8GnyNLV+qxj/fEuJuGvMdfMbVKrTljGqSpun5wnP5jqD5fMg==} + '@tauri-apps/plugin-fs@2.0.0-beta.6': + resolution: {integrity: sha512-R7M5wggENzJhiA0HwP63AzdF6uzdXRYe0z+ETSue9gvJmqKtqVp+qx9JLsWSfwENHy8RDKmrnuDL18kx/Q2aFA==} - '@tauri-apps/plugin-http@2.0.0-beta.6': - resolution: {integrity: sha512-/5cDY9LwrZkPBTqxx2xwvzA3fzYS+Y1UD0rK9NVxjKkNXoA9NmGxEetug05u0KPbOtciyFiTyq31koszlPy6KA==} + '@tauri-apps/plugin-http@2.0.0-beta.7': + resolution: {integrity: sha512-mxdhcpPPT2oHm0FWe6HS2UbQW2LFTbAv2vExrTYAPJSuXOp2kisgOjazZtswYqpmftpcSZ4dFpmzNlQp188e/g==} '@tauri-apps/plugin-log@2.0.0-beta.7': resolution: {integrity: sha512-rdwvmIWv0alRGvG5mxUvSCeT4ovVp5zRaUhtd2372mPPQgYKpHk2nxlRFiGtpcP/MCv0cwXh+MDsceVJpQLtZQ==} @@ -874,8 +870,8 @@ packages: '@tauri-apps/plugin-process@2.0.0-beta.6': resolution: {integrity: sha512-Rem3r8lGe6ZSvncqIV9xpq2hOey7krMoPh5nu7WxbR73LOSkRBUDaYMvZjXu1DrJ3LEyXxo48sp76+9MW2Rp/w==} - '@tauri-apps/plugin-shell@2.0.0-beta.6': - resolution: {integrity: sha512-g3nM9cQQGl7Iv4MvyFuco/aPTiwOI/MixcoKso3VQIg5Aqd64NqR0r+GfsB0qx52txItqzSXwmeaj1eZjO9Q6Q==} + '@tauri-apps/plugin-shell@2.0.0-beta.7': + resolution: {integrity: sha512-oJxWbEiNRcoMM0PrePjJnjPHEAN1sbYuWaQ1QMtLPdjHsl83RLk+RpFzkL5WvtGknfiKY7T2qEthOID4br+mvg==} '@tauri-apps/plugin-sql@2.0.0-beta.6': resolution: {integrity: sha512-hVd7U/LoN7V7V9t9V0/kG/YYKrvhUjREVEP2773UqSYa2nItRrU2ntPwQ0sO3tom6eZxWdmyyXIxzyq+0jgFzw==} @@ -895,8 +891,8 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/node@20.14.9': - resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} + '@types/node@20.14.10': + resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==} '@types/uuid@10.0.0': resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} @@ -1722,8 +1718,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.7.0: - resolution: {integrity: sha512-ivatRXWwKC6ImcdKO7dOwXuXR5XFrdwo45qFwD7D0qOkEPzzJdLXC3BHceBdyrPOD3p1suPaWi4Y4NMm2D++AQ==} + globals@15.8.0: + resolution: {integrity: sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==} engines: {node: '>=18'} globalthis@1.0.3: @@ -2166,8 +2162,8 @@ packages: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} - oxlint@0.5.1: - resolution: {integrity: sha512-+3i085aiIwvNHjlVUul2XJc8d/gNMTka0VXS4fK2eZoqKTaVKRjaraNnhFvS1ya1NQXwBCYOreV/Gl25dvUoDw==} + oxlint@0.5.2: + resolution: {integrity: sha512-nEoadC0Pk3tgv41fIRwA1HiJJ45QIMj3NHkEGW89PSr5aqr7EzT0wcdhRTY1m+BFSVIoukJ26OqQABaAEG3jOQ==} engines: {node: '>=14.*'} hasBin: true @@ -2283,6 +2279,10 @@ packages: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} + postcss@8.4.39: + resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} + engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -2753,8 +2753,8 @@ packages: vue: ^3.0.0 vuetify: ^3.0.0 - vite@5.3.2: - resolution: {integrity: sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==} + vite@5.3.3: + resolution: {integrity: sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -2840,8 +2840,8 @@ packages: typescript: optional: true - vuetify@3.6.10: - resolution: {integrity: sha512-Myd9+EFq4Gmu61yKPNVS0QdGQkcZ9cHom27wuvRw7jgDxM+X4MT9BwQRk/Dt1q3G3JlK8oh+ZYyq5Ps/Z73cMg==} + vuetify@3.6.11: + resolution: {integrity: sha512-DMreVZ6+WCVnvRoFVPGtC+Kc4afx+etcTLgX2AqUj6lQ4RrEx0TlQoNAW1oKPH4eViv2wfdvQ3xb/Yw1c86cTw==} engines: {node: ^12.20 || >=14.13} peerDependencies: typescript: '>=4.7' @@ -3314,28 +3314,28 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@oxlint/darwin-arm64@0.5.1': + '@oxlint/darwin-arm64@0.5.2': optional: true - '@oxlint/darwin-x64@0.5.1': + '@oxlint/darwin-x64@0.5.2': optional: true - '@oxlint/linux-arm64-gnu@0.5.1': + '@oxlint/linux-arm64-gnu@0.5.2': optional: true - '@oxlint/linux-arm64-musl@0.5.1': + '@oxlint/linux-arm64-musl@0.5.2': optional: true - '@oxlint/linux-x64-gnu@0.5.1': + '@oxlint/linux-x64-gnu@0.5.2': optional: true - '@oxlint/linux-x64-musl@0.5.1': + '@oxlint/linux-x64-musl@0.5.2': optional: true - '@oxlint/win32-arm64@0.5.1': + '@oxlint/win32-arm64@0.5.2': optional: true - '@oxlint/win32-x64@0.5.1': + '@oxlint/win32-x64@0.5.2': optional: true '@pkgr/core@0.1.1': {} @@ -3398,8 +3398,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.14.3': optional: true - '@tauri-apps/api@2.0.0-beta.13': {} - '@tauri-apps/api@2.0.0-beta.14': {} '@tauri-apps/cli-darwin-arm64@2.0.0-beta.21': @@ -3445,21 +3443,21 @@ snapshots: '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-beta.21 '@tauri-apps/cli-win32-x64-msvc': 2.0.0-beta.21 - '@tauri-apps/plugin-deep-link@2.0.0-beta.7': + '@tauri-apps/plugin-deep-link@2.0.0-beta.8': dependencies: - '@tauri-apps/api': 2.0.0-beta.13 + '@tauri-apps/api': 2.0.0-beta.14 - '@tauri-apps/plugin-dialog@2.0.0-beta.5': + '@tauri-apps/plugin-dialog@2.0.0-beta.6': dependencies: - '@tauri-apps/api': 2.0.0-beta.13 + '@tauri-apps/api': 2.0.0-beta.14 - '@tauri-apps/plugin-fs@2.0.0-beta.5': + '@tauri-apps/plugin-fs@2.0.0-beta.6': dependencies: - '@tauri-apps/api': 2.0.0-beta.13 + '@tauri-apps/api': 2.0.0-beta.14 - '@tauri-apps/plugin-http@2.0.0-beta.6': + '@tauri-apps/plugin-http@2.0.0-beta.7': dependencies: - '@tauri-apps/api': 2.0.0-beta.13 + '@tauri-apps/api': 2.0.0-beta.14 '@tauri-apps/plugin-log@2.0.0-beta.7': dependencies: @@ -3473,9 +3471,9 @@ snapshots: dependencies: '@tauri-apps/api': 2.0.0-beta.14 - '@tauri-apps/plugin-shell@2.0.0-beta.6': + '@tauri-apps/plugin-shell@2.0.0-beta.7': dependencies: - '@tauri-apps/api': 2.0.0-beta.13 + '@tauri-apps/api': 2.0.0-beta.14 '@tauri-apps/plugin-sql@2.0.0-beta.6': dependencies: @@ -3493,7 +3491,7 @@ snapshots: '@types/json5@0.0.29': {} - '@types/node@20.14.9': + '@types/node@20.14.10': dependencies: undici-types: 5.26.5 @@ -3580,9 +3578,9 @@ snapshots: '@typescript-eslint/types': 7.15.0 eslint-visitor-keys: 3.4.3 - '@vitejs/plugin-vue@5.0.5(vite@5.3.2(@types/node@20.14.9))(vue@3.4.31(typescript@5.5.3))': + '@vitejs/plugin-vue@5.0.5(vite@5.3.3(@types/node@20.14.10))(vue@3.4.31(typescript@5.5.3))': dependencies: - vite: 5.3.2(@types/node@20.14.9) + vite: 5.3.3(@types/node@20.14.10) vue: 3.4.31(typescript@5.5.3) '@vue/babel-helper-vue-transform-on@1.2.2': {} @@ -3676,14 +3674,14 @@ snapshots: '@vue/devtools-api@6.6.1': {} - '@vue/devtools-core@7.3.5(vite@5.3.2(@types/node@20.14.9))(vue@3.4.31(typescript@5.5.3))': + '@vue/devtools-core@7.3.5(vite@5.3.3(@types/node@20.14.10))(vue@3.4.31(typescript@5.5.3))': dependencies: '@vue/devtools-kit': 7.3.5 '@vue/devtools-shared': 7.3.5 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.3.2(@types/node@20.14.9)) + vite-hot-client: 0.2.3(vite@5.3.3(@types/node@20.14.10)) vue: 3.4.31(typescript@5.5.3) transitivePeerDependencies: - vite @@ -3728,11 +3726,11 @@ snapshots: '@vue/shared@3.4.31': {} - '@vuetify/loader-shared@2.0.3(vue@3.4.31(typescript@5.5.3))(vuetify@3.6.10(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3)))': + '@vuetify/loader-shared@2.0.3(vue@3.4.31(typescript@5.5.3))(vuetify@3.6.11(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3)))': dependencies: upath: 2.0.1 vue: 3.4.31(typescript@5.5.3) - vuetify: 3.6.10(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3)) + vuetify: 3.6.11(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3)) acorn-jsx@5.3.2(acorn@8.11.3): dependencies: @@ -4295,7 +4293,7 @@ snapshots: eslint: 9.6.0 eslint-plugin-es-x: 7.6.0(eslint@9.6.0) get-tsconfig: 4.7.3 - globals: 15.7.0 + globals: 15.8.0 ignore: 5.3.1 minimatch: 9.0.4 semver: 7.6.0 @@ -4564,7 +4562,7 @@ snapshots: globals@14.0.0: {} - globals@15.7.0: {} + globals@15.8.0: {} globalthis@1.0.3: dependencies: @@ -4976,16 +4974,16 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - oxlint@0.5.1: + oxlint@0.5.2: optionalDependencies: - '@oxlint/darwin-arm64': 0.5.1 - '@oxlint/darwin-x64': 0.5.1 - '@oxlint/linux-arm64-gnu': 0.5.1 - '@oxlint/linux-arm64-musl': 0.5.1 - '@oxlint/linux-x64-gnu': 0.5.1 - '@oxlint/linux-x64-musl': 0.5.1 - '@oxlint/win32-arm64': 0.5.1 - '@oxlint/win32-x64': 0.5.1 + '@oxlint/darwin-arm64': 0.5.2 + '@oxlint/darwin-x64': 0.5.2 + '@oxlint/linux-arm64-gnu': 0.5.2 + '@oxlint/linux-arm64-musl': 0.5.2 + '@oxlint/linux-x64-gnu': 0.5.2 + '@oxlint/linux-x64-musl': 0.5.2 + '@oxlint/win32-arm64': 0.5.2 + '@oxlint/win32-x64': 0.5.2 p-limit@3.1.0: dependencies: @@ -5076,6 +5074,12 @@ snapshots: picocolors: 1.0.0 source-map-js: 1.2.0 + postcss@8.4.39: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.1 + source-map-js: 1.2.0 + prelude-ls@1.2.1: {} prettier-linter-helpers@1.0.0: @@ -5557,11 +5561,11 @@ snapshots: uuid@10.0.0: {} - vite-hot-client@0.2.3(vite@5.3.2(@types/node@20.14.9)): + vite-hot-client@0.2.3(vite@5.3.3(@types/node@20.14.10)): dependencies: - vite: 5.3.2(@types/node@20.14.9) + vite: 5.3.3(@types/node@20.14.10) - vite-plugin-inspect@0.8.4(rollup@4.14.3)(vite@5.3.2(@types/node@20.14.9)): + vite-plugin-inspect@0.8.4(rollup@4.14.3)(vite@5.3.3(@types/node@20.14.10)): dependencies: '@antfu/utils': 0.7.7 '@rollup/pluginutils': 5.1.0(rollup@4.14.3) @@ -5572,28 +5576,28 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.0.1 sirv: 2.0.4 - vite: 5.3.2(@types/node@20.14.9) + vite: 5.3.3(@types/node@20.14.10) transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-devtools@7.3.5(rollup@4.14.3)(vite@5.3.2(@types/node@20.14.9))(vue@3.4.31(typescript@5.5.3)): + vite-plugin-vue-devtools@7.3.5(rollup@4.14.3)(vite@5.3.3(@types/node@20.14.10))(vue@3.4.31(typescript@5.5.3)): dependencies: - '@vue/devtools-core': 7.3.5(vite@5.3.2(@types/node@20.14.9))(vue@3.4.31(typescript@5.5.3)) + '@vue/devtools-core': 7.3.5(vite@5.3.3(@types/node@20.14.10))(vue@3.4.31(typescript@5.5.3)) '@vue/devtools-kit': 7.3.5 '@vue/devtools-shared': 7.3.5 execa: 8.0.1 sirv: 2.0.4 - vite: 5.3.2(@types/node@20.14.9) - vite-plugin-inspect: 0.8.4(rollup@4.14.3)(vite@5.3.2(@types/node@20.14.9)) - vite-plugin-vue-inspector: 5.1.2(vite@5.3.2(@types/node@20.14.9)) + vite: 5.3.3(@types/node@20.14.10) + vite-plugin-inspect: 0.8.4(rollup@4.14.3)(vite@5.3.3(@types/node@20.14.10)) + vite-plugin-vue-inspector: 5.1.2(vite@5.3.3(@types/node@20.14.10)) transitivePeerDependencies: - '@nuxt/kit' - rollup - supports-color - vue - vite-plugin-vue-inspector@5.1.2(vite@5.3.2(@types/node@20.14.9)): + vite-plugin-vue-inspector@5.1.2(vite@5.3.3(@types/node@20.14.10)): dependencies: '@babel/core': 7.24.4 '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.4) @@ -5604,28 +5608,28 @@ snapshots: '@vue/compiler-dom': 3.4.30 kolorist: 1.8.0 magic-string: 0.30.10 - vite: 5.3.2(@types/node@20.14.9) + vite: 5.3.3(@types/node@20.14.10) transitivePeerDependencies: - supports-color - vite-plugin-vuetify@2.0.3(vite@5.3.2(@types/node@20.14.9))(vue@3.4.31(typescript@5.5.3))(vuetify@3.6.10): + vite-plugin-vuetify@2.0.3(vite@5.3.3(@types/node@20.14.10))(vue@3.4.31(typescript@5.5.3))(vuetify@3.6.11): dependencies: - '@vuetify/loader-shared': 2.0.3(vue@3.4.31(typescript@5.5.3))(vuetify@3.6.10(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3))) + '@vuetify/loader-shared': 2.0.3(vue@3.4.31(typescript@5.5.3))(vuetify@3.6.11(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3))) debug: 4.3.4 upath: 2.0.1 - vite: 5.3.2(@types/node@20.14.9) + vite: 5.3.3(@types/node@20.14.10) vue: 3.4.31(typescript@5.5.3) - vuetify: 3.6.10(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3)) + vuetify: 3.6.11(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3)) transitivePeerDependencies: - supports-color - vite@5.3.2(@types/node@20.14.9): + vite@5.3.3(@types/node@20.14.10): dependencies: esbuild: 0.21.5 - postcss: 8.4.38 + postcss: 8.4.39 rollup: 4.14.3 optionalDependencies: - '@types/node': 20.14.9 + '@types/node': 20.14.10 fsevents: 2.3.3 vue-demi@0.13.11(vue@3.4.31(typescript@5.5.3)): @@ -5678,12 +5682,12 @@ snapshots: optionalDependencies: typescript: 5.5.3 - vuetify@3.6.10(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3)): + vuetify@3.6.11(typescript@5.5.3)(vite-plugin-vuetify@2.0.3)(vue@3.4.31(typescript@5.5.3)): dependencies: vue: 3.4.31(typescript@5.5.3) optionalDependencies: typescript: 5.5.3 - vite-plugin-vuetify: 2.0.3(vite@5.3.2(@types/node@20.14.9))(vue@3.4.31(typescript@5.5.3))(vuetify@3.6.10) + vite-plugin-vuetify: 2.0.3(vite@5.3.3(@types/node@20.14.10))(vue@3.4.31(typescript@5.5.3))(vuetify@3.6.11) wcag-color@1.1.1: {} diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 0a1d96c8..05394c97 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "TeyvatGuide" -version = "0.4.9" +version = "0.5.0" dependencies = [ "chrono", "log", @@ -20,6 +20,7 @@ dependencies = [ "tauri-plugin-os", "tauri-plugin-process", "tauri-plugin-shell", + "tauri-plugin-single-instance", "tauri-plugin-sql", "tauri-utils", "url", @@ -180,6 +181,30 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "async-executor" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "slab", +] + +[[package]] +name = "async-fs" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" +dependencies = [ + "async-lock", + "blocking", + "futures-lite", +] + [[package]] name = "async-io" version = "2.3.3" @@ -652,7 +677,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -3057,7 +3082,7 @@ dependencies = [ "libc", "redox_syscall 0.5.1", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -4927,7 +4952,7 @@ dependencies = [ [[package]] name = "tauri-plugin-deep-link" version = "2.0.0-beta.8" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#8f6d341e45865c852170e8bbf2c8ffa9aca907d6" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#4003bdada2f8bc07e6a8092c106daf6cd9f712fd" dependencies = [ "dunce", "log", @@ -4940,13 +4965,13 @@ dependencies = [ "thiserror", "url", "windows-registry", - "windows-result", + "windows-result 0.2.0", ] [[package]] name = "tauri-plugin-dialog" version = "2.0.0-beta.10" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#8f6d341e45865c852170e8bbf2c8ffa9aca907d6" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#4003bdada2f8bc07e6a8092c106daf6cd9f712fd" dependencies = [ "dunce", "log", @@ -4963,7 +4988,7 @@ dependencies = [ [[package]] name = "tauri-plugin-fs" version = "2.0.0-beta.10" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#8f6d341e45865c852170e8bbf2c8ffa9aca907d6" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#4003bdada2f8bc07e6a8092c106daf6cd9f712fd" dependencies = [ "anyhow", "glob", @@ -4981,7 +5006,7 @@ dependencies = [ [[package]] name = "tauri-plugin-http" version = "2.0.0-beta.11" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#8f6d341e45865c852170e8bbf2c8ffa9aca907d6" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#4003bdada2f8bc07e6a8092c106daf6cd9f712fd" dependencies = [ "data-url", "http", @@ -5001,7 +5026,7 @@ dependencies = [ [[package]] name = "tauri-plugin-log" version = "2.0.0-beta.7" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#8f6d341e45865c852170e8bbf2c8ffa9aca907d6" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#4003bdada2f8bc07e6a8092c106daf6cd9f712fd" dependencies = [ "android_logger", "byte-unit", @@ -5021,7 +5046,7 @@ dependencies = [ [[package]] name = "tauri-plugin-os" version = "2.0.0-beta.7" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#8f6d341e45865c852170e8bbf2c8ffa9aca907d6" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#4003bdada2f8bc07e6a8092c106daf6cd9f712fd" dependencies = [ "gethostname", "log", @@ -5038,7 +5063,7 @@ dependencies = [ [[package]] name = "tauri-plugin-process" version = "2.0.0-beta.7" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#8f6d341e45865c852170e8bbf2c8ffa9aca907d6" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#4003bdada2f8bc07e6a8092c106daf6cd9f712fd" dependencies = [ "tauri", "tauri-plugin", @@ -5047,7 +5072,7 @@ dependencies = [ [[package]] name = "tauri-plugin-shell" version = "2.0.0-beta.8" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#8f6d341e45865c852170e8bbf2c8ffa9aca907d6" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#4003bdada2f8bc07e6a8092c106daf6cd9f712fd" dependencies = [ "encoding_rs", "log", @@ -5064,10 +5089,24 @@ dependencies = [ "tokio", ] +[[package]] +name = "tauri-plugin-single-instance" +version = "2.0.0-beta.10" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#4003bdada2f8bc07e6a8092c106daf6cd9f712fd" +dependencies = [ + "log", + "serde", + "serde_json", + "tauri", + "thiserror", + "windows-sys 0.52.0", + "zbus", +] + [[package]] name = "tauri-plugin-sql" version = "2.0.0-beta.8" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#8f6d341e45865c852170e8bbf2c8ffa9aca907d6" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#4003bdada2f8bc07e6a8092c106daf6cd9f712fd" dependencies = [ "futures-core", "indexmap 2.2.6", @@ -6037,7 +6076,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" dependencies = [ "windows-core 0.57.0", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6046,7 +6085,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6057,8 +6096,8 @@ checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" dependencies = [ "windows-implement", "windows-interface", - "windows-result", - "windows-targets 0.52.5", + "windows-result 0.1.2", + "windows-targets 0.52.6", ] [[package]] @@ -6085,12 +6124,13 @@ dependencies = [ [[package]] name = "windows-registry" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acc134c90a0318d873ec962b13149e9c862ff0d2669082a709a4810167a3c6ee" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ - "windows-result", - "windows-targets 0.52.5", + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", ] [[package]] @@ -6099,7 +6139,26 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result 0.2.0", + "windows-targets 0.52.6", ] [[package]] @@ -6126,7 +6185,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6161,18 +6220,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -6181,7 +6240,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6998aa457c9ba8ff2fb9f13e9d2a930dabcea28f1d0ab94d687d8b3654844515" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6198,9 +6257,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -6216,9 +6275,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -6234,15 +6293,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -6258,9 +6317,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -6276,9 +6335,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -6294,9 +6353,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -6312,9 +6371,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -6460,9 +6519,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030" dependencies = [ "async-broadcast", + "async-executor", + "async-fs", + "async-io", + "async-lock", "async-process", "async-recursion", + "async-task", "async-trait", + "blocking", "derivative", "enumflags2", "event-listener 5.3.1", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 1c06d9e4..5860565d 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "TeyvatGuide" -version = "0.4.9" +version = "0.5.0" description = "Game Tool for Genshin Impact player" authors = ["BTMuli "] license = "MIT" @@ -63,6 +63,11 @@ branch = "v2" git = "https://github.com/tauri-apps/plugins-workspace" branch = "v2" +# single-instance 插件 +[dependencies.tauri-plugin-single-instance] +git = "https://github.com/tauri-apps/plugins-workspace" +branch = "v2" + # sqlite 插件 [dependencies.tauri-plugin-sql] git = "https://github.com/tauri-apps/plugins-workspace" diff --git a/src-tauri/capabilities/TeyvatGuide.json b/src-tauri/capabilities/TeyvatGuide.json index 577fa4e0..8ae62dbc 100644 --- a/src-tauri/capabilities/TeyvatGuide.json +++ b/src-tauri/capabilities/TeyvatGuide.json @@ -6,6 +6,8 @@ "permissions": [ "app:allow-version", "app:default", + "dialog:allow-save", + "dialog:default", "event:allow-listen", "event:default", "fs:default", @@ -15,7 +17,6 @@ "path:allow-resolve-directory", "path:default", "process:allow-exit", - "process:allow-restart", "process:default", "shell:allow-execute", "shell:allow-open", @@ -32,6 +33,7 @@ "window:allow-set-title", "window:allow-set-focus", "window:allow-show", + "window:allow-unminimize", { "identifier": "fs:allow-exists", "allow": [{ "path": "**" }] diff --git a/src-tauri/gen/schemas/capabilities.json b/src-tauri/gen/schemas/capabilities.json index 00ba9e95..0de94ad1 100644 --- a/src-tauri/gen/schemas/capabilities.json +++ b/src-tauri/gen/schemas/capabilities.json @@ -89,6 +89,8 @@ "permissions": [ "app:allow-version", "app:default", + "dialog:allow-save", + "dialog:default", "event:allow-listen", "event:default", "fs:default", @@ -98,7 +100,6 @@ "path:allow-resolve-directory", "path:default", "process:allow-exit", - "process:allow-restart", "process:default", "shell:allow-execute", "shell:allow-open", @@ -115,6 +116,7 @@ "window:allow-set-title", "window:allow-set-focus", "window:allow-show", + "window:allow-unminimize", { "identifier": "fs:allow-exists", "allow": [{ "path": "**" }] }, { "identifier": "fs:allow-mkdir", "allow": [{ "path": "**" }] }, { "identifier": "fs:allow-read-dir", "allow": [{ "path": "**" }] }, diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 0160750f..4390a5cf 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -35,6 +35,9 @@ fn window_event_handler(app: &tauri::Window, event: &tauri::WindowEvent) { fn main() { tauri::Builder::default() .on_window_event(move |app, event| window_event_handler(app, event)) + .plugin(tauri_plugin_single_instance::init(|app, argv, _cwd| { + app.emit("active_deep_link", argv).unwrap(); + })) .plugin(tauri_plugin_deep_link::init()) .plugin(tauri_plugin_dialog::init()) .plugin(tauri_plugin_fs::init()) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 92517907..d927dd38 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -55,7 +55,7 @@ "plugins": { "deep-link": { "desktop": { - "schemes": ["teyvatguide", "teyvat"] + "schemes": ["teyvatguide"] }, "mobile": [] } diff --git a/src/App.vue b/src/App.vue index b9d7059b..2d5f0b8d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -170,51 +170,64 @@ async function checkUserLoad(): Promise { } async function getDeepLink(): Promise { - return await event.listen("active_deep_link", async (e: Event) => { + return await event.listen("active_deep_link", async (e: Event) => { const windowGet = new webviewWindow.WebviewWindow("TeyvatGuide"); if (await windowGet.isMinimized()) { await windowGet.unminimize(); } await windowGet.setFocus(); - if (typeof e.payload !== "string") { + const payload = parseDeepLink(e.payload); + if (payload === false) { showSnackbar({ text: "无效的 deep link!", color: "error", timeout: 3000, }); - await TGLogger.Error(`[App][getDeepLink] 无效的 deep link! ${JSON.stringify(e)}`); + await TGLogger.Error(`[App][getDeepLink] 无效的 deep link! ${JSON.stringify(e.payload)}`); return; } await TGLogger.Info(`[App][getDeepLink] ${e.payload}`); - if (e.payload === "") return; - if ( - e.payload.startsWith("teyvatguide://import_uigf") || - e.payload.startsWith("teyvatguide://import_uiaf") - ) { - await toUIAF(e.payload); - return; - } - if (e.payload.startsWith("router?path=")) { - const routerPath = e.payload.replace("router?path=", ""); - if (router.currentRoute.value.path === routerPath) { - showSnackbar({ - text: "已在当前页面!", - color: "warn", - timeout: 3000, - }); - return; - } - await router.push(routerPath); - return; - } - showSnackbar({ - text: "无效的 deep link!", - color: "error", - timeout: 3000, - }); + await handleDeepLink(payload); }); } +function parseDeepLink(payload: string | string[]): string | false { + try { + if (typeof payload === "string") return payload; + if (payload.length < 2) return "teyvatguide://"; + return payload[1]; + } catch (e) { + if (e instanceof Error) { + TGLogger.Error(`[App][parseDeepLink] ${e.name}: ${e.message}`); + } else console.error(e); + return false; + } +} + +async function handleDeepLink(payload: string): Promise { + if (payload === "" || payload === "teyvatguide://") return; + if ( + payload.startsWith("teyvatguide://import_uigf") || + payload.startsWith("teyvatguide://import_uiaf") + ) { + await toUIAF(payload); + return; + } + if (payload.startsWith("router?path=")) { + const routerPath = payload.replace("router?path=", ""); + if (router.currentRoute.value.path === routerPath) { + showSnackbar({ + text: "已在当前页面!", + color: "warn", + timeout: 3000, + }); + return; + } + await router.push(routerPath); + return; + } +} + async function toUIAF(link: string) { const url = new URL(link); const app = url.searchParams.get("app"); diff --git a/src/pages/common/Config.vue b/src/pages/common/Config.vue index ced4e540..db58d70b 100644 --- a/src/pages/common/Config.vue +++ b/src/pages/common/Config.vue @@ -90,7 +90,7 @@ import { core } from "@tauri-apps/api"; import { open } from "@tauri-apps/plugin-dialog"; import { remove } from "@tauri-apps/plugin-fs"; -import { relaunch } from "@tauri-apps/plugin-process"; +import { exit } from "@tauri-apps/plugin-process"; import { onMounted, ref } from "vue"; import TcAppBadge from "../../components/config/tc-appBadge.vue"; @@ -351,7 +351,7 @@ async function confirmDelCache(): Promise { text: "缓存已清除!即将退出应用!", }); setTimeout(async () => { - await relaunch(); + await exit(); }, 1000); }