From e21a51482af49c773d272f56da20ecf6ae4fcd5f Mon Sep 17 00:00:00 2001 From: DIKER0K Date: Sat, 5 Jul 2025 05:47:53 +0500 Subject: [PATCH] add: login page --- assets/fonts/benzin-bold.eot | 0 assets/fonts/benzin-bold.svg | 1745 ++++++++++++++++++++++++++++++++ assets/fonts/benzin-bold.ttf | Bin 0 -> 110752 bytes assets/fonts/benzin-bold.woff | 0 assets/fonts/benzin-bold.woff2 | Bin 0 -> 40412 bytes package-lock.json | 578 +++++++++-- package.json | 3 + src/main/main.ts | 1 + src/renderer/App.css | 69 +- src/renderer/App.tsx | 41 +- src/renderer/pages/Login.tsx | 339 +++++++ 11 files changed, 2627 insertions(+), 149 deletions(-) create mode 100644 assets/fonts/benzin-bold.eot create mode 100644 assets/fonts/benzin-bold.svg create mode 100644 assets/fonts/benzin-bold.ttf create mode 100644 assets/fonts/benzin-bold.woff create mode 100644 assets/fonts/benzin-bold.woff2 create mode 100644 src/renderer/pages/Login.tsx diff --git a/assets/fonts/benzin-bold.eot b/assets/fonts/benzin-bold.eot new file mode 100644 index 0000000..e69de29 diff --git a/assets/fonts/benzin-bold.svg b/assets/fonts/benzin-bold.svg new file mode 100644 index 0000000..44e5ff6 --- /dev/null +++ b/assets/fonts/benzin-bold.svg @@ -0,0 +1,1745 @@ + + + + + Created by font-carrier + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/fonts/benzin-bold.ttf b/assets/fonts/benzin-bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..286e17fcde629688adad7baf74d9f868cad89e72 GIT binary patch literal 110752 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

$cw0wE{vF(rJ3JS&rVdz+UZ12Of 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 R|J~(NPPOO1+uU6G{{Ys>L4E)L literal 0 HcmV?d00001 diff --git a/assets/fonts/benzin-bold.woff b/assets/fonts/benzin-bold.woff new file mode 100644 index 0000000..e69de29 diff --git a/assets/fonts/benzin-bold.woff2 b/assets/fonts/benzin-bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..12d45c76624f3db6b171279a20ad43d8035e7d1d GIT binary patch literal 40412 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 M;GjRN%wIc72t z1RwRf^LSnVs&0)Yqn_=${{Nlf1$g%E+uy9l?(zTkWW2!h`}g1EB|o8Ywwg`nGqVM< zObPjdRj=GPPBO1et@GDA~Ae(3%Kq->}ug3HIs-u$(2Fuzc#{58!Y z#HAPGbFvW#l{t_8`YC(*-vMY6|H$(UAdt`We~UoYc+h+=j5mGXEVEXo$?h0q&Jd(9 z%|ypN2mzK`XQhqKI&G8I+L)=WEbSJ93@>?j!EgJQ+Pf;-Wt(;I0cN@3n(I1x?X5{V z>!gcry6P@n551lin?Cw=E8gD#uT;u`1{-9EVTRfx!wAC{Wx4O(cxPY6$k2ci8j-_a z|B_LG0Dvc&QAI?J9eWNOIdSIF4?owA4Bb8S^eY474Gz&SH$(E_%Wo-_+gM;vJS|AD z5TU}LVPN5ei-2#7tq~AKib4{-rq=oY_D7Cq#jP^AI(m$lu}X*?C+=dC-Rw`a+~n9& zxt=F0am~p$%q@@IbiCD^O0f%22xEv-GN}t4UjJb=5EB znds=|W$%&;4y8KQ?o4zsd+M#PHT5rm_pBItlktKm$%?A!hH2T3>-j+##YvjwMOoEN z+x5dZ&C9y&$9dh)`~83L_RkJRPz)zXie^}j7eq-`R82Qb%XVDP55g!;(kw5^s&3k@ zAI523)@?t|>wezv7sa~Y%hG6R)2>5jI@jOtZGteNj_dhB7{y7N<&3XE)3=n>GBl;N zT|aELJMD#NF7N5`>iXvP?*7f&ckh?4d5ltNbOw`^z~*pynaGbILfdS&%Wfy^u+vGS z9W%jtryO$Ffz*lER0~tjVvD@@zuA^rZN`$GPlUaxA6XKU6nT=9lGLOnJsHW&x7#}& z;ILrB0m6j`9|1x{h>?IGNXyif#8#Juji=_u@l+vx64N)sncwXBheD{SgGyeAqvWcc z^yV0|+?D;+)psKQv$)0yS*OKezN!1542P<27{vi~F(BLqzFV*Ha;WN;*Ljy~nYsYN zKHd)kUF$y=H0(z~pkZSQkQ5iJ_(Xf0aD49U;}2B?YG2AYpx1pQMxA0HX`e72RJyA{#EuUgk)+wD+0=y}>Qhua$KeVoqtZ2g-5y11=B)>Q+48WifG>LjP4u8M)^ z!7y9SbCur7Z;rZ!ve9vUraxHlqNX(+q<&=mq3Nbt51)8%haY%cM1V(li6-(F-N!_G zdCQ;ASM4uUo>!=>RB8$}Q0+Bp{NoZVBZ^^?^0#%}-{O3hwXdX3Em?sydCb z3R)OeQkGjHlW=Wbu#$K^l_gP78{i@uh2vD=st6T9MN~y9q8i}ojlwA^s)E@l0;eLV zB2`f;nu?-eOon6Ml}f1G+yhmFf|-tb4@M%jMIs}FIK6d!ZXLiq1^g^YZs0yNlyVsK zza;ddTw|00|LBW-+B^b1UIucg_wWeE&?22;%0olId#sGY(}m^UZTM5$BI=S zApaIaHv9QeR5;=b>J=v+Cif;oWw{zqo-zZ%3s51&;|Pk)PmjHL#)#aTE87~seDEX= cj5KjHhFAxk0u7J(xY6JdFu*!yoM!^C=z`Q$K>z>% literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json index 504a3c1..da16c7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,9 @@ "license": "MIT", "dependencies": { "@electron/notarize": "^3.0.0", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", + "@mui/material": "^7.2.0", "electron-debug": "^4.1.0", "electron-log": "^5.3.2", "electron-updater": "^6.3.9", @@ -107,7 +110,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", - "dev": true, "license": "MIT", "dependencies": { "@babel/highlight": "^7.24.7", @@ -172,7 +174,6 @@ "version": "7.25.6", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", - "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.25.6", @@ -333,7 +334,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", - "dev": true, "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.7", @@ -453,7 +453,6 @@ "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -463,7 +462,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -512,7 +510,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.24.7", @@ -528,7 +525,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^1.9.0" @@ -541,7 +537,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", @@ -556,7 +551,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "license": "MIT", "dependencies": { "color-name": "1.1.3" @@ -566,14 +560,12 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, "license": "MIT" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8.0" @@ -583,7 +575,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -593,7 +584,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^3.0.0" @@ -606,7 +596,6 @@ "version": "7.25.6", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", - "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.25.6" @@ -2124,14 +2113,10 @@ "license": "MIT" }, "node_modules/@babel/runtime": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", - "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", - "dev": true, + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { "node": ">=6.9.0" } @@ -2140,7 +2125,6 @@ "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", - "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", @@ -2155,7 +2139,6 @@ "version": "7.25.6", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", - "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", @@ -2174,7 +2157,6 @@ "version": "7.25.6", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.24.8", @@ -2541,6 +2523,167 @@ "node": ">=14.14" } }, + "node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", + "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "license": "MIT" + }, + "node_modules/@emotion/react": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", + "license": "MIT" + }, + "node_modules/@emotion/styled": { + "version": "11.14.1", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz", + "integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "license": "MIT" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", + "license": "MIT" + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -3284,7 +3427,6 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", @@ -3299,7 +3441,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -3309,7 +3450,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -3330,14 +3470,12 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -3470,6 +3608,225 @@ "dev": true, "license": "CC0-1.0" }, + "node_modules/@mui/core-downloads-tracker": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.2.0.tgz", + "integrity": "sha512-d49s7kEgI5iX40xb2YPazANvo7Bx0BLg/MNRwv+7BVpZUzXj1DaVCKlQTDex3gy/0jsCb4w7AY2uH4t4AJvSog==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + } + }, + "node_modules/@mui/material": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.2.0.tgz", + "integrity": "sha512-NTuyFNen5Z2QY+I242MDZzXnFIVIR6ERxo7vntFi9K1wCgSwvIl0HcAO2OOydKqqKApE6omRiYhpny1ZhGuH7Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.27.6", + "@mui/core-downloads-tracker": "^7.2.0", + "@mui/system": "^7.2.0", + "@mui/types": "^7.4.4", + "@mui/utils": "^7.2.0", + "@popperjs/core": "^2.11.8", + "@types/react-transition-group": "^4.4.12", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "prop-types": "^15.8.1", + "react-is": "^19.1.0", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@mui/material-pigment-css": "^7.2.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@mui/material-pigment-css": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material/node_modules/react-is": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.1.0.tgz", + "integrity": "sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==", + "license": "MIT" + }, + "node_modules/@mui/private-theming": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-7.2.0.tgz", + "integrity": "sha512-y6N1Yt3T5RMxVFnCh6+zeSWBuQdNDm5/UlM0EAYZzZR/1u+XKJWYQmbpx4e+F+1EpkYi3Nk8KhPiQDi83M3zIw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.27.6", + "@mui/utils": "^7.2.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-7.2.0.tgz", + "integrity": "sha512-yq08xynbrNYcB1nBcW9Fn8/h/iniM3ewRguGJXPIAbHvxEF7Pz95kbEEOAAhwzxMX4okhzvHmk0DFuC5ayvgIQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.27.6", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/sheet": "^1.4.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.2.0.tgz", + "integrity": "sha512-PG7cm/WluU6RAs+gNND2R9vDwNh+ERWxPkqTaiXQJGIFAyJ+VxhyKfzpdZNk0z0XdmBxxi9KhFOpgxjehf/O0A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.27.6", + "@mui/private-theming": "^7.2.0", + "@mui/styled-engine": "^7.2.0", + "@mui/types": "^7.4.4", + "@mui/utils": "^7.2.0", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.4.tgz", + "integrity": "sha512-p63yhbX52MO/ajXC7hDHJA5yjzJekvWD3q4YDLl1rSg+OXLczMYPvTuSuviPRCgRX8+E42RXz1D/dz9SxPSlWg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.27.6" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.2.0.tgz", + "integrity": "sha512-O0i1GQL6MDzhKdy9iAu5Yr0Sz1wZjROH1o3aoztuivdCXqEeQYnEjTDiRLGuFxI9zrUbTHBwobMyQH5sNtyacw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.27.6", + "@mui/types": "^7.4.4", + "@types/prop-types": "^15.7.15", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "react-is": "^19.1.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils/node_modules/react-is": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.1.0.tgz", + "integrity": "sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==", + "license": "MIT" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3714,6 +4071,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -4630,6 +4997,12 @@ "@types/node": "*" } }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, "node_modules/@types/plist": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.5.tgz", @@ -4642,6 +5015,12 @@ "xmlbuilder": ">=11.0.1" } }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "license": "MIT" + }, "node_modules/@types/qs": { "version": "6.9.15", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", @@ -4660,7 +5039,6 @@ "version": "19.0.11", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.11.tgz", "integrity": "sha512-vrdxRZfo9ALXth6yPfV16PYTLZwsUWhVjjC+DkfE5t1suNSbBrWC9YqSuuxJZ8Ps6z1o2ycRpIqzZJIgklq4Tw==", - "dev": true, "license": "MIT", "dependencies": { "csstype": "^3.0.2" @@ -4686,6 +5064,15 @@ "@types/react": "*" } }, + "node_modules/@types/react-transition-group": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + } + }, "node_modules/@types/responselike": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", @@ -6194,6 +6581,37 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.11", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", @@ -6921,7 +7339,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -7230,6 +7647,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -8038,7 +8464,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, "license": "MIT" }, "node_modules/damerau-levenshtein": { @@ -8559,6 +8984,16 @@ "utila": "~0.4" } }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, "node_modules/dom-serializer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", @@ -9051,7 +9486,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" @@ -9277,7 +9711,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -11240,7 +11673,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true, "license": "MIT" }, "node_modules/find-up": { @@ -11472,7 +11904,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11735,7 +12166,6 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -11963,7 +12393,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -11982,6 +12411,21 @@ "he": "bin/he" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -12457,7 +12901,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "license": "MIT", "dependencies": { "parent-module": "^1.0.0", @@ -12630,7 +13073,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, "license": "MIT" }, "node_modules/is-async-function": { @@ -12739,7 +13181,6 @@ "version": "2.15.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", - "dev": true, "license": "MIT", "dependencies": { "hasown": "^2.0.2" @@ -14332,7 +14773,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, "license": "MIT" }, "node_modules/js-yaml": { @@ -14404,7 +14844,6 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, "license": "MIT", "bin": { "jsesc": "bin/jsesc" @@ -14424,7 +14863,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { @@ -14731,7 +15169,6 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, "license": "MIT" }, "node_modules/loader-runner": { @@ -14882,7 +15319,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -15641,7 +16077,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -16029,7 +16464,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "license": "MIT", "dependencies": { "callsites": "^3.0.0" @@ -16042,7 +16476,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", @@ -16125,7 +16558,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, "license": "MIT" }, "node_modules/path-scurry": { @@ -16173,7 +16605,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -16205,7 +16636,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { @@ -17045,7 +17475,6 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", @@ -17057,7 +17486,6 @@ "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, "license": "MIT" }, "node_modules/proxy-addr": { @@ -17345,6 +17773,22 @@ "dev": true, "license": "MIT" }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, "node_modules/read-binary-file-arch": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", @@ -17481,13 +17925,6 @@ "node": ">=4" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true, - "license": "MIT" - }, "node_modules/regenerator-transform": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", @@ -17639,7 +18076,6 @@ "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", @@ -17687,7 +18123,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -19257,6 +19692,12 @@ "postcss": "^8.4.31" } }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "license": "MIT" + }, "node_modules/sumchecker": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", @@ -19287,7 +19728,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -19740,7 +20180,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -21314,6 +21753,15 @@ "dev": true, "license": "ISC" }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", diff --git a/package.json b/package.json index fb7c68f..2e5c0ee 100644 --- a/package.json +++ b/package.json @@ -102,6 +102,9 @@ }, "dependencies": { "@electron/notarize": "^3.0.0", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", + "@mui/material": "^7.2.0", "electron-debug": "^4.1.0", "electron-log": "^5.3.2", "electron-updater": "^6.3.9", diff --git a/src/main/main.ts b/src/main/main.ts index c38b930..81e492b 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -75,6 +75,7 @@ const createWindow = async () => { height: 728, icon: getAssetPath('icon.png'), webPreferences: { + webSecurity: false, preload: app.isPackaged ? path.join(__dirname, 'preload.js') : path.join(__dirname, '../../.erb/dll/preload.js'), diff --git a/src/renderer/App.css b/src/renderer/App.css index 616d9a4..735630a 100644 --- a/src/renderer/App.css +++ b/src/renderer/App.css @@ -1,62 +1,41 @@ -/* - * @NOTE: Prepend a `~` to css file paths that are in your node_modules - * See https://github.com/webpack-contrib/sass-loader#imports - */ +@font-face { + font-family: 'Benzin-Bold'; + src: url('../../assets/fonts/benzin-bold.eot'); /* IE 9 Compatibility Mode */ + src: + url('../../assets/fonts/benzin-bold.eot?#iefix') format('embedded-opentype'), + /* IE < 9 */ url('../../assets/fonts/benzin-bold.woff2') format('woff2'), + /* Super Modern Browsers */ url('../../assets/fonts/benzin-bold.woff') + format('woff'), + /* Firefox >= 3.6, any other modern browser */ + url('../../assets/fonts/benzin-bold.ttf') format('truetype'), + /* Safari, Android, iOS */ + url('../../assets/fonts/benzin-bold.svg#benzin-bold') format('svg'); /* Chrome < 4, Legacy iOS */ +} + body { position: relative; color: white; height: 100vh; - background: linear-gradient( - 200.96deg, - #fedc2a -29.09%, - #dd5789 51.77%, - #7a2c9e 129.35% - ); - font-family: sans-serif; + background: linear-gradient(200.96deg, #000000, #3b4187); + font-family: 'Benzin-Bold' !important; overflow-y: hidden; display: flex; justify-content: center; align-items: center; } -button { - background-color: white; - padding: 10px 20px; - border-radius: 10px; - border: none; - appearance: none; - font-size: 1.3rem; - box-shadow: 0px 8px 28px -6px rgba(24, 39, 75, 0.12), - 0px 18px 88px -4px rgba(24, 39, 75, 0.14); - transition: all ease-in 0.1s; - cursor: pointer; - opacity: 0.9; +p { + font-family: 'Benzin-Bold' !important; } -button:hover { - transform: scale(1.05); - opacity: 1; +h1 { + font-family: 'Benzin-Bold' !important; } -li { - list-style: none; +h2 { + font-family: 'Benzin-Bold' !important; } -a { - text-decoration: none; - height: fit-content; - width: fit-content; - margin: 10px; -} - -a:hover { - opacity: 1; - text-decoration: none; -} - -.Hello { - display: flex; - justify-content: center; - align-items: center; - margin: 20px 0; +h3 { + font-family: 'Benzin-Bold' !important; } diff --git a/src/renderer/App.tsx b/src/renderer/App.tsx index 2d097c1..181977a 100644 --- a/src/renderer/App.tsx +++ b/src/renderer/App.tsx @@ -1,49 +1,12 @@ import { MemoryRouter as Router, Routes, Route } from 'react-router-dom'; -import icon from '../../assets/icon.svg'; +import Login from './pages/Login'; import './App.css'; -function Hello() { - return ( -

- ); -} - export default function App() { return ( - } /> + } /> ); diff --git a/src/renderer/pages/Login.tsx b/src/renderer/pages/Login.tsx new file mode 100644 index 0000000..db56926 --- /dev/null +++ b/src/renderer/pages/Login.tsx @@ -0,0 +1,339 @@ +import { Box, Button, Slider, TextField, Typography } from '@mui/material'; +import { useEffect, useState } from 'react'; + +export default function Login() { + const [config, setConfig] = useState({ + username: '', + password: '', + memory: 4096, + comfortVersion: '', + accessToken: '', + clientToken: '', + }); + const [status, setStatus] = useState(''); + + const loadInitialConfig = () => { + try { + const savedConfig = localStorage.getItem('launcher_config'); + if (savedConfig) { + return JSON.parse(savedConfig); + } + } catch (error) { + console.log('Ошибка Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:', error); + } + // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ + return { + username: '', + password: '', + memory: 4096, + comfortVersion: '', + accessToken: '', + clientToken: '', + }; + }; + + useEffect(() => { + const savedConfig = loadInitialConfig(); + setConfig(savedConfig); + }, []); + + const handleInputChange = (e) => { + const { name, value } = e.target; + setConfig((prev) => ({ ...prev, [name]: value })); + }; + + const saveConfig = ( + username, + memory, + accessToken = '', + clientToken = '', + comfortVersion = '', + password = '', + ) => { + try { + const newConfig = { + username, + memory, + accessToken: accessToken || config.accessToken, + clientToken: clientToken || config.clientToken, + comfortVersion: comfortVersion || config.comfortVersion, + password: password || config.password, + }; + setConfig(newConfig); + localStorage.setItem('launcher_config', JSON.stringify(newConfig)); + } catch (error) { + console.log(`Ошибка ΠΏΡ€ΠΈ сохранСнии ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ: ${error.message}`); + } + }; + + const loadConfig = () => { + try { + const savedConfig = localStorage.getItem('launcher_config'); + if (savedConfig) { + const parsedConfig = JSON.parse(savedConfig); + setConfig(parsedConfig); + return parsedConfig; + } + } catch (error) { + console.log(`Ошибка ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ: ${error.message}`); + } + return config; + }; + + const refreshSession = async (accessToken, clientToken) => { + try { + const refreshData = { + accessToken: accessToken, + clientToken: clientToken, + }; + + const response = await fetch('https://authserver.ely.by/auth/refresh', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(refreshData), + }); + + if (response.ok) { + const data = await response.json(); + const newAccessToken = data.accessToken; + const profile = data.selectedProfile; + const uuid = profile.id; + const name = profile.name; + + if (newAccessToken && uuid && name) { + saveConfig( + config.username, + config.memory, + newAccessToken, + clientToken, + ); + return { + accessToken: newAccessToken, + uuid: uuid, + username: name, + clientToken: clientToken, + }; + } + } + return null; + } catch (error) { + console.log(`Ошибка ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ сСссии: ${error.message}`); + return null; + } + }; + + const authenticateWithElyBy = async (username, password) => { + try { + const clientToken = crypto.randomUUID(); + const authData = { + username: username, + password: password, + clientToken: clientToken, + requestUser: true, + }; + + console.log(`АутСнтификация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ${username} Π½Π° Ely.by...`); + + const response = await fetch( + 'https://authserver.ely.by/auth/authenticate', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(authData), + }, + ); + + const responseData = await response.json(); + if (response.ok) { + const accessToken = responseData.accessToken; + const profile = responseData.selectedProfile; + const uuid = profile.id; + const name = profile.name; + + if (accessToken && uuid && name) { + saveConfig( + username, + config.memory, + accessToken, + clientToken, + '', + password, + ); + console.log(`АутСнтификация ΡƒΡΠΏΠ΅ΡˆΠ½Π°: UUID=${uuid}, Username=${name}`); + + return { + accessToken: accessToken, + uuid: uuid, + username: name, + clientToken: clientToken, + }; + } + } else { + if (responseData.error === 'Account protected with two factor auth') { + const totpToken = prompt( + 'Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ Π΄Π²ΡƒΡ…Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ:', + '', + ); + + if (totpToken) { + authData.password = `${password}:${totpToken}`; + const totpResponse = await fetch( + 'https://authserver.ely.by/auth/authenticate', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(authData), + }, + ); + if (totpResponse.ok) { + const totpData = await totpResponse.json(); + const newAccessToken = totpData.accessToken; + const newProfile = totpData.selectedProfile; + const newUuid = newProfile.id; + const newName = newProfile.name; + + if (newAccessToken && newUuid && newName) { + saveConfig( + username, + config.memory, + newAccessToken, + clientToken, + '', + password, + ); + return { + accessToken: newAccessToken, + uuid: newUuid, + username: newName, + clientToken: clientToken, + }; + } + } + } + } + + throw new Error(responseData.error || 'Ошибка Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ'); + } + } catch (error) { + console.log(`Ошибка Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ: ${error.message}`); + return null; + } + }; + + const authorization = async () => { + console.log('НачинаСм процСсс Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ...'); + + if (!config.username.trim()) { + console.log('Ошибка: Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ Π½ΠΈΠΊΠ½Π΅ΠΉΠΌ'); + alert('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΈΠΊΠ½Π΅ΠΉΠΌ!'); + return; + } + + try { + // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Π΅ΡΡ‚ΡŒ Π»ΠΈ сохранённый Ρ‚ΠΎΠΊΠ΅Π½ + if (config.accessToken && config.clientToken) { + console.log('ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° валидности ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°...'); + const isValid = await validateSession(config.accessToken); + + if (!isValid) { + console.log('Π’ΠΎΠΊΠ΅Π½ нСдСйствитСлСн, пытаСмся ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ...'); + const refreshedSession = await refreshSession( + config.accessToken, + config.clientToken, + ); + + if (!refreshedSession) { + console.log( + 'НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½, трСбуСтся новая авторизация', + ); + const newSession = await authenticateWithElyBy( + config.username, + config.password, + ); + if (!newSession) { + console.log('Авторизация Π½Π΅ ΡƒΠ΄Π°Π»Π°ΡΡŒ'); + return; + } + } + } else { + console.log('Π’ΠΎΠΊΠ΅Π½ дСйствитСлСн'); + } + } else { + console.log('Π’ΠΎΠΊΠ΅Π½ отсутствуСт, выполняСм Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ...'); + const session = await authenticateWithElyBy( + config.username, + config.password, + ); + if (!session) { + console.log('Авторизация Π½Π΅ ΡƒΠ΄Π°Π»Π°ΡΡŒ'); + return; + } + } + + console.log('Авторизация ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°'); + // Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ для запуска ΠΈΠ³Ρ€Ρ‹ + } catch (error) { + console.log(`ΠžΠ¨Π˜Π‘ΠšΠ ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ: ${error.message}`); + } + }; + + return ( + + + POPA + - + + POPA + + + + + + + + + + ); +}