migrate: v2 basically working

This commit is contained in:
Purp1e
2024-09-20 10:14:36 +08:00
parent 7229e79cd4
commit b12c6279d5
18 changed files with 16950 additions and 1259 deletions

View File

@@ -16,15 +16,25 @@
"prepare": "husky"
},
"dependencies": {
"@tauri-apps/api": "^1.6.0",
"@icon-park/react": "^1.4.2",
"@tauri-apps/api": "2.0.0-rc.5",
"@tauri-apps/plugin-clipboard-manager": "2.0.0-rc.2",
"@tauri-apps/plugin-dialog": "2.0.0-rc.1",
"@tauri-apps/plugin-fs": "2.0.0-rc.2",
"@tauri-apps/plugin-global-shortcut": "2.0.0-rc.1",
"@tauri-apps/plugin-http": "2.0.0-rc.2",
"@tauri-apps/plugin-notification": "2.0.0-rc.1",
"@tauri-apps/plugin-os": "2.0.0-rc.1",
"@tauri-apps/plugin-process": "2.0.0-rc.1",
"@tauri-apps/plugin-shell": "2.0.0-rc.1",
"clsx": "^2.1.1",
"next": "^14.2.12",
"next": "^14.2.13",
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
"devDependencies": {
"@biomejs/biome": "^1.9.2",
"@tauri-apps/cli": "^1.6.2",
"@tauri-apps/cli": "2.0.0-rc.16",
"@testing-library/dom": "^10.4.0",
"@testing-library/jest-dom": "^6.5.0",
"@testing-library/react": "^16.0.1",
@@ -39,7 +49,7 @@
"cross-env": "^7.0.3",
"cssnano": "^7.0.6",
"eslint": "^8.57.1",
"eslint-config-next": "^14.2.12",
"eslint-config-next": "^14.2.13",
"husky": "^9.1.6",
"lint-staged": "^15.2.10",
"postcss": "^8.4.47",

330
pnpm-lock.yaml generated
View File

@@ -8,15 +8,45 @@ importers:
.:
dependencies:
'@icon-park/react':
specifier: ^1.4.2
version: 1.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@tauri-apps/api':
specifier: ^1.6.0
version: 1.6.0
specifier: 2.0.0-rc.5
version: 2.0.0-rc.5
'@tauri-apps/plugin-clipboard-manager':
specifier: 2.0.0-rc.2
version: 2.0.0-rc.2
'@tauri-apps/plugin-dialog':
specifier: 2.0.0-rc.1
version: 2.0.0-rc.1
'@tauri-apps/plugin-fs':
specifier: 2.0.0-rc.2
version: 2.0.0-rc.2
'@tauri-apps/plugin-global-shortcut':
specifier: 2.0.0-rc.1
version: 2.0.0-rc.1
'@tauri-apps/plugin-http':
specifier: 2.0.0-rc.2
version: 2.0.0-rc.2
'@tauri-apps/plugin-notification':
specifier: 2.0.0-rc.1
version: 2.0.0-rc.1
'@tauri-apps/plugin-os':
specifier: 2.0.0-rc.1
version: 2.0.0-rc.1
'@tauri-apps/plugin-process':
specifier: 2.0.0-rc.1
version: 2.0.0-rc.1
'@tauri-apps/plugin-shell':
specifier: 2.0.0-rc.1
version: 2.0.0-rc.1
clsx:
specifier: ^2.1.1
version: 2.1.1
next:
specifier: ^14.2.12
version: 14.2.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
specifier: ^14.2.13
version: 14.2.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react:
specifier: ^18.3.1
version: 18.3.1
@@ -28,8 +58,8 @@ importers:
specifier: ^1.9.2
version: 1.9.2
'@tauri-apps/cli':
specifier: ^1.6.2
version: 1.6.2
specifier: 2.0.0-rc.16
version: 2.0.0-rc.16
'@testing-library/dom':
specifier: ^10.4.0
version: 10.4.0
@@ -73,8 +103,8 @@ importers:
specifier: ^8.57.1
version: 8.57.1
eslint-config-next:
specifier: ^14.2.12
version: 14.2.12(eslint@8.57.1)(typescript@5.6.2)
specifier: ^14.2.13
version: 14.2.13(eslint@8.57.1)(typescript@5.6.2)
husky:
specifier: ^9.1.6
version: 9.1.6
@@ -144,24 +174,28 @@ packages:
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@biomejs/cli-linux-arm64@1.9.2':
resolution: {integrity: sha512-T8TJuSxuBDeQCQzxZu2o3OU4eyLumTofhCxxFd3+aH2AEWVMnH7Z/c3QP1lHI5RRMBP9xIJeMORqDQ5j+gVZzw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@biomejs/cli-linux-x64-musl@1.9.2':
resolution: {integrity: sha512-CjPM6jT1miV5pry9C7qv8YJk0FIZvZd86QRD3atvDgfgeh9WQU0k2Aoo0xUcPdTnoz0WNwRtDicHxwik63MmSg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
libc: [musl]
'@biomejs/cli-linux-x64@1.9.2':
resolution: {integrity: sha512-T0cPk3C3Jr2pVlsuQVTBqk2qPjTm8cYcTD9p/wmR9MeVqui1C/xTVfOIwd3miRODFMrJaVQ8MYSXnVIhV9jTjg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@biomejs/cli-win32-arm64@1.9.2':
resolution: {integrity: sha512-2x7gSty75bNIeD23ZRPXyox6Z/V0M71ObeJtvQBhi1fgrvPdtkEuw7/0wEHg6buNCubzOFuN9WYJm6FKoUHfhg==}
@@ -208,6 +242,7 @@ packages:
'@humanwhocodes/config-array@0.13.0':
resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
engines: {node: '>=10.10.0'}
deprecated: Use @eslint/config-array instead
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
@@ -215,6 +250,14 @@ packages:
'@humanwhocodes/object-schema@2.0.3':
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
deprecated: Use @eslint/object-schema instead
'@icon-park/react@1.4.2':
resolution: {integrity: sha512-+MtQLjNiRuia3fC/NfpSCTIy5KH5b+NkMB9zYd7p3R4aAIK61AjK0OSraaICJdkKooU9jpzk8m0fY4g9A3JqhQ==}
engines: {node: '>= 8.0.0', npm: '>= 5.0.0'}
peerDependencies:
react: '>=16.9'
react-dom: '>=16.9'
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
@@ -250,62 +293,66 @@ packages:
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
'@next/env@14.2.12':
resolution: {integrity: sha512-3fP29GIetdwVIfIRyLKM7KrvJaqepv+6pVodEbx0P5CaMLYBtx+7eEg8JYO5L9sveJO87z9eCReceZLi0hxO1Q==}
'@next/env@14.2.13':
resolution: {integrity: sha512-s3lh6K8cbW1h5Nga7NNeXrbe0+2jIIYK9YaA9T7IufDWnZpozdFUp6Hf0d5rNWUKu4fEuSX2rCKlGjCrtylfDw==}
'@next/eslint-plugin-next@14.2.12':
resolution: {integrity: sha512-cPrKbXtK8NTThOOFNxRGGTw+5s02Ek8z8ri/hZqeKs6uP8LOTGqFyBy6hpCXt7TvLzzriWiiwRyD4h0XYmPEEg==}
'@next/eslint-plugin-next@14.2.13':
resolution: {integrity: sha512-z8Mk0VljxhIzsSiZUSdt3wp+t2lKd+jk5a9Jsvh3zDGkItgDMfjv/ZbET6HsxEl/fSihVoHGsXV6VLyDH0lfTQ==}
'@next/swc-darwin-arm64@14.2.12':
resolution: {integrity: sha512-crHJ9UoinXeFbHYNok6VZqjKnd8rTd7K3Z2zpyzF1ch7vVNKmhjv/V7EHxep3ILoN8JB9AdRn/EtVVyG9AkCXw==}
'@next/swc-darwin-arm64@14.2.13':
resolution: {integrity: sha512-IkAmQEa2Htq+wHACBxOsslt+jMoV3msvxCn0WFSfJSkv/scy+i/EukBKNad36grRxywaXUYJc9mxEGkeIs8Bzg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
'@next/swc-darwin-x64@14.2.12':
resolution: {integrity: sha512-JbEaGbWq18BuNBO+lCtKfxl563Uw9oy2TodnN2ioX00u7V1uzrsSUcg3Ep9ce+P0Z9es+JmsvL2/rLphz+Frcw==}
'@next/swc-darwin-x64@14.2.13':
resolution: {integrity: sha512-Dv1RBGs2TTjkwEnFMVL5XIfJEavnLqqwYSD6LXgTPdEy/u6FlSrLBSSfe1pcfqhFEXRAgVL3Wpjibe5wXJzWog==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
'@next/swc-linux-arm64-gnu@14.2.12':
resolution: {integrity: sha512-qBy7OiXOqZrdp88QEl2H4fWalMGnSCrr1agT/AVDndlyw2YJQA89f3ttR/AkEIP9EkBXXeGl6cC72/EZT5r6rw==}
'@next/swc-linux-arm64-gnu@14.2.13':
resolution: {integrity: sha512-yB1tYEFFqo4ZNWkwrJultbsw7NPAAxlPXURXioRl9SdW6aIefOLS+0TEsKrWBtbJ9moTDgU3HRILL6QBQnMevg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@next/swc-linux-arm64-musl@14.2.12':
resolution: {integrity: sha512-EfD9L7o9biaQxjwP1uWXnk3vYZi64NVcKUN83hpVkKocB7ogJfyH2r7o1pPnMtir6gHZiGCeHKagJ0yrNSLNHw==}
'@next/swc-linux-arm64-musl@14.2.13':
resolution: {integrity: sha512-v5jZ/FV/eHGoWhMKYrsAweQ7CWb8xsWGM/8m1mwwZQ/sutJjoFaXchwK4pX8NqwImILEvQmZWyb8pPTcP7htWg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@next/swc-linux-x64-gnu@14.2.12':
resolution: {integrity: sha512-iQ+n2pxklJew9IpE47hE/VgjmljlHqtcD5UhZVeHICTPbLyrgPehaKf2wLRNjYH75udroBNCgrSSVSVpAbNoYw==}
'@next/swc-linux-x64-gnu@14.2.13':
resolution: {integrity: sha512-aVc7m4YL7ViiRv7SOXK3RplXzOEe/qQzRA5R2vpXboHABs3w8vtFslGTz+5tKiQzWUmTmBNVW0UQdhkKRORmGA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@next/swc-linux-x64-musl@14.2.12':
resolution: {integrity: sha512-rFkUkNwcQ0ODn7cxvcVdpHlcOpYxMeyMfkJuzaT74xjAa5v4fxP4xDk5OoYmPi8QNLDs3UgZPMSBmpBuv9zKWA==}
'@next/swc-linux-x64-musl@14.2.13':
resolution: {integrity: sha512-4wWY7/OsSaJOOKvMsu1Teylku7vKyTuocvDLTZQq0TYv9OjiYYWt63PiE1nTuZnqQ4RPvME7Xai+9enoiN0Wrg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
'@next/swc-win32-arm64-msvc@14.2.12':
resolution: {integrity: sha512-PQFYUvwtHs/u0K85SG4sAdDXYIPXpETf9mcEjWc0R4JmjgMKSDwIU/qfZdavtP6MPNiMjuKGXHCtyhR/M5zo8g==}
'@next/swc-win32-arm64-msvc@14.2.13':
resolution: {integrity: sha512-uP1XkqCqV2NVH9+g2sC7qIw+w2tRbcMiXFEbMihkQ8B1+V6m28sshBwAB0SDmOe0u44ne1vFU66+gx/28RsBVQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
'@next/swc-win32-ia32-msvc@14.2.12':
resolution: {integrity: sha512-FAj2hMlcbeCV546eU2tEv41dcJb4NeqFlSXU/xL/0ehXywHnNpaYajOUvn3P8wru5WyQe6cTZ8fvckj/2XN4Vw==}
'@next/swc-win32-ia32-msvc@14.2.13':
resolution: {integrity: sha512-V26ezyjPqQpDBV4lcWIh8B/QICQ4v+M5Bo9ykLN+sqeKKBxJVDpEc6biDVyluTXTC40f5IqCU0ttth7Es2ZuMw==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
'@next/swc-win32-x64-msvc@14.2.12':
resolution: {integrity: sha512-yu8QvV53sBzoIVRHsxCHqeuS8jYq6Lrmdh0briivuh+Brsp6xjg80MAozUsBTAV9KNmY08KlX0KYTWz1lbPzEg==}
'@next/swc-win32-x64-msvc@14.2.13':
resolution: {integrity: sha512-WwzOEAFBGhlDHE5Z73mNU8CO8mqMNLqaG+AO9ETmzdCQlJhVtWZnOl2+rqgVQS+YHunjOWptdFmNfbpwcUuEsw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -345,75 +392,105 @@ packages:
'@swc/helpers@0.5.5':
resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
'@tauri-apps/api@1.6.0':
resolution: {integrity: sha512-rqI++FWClU5I2UBp4HXFvl+sBWkdigBkxnpJDQUWttNyG7IZP4FwQGhTNL5EOw0vI8i6eSAJ5frLqO7n7jbJdg==}
engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'}
'@tauri-apps/api@2.0.0-rc.5':
resolution: {integrity: sha512-JWs69pE9NsQdcqTpEVBepAZ08+jgQWuthIiTiaWRq/YlCLgnqq0KfC9sDem55uJ0YpgsytZuyj+m6b6q8oiD2g==}
'@tauri-apps/cli-darwin-arm64@1.6.2':
resolution: {integrity: sha512-6mdRyf9DaLqlZvj8kZB09U3rwY+dOHSGzTZ7+GDg665GJb17f4cb30e8dExj6/aghcsOie9EGpgiURcDUvLNSQ==}
'@tauri-apps/cli-darwin-arm64@2.0.0-rc.16':
resolution: {integrity: sha512-lISZU4gG0c9PbY7h/j/gW7nJLxZEygNBrYEET6zN8R99Znf5rSO+CfjenaMcJUUj6yTAd8gzdakRpLqNSAWegA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
'@tauri-apps/cli-darwin-x64@1.6.2':
resolution: {integrity: sha512-PLxZY5dn38H3R9VRmBN/l0ZDB5JFanCwlK4rmpzDQPPg3tQmbu5vjSCP6TVj5U6aLKsj79kFyULblPr5Dn9+vw==}
'@tauri-apps/cli-darwin-x64@2.0.0-rc.16':
resolution: {integrity: sha512-D9uxPCxpyYcTSQulJGFX3POAKPOJd8WcWHFH8x6YVM1cIx6EWRXIE1sZnPUOjFr7qCg+bSdYdr8/BFHcZGcApQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
'@tauri-apps/cli-linux-arm-gnueabihf@1.6.2':
resolution: {integrity: sha512-xnpj4BLeeGOh5I/ewCQlYJZwHH0CBNBN+4q8BNWNQ9MKkjN9ST366RmHRzl2ANNgWwijOPxyce7GiUmvuH8Atw==}
'@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-rc.16':
resolution: {integrity: sha512-WsVdKm4D1I1XV8I9yRnmOINZRwwWfh6xcLV3m19+B9g6TohK8RkRxWfxvs3TLQlWOLQ6lo8BzS9rzXB+KtjDpg==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
'@tauri-apps/cli-linux-arm64-gnu@1.6.2':
resolution: {integrity: sha512-uaiRE0vE2P+tdsCngfKt+7yKr3VZXIq/t3w01DzSdnBgHSp0zmRsRR4AhZt7ibvoEgA8GzBP+eSHJdFNZsTU9w==}
'@tauri-apps/cli-linux-arm64-gnu@2.0.0-rc.16':
resolution: {integrity: sha512-2jpZDagNs6rrqposHJihHBayttgOl5aB2+bYiVEC6ye+haiFtmYmpdaPOaVIw+YVQs6lepf5PVrisCoU9DmYsg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@tauri-apps/cli-linux-arm64-musl@1.6.2':
resolution: {integrity: sha512-o9JunVrMrhqTBLrdvEbS64W0bo1dPm0lxX51Mx+6x9SmbDjlEWGgaAHC3iKLK9khd5Yu1uO1e+8TJltAcScvmw==}
'@tauri-apps/cli-linux-arm64-musl@2.0.0-rc.16':
resolution: {integrity: sha512-SNEDcB+sWOls/B0a+UpUHVa/oegvlXXKYWsTxuXtgWIr5VbWG7rXLZ3fZpLLP3SpRVGTGTnABcyqshFbWSqqKQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@tauri-apps/cli-linux-x64-gnu@1.6.2':
resolution: {integrity: sha512-jL9f+o61DdQmNYKIt2Q3BA8YJ+hyC5+GdNxqDf7j5SoQ85j//YfUWbmp9ZgsPHVBxgSGZVvgGMNvf64Ykp0buQ==}
'@tauri-apps/cli-linux-x64-gnu@2.0.0-rc.16':
resolution: {integrity: sha512-Zsq29MM1ooeH1+chQBa7ffDFnzAZebBBFdsvs4e05tS1H8gn4oKE+PSMn9p/okzVXykEk9ri2/n7BG1XFeifMA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@tauri-apps/cli-linux-x64-musl@1.6.2':
resolution: {integrity: sha512-xsa4Pu9YMHKAX0J8pIoXfN/uhvAAAoECZDixDhWw8zi57VZ4QX28ycqolS+NscdD9NAGSgHk45MpBZWdvRtvjQ==}
'@tauri-apps/cli-linux-x64-musl@2.0.0-rc.16':
resolution: {integrity: sha512-g+pwSuis2YMxhJJ/pJYwp/Nps5CWvlv/5MV5UfDvClkCkeAyzIqVX+HbBLPcs5S0CePUQNeP0j4d4jBWUqZZQg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
'@tauri-apps/cli-win32-arm64-msvc@1.6.2':
resolution: {integrity: sha512-eJtUOx2UFhJpCCkm5M5+4Co9JbjvgIHTdyS/hTSZfOEdT58CNEGVJXMA39FsSZXYoxYPE+9K7Km6haMozSmlxw==}
'@tauri-apps/cli-win32-arm64-msvc@2.0.0-rc.16':
resolution: {integrity: sha512-PpPqdMTwJSDAK4KnNjvh77ShSkY+7pih1f6e50EtXar8bjC17e3XcEqFhDNne5mxEVTLYhibs6p1JLPad0ZjRA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
'@tauri-apps/cli-win32-ia32-msvc@1.6.2':
resolution: {integrity: sha512-9Jwx3PrhNw3VKOgPISRRXPkvoEAZP+7rFRHXIo49dvlHy2E/o9qpWi1IntE33HWeazP6KhvsCjvXB2Ai4eGooA==}
'@tauri-apps/cli-win32-ia32-msvc@2.0.0-rc.16':
resolution: {integrity: sha512-io2yIcEcG7YLP+9n13NbilB93SjcB7jIl8GbURC4XZT4/4t9D1PWHpJr5hySVsGRLCz5e8NzwC5RlnenNzmpPQ==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
'@tauri-apps/cli-win32-x64-msvc@1.6.2':
resolution: {integrity: sha512-5Z+ZjRFJE8MXghJe1UXvGephY5ZcgVhiTI9yuMi9xgX3CEaAXASatyXllzsvGJ9EDaWMEpa0PHjAzi7LBAWROw==}
'@tauri-apps/cli-win32-x64-msvc@2.0.0-rc.16':
resolution: {integrity: sha512-Rfkmxe3k+cBVA/kVYt8O25QrQqWKJlH9AiH7Q3C6xBzzG9PCSRMBszCp+JhBF8jhVlwNmOBv6UG+lm85kspwGg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
'@tauri-apps/cli@1.6.2':
resolution: {integrity: sha512-zpfZdxhm20s7d/Uejpg/T3a9sqLVe3Ih2ztINfy8v6iLw9Ohowkb9g+agZffYKlEWfOSpmCy69NFyBLj7OZL0A==}
'@tauri-apps/cli@2.0.0-rc.16':
resolution: {integrity: sha512-wdjZg/M3dcxiqgWG6VRnABpX0dYxRww93t0d1MYoZxFDrnyoUz5kYwFQ0v4J9u0qenEgskjoypvon7V/Nj9qrg==}
engines: {node: '>= 10'}
hasBin: true
'@tauri-apps/plugin-clipboard-manager@2.0.0-rc.2':
resolution: {integrity: sha512-WWHPgUAOXeh1/LRpv4+FeFyb2Dd+FwNH5gHEROcGJa5K4Gb+6J8VlZc/rglT5BOFoDI7dpvV1O/Z6MuKn3ydGw==}
'@tauri-apps/plugin-dialog@2.0.0-rc.1':
resolution: {integrity: sha512-H28gh6BfZtjflHQ+HrmWwunDriBI3AQLAKnMs50GA6zeNUULqbQr7VXbAAKeJL/0CmWcecID4PKXVoSlaWRhEg==}
'@tauri-apps/plugin-fs@2.0.0-rc.2':
resolution: {integrity: sha512-TFjCfso3tN4b5s2EBjqP8N2gYrPh93Ds3VNKj8pCXv4wbvnItyfG0aHO0haUsedBOHQryDwv9vDAdPX6/T0a+g==}
'@tauri-apps/plugin-global-shortcut@2.0.0-rc.1':
resolution: {integrity: sha512-4o4D9Hb3VTf3xZqzfrySCVSZ13K9FsID4HZrXwyR81bHH1hMkJFfxq9yeMn/DRHmg5GtZBHxx0/FEEWwgm652g==}
'@tauri-apps/plugin-http@2.0.0-rc.2':
resolution: {integrity: sha512-s/AbbMaQPgqnIOoObvWNAjJOV17gyf9G+U6gmvjLoFbt7D6jsujOUW6fn+Oe/+rzNSEeo1ZSVrUoMen5DgM+OA==}
'@tauri-apps/plugin-notification@2.0.0-rc.1':
resolution: {integrity: sha512-ddDj7xM8XR7Zv2vdpofNXlLjcp49p/VjlL0D+/eBcMuyooaLNMor3jz/+H6s23iHerdxMWA50mzy26BRN1BySA==}
'@tauri-apps/plugin-os@2.0.0-rc.1':
resolution: {integrity: sha512-PV8zlSTmYfiN2xzILUmlDSEycS7UYbH2yXk/ZqF+qQU6/s+OVQvmSth4EhllFjcpvPbtqELvpzfjw+2qEouchA==}
'@tauri-apps/plugin-process@2.0.0-rc.1':
resolution: {integrity: sha512-Bl22xdoiu+AqEP6rzjb7DUJwdLDnejuRFukpkdrqF1/VEWJK5PuE903l+8mIOsd17zZ1Ua8y8WaBWnOXx4QHmw==}
'@tauri-apps/plugin-shell@2.0.0-rc.1':
resolution: {integrity: sha512-JtNROc0rqEwN/g93ig5pK4cl1vUo2yn+osCpY9de64cy/d9hRzof7AuYOgvt/Xcd5VPQmlgo2AGvUh5sQRSR1A==}
'@testing-library/dom@10.4.0':
resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
engines: {node: '>=18'}
@@ -782,7 +859,7 @@ packages:
engines: {node: '>= 10'}
concat-map@0.0.1:
resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
cross-env@7.0.3:
resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
@@ -1012,8 +1089,8 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
eslint-config-next@14.2.12:
resolution: {integrity: sha512-fzUIlF6Ng1cUFFd013wn9H3YhKe3vV/cZBC0Ec9S64q/wGoTq0HlASA7WgiOwDAISSbzkLprInLiIMu6U8bqEw==}
eslint-config-next@14.2.13:
resolution: {integrity: sha512-aro1EKAoyYchnO/3Tlo91hnNBO7QO7qnv/79MAFC+4Jq8TdUVKQlht5d2F+YjrePjdpOvfL+mV9JPfyYNwkk1g==}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
typescript: '>=3.3.1'
@@ -1630,8 +1707,8 @@ packages:
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
next@14.2.12:
resolution: {integrity: sha512-cDOtUSIeoOvt1skKNihdExWMTybx3exnvbFbb9ecZDIxlvIbREQzt9A5Km3Zn3PfU+IFjyYGsHS+lN9VInAGKA==}
next@14.2.13:
resolution: {integrity: sha512-BseY9YNw8QJSwLYD7hlZzl6QVDoSFHL/URN5K64kVEVpCsSOWeyjbIGK+dZUaRViHTaMQX8aqmnn0PHBbGZezg==}
engines: {node: '>=18.17.0'}
hasBin: true
peerDependencies:
@@ -2507,6 +2584,11 @@ snapshots:
'@humanwhocodes/object-schema@2.0.3': {}
'@icon-park/react@1.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@@ -2550,37 +2632,37 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
'@next/env@14.2.12': {}
'@next/env@14.2.13': {}
'@next/eslint-plugin-next@14.2.12':
'@next/eslint-plugin-next@14.2.13':
dependencies:
glob: 10.3.10
'@next/swc-darwin-arm64@14.2.12':
'@next/swc-darwin-arm64@14.2.13':
optional: true
'@next/swc-darwin-x64@14.2.12':
'@next/swc-darwin-x64@14.2.13':
optional: true
'@next/swc-linux-arm64-gnu@14.2.12':
'@next/swc-linux-arm64-gnu@14.2.13':
optional: true
'@next/swc-linux-arm64-musl@14.2.12':
'@next/swc-linux-arm64-musl@14.2.13':
optional: true
'@next/swc-linux-x64-gnu@14.2.12':
'@next/swc-linux-x64-gnu@14.2.13':
optional: true
'@next/swc-linux-x64-musl@14.2.12':
'@next/swc-linux-x64-musl@14.2.13':
optional: true
'@next/swc-win32-arm64-msvc@14.2.12':
'@next/swc-win32-arm64-msvc@14.2.13':
optional: true
'@next/swc-win32-ia32-msvc@14.2.12':
'@next/swc-win32-ia32-msvc@14.2.13':
optional: true
'@next/swc-win32-x64-msvc@14.2.12':
'@next/swc-win32-x64-msvc@14.2.13':
optional: true
'@nodelib/fs.scandir@2.1.5':
@@ -2613,50 +2695,86 @@ snapshots:
'@swc/counter': 0.1.3
tslib: 2.7.0
'@tauri-apps/api@1.6.0': {}
'@tauri-apps/api@2.0.0-rc.5': {}
'@tauri-apps/cli-darwin-arm64@1.6.2':
'@tauri-apps/cli-darwin-arm64@2.0.0-rc.16':
optional: true
'@tauri-apps/cli-darwin-x64@1.6.2':
'@tauri-apps/cli-darwin-x64@2.0.0-rc.16':
optional: true
'@tauri-apps/cli-linux-arm-gnueabihf@1.6.2':
'@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-rc.16':
optional: true
'@tauri-apps/cli-linux-arm64-gnu@1.6.2':
'@tauri-apps/cli-linux-arm64-gnu@2.0.0-rc.16':
optional: true
'@tauri-apps/cli-linux-arm64-musl@1.6.2':
'@tauri-apps/cli-linux-arm64-musl@2.0.0-rc.16':
optional: true
'@tauri-apps/cli-linux-x64-gnu@1.6.2':
'@tauri-apps/cli-linux-x64-gnu@2.0.0-rc.16':
optional: true
'@tauri-apps/cli-linux-x64-musl@1.6.2':
'@tauri-apps/cli-linux-x64-musl@2.0.0-rc.16':
optional: true
'@tauri-apps/cli-win32-arm64-msvc@1.6.2':
'@tauri-apps/cli-win32-arm64-msvc@2.0.0-rc.16':
optional: true
'@tauri-apps/cli-win32-ia32-msvc@1.6.2':
'@tauri-apps/cli-win32-ia32-msvc@2.0.0-rc.16':
optional: true
'@tauri-apps/cli-win32-x64-msvc@1.6.2':
'@tauri-apps/cli-win32-x64-msvc@2.0.0-rc.16':
optional: true
'@tauri-apps/cli@1.6.2':
'@tauri-apps/cli@2.0.0-rc.16':
optionalDependencies:
'@tauri-apps/cli-darwin-arm64': 1.6.2
'@tauri-apps/cli-darwin-x64': 1.6.2
'@tauri-apps/cli-linux-arm-gnueabihf': 1.6.2
'@tauri-apps/cli-linux-arm64-gnu': 1.6.2
'@tauri-apps/cli-linux-arm64-musl': 1.6.2
'@tauri-apps/cli-linux-x64-gnu': 1.6.2
'@tauri-apps/cli-linux-x64-musl': 1.6.2
'@tauri-apps/cli-win32-arm64-msvc': 1.6.2
'@tauri-apps/cli-win32-ia32-msvc': 1.6.2
'@tauri-apps/cli-win32-x64-msvc': 1.6.2
'@tauri-apps/cli-darwin-arm64': 2.0.0-rc.16
'@tauri-apps/cli-darwin-x64': 2.0.0-rc.16
'@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-rc.16
'@tauri-apps/cli-linux-arm64-gnu': 2.0.0-rc.16
'@tauri-apps/cli-linux-arm64-musl': 2.0.0-rc.16
'@tauri-apps/cli-linux-x64-gnu': 2.0.0-rc.16
'@tauri-apps/cli-linux-x64-musl': 2.0.0-rc.16
'@tauri-apps/cli-win32-arm64-msvc': 2.0.0-rc.16
'@tauri-apps/cli-win32-ia32-msvc': 2.0.0-rc.16
'@tauri-apps/cli-win32-x64-msvc': 2.0.0-rc.16
'@tauri-apps/plugin-clipboard-manager@2.0.0-rc.2':
dependencies:
'@tauri-apps/api': 2.0.0-rc.5
'@tauri-apps/plugin-dialog@2.0.0-rc.1':
dependencies:
'@tauri-apps/api': 2.0.0-rc.5
'@tauri-apps/plugin-fs@2.0.0-rc.2':
dependencies:
'@tauri-apps/api': 2.0.0-rc.5
'@tauri-apps/plugin-global-shortcut@2.0.0-rc.1':
dependencies:
'@tauri-apps/api': 2.0.0-rc.5
'@tauri-apps/plugin-http@2.0.0-rc.2':
dependencies:
'@tauri-apps/api': 2.0.0-rc.5
'@tauri-apps/plugin-notification@2.0.0-rc.1':
dependencies:
'@tauri-apps/api': 2.0.0-rc.5
'@tauri-apps/plugin-os@2.0.0-rc.1':
dependencies:
'@tauri-apps/api': 2.0.0-rc.5
'@tauri-apps/plugin-process@2.0.0-rc.1':
dependencies:
'@tauri-apps/api': 2.0.0-rc.5
'@tauri-apps/plugin-shell@2.0.0-rc.1':
dependencies:
'@tauri-apps/api': 2.0.0-rc.5
'@testing-library/dom@10.4.0':
dependencies:
@@ -3399,9 +3517,9 @@ snapshots:
escape-string-regexp@4.0.0: {}
eslint-config-next@14.2.12(eslint@8.57.1)(typescript@5.6.2):
eslint-config-next@14.2.13(eslint@8.57.1)(typescript@5.6.2):
dependencies:
'@next/eslint-plugin-next': 14.2.12
'@next/eslint-plugin-next': 14.2.13
'@rushstack/eslint-patch': 1.10.4
'@typescript-eslint/eslint-plugin': 8.6.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)
'@typescript-eslint/parser': 8.6.0(eslint@8.57.1)(typescript@5.6.2)
@@ -4127,9 +4245,9 @@ snapshots:
natural-compare@1.4.0: {}
next@14.2.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
next@14.2.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@next/env': 14.2.12
'@next/env': 14.2.13
'@swc/helpers': 0.5.5
busboy: 1.6.0
caniuse-lite: 1.0.30001662
@@ -4139,15 +4257,15 @@ snapshots:
react-dom: 18.3.1(react@18.3.1)
styled-jsx: 5.1.1(react@18.3.1)
optionalDependencies:
'@next/swc-darwin-arm64': 14.2.12
'@next/swc-darwin-x64': 14.2.12
'@next/swc-linux-arm64-gnu': 14.2.12
'@next/swc-linux-arm64-musl': 14.2.12
'@next/swc-linux-x64-gnu': 14.2.12
'@next/swc-linux-x64-musl': 14.2.12
'@next/swc-win32-arm64-msvc': 14.2.12
'@next/swc-win32-ia32-msvc': 14.2.12
'@next/swc-win32-x64-msvc': 14.2.12
'@next/swc-darwin-arm64': 14.2.13
'@next/swc-darwin-x64': 14.2.13
'@next/swc-linux-arm64-gnu': 14.2.13
'@next/swc-linux-arm64-musl': 14.2.13
'@next/swc-linux-x64-gnu': 14.2.13
'@next/swc-linux-x64-musl': 14.2.13
'@next/swc-win32-arm64-msvc': 14.2.13
'@next/swc-win32-ia32-msvc': 14.2.13
'@next/swc-win32-x64-msvc': 14.2.13
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros

2459
src-tauri/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -12,12 +12,23 @@ rust-version = "1.66"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[build-dependencies]
tauri-build = { version = "1.5", features = [] }
tauri-build = { version = "2.0.0-rc", features = [] }
[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = { version = "1.8", features = ["api-all"] }
tauri = { version = "2.0.0-rc", features = [
"tray-icon"
] }
window-vibrancy = "0.5.2"
tauri-plugin-process = "2.0.0-rc"
tauri-plugin-fs = "2.0.0-rc"
tauri-plugin-dialog = "2.0.0-rc"
tauri-plugin-os = "2.0.0-rc"
tauri-plugin-clipboard-manager = "2.0.0-alpha.2"
tauri-plugin-shell = "2.0.0-rc"
tauri-plugin-http = "2.0.0-rc"
tauri-plugin-notification = "2.0.0-rc"
[features]
# by default Tauri runs in production mode
@@ -26,3 +37,6 @@ default = [ "custom-protocol" ]
# this feature is used used for production builds where `devPath` points to the filesystem
# DO NOT remove this
custom-protocol = [ "tauri/custom-protocol" ]
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
tauri-plugin-global-shortcut = "2.0.0-rc"

View File

@@ -0,0 +1,5 @@
{
"identifier": "desktop-capability",
"platforms": ["macOS", "windows", "linux"],
"permissions": ["global-shortcut:default"]
}

View File

@@ -0,0 +1,84 @@
{
"identifier": "migrated",
"description": "permissions that were migrated from v1",
"local": true,
"windows": ["main"],
"permissions": [
"core:default",
"fs:allow-read-file",
"fs:allow-write-file",
"fs:allow-read-dir",
"fs:allow-copy-file",
"fs:allow-mkdir",
"fs:allow-remove",
"fs:allow-remove",
"fs:allow-rename",
"fs:allow-exists",
"core:window:allow-create",
"core:window:allow-center",
"core:window:allow-request-user-attention",
"core:window:allow-set-resizable",
"core:window:allow-set-maximizable",
"core:window:allow-set-minimizable",
"core:window:allow-set-closable",
"core:window:allow-set-title",
"core:window:allow-maximize",
"core:window:allow-unmaximize",
"core:window:allow-minimize",
"core:window:allow-unminimize",
"core:window:allow-show",
"core:window:allow-hide",
"core:window:allow-close",
"core:window:allow-set-decorations",
"core:window:allow-set-always-on-top",
"core:window:allow-set-content-protected",
"core:window:allow-set-size",
"core:window:allow-set-min-size",
"core:window:allow-set-max-size",
"core:window:allow-set-position",
"core:window:allow-set-fullscreen",
"core:window:allow-set-focus",
"core:window:allow-set-icon",
"core:window:allow-set-skip-taskbar",
"core:window:allow-set-cursor-grab",
"core:window:allow-set-cursor-visible",
"core:window:allow-set-cursor-icon",
"core:window:allow-set-cursor-position",
"core:window:allow-set-ignore-cursor-events",
"core:window:allow-start-dragging",
"core:webview:allow-print",
"shell:allow-execute",
"shell:allow-open",
"dialog:allow-open",
"dialog:allow-save",
"dialog:allow-message",
"dialog:allow-ask",
"dialog:allow-confirm",
"http:default",
"notification:default",
"global-shortcut:allow-is-registered",
"global-shortcut:allow-register",
"global-shortcut:allow-register-all",
"global-shortcut:allow-unregister",
"global-shortcut:allow-unregister-all",
"os:allow-platform",
"os:allow-version",
"os:allow-os-type",
"os:allow-family",
"os:allow-arch",
"os:allow-exe-extension",
"os:allow-locale",
"os:allow-hostname",
"process:allow-restart",
"process:allow-exit",
"clipboard-manager:allow-read-text",
"clipboard-manager:allow-write-text",
"core:app:allow-app-show",
"core:app:allow-app-hide",
"process:default",
"fs:default",
"dialog:default",
"os:default",
"clipboard-manager:default"
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,93 @@
{
"desktop-capability": {
"identifier": "desktop-capability",
"description": "",
"local": true,
"permissions": ["global-shortcut:default"],
"platforms": ["macOS", "windows", "linux"]
},
"migrated": {
"identifier": "migrated",
"description": "permissions that were migrated from v1",
"local": true,
"windows": ["main"],
"permissions": [
"core:default",
"fs:allow-read-file",
"fs:allow-write-file",
"fs:allow-read-dir",
"fs:allow-copy-file",
"fs:allow-mkdir",
"fs:allow-remove",
"fs:allow-remove",
"fs:allow-rename",
"fs:allow-exists",
"core:window:allow-create",
"core:window:allow-center",
"core:window:allow-request-user-attention",
"core:window:allow-set-resizable",
"core:window:allow-set-maximizable",
"core:window:allow-set-minimizable",
"core:window:allow-set-closable",
"core:window:allow-set-title",
"core:window:allow-maximize",
"core:window:allow-unmaximize",
"core:window:allow-minimize",
"core:window:allow-unminimize",
"core:window:allow-show",
"core:window:allow-hide",
"core:window:allow-close",
"core:window:allow-set-decorations",
"core:window:allow-set-always-on-top",
"core:window:allow-set-content-protected",
"core:window:allow-set-size",
"core:window:allow-set-min-size",
"core:window:allow-set-max-size",
"core:window:allow-set-position",
"core:window:allow-set-fullscreen",
"core:window:allow-set-focus",
"core:window:allow-set-icon",
"core:window:allow-set-skip-taskbar",
"core:window:allow-set-cursor-grab",
"core:window:allow-set-cursor-visible",
"core:window:allow-set-cursor-icon",
"core:window:allow-set-cursor-position",
"core:window:allow-set-ignore-cursor-events",
"core:window:allow-start-dragging",
"core:webview:allow-print",
"shell:allow-execute",
"shell:allow-open",
"dialog:allow-open",
"dialog:allow-save",
"dialog:allow-message",
"dialog:allow-ask",
"dialog:allow-confirm",
"http:default",
"notification:default",
"global-shortcut:allow-is-registered",
"global-shortcut:allow-register",
"global-shortcut:allow-register-all",
"global-shortcut:allow-unregister",
"global-shortcut:allow-unregister-all",
"os:allow-platform",
"os:allow-version",
"os:allow-os-type",
"os:allow-family",
"os:allow-arch",
"os:allow-exe-extension",
"os:allow-locale",
"os:allow-hostname",
"process:allow-restart",
"process:allow-exit",
"clipboard-manager:allow-read-text",
"clipboard-manager:allow-write-text",
"core:app:allow-app-show",
"core:app:allow-app-hide",
"process:default",
"fs:default",
"dialog:default",
"os:default",
"clipboard-manager:default"
]
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -53,5 +53,5 @@ pub fn set_auto_login_user(user: &str) -> String {
#[tauri::command]
pub fn check_file_exists(file: &str) -> bool {
std::path::Path::new(&file).exists()
std::path::Path::new(&file).exists()
}

View File

@@ -2,26 +2,20 @@
all(not(debug_assertions), target_os = "windows"),
windows_subsystem = "windows"
)]
use tauri::Manager;
use tauri::Manager;
// Window Vibrancy
#[cfg(target_os = "windows")]
use window_vibrancy::apply_mica;
#[cfg(target_os = "macos")]
use window_vibrancy::{apply_vibrancy, NSVisualEffectMaterial};
// System Tray
use tauri::{
menu::{MenuBuilder, MenuItemBuilder},
tray::{ClickType, TrayIconBuilder},
};
// Auto Start
use tauri_plugin_autostart::MacosLauncher;
// use tauri_plugin_autostart::ManagerExt;
use std::time::{SystemTime, UNIX_EPOCH};
// System Tray
#[cfg(desktop)]
mod tray;
// Local Modules
mod cmds;
mod steam;
@@ -39,109 +33,53 @@ fn on_button_clicked() -> String {
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_fs::init())
.plugin(tauri_plugin_os::init())
.plugin(tauri_plugin_autostart::init(
MacosLauncher::LaunchAgent,
Some(vec![]),
))
.plugin(tauri_plugin_process::init())
.plugin(tauri_plugin_dialog::init())
.plugin(tauri_plugin_store::Builder::default().build())
// .plugin(tauri_plugin_updater::Builder::new().build())
.invoke_handler(tauri::generate_handler![on_button_clicked])
.setup(|app| {
// Tray Menu
// let quit = CustomMenuItem::new("quit".to_string(), "Quit");
// let hide = CustomMenuItem::new("hide".to_string(), "Hide");
// let tray_menu = SystemTrayMenu::new() // insert the menu items here
// .add_item(hide)
// .add_item(quit);
// .add_native_item(SystemTrayMenuItem::Separator)
let toggle = MenuItemBuilder::with_id("toggle", "Toggle").build(app)?;
let menu = MenuBuilder::new(app).items(&[&toggle]).build()?;
.plugin(tauri_plugin_notification::init())
.plugin(tauri_plugin_http::init())
.plugin(tauri_plugin_shell::init())
.plugin(tauri_plugin_global_shortcut::Builder::new().build())
.plugin(tauri_plugin_clipboard_manager::init())
.plugin(tauri_plugin_fs::init())
.plugin(tauri_plugin_os::init())
.plugin(tauri_plugin_process::init())
.plugin(tauri_plugin_dialog::init())
// .plugin(tauri_plugin_store::Builder::default().build())
// .plugin(tauri_plugin_updater::Builder::new().build())
.invoke_handler(tauri::generate_handler![on_button_clicked])
.setup(|app| {
// Tray
#[cfg(all(desktop))]
{
let handle = app.handle();
tray::create_tray(handle)?;
}
// Setup Tray
// let tray = tauri::tray::TrayIconBuilder::with_id("my-tray").build(app)?;
let _ = TrayIconBuilder::new()
.menu(&menu)
.on_menu_event(move |_, event| {
match event.id().as_ref() {
"toggle" => {
println!("toggle clicked");
}
_ => (),
}
// match event {
// SystemTrayEvent::LeftClick { position: _, size: _, .. } => {
// let window = app.get_window("main").unwrap();
// window.show().unwrap();
// window.set_focus().unwrap();
// Get Window
let window = app.get_webview_window("main").unwrap();
// // thread::sleep(Duration::from_millis(100));
// // window.set_always_on_top(false).unwrap();
// println!("system tray received a left click");
// }
// SystemTrayEvent::RightClick { position: _, size: _, .. } => {
// // let window = app.get_window("main").unwrap();
// // window.hide().unwrap();
// println!("system tray received a right click");
// }
// SystemTrayEvent::DoubleClick { position: _, size: _, .. } => {
// println!("system tray received a double click");
// }
// SystemTrayEvent::MenuItemClick { id, .. } =>
// match id.as_str() {
// "quit" => {
// std::process::exit(0);
// }
// "hide" => {
// let window = app.get_window("main").unwrap();
// window.hide().unwrap();
// }
// _ => {}
// }
// _ => {}
// }
})
.on_tray_icon_event(|tray, event| {
if event.click_type == ClickType::Left {
let app = tray.app_handle();
if let Some(webview_window) = app.get_webview_window("main") {
let _ = webview_window.show();
let _ = webview_window.set_focus();
}
}
})
.build(app)
.unwrap();
// Vibrant Window
#[cfg(target_os = "macos")]
apply_vibrancy(&window, NSVisualEffectMaterial::HudWindow, None, Some(10.0))
.expect("Unsupported platform! 'apply_vibrancy' is only supported on macOS");
// Get Window
let window = app.get_webview_window("main").unwrap();
#[cfg(target_os = "windows")]
apply_mica(&window, Some(false))
.expect("Unsupported platform! 'apply_mica' is only supported on Windows");
// Vibrant Window
#[cfg(target_os = "macos")]
apply_vibrancy(&window, NSVisualEffectMaterial::HudWindow, None, Some(10.0))
.expect("Unsupported platform! 'apply_vibrancy' is only supported on macOS");
// apply_blur(&window, Some((18, 18, 18, 0)))
// .expect("Unsupported platform! 'apply_blur' is only supported on Windows");
#[cfg(target_os = "windows")]
apply_mica(&window, Some(false))
.expect("Unsupported platform! 'apply_mica' is only supported on Windows");
// apply_blur(&window, Some((18, 18, 18, 0)))
// .expect("Unsupported platform! 'apply_blur' is only supported on Windows");
Ok(())
})
.invoke_handler(tauri::generate_handler![
cmds::greet,
cmds::launch_game,
cmds::kill_game,
cmds::kill_steam,
cmds::get_steam_path,
cmds::set_auto_login_user,
cmds::check_file_exists
])
.run(tauri::generate_context!())
.expect("error while running tauri application");
Ok(())
})
.invoke_handler(tauri::generate_handler![
cmds::greet,
cmds::launch_game,
cmds::kill_game,
cmds::kill_steam,
cmds::get_steam_path,
cmds::set_auto_login_user,
cmds::check_file_exists,
on_button_clicked
])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}

View File

@@ -24,16 +24,16 @@ pub fn get_steam_path<'a>() -> Result<String, &'a str> {
}
pub fn get_cs_path<'a>(name: &str) -> Result<String, &'a str> {
if name != "csgo" || name != "cs2" {
return Err("invalid cs name");
}
if name != "csgo" || name != "cs2" {
return Err("invalid cs name");
}
#[cfg(target_os = "windows")]
if let Ok(cs_path) = get_exe_path(&(name.to_owned() + ".exe")) {
return Ok(cs_path);
}
#[cfg(target_os = "windows")]
if let Ok(cs_path) = get_exe_path(&(name.to_owned() + ".exe")) {
return Ok(cs_path);
}
Err("no cs path found")
Err("no cs path found")
}
#[cfg(test)]

104
src-tauri/src/tray.rs Normal file
View File

@@ -0,0 +1,104 @@
use tauri::{
menu::{Menu, MenuItem},
tray::{MouseButton, MouseButtonState, TrayIconBuilder, TrayIconEvent},
Manager, Runtime,
};
pub fn create_tray<R: Runtime>(app: &tauri::AppHandle<R>) -> tauri::Result<()> {
let quit_i = MenuItem::with_id(app, "quit", "Quit", true, None::<&str>)?;
let menu = Menu::with_items(app, &[&quit_i])?;
let _ = TrayIconBuilder::with_id("tray")
.icon(app.default_window_icon().unwrap().clone())
.menu(&menu)
.menu_on_left_click(false)
.on_menu_event(move |app, event| match event.id.as_ref() {
"quit" => {
app.exit(0);
}
// Add more events here
_ => {}
})
.on_tray_icon_event(|tray, event| {
if let TrayIconEvent::Click {
button: MouseButton::Left,
button_state: MouseButtonState::Up,
..
} = event
{
let app = tray.app_handle();
if let Some(window) = app.get_webview_window("main") {
let _ = window.show();
let _ = window.set_focus();
}
}
})
.build(app);
Ok(())
}
// Tray Menu
// let quit = CustomMenuItem::new("quit".to_string(), "Quit");
// let hide = CustomMenuItem::new("hide".to_string(), "Hide");
// let tray_menu = SystemTrayMenu::new() // insert the menu items here
// .add_item(hide)
// .add_item(quit);
// .add_native_item(SystemTrayMenuItem::Separator)
// let toggle = MenuItemBuilder::with_id("toggle", "Toggle").build(app)?;
// let menu = MenuBuilder::new(app).items(&[&toggle]).build()?;
// Setup Tray
// let tray = tauri::tray::TrayIconBuilder::with_id("my-tray").build(app)?;
// let _ = TrayIconBuilder::new()
// .menu(&menu)
// .on_menu_event(move |_, event| {
// match event.id().as_ref() {
// "toggle" => {
// println!("toggle clicked");
// }
// _ => (),
// }
// // match event {
// // SystemTrayEvent::LeftClick { position: _, size: _, .. } => {
// // let window = app.get_window("main").unwrap();
// // window.show().unwrap();
// // window.set_focus().unwrap();
// // // thread::sleep(Duration::from_millis(100));
// // // window.set_always_on_top(false).unwrap();
// // println!("system tray received a left click");
// // }
// // SystemTrayEvent::RightClick { position: _, size: _, .. } => {
// // // let window = app.get_window("main").unwrap();
// // // window.hide().unwrap();
// // println!("system tray received a right click");
// // }
// // SystemTrayEvent::DoubleClick { position: _, size: _, .. } => {
// // println!("system tray received a double click");
// // }
// // SystemTrayEvent::MenuItemClick { id, .. } =>
// // match id.as_str() {
// // "quit" => {
// // std::process::exit(0);
// // }
// // "hide" => {
// // let window = app.get_window("main").unwrap();
// // window.hide().unwrap();
// // }
// // _ => {}
// // }
// // _ => {}
// // }
// })
// .on_tray_icon_event(|tray, event| {
// if event.click_type == ClickType::Left {
// let app = tray.app_handle();
// if let Some(webview_window) = app.get_webview_window("main") {
// let _ = webview_window.show();
// let _ = webview_window.set_focus();
// }
// }
// })
// .build(app)
// .unwrap();

View File

@@ -3,56 +3,49 @@
"build": {
"beforeBuildCommand": "pnpm next-build",
"beforeDevCommand": "pnpm next-start",
"devPath": "http://localhost:3000",
"distDir": "../out"
"frontendDist": "../out",
"devUrl": "http://localhost:3000"
},
"package": {
"productName": "tauri-nextjs-template",
"version": "0.1.0"
},
"tauri": {
"allowlist": {
"all": true
"bundle": {
"active": true,
"category": "DeveloperTool",
"copyright": "",
"targets": "all",
"externalBin": [],
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
"windows": {
"certificateThumbprint": null,
"digestAlgorithm": "sha256",
"timestampUrl": ""
},
"bundle": {
"active": true,
"category": "DeveloperTool",
"copyright": "",
"longDescription": "",
"macOS": {
"entitlements": null,
"exceptionDomain": "",
"frameworks": [],
"providerShortName": null,
"signingIdentity": null
},
"resources": [],
"shortDescription": "",
"linux": {
"deb": {
"depends": []
},
"externalBin": [],
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
"identifier": "com.tauri.dev",
"longDescription": "",
"macOS": {
"entitlements": null,
"exceptionDomain": "",
"frameworks": [],
"providerShortName": null,
"signingIdentity": null
},
"resources": [],
"shortDescription": "",
"targets": "all",
"windows": {
"certificateThumbprint": null,
"digestAlgorithm": "sha256",
"timestampUrl": ""
}
},
"security": {
"csp": null
},
"updater": {
"active": false
},
}
},
"productName": "tauri-nextjs-template",
"mainBinaryName": "tauri-nextjs-template",
"version": "0.1.0",
"identifier": "com.tauri.dev",
"plugins": {},
"app": {
"windows": [
{
"fullscreen": false,
@@ -68,6 +61,9 @@
"hiddenTitle": true,
"titleBarStyle": "Overlay"
}
]
],
"security": {
"csp": null
}
}
}

View File

@@ -3,7 +3,7 @@ import {
isRegistered,
register,
unregister,
} from "@tauri-apps/api/globalShortcut"
} from "@tauri-apps/plugin-global-shortcut"
import { useEffect } from "react"
/**

View File

@@ -1,7 +1,7 @@
import { Card } from "@/components/Card"
import { CardButton } from "@/components/CardButton"
import { useGlobalShortcut } from "@/hooks/tauri/shortcuts"
import { invoke } from "@tauri-apps/api/tauri"
import { invoke } from "@tauri-apps/api/core"
import type { NextPage } from "next"
import Head from "next/head"
import Image from "next/image"

View File

@@ -8,6 +8,7 @@ body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu,
Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
background: transparent;
}
a {