Compare commits
1014 Commits
cli-v0.2.2
...
auth-v4.1.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c074ee0780 | ||
|
|
e7b97c2407 | ||
|
|
7bc2ecb3e8 | ||
|
|
b12ecea496 | ||
|
|
746046ac11 | ||
|
|
3c5f6dd510 | ||
|
|
2515ad0640 | ||
|
|
510f94fc51 | ||
|
|
fb7f64bd35 | ||
|
|
f3bfc8525b | ||
|
|
c6fd49bff5 | ||
|
|
0fca6728cd | ||
|
|
8f0efb41fe | ||
|
|
8272703a21 | ||
|
|
8f0ec55e54 | ||
|
|
ebe0292cb4 | ||
|
|
132e509589 | ||
|
|
ba8ccbf065 | ||
|
|
f5512d3cd8 | ||
|
|
3b0544d779 | ||
|
|
a370188504 | ||
|
|
07b1709308 | ||
|
|
4e5c99aafe | ||
|
|
fdf0e3f0ad | ||
|
|
98bfb8b5f5 | ||
|
|
cd6c3d9158 | ||
|
|
6533883eaa | ||
|
|
6fe4201eb8 | ||
|
|
09f76599b2 | ||
|
|
04a8bd6209 | ||
|
|
3d3ee1bb6f | ||
|
|
af82ef194d | ||
|
|
1ddd143b2e | ||
|
|
1ec67c6baf | ||
|
|
80146522ad | ||
|
|
3dd136bdf3 | ||
|
|
f69832ea16 | ||
|
|
e55181a9be | ||
|
|
8f43f27fcf | ||
|
|
916b56fa65 | ||
|
|
c211a829f8 | ||
|
|
89b90c9332 | ||
|
|
7c2b8422a8 | ||
|
|
2daca31499 | ||
|
|
886a0ddb25 | ||
|
|
9e2a70e469 | ||
|
|
e668c86185 | ||
|
|
2bda469176 | ||
|
|
91ddce1425 | ||
|
|
5c6784c549 | ||
|
|
01f1172382 | ||
|
|
87ac2360eb | ||
|
|
31b50852b6 | ||
|
|
c506eec544 | ||
|
|
938679922c | ||
|
|
1aac1ae3c3 | ||
|
|
a3586fed7e | ||
|
|
097b90eeda | ||
|
|
83adb94fc9 | ||
|
|
e6cbd75a52 | ||
|
|
02c9f9f615 | ||
|
|
453c825cc6 | ||
|
|
ea19cd08c6 | ||
|
|
4a3260f627 | ||
|
|
0271e53c26 | ||
|
|
1b772b644a | ||
|
|
2bde3fb0d7 | ||
|
|
db5049b801 | ||
|
|
32cd241982 | ||
|
|
0338313f73 | ||
|
|
0f93c48e10 | ||
|
|
dbfb5e5da3 | ||
|
|
5209562bba | ||
|
|
69d4e632f4 | ||
|
|
b5be13df2c | ||
|
|
ebcabe5bfe | ||
|
|
41cdb73382 | ||
|
|
da71a34f75 | ||
|
|
2bdf85403b | ||
|
|
56b72bd55b | ||
|
|
dbeb95d438 | ||
|
|
143d346ed4 | ||
|
|
29b2bd577c | ||
|
|
55044b1818 | ||
|
|
538967bda0 | ||
|
|
f848f64dc5 | ||
|
|
8b07db8a73 | ||
|
|
f7aaa7a2c8 | ||
|
|
4536486daa | ||
|
|
dee8f8af6c | ||
|
|
cbf48df272 | ||
|
|
cda9f17bcb | ||
|
|
28d6a525db | ||
|
|
27c7221483 | ||
|
|
e2636edbb9 | ||
|
|
3a3f9fbd94 | ||
|
|
e204450f2a | ||
|
|
05f5c7f439 | ||
|
|
641a73c101 | ||
|
|
bd33bec3e6 | ||
|
|
68c230dae9 | ||
|
|
a2b9126c88 | ||
|
|
07600c6018 | ||
|
|
0024ee5b77 | ||
|
|
d5d97d3d6e | ||
|
|
e3e9febeb3 | ||
|
|
ed5c4dfc7e | ||
|
|
43d47f1c4c | ||
|
|
ebbca2b609 | ||
|
|
ebd550505f | ||
|
|
24b9e629c1 | ||
|
|
a261d1b3a2 | ||
|
|
17bcf21216 | ||
|
|
49f8f0aadd | ||
|
|
6304af0b31 | ||
|
|
ed2ad06515 | ||
|
|
daee8fb4f6 | ||
|
|
9b8851e007 | ||
|
|
c120ab0596 | ||
|
|
038f776dec | ||
|
|
77844f802c | ||
|
|
9401c9f0e1 | ||
|
|
cdb00ed06b | ||
|
|
05b88bb831 | ||
|
|
34bce7c1d3 | ||
|
|
78871e2843 | ||
|
|
7c3ff50b7f | ||
|
|
c4ad530bc1 | ||
|
|
7acb76fda8 | ||
|
|
c37f6d2904 | ||
|
|
e7a5f51a37 | ||
|
|
f42ae367dc | ||
|
|
4f86ca9415 | ||
|
|
47b668a82a | ||
|
|
72d09bec50 | ||
|
|
9de634ab8b | ||
|
|
58887ce044 | ||
|
|
ad4b5832ca | ||
|
|
8ba65c599a | ||
|
|
665609d2b3 | ||
|
|
60f5d91f45 | ||
|
|
54d791e723 | ||
|
|
e719cde4e3 | ||
|
|
01d182a496 | ||
|
|
20308e99e9 | ||
|
|
2bc1ce9f92 | ||
|
|
b69b6fc6a7 | ||
|
|
b5843cdf60 | ||
|
|
73d71834b9 | ||
|
|
95905a4187 | ||
|
|
1aae178179 | ||
|
|
0e6705f8e1 | ||
|
|
8cf87acb7b | ||
|
|
f1ba5cfc43 | ||
|
|
f9fb65db41 | ||
|
|
5abd6468c7 | ||
|
|
fb3c845759 | ||
|
|
f6eeb6abce | ||
|
|
c577ccd7e4 | ||
|
|
ddd13a88be | ||
|
|
392ec34f25 | ||
|
|
e0ffde3f25 | ||
|
|
102929a5d6 | ||
|
|
c94feb0e40 | ||
|
|
93986461dd | ||
|
|
4ce2d0a1e2 | ||
|
|
d4479a1a66 | ||
|
|
0f3e490699 | ||
|
|
8a7e11e4af | ||
|
|
27d5ef2bc0 | ||
|
|
8d2288fbb4 | ||
|
|
39252122ef | ||
|
|
3c3c66ee8b | ||
|
|
fe59e0ae65 | ||
|
|
184323429a | ||
|
|
80710d29c4 | ||
|
|
057bd3a4d2 | ||
|
|
708109f5e4 | ||
|
|
120053f61d | ||
|
|
e645081b12 | ||
|
|
ba314455e2 | ||
|
|
a5480025e9 | ||
|
|
e9923fbf44 | ||
|
|
916ae34bac | ||
|
|
dfc6358314 | ||
|
|
ce61965ed6 | ||
|
|
9f9567817d | ||
|
|
f2210fbbae | ||
|
|
0c3909b2d3 | ||
|
|
eb949bcad9 | ||
|
|
a1f0c1024b | ||
|
|
3d0cc31816 | ||
|
|
65a2b5aeeb | ||
|
|
d8706580c3 | ||
|
|
548724ae0a | ||
|
|
54b4c01f51 | ||
|
|
86f859aaca | ||
|
|
f749f9de65 | ||
|
|
805dfdc825 | ||
|
|
cce3063cf1 | ||
|
|
2910a8ac39 | ||
|
|
dbf877b9bb | ||
|
|
cfae8523a1 | ||
|
|
b8981be2e6 | ||
|
|
cbc2a8f63c | ||
|
|
f1ca5ccbd0 | ||
|
|
3d6106c1c1 | ||
|
|
fcfc6972d1 | ||
|
|
0c820a6ec4 | ||
|
|
1ed03c5942 | ||
|
|
fab883c49a | ||
|
|
822aa7fcd4 | ||
|
|
bd53eaec28 | ||
|
|
c2380de406 | ||
|
|
3d8bdb751c | ||
|
|
4a495e5806 | ||
|
|
5d99a7c757 | ||
|
|
ff218c3e4d | ||
|
|
4b99b1c20c | ||
|
|
e747494ef1 | ||
|
|
fc114c7d92 | ||
|
|
3e94ea8f81 | ||
|
|
b7c81656a3 | ||
|
|
b3d2846b2f | ||
|
|
0794f570a8 | ||
|
|
604c4462fe | ||
|
|
4c222f2cd7 | ||
|
|
c96b510997 | ||
|
|
f2e3daaa12 | ||
|
|
6f03b72bf2 | ||
|
|
217c749970 | ||
|
|
67cd42fd23 | ||
|
|
57d6fb3bc9 | ||
|
|
8d00796a32 | ||
|
|
df19e12ab8 | ||
|
|
5461bd112f | ||
|
|
bbd5aa6b3e | ||
|
|
a52afe509c | ||
|
|
e5dee17127 | ||
|
|
55fdcc8446 | ||
|
|
d4cae11a9b | ||
|
|
3b84f76de8 | ||
|
|
61bc7c95b2 | ||
|
|
4c12fb15b1 | ||
|
|
b9c63426fc | ||
|
|
306978291b | ||
|
|
2421d69fd0 | ||
|
|
b0674cd5f3 | ||
|
|
13053decf0 | ||
|
|
36ed4464c1 | ||
|
|
f20672e4e2 | ||
|
|
799229531c | ||
|
|
015790874e | ||
|
|
908a55bb20 | ||
|
|
81ea2b8059 | ||
|
|
73fcd25d22 | ||
|
|
8628597450 | ||
|
|
8e28498b9b | ||
|
|
0b5f9a4b18 | ||
|
|
7fd708bec7 | ||
|
|
03f5b78872 | ||
|
|
d641b21edf | ||
|
|
8a4df07082 | ||
|
|
b174d5f725 | ||
|
|
d9256eaf95 | ||
|
|
7727ed8b6e | ||
|
|
fab7ecb980 | ||
|
|
5dfd3f3540 | ||
|
|
9ac9842e53 | ||
|
|
52a98c4973 | ||
|
|
5de432839f | ||
|
|
c0e93244f0 | ||
|
|
dc07bd9c74 | ||
|
|
c6bdd4bd8f | ||
|
|
a594e4fa83 | ||
|
|
76b50fab68 | ||
|
|
f6bc2a58e5 | ||
|
|
15ae4a47a6 | ||
|
|
b43b01433f | ||
|
|
423ef09aa0 | ||
|
|
f79cc7cd8f | ||
|
|
042e605c51 | ||
|
|
6265a56128 | ||
|
|
6b4c514010 | ||
|
|
466c9276af | ||
|
|
c4e54d1a6d | ||
|
|
071f7ad658 | ||
|
|
83de44f857 | ||
|
|
de3e4a8e8c | ||
|
|
2a205d6b7b | ||
|
|
b2914e3fae | ||
|
|
0fe9f4db4b | ||
|
|
cebb213eaa | ||
|
|
0c4f248041 | ||
|
|
ae29519b00 | ||
|
|
1ebf1443cf | ||
|
|
a471dce8a8 | ||
|
|
23c8bf1086 | ||
|
|
702f4e5b5a | ||
|
|
d401f008ca | ||
|
|
eec9de0907 | ||
|
|
85fa95a42f | ||
|
|
60987c268f | ||
|
|
9c581d19b7 | ||
|
|
e350ac2076 | ||
|
|
039b77e979 | ||
|
|
1fe5864143 | ||
|
|
6b85687f72 | ||
|
|
653bab956a | ||
|
|
522d8f5ba7 | ||
|
|
0e2e3c14ec | ||
|
|
5d7f4dd9ed | ||
|
|
53c258d0a8 | ||
|
|
ce274e0fc3 | ||
|
|
e2ce301885 | ||
|
|
e15e62f1a6 | ||
|
|
ae89637cf9 | ||
|
|
cd879975d2 | ||
|
|
ae783693ae | ||
|
|
f5549d4458 | ||
|
|
2ce1876db8 | ||
|
|
eea5a9592b | ||
|
|
f75b2904f4 | ||
|
|
079f208a96 | ||
|
|
7fc3e35b01 | ||
|
|
38c809857f | ||
|
|
d25b1f7b65 | ||
|
|
f7a3de78a3 | ||
|
|
d2788d66d4 | ||
|
|
619476892a | ||
|
|
d769cfad55 | ||
|
|
1e9188f510 | ||
|
|
daa87ef79b | ||
|
|
86c4e92585 | ||
|
|
157746b45a | ||
|
|
5c1984f7df | ||
|
|
43f72cb360 | ||
|
|
3ca7805d6a | ||
|
|
d3fdd23061 | ||
|
|
d3d6c7120c | ||
|
|
c66e8f6544 | ||
|
|
f623724a78 | ||
|
|
49e3c8cc1a | ||
|
|
a3864b9f91 | ||
|
|
a3fc11db1c | ||
|
|
26c1e289b9 | ||
|
|
f69934eb7a | ||
|
|
9999c05d25 | ||
|
|
1ef1079cc5 | ||
|
|
672ee27b7d | ||
|
|
e4f88f33ae | ||
|
|
75d44e2f71 | ||
|
|
bf8e271088 | ||
|
|
214dcce6ad | ||
|
|
52866bdc8e | ||
|
|
92f7ff3139 | ||
|
|
e25c245e0c | ||
|
|
e6b06453a6 | ||
|
|
4ce5c34baa | ||
|
|
10f9638f24 | ||
|
|
8965f1cd09 | ||
|
|
47119bf94b | ||
|
|
5ee24729e3 | ||
|
|
37192af79d | ||
|
|
eeb83d8c12 | ||
|
|
07e25d982e | ||
|
|
d03cce5984 | ||
|
|
a8b1299117 | ||
|
|
949c3c3c73 | ||
|
|
4dfb73e3d9 | ||
|
|
a558da2706 | ||
|
|
616a7959e9 | ||
|
|
5802881c4b | ||
|
|
90cbe994a7 | ||
|
|
784b4af576 | ||
|
|
0b92e0b437 | ||
|
|
427c560d3f | ||
|
|
eeb68588a0 | ||
|
|
892a836fca | ||
|
|
c4d502f494 | ||
|
|
cdf761d46b | ||
|
|
60774518b2 | ||
|
|
f15aa51bd6 | ||
|
|
96ceead110 | ||
|
|
d69ca844ac | ||
|
|
801bf16b92 | ||
|
|
71727048aa | ||
|
|
cb18772ec9 | ||
|
|
ccaba92832 | ||
|
|
db44cb9823 | ||
|
|
98eef0603f | ||
|
|
1334ce879e | ||
|
|
bf012572b8 | ||
|
|
02be77de74 | ||
|
|
053a97ad8a | ||
|
|
8d70936251 | ||
|
|
84bd08bdf4 | ||
|
|
0dc6dbb7ec | ||
|
|
ae79c10322 | ||
|
|
efb319ba5e | ||
|
|
022d766564 | ||
|
|
d2d75291ee | ||
|
|
1cc39ff489 | ||
|
|
7b43d5731d | ||
|
|
5f26a0e5b7 | ||
|
|
4835780698 | ||
|
|
bd151523d1 | ||
|
|
31bc5cd72d | ||
|
|
3169bcbc5b | ||
|
|
6460fd25ab | ||
|
|
d743b4ab22 | ||
|
|
a1320d89ed | ||
|
|
632bb931da | ||
|
|
5c2378604a | ||
|
|
71e0fc2dd9 | ||
|
|
a34defed94 | ||
|
|
9b753d7a2f | ||
|
|
65131a15ef | ||
|
|
25b26ec303 | ||
|
|
88440400c2 | ||
|
|
88f613187d | ||
|
|
b108785979 | ||
|
|
899c1d7041 | ||
|
|
219ff7d2e9 | ||
|
|
65e8ff4da8 | ||
|
|
9becee9a85 | ||
|
|
52663ae218 | ||
|
|
c5aecaf501 | ||
|
|
655d9602e0 | ||
|
|
b83b7ad295 | ||
|
|
ae3b784463 | ||
|
|
578b4a6577 | ||
|
|
33ec855b40 | ||
|
|
7385d665d2 | ||
|
|
02364b95c0 | ||
|
|
93fd05818a | ||
|
|
0b1f6e84a3 | ||
|
|
c37c6fda95 | ||
|
|
a09c01ce6d | ||
|
|
68fa429611 | ||
|
|
4b2a845fd0 | ||
|
|
d6a7626906 | ||
|
|
68d835c779 | ||
|
|
fd24628f7a | ||
|
|
19ccc5338f | ||
|
|
27f55b1756 | ||
|
|
214dcddb65 | ||
|
|
0815bfd7b7 | ||
|
|
6cc8f2b965 | ||
|
|
6f1de7e537 | ||
|
|
5fd0459237 | ||
|
|
7dd085c321 | ||
|
|
6edacd2f1d | ||
|
|
7bd3d754c7 | ||
|
|
6d7044ee3e | ||
|
|
ccc436be26 | ||
|
|
03c37ae448 | ||
|
|
c0cc6c35df | ||
|
|
c879e8cb77 | ||
|
|
da3f3fbb57 | ||
|
|
d481fa5cde | ||
|
|
f575d428fe | ||
|
|
32f53eb9f3 | ||
|
|
f543f32df2 | ||
|
|
3c5e20dd50 | ||
|
|
33beb2824a | ||
|
|
93edaed4fc | ||
|
|
1f8ddb0c08 | ||
|
|
27188596af | ||
|
|
ec1b294425 | ||
|
|
9bea0c4aab | ||
|
|
e468c61867 | ||
|
|
fa98bcc745 | ||
|
|
13e013eaa9 | ||
|
|
94db831266 | ||
|
|
3c03bbac05 | ||
|
|
82c1987a6d | ||
|
|
f2e99d5efd | ||
|
|
d355d4c1f0 | ||
|
|
b4f192fac1 | ||
|
|
042cbdeee7 | ||
|
|
8e1b6d32ee | ||
|
|
ca3c7ae526 | ||
|
|
8ff6ab6c04 | ||
|
|
384fcf4b38 | ||
|
|
84d7a37789 | ||
|
|
0a2f92fc86 | ||
|
|
2b91cbd0d2 | ||
|
|
7cd54f4815 | ||
|
|
6fa7e033d9 | ||
|
|
748605ff00 | ||
|
|
53d01b2aa4 | ||
|
|
afed732e68 | ||
|
|
221c79a6b8 | ||
|
|
7fb2fb6dde | ||
|
|
fb710ac41b | ||
|
|
9a683d65c9 | ||
|
|
9e06245941 | ||
|
|
a87fdfa94b | ||
|
|
ff7d65041a | ||
|
|
e64829410b | ||
|
|
f932a16528 | ||
|
|
565dce5a1d | ||
|
|
64b113bd21 | ||
|
|
7fc692312c | ||
|
|
892edde5dd | ||
|
|
9737405c3a | ||
|
|
fc8bf78fc3 | ||
|
|
8f3de6b6fb | ||
|
|
7a99c8be63 | ||
|
|
6e86c7dff0 | ||
|
|
a7675e9a08 | ||
|
|
47f70250a2 | ||
|
|
2f6f1a4c6b | ||
|
|
d377205942 | ||
|
|
033e06e8ef | ||
|
|
ac05f9fbd7 | ||
|
|
80870d84a7 | ||
|
|
cf928948ce | ||
|
|
8080c91f79 | ||
|
|
8225070dd3 | ||
|
|
eb5f2e5e46 | ||
|
|
0a45caa5b2 | ||
|
|
0e27e1c928 | ||
|
|
dc8db28695 | ||
|
|
fad4077f76 | ||
|
|
ad698a9abd | ||
|
|
944df7ecf3 | ||
|
|
5fff967620 | ||
|
|
abbc7a5748 | ||
|
|
4bc8ef6bc9 | ||
|
|
9c9036a8ee | ||
|
|
99fe407684 | ||
|
|
044c82eacc | ||
|
|
d7665d289c | ||
|
|
6a878b165d | ||
|
|
1d7c807e5f | ||
|
|
900ea0469f | ||
|
|
3a5189e715 | ||
|
|
dbdcadf452 | ||
|
|
07cd61a6f0 | ||
|
|
4257a34aed | ||
|
|
6d2bd35a66 | ||
|
|
5c656f2378 | ||
|
|
287d4b00e1 | ||
|
|
91b4ef2915 | ||
|
|
e267dc6bc9 | ||
|
|
6830ace1ce | ||
|
|
25f6ad893d | ||
|
|
bbc7d63250 | ||
|
|
b03effff3e | ||
|
|
339cdeaa55 | ||
|
|
59e9e26d06 | ||
|
|
c7b9a35034 | ||
|
|
c0a47b21f3 | ||
|
|
e07bf90f7a | ||
|
|
0464e31393 | ||
|
|
8ac01c96a3 | ||
|
|
0087be4938 | ||
|
|
f3c4ca932d | ||
|
|
499763edac | ||
|
|
2ee6e7edc4 | ||
|
|
058e157941 | ||
|
|
e7b7b3c1cc | ||
|
|
d50c577a2f | ||
|
|
ce80a002ea | ||
|
|
22b0d47e0a | ||
|
|
079154198b | ||
|
|
542cb16e1a | ||
|
|
2bb4be423f | ||
|
|
e87096aba5 | ||
|
|
ac1045f9fe | ||
|
|
37aa2af39d | ||
|
|
00791641a4 | ||
|
|
6a5b7f2166 | ||
|
|
bdc80c8f97 | ||
|
|
39a3a9a8fa | ||
|
|
ebae813ee3 | ||
|
|
f09005ed95 | ||
|
|
724b9620be | ||
|
|
ca0ab41403 | ||
|
|
4f0ba47c2e | ||
|
|
448a8789fa | ||
|
|
b730d41eca | ||
|
|
3e130d09ea | ||
|
|
9d31ea521d | ||
|
|
55b36501a0 | ||
|
|
237495d48f | ||
|
|
b6e5703ed9 | ||
|
|
30cde90a68 | ||
|
|
5450ac7a67 | ||
|
|
228cea5b98 | ||
|
|
385367a3df | ||
|
|
fc7da2081a | ||
|
|
d26c4a7a84 | ||
|
|
1078a5edf8 | ||
|
|
a200c4ac5f | ||
|
|
869f3b6138 | ||
|
|
bf2c02e25c | ||
|
|
ecca8be1d7 | ||
|
|
514129e07b | ||
|
|
79d5d4ac1c | ||
|
|
ead44dd73a | ||
|
|
1dd45a2e04 | ||
|
|
a048f1a38f | ||
|
|
1713510f2b | ||
|
|
66fc440d1b | ||
|
|
05e5f9f675 | ||
|
|
d2b3de08c1 | ||
|
|
1b4c9217b6 | ||
|
|
f52ece7bb5 | ||
|
|
862ba7b241 | ||
|
|
65ba38968d | ||
|
|
2d80779b09 | ||
|
|
7f1630967b | ||
|
|
5dcd4547d6 | ||
|
|
96b9b36c69 | ||
|
|
8a0d5ab9ef | ||
|
|
ce02909b5d | ||
|
|
fc6ab58514 | ||
|
|
38ed590a2b | ||
|
|
e4bfa1ddb1 | ||
|
|
8feef3f36f | ||
|
|
e7c788a793 | ||
|
|
9223f83a4e | ||
|
|
151c8cd734 | ||
|
|
b494cc248b | ||
|
|
4794de7d74 | ||
|
|
787d4388d3 | ||
|
|
934b1383b5 | ||
|
|
7689e0a9f2 | ||
|
|
91e0ede0a6 | ||
|
|
7dd7194a7a | ||
|
|
b18de12f28 | ||
|
|
23ac921fb5 | ||
|
|
faf8720fdc | ||
|
|
e2e3551ce4 | ||
|
|
90a0a44ae2 | ||
|
|
215837ac4a | ||
|
|
6112396479 | ||
|
|
70f40aa103 | ||
|
|
472bf48b42 | ||
|
|
73ea3d167d | ||
|
|
e04cd24e91 | ||
|
|
089808892b | ||
|
|
07995dcbb8 | ||
|
|
dfd55328c7 | ||
|
|
c69afd28a3 | ||
|
|
fb9b3543e0 | ||
|
|
b2da30e207 | ||
|
|
748f65e536 | ||
|
|
da0bee0cc4 | ||
|
|
23d739c380 | ||
|
|
0a122b9fed | ||
|
|
6b0b5fc3ce | ||
|
|
fd29a26210 | ||
|
|
cbe7407c14 | ||
|
|
5311714bff | ||
|
|
c967abbae7 | ||
|
|
0fc17e9453 | ||
|
|
f52420df20 | ||
|
|
b036079249 | ||
|
|
0edfb461af | ||
|
|
59f7b316c3 | ||
|
|
27aaf78499 | ||
|
|
82223de0ba | ||
|
|
a4de4fe4b7 | ||
|
|
d5071628b6 | ||
|
|
ec776e9f98 | ||
|
|
8cf4c008d5 | ||
|
|
5c4aed51f2 | ||
|
|
7c91f1059d | ||
|
|
3c15f80a79 | ||
|
|
f164df75fc | ||
|
|
18daf681de | ||
|
|
ff42397316 | ||
|
|
302dff72a4 | ||
|
|
d9e106088a | ||
|
|
31cdb63c7d | ||
|
|
b1c7c238a9 | ||
|
|
bd35f3e43d | ||
|
|
cfcbed2613 | ||
|
|
0197451d0e | ||
|
|
80d35ea2fe | ||
|
|
fd301ff116 | ||
|
|
34f485c658 | ||
|
|
fcb966f649 | ||
|
|
ca7ed779d6 | ||
|
|
1fcdc7cc73 | ||
|
|
1ae5b614f4 | ||
|
|
c58dffd5c9 | ||
|
|
ef329177c0 | ||
|
|
c13364513b | ||
|
|
5ef200d520 | ||
|
|
a11dd01d4a | ||
|
|
86af6653dd | ||
|
|
7e7e1983b7 | ||
|
|
cb37870911 | ||
|
|
257aae3d81 | ||
|
|
a1bb2ff0c1 | ||
|
|
1a338f2451 | ||
|
|
432acfbeb6 | ||
|
|
af2b6e3918 | ||
|
|
46f7d14964 | ||
|
|
caf0374f80 | ||
|
|
d4587abf3f | ||
|
|
4e47d856bf | ||
|
|
c2514bc336 | ||
|
|
7f3996c0ba | ||
|
|
b7af7be2da | ||
|
|
8685222472 | ||
|
|
b2c6374010 | ||
|
|
e0e6980dac | ||
|
|
5a37760cf1 | ||
|
|
556fb50870 | ||
|
|
da38c3e9f5 | ||
|
|
f502246cde | ||
|
|
774227c14e | ||
|
|
862e84e6b2 | ||
|
|
98ad12b415 | ||
|
|
9b04de216c | ||
|
|
6b71ce2cf9 | ||
|
|
3483466391 | ||
|
|
5609778ca1 | ||
|
|
072c472f1c | ||
|
|
b8dea0f296 | ||
|
|
56bac2160e | ||
|
|
258d1768fd | ||
|
|
23e6788891 | ||
|
|
28cb942e6c | ||
|
|
f97952298d | ||
|
|
e6813aa042 | ||
|
|
ac6524121a | ||
|
|
8e5fc76ef1 | ||
|
|
d2db27d4ee | ||
|
|
d9e6ff2fee | ||
|
|
4717e48598 | ||
|
|
61936029e8 | ||
|
|
1277c9d188 | ||
|
|
f753779860 | ||
|
|
3244f9d37e | ||
|
|
b886a9e31c | ||
|
|
da6b0c920a | ||
|
|
28691784bf | ||
|
|
0e12a390f4 | ||
|
|
c6bcd7ccf0 | ||
|
|
eb0af57a84 | ||
|
|
d15f8451fe | ||
|
|
5568a86fb2 | ||
|
|
ea8e561e04 | ||
|
|
ee36ebc6a6 | ||
|
|
75c280d86b | ||
|
|
04d07fc94f | ||
|
|
6f576bdae6 | ||
|
|
145dd4d50b | ||
|
|
a0ea952932 | ||
|
|
06a0a8177b | ||
|
|
4df1e16b90 | ||
|
|
8ce0775514 | ||
|
|
44ccc69f77 | ||
|
|
85ae97c459 | ||
|
|
fd4de8b67b | ||
|
|
ae0c379e3f | ||
|
|
19c81646e3 | ||
|
|
5bf1c4e14f | ||
|
|
c09fc35488 | ||
|
|
16ef8c548d | ||
|
|
3a406d46c2 | ||
|
|
bc70689b9d | ||
|
|
4246cc2f15 | ||
|
|
3ec04beb61 | ||
|
|
4e7dca6e4e | ||
|
|
8dce201ec6 | ||
|
|
60aae73223 | ||
|
|
d3dd168b2a | ||
|
|
a6e4f9e603 | ||
|
|
bec0f639d6 | ||
|
|
70f79ebae4 | ||
|
|
17d1589859 | ||
|
|
dcd112bfdf | ||
|
|
d3ce42fca1 | ||
|
|
d7e10a5e7a | ||
|
|
b4467771c0 | ||
|
|
984800379e | ||
|
|
24c6d52b54 | ||
|
|
54787eaf8d | ||
|
|
322c729c13 | ||
|
|
2c4c25feb3 | ||
|
|
85e6fb60dc | ||
|
|
f5ad895768 | ||
|
|
158254a658 | ||
|
|
6700f912fc | ||
|
|
a830026640 | ||
|
|
3b8c1ed9e3 | ||
|
|
e75913cb96 | ||
|
|
3511fcf723 | ||
|
|
24009842d7 | ||
|
|
1b6dda46df | ||
|
|
9956faf4b3 | ||
|
|
a829681970 | ||
|
|
27dd13324e | ||
|
|
0a2090e2fb | ||
|
|
656baa972d | ||
|
|
ab4d73e172 | ||
|
|
f81c7f6faa | ||
|
|
1c3bdb6d69 | ||
|
|
8b647ed0b1 | ||
|
|
a29f9db35d | ||
|
|
ae5ae0c770 | ||
|
|
567ae6aa41 | ||
|
|
53e7bbac78 | ||
|
|
e944b6e8cb | ||
|
|
925abee3c5 | ||
|
|
dabf4bb309 | ||
|
|
656d103e9d | ||
|
|
37d763bfcd | ||
|
|
3c8b023cd0 | ||
|
|
8bf29ee82f | ||
|
|
b85e830a2b | ||
|
|
9e1d32fd88 | ||
|
|
4c63ffa90f | ||
|
|
5498438384 | ||
|
|
d16566ec31 | ||
|
|
83cfd4ab4b | ||
|
|
d2f20140da | ||
|
|
054a9deb59 | ||
|
|
32b5b903be | ||
|
|
e500ef2144 | ||
|
|
96cba31c29 | ||
|
|
602e820442 | ||
|
|
811ba9abfa | ||
|
|
ca900d5a9a | ||
|
|
8c708530ef | ||
|
|
e969f8fa33 | ||
|
|
39182fa9a4 | ||
|
|
1bf6b56f96 | ||
|
|
18927c9e1c | ||
|
|
67c9d8b413 | ||
|
|
ee59fe8dcd | ||
|
|
70b90e8123 | ||
|
|
41a1d9042d | ||
|
|
d45cb08fec | ||
|
|
fb92cc49e4 | ||
|
|
de435ecf33 | ||
|
|
e93f6b1c3b | ||
|
|
4668be96c1 | ||
|
|
9b6a7881a5 | ||
|
|
58e2bc1f6c | ||
|
|
269e68f32a | ||
|
|
5a7a5d6778 | ||
|
|
d75bb9e8c9 | ||
|
|
6004016331 | ||
|
|
ab4fae7922 | ||
|
|
77dc0ba6f0 | ||
|
|
2ec911da06 | ||
|
|
5e56ec21b7 | ||
|
|
6a692ebc73 | ||
|
|
43dc2794d7 | ||
|
|
802ba55016 | ||
|
|
e7525ff5ea | ||
|
|
9983689c74 | ||
|
|
b7f23a74c3 | ||
|
|
7ed11779bd | ||
|
|
e25eac5d62 | ||
|
|
e4647c07d5 | ||
|
|
3a8ec51674 | ||
|
|
37f2b9f70e | ||
|
|
85f0920c5b | ||
|
|
f9d6c54004 | ||
|
|
30bb3e8c38 | ||
|
|
f98c837442 | ||
|
|
bc938ea17e | ||
|
|
cb13e8ddb0 | ||
|
|
62fb7ba459 | ||
|
|
e21cd29b98 | ||
|
|
c4f0f0a32f | ||
|
|
8f9c36b192 | ||
|
|
d112007b7b | ||
|
|
b4643e9741 | ||
|
|
9e09344163 | ||
|
|
531d4ede40 | ||
|
|
329eba2491 | ||
|
|
653f686ee0 | ||
|
|
87ffb455be | ||
|
|
00be1940d2 | ||
|
|
f3a0540abd | ||
|
|
3dabf7e89c | ||
|
|
9722cd5d67 | ||
|
|
8e7a560ad4 | ||
|
|
f62c4e3900 | ||
|
|
f774a9a3c3 | ||
|
|
1e868ac624 | ||
|
|
2d6bd7f5a5 | ||
|
|
1701311be3 | ||
|
|
da21dcbd9e | ||
|
|
fa076305df | ||
|
|
8a130b52c2 | ||
|
|
4000adaee4 | ||
|
|
f63e8b51d9 | ||
|
|
9a07038bdf | ||
|
|
3716eb3d30 | ||
|
|
59333b700c | ||
|
|
5111b98839 | ||
|
|
f66e49313d | ||
|
|
0fc63396b7 | ||
|
|
0c185d3446 | ||
|
|
063d87e44a | ||
|
|
c8990d8f40 | ||
|
|
fd9269ccdf | ||
|
|
c7a692cb4d | ||
|
|
288e987246 | ||
|
|
e616071395 | ||
|
|
2f54acab58 | ||
|
|
1136d47c09 | ||
|
|
0ef03389ab | ||
|
|
c4d49f4176 | ||
|
|
a7420be774 | ||
|
|
6252753512 | ||
|
|
b9b9dac719 | ||
|
|
6facd67452 | ||
|
|
863ba6b955 | ||
|
|
ea983dd76b | ||
|
|
b9a76c369e | ||
|
|
171e96976a | ||
|
|
4450018491 | ||
|
|
b9a99d89af | ||
|
|
f5cadb3b7a | ||
|
|
bc90b6d980 | ||
|
|
66a13392a9 | ||
|
|
6c5b0a6578 | ||
|
|
87ff4076b0 | ||
|
|
726ee5918b | ||
|
|
0dd3e5d452 | ||
|
|
8bd6f23236 | ||
|
|
d3c0dbaa64 | ||
|
|
cdeb1aa9bc | ||
|
|
337743bcf0 | ||
|
|
c2413a599e | ||
|
|
10b4abf9cd | ||
|
|
b72f047526 | ||
|
|
802aabdda5 | ||
|
|
d79cbf5e5f | ||
|
|
7504e01bf7 | ||
|
|
af8d630060 | ||
|
|
2611cdc480 | ||
|
|
b68fdf3d15 | ||
|
|
d91a710f18 | ||
|
|
f1535f901f | ||
|
|
5f2cc6f6c3 | ||
|
|
aa9fbd281e | ||
|
|
fac18333ce | ||
|
|
42c9ae4caf | ||
|
|
bbc894cfda | ||
|
|
d7eb0e9dc3 | ||
|
|
45e2ca52c9 | ||
|
|
05b14ac32e | ||
|
|
e2897b7d18 | ||
|
|
3427f1778e | ||
|
|
4b72817864 | ||
|
|
acfe65bf37 | ||
|
|
18a22c8014 | ||
|
|
2c2c7f6c9e | ||
|
|
6aec2c5718 | ||
|
|
38e9496b8c | ||
|
|
369bdc8f4c | ||
|
|
a29fd51855 | ||
|
|
a105195481 | ||
|
|
007f7aa5d6 | ||
|
|
2292146706 | ||
|
|
60c718c7ed | ||
|
|
b7f899cd88 | ||
|
|
c27451f46b | ||
|
|
79e49d49d4 | ||
|
|
ae77a38846 | ||
|
|
d7946fbfc5 | ||
|
|
594843f48b | ||
|
|
4c5942016f | ||
|
|
39765dd802 | ||
|
|
bd9bcf607c | ||
|
|
30e26a815f | ||
|
|
d873921422 | ||
|
|
528f503444 | ||
|
|
fa9d171287 | ||
|
|
43ba2ee2da | ||
|
|
3292655ff7 | ||
|
|
2523a32e94 | ||
|
|
38ee4cd1da | ||
|
|
8169bbe1fa | ||
|
|
17cf7fe6a4 | ||
|
|
bd6fe03710 | ||
|
|
88891bf24e | ||
|
|
798c8f0782 | ||
|
|
484b05bdb2 | ||
|
|
1258558be8 | ||
|
|
468386ede6 | ||
|
|
6aebe8ad39 | ||
|
|
d7a08bed88 | ||
|
|
2b5bb5f338 | ||
|
|
98aca5090b | ||
|
|
d55559b811 | ||
|
|
63649a25e4 | ||
|
|
85fe1168a1 | ||
|
|
e8b2adb199 | ||
|
|
80c3106bfc | ||
|
|
080aeeecdb | ||
|
|
72a40a63d9 | ||
|
|
6a735e1a6a | ||
|
|
cdbcc93571 | ||
|
|
a77e9aa37e | ||
|
|
00415cb6fe | ||
|
|
6af1604026 | ||
|
|
2e01a96477 | ||
|
|
fa8a8dd639 | ||
|
|
4a03388cf1 |
114
.github/workflows/auth-release.yml
vendored
@@ -90,13 +90,14 @@ jobs:
|
||||
- name: Install dependencies for desktop build
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config libsqlite3-dev locate appindicator3-0.1 libappindicator3-dev libffi-dev libtiff5
|
||||
sudo apt-get install -y libsecret-1-dev libsodium-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config libsqlite3-dev locate appindicator3-0.1 libappindicator3-dev libffi-dev libtiff5
|
||||
sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
|
||||
|
||||
- name: Build desktop app
|
||||
run: |
|
||||
flutter config --enable-linux-desktop
|
||||
dart pub global activate flutter_distributor
|
||||
# dart pub global activate flutter_distributor
|
||||
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref develop --git-path packages/flutter_distributor
|
||||
flutter_distributor package --platform=linux --targets=deb --skip-clean
|
||||
mv dist/**/*-*-linux.deb artifacts/ente-${{ github.ref_name }}-x86_64.deb
|
||||
env:
|
||||
@@ -104,7 +105,7 @@ jobs:
|
||||
|
||||
- name: Generate checksums and push to artifacts
|
||||
run: |
|
||||
sha256sum artifacts/ente-* > artifacts/sha256sum-apk-deb
|
||||
sha256sum artifacts/ente-* > artifacts/sha256sum-apk-deb
|
||||
|
||||
- name: Create a draft GitHub release
|
||||
uses: ncipollo/release-action@v1
|
||||
@@ -125,65 +126,65 @@ jobs:
|
||||
track: internal
|
||||
|
||||
build-fedora-etc:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: auth
|
||||
defaults:
|
||||
run:
|
||||
working-directory: auth
|
||||
|
||||
steps:
|
||||
- name: Checkout code and submodules
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
steps:
|
||||
- name: Checkout code and submodules
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Flutter ${{ env.FLUTTER_VERSION }}
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: "stable"
|
||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
cache: true
|
||||
- name: Install Flutter ${{ env.FLUTTER_VERSION }}
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: "stable"
|
||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
cache: true
|
||||
|
||||
- name: Create artifacts directory
|
||||
run: mkdir artifacts
|
||||
- name: Create artifacts directory
|
||||
run: mkdir artifacts
|
||||
|
||||
- name: Install dependencies for desktop build
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm patchelf libsqlite3-dev locate libayatana-appindicator3-dev libffi-dev libtiff5 xz-utils libarchive-tools
|
||||
sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
|
||||
- name: Install dependencies for desktop build
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y libsecret-1-dev libsodium-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm patchelf libsqlite3-dev locate libayatana-appindicator3-dev libffi-dev libtiff5 xz-utils libarchive-tools
|
||||
sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
|
||||
|
||||
- name: Install appimagetool
|
||||
run: |
|
||||
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||
chmod +x appimagetool
|
||||
mv appimagetool /usr/local/bin/
|
||||
- name: Install appimagetool
|
||||
run: |
|
||||
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||
chmod +x appimagetool
|
||||
mv appimagetool /usr/local/bin/
|
||||
|
||||
- name: Build desktop app
|
||||
run: |
|
||||
flutter config --enable-linux-desktop
|
||||
# dart pub global activate flutter_distributor
|
||||
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref pacman --git-path packages/flutter_distributor
|
||||
# Run below command if it is a beta or nightly
|
||||
if [[ ${{ github.ref }} =~ beta|nightly ]]; then
|
||||
flutter_distributor package --platform=linux --targets=pacman --skip-clean
|
||||
mv dist/**/*-*-linux.pacman artifacts/ente-${{ github.ref_name }}-x86_64.pacman
|
||||
fi
|
||||
flutter_distributor package --platform=linux --targets=rpm --skip-clean
|
||||
mv dist/**/*-*-linux.rpm artifacts/ente-${{ github.ref_name }}-x86_64.rpm
|
||||
flutter_distributor package --platform=linux --targets=appimage --skip-clean
|
||||
mv dist/**/*-*-linux.AppImage artifacts/ente-${{ github.ref_name }}-x86_64.AppImage
|
||||
- name: Build desktop app
|
||||
run: |
|
||||
flutter config --enable-linux-desktop
|
||||
# dart pub global activate flutter_distributor
|
||||
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref develop --git-path packages/flutter_distributor
|
||||
# Run below command if it is a beta or nightly
|
||||
if [[ ${{ github.ref }} =~ beta|nightly ]]; then
|
||||
flutter_distributor package --platform=linux --targets=pacman --skip-clean
|
||||
mv dist/**/*-*-linux.pacman artifacts/ente-${{ github.ref_name }}-x86_64.pacman
|
||||
fi
|
||||
flutter_distributor package --platform=linux --targets=rpm --skip-clean
|
||||
mv dist/**/*-*-linux.rpm artifacts/ente-${{ github.ref_name }}-x86_64.rpm
|
||||
flutter_distributor package --platform=linux --targets=appimage --skip-clean
|
||||
mv dist/**/*-*-linux.AppImage artifacts/ente-${{ github.ref_name }}-x86_64.AppImage
|
||||
|
||||
- name: Generate checksums
|
||||
run: sha256sum artifacts/ente-* >> artifacts/sha256sum-rpm-appimage
|
||||
- name: Generate checksums
|
||||
run: sha256sum artifacts/ente-* >> artifacts/sha256sum-rpm-appimage
|
||||
|
||||
- name: Create a draft GitHub release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifacts: "auth/artifacts/*"
|
||||
draft: true
|
||||
allowUpdates: true
|
||||
updateOnlyUnreleased: true
|
||||
- name: Create a draft GitHub release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifacts: "auth/artifacts/*"
|
||||
draft: true
|
||||
allowUpdates: true
|
||||
updateOnlyUnreleased: true
|
||||
|
||||
build-windows:
|
||||
runs-on: windows-latest
|
||||
@@ -211,10 +212,11 @@ jobs:
|
||||
- name: Build Windows installer
|
||||
run: |
|
||||
flutter config --enable-windows-desktop
|
||||
dart pub global activate flutter_distributor
|
||||
# dart pub global activate flutter_distributor
|
||||
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref develop --git-path packages/flutter_distributor
|
||||
make innoinstall
|
||||
flutter_distributor package --platform=windows --targets=exe --skip-clean
|
||||
mv dist/**/ente_auth-*-windows-setup.exe artifacts/ente-${{ github.ref_name }}-installer.exe
|
||||
mv dist/**/*-windows-setup.exe artifacts/ente-${{ github.ref_name }}-installer.exe
|
||||
|
||||
- name: Retain Windows EXE and DLLs
|
||||
run: cp -r build/windows/x64/runner/Release ente-${{ github.ref_name }}-windows
|
||||
@@ -307,7 +309,7 @@ jobs:
|
||||
flutter config --enable-macos-desktop
|
||||
dart pub global activate flutter_distributor
|
||||
flutter_distributor package --platform=macos --targets=dmg --skip-clean
|
||||
mv dist/**/ente_auth-*-macos.dmg artifacts/ente-${{ github.ref_name }}.dmg
|
||||
mv dist/**/*-macos.dmg artifacts/ente-${{ github.ref_name }}.dmg
|
||||
|
||||
- name: Code sign DMG
|
||||
run: |
|
||||
|
||||
@@ -36,6 +36,13 @@
|
||||
{
|
||||
"title": "AscendEX"
|
||||
},
|
||||
{
|
||||
"title": "authentik",
|
||||
"altNames": [
|
||||
"goauthentik"
|
||||
],
|
||||
"hex": "fd4b2d"
|
||||
},
|
||||
{
|
||||
"title": "BaiduCloud",
|
||||
"altNames": [
|
||||
@@ -73,6 +80,10 @@
|
||||
"币安"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Binance TR",
|
||||
"slug": "binance_tr"
|
||||
},
|
||||
{
|
||||
"title": "BinanceUS",
|
||||
"slug": "binance_us",
|
||||
@@ -127,6 +138,22 @@
|
||||
"blockchain.com Exchange"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Bloom Host",
|
||||
"slug": "bloom_host",
|
||||
"altNames": [
|
||||
"Bloom Host Billing"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Bluesky"
|
||||
},
|
||||
{
|
||||
"title": "Booking",
|
||||
"altNames": [
|
||||
"Booking.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "BorgBase",
|
||||
"altNames": [
|
||||
@@ -157,6 +184,12 @@
|
||||
{
|
||||
"title": "Capacities"
|
||||
},
|
||||
{
|
||||
"title": "Carta",
|
||||
"altNames": [
|
||||
"Carta.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "CERN"
|
||||
},
|
||||
@@ -171,6 +204,9 @@
|
||||
{
|
||||
"title": "CloudAMQP"
|
||||
},
|
||||
{
|
||||
"title": "ClouDNS"
|
||||
},
|
||||
{
|
||||
"title": "Cloudflare"
|
||||
},
|
||||
@@ -198,6 +234,9 @@
|
||||
"Crypto com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "CSFloat"
|
||||
},
|
||||
{
|
||||
"title": "DCS",
|
||||
"altNames": [
|
||||
@@ -210,6 +249,13 @@
|
||||
{
|
||||
"title": "deriv"
|
||||
},
|
||||
{
|
||||
"title": "DigiFinex",
|
||||
"altNames": [
|
||||
"Digi Finex",
|
||||
"Digifinex.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "DirectAdmin"
|
||||
},
|
||||
@@ -331,6 +377,10 @@
|
||||
{
|
||||
"title": "Infomaniak"
|
||||
},
|
||||
{
|
||||
"title": "Impact.com",
|
||||
"slug": "impact"
|
||||
},
|
||||
{
|
||||
"title": "ING"
|
||||
},
|
||||
@@ -371,6 +421,20 @@
|
||||
{
|
||||
"title": "Kite"
|
||||
},
|
||||
{
|
||||
"title": "KnownHost",
|
||||
"altNames": [
|
||||
"Known Host",
|
||||
"KnownHost.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Ko-fi",
|
||||
"altNames": [
|
||||
"Ko fi",
|
||||
"Kofi"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Koofr"
|
||||
},
|
||||
@@ -447,6 +511,10 @@
|
||||
{
|
||||
"title": "Microsoft"
|
||||
},
|
||||
{
|
||||
"title": "Microsoft 365",
|
||||
"slug": "microsoft365"
|
||||
},
|
||||
{
|
||||
"title": "Migros"
|
||||
},
|
||||
@@ -568,6 +636,12 @@
|
||||
{
|
||||
"title": "pCloud"
|
||||
},
|
||||
{
|
||||
"title": "PebbleHost",
|
||||
"altNames": [
|
||||
"Pebble Host"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Peerberry"
|
||||
},
|
||||
@@ -608,6 +682,13 @@
|
||||
"qiniu"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Raindrop.io",
|
||||
"slug": "raindrop_io",
|
||||
"altNames": [
|
||||
"Raindrop"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Real-Debrid",
|
||||
"slug": "real_debrid"
|
||||
@@ -625,7 +706,13 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Render"
|
||||
"title": "Restorecord"
|
||||
},
|
||||
{
|
||||
"title": "Restream",
|
||||
"altNames": [
|
||||
"restream.io"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Revolt",
|
||||
@@ -735,6 +822,21 @@
|
||||
"GoTeleport"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "tencent cloud",
|
||||
"slug": "tencent_cloud",
|
||||
"altNames": [
|
||||
"腾讯云",
|
||||
"tencentcloud"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Terabit",
|
||||
"altNames": [
|
||||
"Terabit Hosting",
|
||||
"terabit.io"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Termius",
|
||||
"hex": "858585"
|
||||
@@ -763,6 +865,15 @@
|
||||
{
|
||||
"title": "Tresorit"
|
||||
},
|
||||
{
|
||||
"title": "TRowePrice",
|
||||
"altNames": [
|
||||
"T Rowe Price",
|
||||
"TRowe Price",
|
||||
"T Rowe Price Group",
|
||||
"T Rowe Price Group, Inc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Tweakers"
|
||||
},
|
||||
@@ -777,6 +888,15 @@
|
||||
"Twitch tv"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Ubiquiti",
|
||||
"slug": "ubiquiti",
|
||||
"altNames": [
|
||||
"Unifi SSO",
|
||||
"Unifi",
|
||||
"Ubiquiti SSO"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Ubisoft"
|
||||
},
|
||||
@@ -812,6 +932,10 @@
|
||||
{
|
||||
"title": "Wealthsimple"
|
||||
},
|
||||
{
|
||||
"title": "WEB.DE",
|
||||
"slug": "web_de"
|
||||
},
|
||||
{
|
||||
"title": "WHMCS"
|
||||
},
|
||||
|
||||
3
auth/assets/custom-icons/icons/Bluesky.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.0" viewBox="0 0 500 500">
|
||||
<path fill="#0085ff" d="M27.672 29.228C13.737 33.12 7.077 40.088 2.364 55.97c-2.562 8.71-2.46 35.862.102 66.089a378.9 378.9 0 0 1 1.025 11.783c.41 4.509.922 9.837 1.127 11.784.205 1.947.615 7.275 1.024 11.783.615 8.607 2.357 24.899 3.074 29.202.205 1.435.615 5.328 1.025 8.71.615 5.43 1.332 10.041 2.971 17.521 1.128 5.533 6.456 17.01 11.374 24.591 11.066 17.112 28.792 30.945 48.158 37.81 2.869.922 6.045 2.151 7.172 2.664 3.074 1.332 18.546 4.713 25.616 5.635 3.382.41 11.579.82 18.137.82 6.557.102 11.68.41 11.27.717-.614.41-6.66 1.742-20.185 4.406-1.127.205-4.816 1.127-8.197 2.152-3.381.922-7.48 2.05-9.222 2.459-5.123 1.435-18.443 6.968-25.103 10.554-9.325 5.02-17.727 12.193-22.44 19.263-5.123 7.685-6.25 11.476-6.967 22.235-1.23 18.443 9.529 42.112 31.763 69.778 22.747 28.382 45.29 46.109 67.934 53.69 9.017 2.972 23.874 3.177 31.661.41 18.444-6.557 34.12-23.464 48.466-52.358 7.89-15.882 19.366-46.519 25.308-68.036 1.947-6.866 2.972-7.788 3.997-3.484.922 3.996 2.766 10.246 9.324 32.48 15.164 50.618 31.251 77.259 52.871 87.095 7.583 3.484 11.169 4.099 22.44 3.996 11.066-.102 20.698-2.766 33.3-9.324 9.427-4.918 27.358-16.497 30.227-19.673.308-.307 2.562-2.152 5.124-4.201 5.328-4.303 15.472-14.652 21.005-21.415 2.05-2.562 4.508-5.533 5.43-6.66 2.87-3.381 12.501-18.341 12.501-19.366 0-.512.615-1.742 1.434-2.561.82-.923 2.87-5.84 4.714-10.862 11.066-31.661-1.332-57.175-36.375-74.49-13.32-6.661-29.92-12.092-44.572-14.756-7.48-1.434-5.533-1.947 6.968-2.049 26.026-.102 47.953-5.43 67.626-16.394 24.694-13.833 43.137-40.576 45.801-66.5.41-3.893.82-7.377 1.025-7.684.205-.513.512-2.87 2.05-17.214.307-2.357.717-6.25 1.024-8.71a816.84 816.84 0 0 1 1.127-11.476c.308-3.996.717-8.811.922-10.758.205-1.947.718-7.788 1.025-12.808.41-5.123.82-10.861 1.025-12.808 2.049-20.903 2.664-49.183 1.332-57.175-2.664-15.677-8.198-25.309-17.214-29.92-20.8-10.656-46.314-4.098-83.713 21.415-13.423 9.222-16.6 11.681-25.411 19.059-32.686 27.665-69.983 70.187-99.083 113.222-9.324 13.73-22.337 35.248-22.337 36.887 0 2.357-1.845.718-3.996-3.688-2.767-5.943-13.833-23.67-21.518-34.736-6.558-9.529-21.62-30.227-23.157-31.866a242.786 242.786 0 0 1-3.586-4.508 242.855 242.855 0 0 0-3.586-4.509c-.615-.615-3.996-4.713-7.583-9.222-12.705-15.574-37.911-42.01-52.359-54.92-1.946-1.742-4.508-3.996-5.635-5.021C107.287 55.151 69.99 33.224 51.546 29.33c-5.84-1.332-19.365-1.332-23.874-.102z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
8
auth/assets/custom-icons/icons/Ko-fi.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="323" height="260">
|
||||
<path d="M0 0 C2.54280617 -0.00322238 5.08561216 -0.00658715 7.62841797 -0.01008606 C12.94027204 -0.01604441 18.25210908 -0.0179728 23.56396484 -0.01733398 C29.63504045 -0.01673551 35.70602655 -0.02725539 41.77707958 -0.04307765 C47.69411481 -0.05792837 53.6111158 -0.06131667 59.52816772 -0.06072426 C62.00914881 -0.06188842 64.49013087 -0.06621985 66.97109985 -0.07405663 C93.68181546 -0.15052263 121.9429312 -0.21514162 146.6875 11.16796875 C147.5839624 11.57740723 147.5839624 11.57740723 148.49853516 11.99511719 C158.43485513 16.62677806 166.04173988 22.35671599 173.6875 30.16796875 C174.48800781 30.93625 175.28851563 31.70453125 176.11328125 32.49609375 C194.05105697 50.712695 197.15590312 74.65080731 196.98471069 99.03547668 C196.67643329 123.04695525 187.3698842 142.87862635 171.0625 160.29296875 C161.16511894 169.80791623 147.49135596 179.29180348 133.63232422 181.49462891 C131.56482236 182.00483226 131.56482236 182.00483226 130.45825195 183.83520508 C130.11753662 184.5495874 129.77682129 185.26396973 129.42578125 186 C129.03382568 186.792854 128.64187012 187.58570801 128.23803711 188.40258789 C127.82948486 189.25328857 127.42093262 190.10398926 127 190.98046875 C122.90931947 199.10803497 118.55825733 206.17501356 112.6875 213.16796875 C111.61048828 214.45380859 111.61048828 214.45380859 110.51171875 215.765625 C88.48096692 241.08338065 59.91845952 254.78769402 26.6875 258.16796875 C20.98341629 258.51073898 15.27482269 258.51009072 9.5625 258.48046875 C8.79403748 258.47798126 8.02557495 258.47549377 7.23382568 258.47293091 C-28.39281197 258.29492256 -60.17611795 248.13707604 -86 222.91796875 C-117.72300344 190.81731051 -124.68949851 146.11311077 -124.68310547 102.8034668 C-124.6875095 99.47328641 -124.72408667 96.14440378 -124.76171875 92.81445312 C-124.89908822 66.59572752 -118.49428944 43.79369285 -100.3125 24.16796875 C-72.94000538 -1.4516075 -35.04854413 0.01053577 0 0 Z " fill="#FDFDFD" transform="translate(125.3125,0.83203125)"/>
|
||||
<path d="M0 0 C2.54280617 -0.00322238 5.08561216 -0.00658715 7.62841797 -0.01008606 C12.94027204 -0.01604441 18.25210908 -0.0179728 23.56396484 -0.01733398 C29.63504045 -0.01673551 35.70602655 -0.02725539 41.77707958 -0.04307765 C47.69411481 -0.05792837 53.6111158 -0.06131667 59.52816772 -0.06072426 C62.00914881 -0.06188842 64.49013087 -0.06621985 66.97109985 -0.07405663 C93.68181546 -0.15052263 121.9429312 -0.21514162 146.6875 11.16796875 C147.5839624 11.57740723 147.5839624 11.57740723 148.49853516 11.99511719 C158.43485513 16.62677806 166.04173988 22.35671599 173.6875 30.16796875 C174.48800781 30.93625 175.28851563 31.70453125 176.11328125 32.49609375 C194.05105697 50.712695 197.15590312 74.65080731 196.98471069 99.03547668 C196.67643329 123.04695525 187.3698842 142.87862635 171.0625 160.29296875 C161.16511894 169.80791623 147.49135596 179.29180348 133.63232422 181.49462891 C131.56482236 182.00483226 131.56482236 182.00483226 130.45825195 183.83520508 C130.11753662 184.5495874 129.77682129 185.26396973 129.42578125 186 C129.03382568 186.792854 128.64187012 187.58570801 128.23803711 188.40258789 C127.82948486 189.25328857 127.42093262 190.10398926 127 190.98046875 C122.90931947 199.10803497 118.55825733 206.17501356 112.6875 213.16796875 C111.61048828 214.45380859 111.61048828 214.45380859 110.51171875 215.765625 C88.48096692 241.08338065 59.91845952 254.78769402 26.6875 258.16796875 C20.98341629 258.51073898 15.27482269 258.51009072 9.5625 258.48046875 C8.79403748 258.47798126 8.02557495 258.47549377 7.23382568 258.47293091 C-28.39281197 258.29492256 -60.17611795 248.13707604 -86 222.91796875 C-117.72300344 190.81731051 -124.68949851 146.11311077 -124.68310547 102.8034668 C-124.6875095 99.47328641 -124.72408667 96.14440378 -124.76171875 92.81445312 C-124.89908822 66.59572752 -118.49428944 43.79369285 -100.3125 24.16796875 C-72.94000538 -1.4516075 -35.04854413 0.01053577 0 0 Z M-36.9140625 21.43359375 C-38.11208055 21.51490665 -38.11208055 21.51490665 -39.33430099 21.59786224 C-59.87532769 23.03702093 -75.91541819 29.0329654 -90.28125 44.25390625 C-109.07937063 66.43239067 -105.57544337 100.41897449 -103.5625 127.48046875 C-100.67806578 160.87568918 -89.45526266 193.36884095 -63.40625 215.703125 C-46.11461633 229.47966647 -24.75667842 237.18292476 -2.703125 237.40625 C-1.90239563 237.41604385 -1.10166626 237.42583771 -0.27667236 237.43592834 C31.40210244 237.74407943 58.5682937 234.42601899 83.6875 213.16796875 C84.57501953 212.49894531 84.57501953 212.49894531 85.48046875 211.81640625 C99.92688668 200.62986885 109.44195114 181.91739525 115.6875 165.16796875 C115.6875 164.50796875 115.6875 163.84796875 115.6875 163.16796875 C116.63625 163.22984375 117.585 163.29171875 118.5625 163.35546875 C132.95828384 163.24053235 147.65575489 153.81755214 157.6875 144.16796875 C172.69867383 128.52027871 177.1423516 109.69666423 176.90234375 88.73828125 C176.40533008 70.41977737 169.3070055 54.18127534 156.0625 41.48046875 C128.30854933 17.93166212 89.40490962 20.03712213 55.1015625 19.96484375 C54.1655357 19.96201637 53.2295089 19.959189 52.26511765 19.95627594 C47.29881276 19.9414396 42.3325357 19.93211582 37.36621094 19.92773438 C33.3625359 19.92338159 29.35908023 19.90959136 25.35546875 19.88671875 C4.55642016 19.77063981 -16.16158136 19.92055353 -36.9140625 21.43359375 Z " fill="#FDFDFD" transform="translate(125.3125,0.83203125)"/>
|
||||
<path d="M0 0 C4.0210469 0.01922649 8.04204837 0.0231668 12.06313515 0.02671432 C16.96746392 0.03191701 21.87175453 0.0463432 26.77606201 0.06115723 C27.66865345 0.06303795 28.56124489 0.06491867 29.48088455 0.06685638 C104.8138903 0.27266545 104.8138903 0.27266545 131.51824951 25.28381348 C146.00743215 40.30240856 148.80733183 59.88073551 148.57684326 79.86193848 C148.40676974 86.00676871 147.47862433 91.48394134 145.36199951 97.26428223 C145.01008545 98.26459473 144.65817139 99.26490723 144.29559326 100.29553223 C141.58482813 107.38109653 138.02089666 113.29886827 133.36199951 119.26428223 C132.85153076 119.95135254 132.34106201 120.63842285 131.81512451 121.34631348 C122.87990418 132.55957266 108.37551958 140.69513688 94.36199951 143.26428223 C91.99868361 143.39507643 89.73161448 143.36301618 87.36199951 143.26428223 C87.19909424 143.87666748 87.03618896 144.48905273 86.86834717 145.11999512 C85.11048486 151.38021067 82.80074198 156.97474004 79.73699951 162.70178223 C79.29968506 163.52581543 78.86237061 164.34984863 78.4118042 165.19885254 C74.73551439 171.93915894 70.52328772 177.5676745 65.36199951 183.26428223 C64.89922607 183.86756348 64.43645264 184.47084473 63.95965576 185.09240723 C49.47077198 203.94116789 24.33449634 213.53715386 1.64834595 216.98568726 C-4.74743651 217.76502358 -11.1953617 217.70435182 -17.62872314 217.65539551 C-20.13627476 217.63929331 -22.64221551 217.65535698 -25.14971924 217.67443848 C-49.65501476 217.70824096 -72.66730829 211.29352564 -91.63800049 195.26428223 C-92.8406958 194.28008301 -92.8406958 194.28008301 -94.06768799 193.27600098 C-119.10785027 171.94115866 -129.00627857 139.52551634 -131.82550049 107.76428223 C-136.63221747 45.60381817 -136.63221747 45.60381817 -118.39581299 24.20959473 C-117.81573486 23.5676416 -117.23565674 22.92568848 -116.63800049 22.26428223 C-116.14042236 21.6635791 -115.64284424 21.06287598 -115.13018799 20.44396973 C-102.43285769 6.21530312 -83.29710537 2.75552416 -65.23956299 1.52990723 C-63.99376402 1.43907742 -63.99376402 1.43907742 -62.72279739 1.34641266 C-41.83021959 -0.1566744 -20.93488238 -0.11960086 0 0 Z M-60.07330322 24.16931152 C-61.09852868 24.2489832 -62.12375414 24.32865488 -63.18004704 24.41074085 C-77.00845239 25.59515547 -91.10367573 27.98067259 -101.01300049 38.57678223 C-110.24587232 50.49605462 -110.04439324 65.31049838 -110.01300049 79.70178223 C-110.01345367 80.50920868 -110.01390686 81.31663513 -110.01437378 82.14852905 C-109.97746532 104.67128976 -107.8656026 128.00449845 -98.88800049 148.88928223 C-98.53802002 149.70832031 -98.18803955 150.5273584 -97.82745361 151.37121582 C-95.09768008 157.57737817 -91.97126085 163.02383596 -87.63800049 168.26428223 C-86.78528564 169.39156738 -86.78528564 169.39156738 -85.91534424 170.54162598 C-74.84904372 184.28639414 -56.78325281 191.95760765 -39.63800049 194.26428223 C-34.06896395 194.72523809 -28.49279335 194.73905875 -22.90802002 194.71032715 C-20.4044088 194.70183786 -17.90310592 194.73066241 -15.39971924 194.7623291 C-1.4111781 194.82463695 13.39607291 193.41506302 25.86199951 186.51428223 C26.51233154 186.1706665 27.16266357 185.82705078 27.83270264 185.47302246 C45.76119889 175.70092377 59.14034743 158.33058735 65.10614014 138.83215332 C66.65815977 133.34173031 68.03768132 127.81352704 69.36199951 122.26428223 C70.5105542 122.23850098 71.65910889 122.21271973 72.84246826 122.18615723 C89.25221041 121.65612451 103.08201623 118.5830522 114.73309326 106.22912598 C124.98158848 93.86703222 126.57244625 79.77313106 125.36199951 64.26428223 C124.25712996 56.0053823 121.59738055 49.7270971 116.36199951 43.26428223 C115.90567139 42.66100098 115.44934326 42.05771973 114.97918701 41.43615723 C106.00717163 31.00795087 91.41642311 27.13140428 78.36199951 25.26428223 C77.02038002 25.01923698 77.02038002 25.01923698 75.6516571 24.76924133 C71.91333955 24.19541338 68.19525137 23.91442452 64.42279053 23.71228027 C63.64398057 23.67024066 62.86517061 23.62820105 62.06276035 23.5848875 C51.84299806 23.08287388 41.61903966 23.0999366 31.38934326 23.09631348 C29.21051513 23.0930874 27.03168721 23.0897224 24.8528595 23.08622742 C20.31040954 23.08028359 15.76797847 23.07838256 11.2255249 23.07897949 C5.47995176 23.07908079 -0.26549691 23.06544066 -6.01104069 23.04820728 C-10.50622586 23.03694452 -15.0013823 23.03506461 -19.49658012 23.03558922 C-21.61110296 23.03442998 -23.72562707 23.03012825 -25.84013557 23.02225685 C-37.29303826 22.98361158 -48.6517746 23.27581235 -60.07330322 24.16931152 Z " fill="#222222" transform="translate(153.63800048828125,20.7357177734375)"/>
|
||||
<path d="M0 0 C1.35857222 0.7254263 2.69428007 1.49576426 4 2.3125 C4.65742187 2.72113281 5.31484375 3.12976563 5.9921875 3.55078125 C9.28920162 5.76019113 11.85613423 7.90753671 14 11.3125 C17.37685097 9.8446346 19.61214759 7.92270997 22.25 5.375 C29.90031292 -1.44591006 36.06662986 -2.28755463 46.31640625 -2.0234375 C56.45286385 -1.09900977 63.25727312 3.87224965 70 11.3125 C76.91029016 20.67851311 79.1616053 29.74587701 78 41.3125 C73.24255207 64.40690745 57.47949388 81.29735894 38.30078125 94.15625 C37.21152344 94.8678125 36.12226563 95.579375 35 96.3125 C33.96230469 97.0034375 32.92460937 97.694375 31.85546875 98.40625 C19.0058113 106.80067146 19.0058113 106.80067146 11 105.3125 C-10.98227742 96.73759509 -33.45456844 76.30764159 -43.4765625 55.203125 C-48.11963646 43.94561607 -49.3422345 31.41401025 -45.0625 19.8125 C-40.18731436 9.93887965 -33.243791 3.28797846 -23 -0.6875 C-16.13548782 -2.97567073 -6.68983172 -2.87037762 0 0 Z " fill="#FF5A17" transform="translate(121,74.6875)"/>
|
||||
<path d="M0 0 C7.62988387 1.99349999 11.91910105 6.29924697 16.13671875 12.734375 C18.40839779 18.69624759 17.88963136 27.56784264 16.3125 33.65234375 C13.64789323 39.43676095 9.24615056 42.74733911 3.75 45.8125 C-0.81653159 47.25856834 -5.26111678 48.00810414 -10 47 C-12.38845831 45.34390665 -13.79844446 44.03102932 -14.36903381 41.11225891 C-14.51386976 38.7208417 -14.52794694 36.36048646 -14.49609375 33.96484375 C-14.49754898 33.08977676 -14.49900421 32.21470978 -14.50050354 31.31312561 C-14.49884598 29.46644759 -14.48730062 27.61975556 -14.46655273 25.77319336 C-14.43756561 22.94390362 -14.44595258 20.11648411 -14.45898438 17.28710938 C-14.45274777 15.49217838 -14.44435744 13.69725331 -14.43359375 11.90234375 C-14.43652939 11.05542465 -14.43946503 10.20850555 -14.44248962 9.33592224 C-14.34745355 3.43414071 -14.34745355 3.43414071 -12.62367249 1.2802887 C-9.12922644 -1.47513139 -4.18738864 -0.49329344 0 0 Z " fill="#212121" transform="translate(237,71)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
5
auth/assets/custom-icons/icons/PebbleHost.svg
Normal file
|
After Width: | Height: | Size: 14 KiB |
6
auth/assets/custom-icons/icons/Restream.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="904" height="904">
|
||||
<path d="M0 0 C1.11288391 0.00060425 2.22576782 0.0012085 3.37237549 0.00183105 C19.19099691 0.02517285 34.84917119 0.19185902 50.5625 2.1875 C52.2007373 2.38883545 52.2007373 2.38883545 53.87207031 2.59423828 C144.11102555 13.92744782 231.51339069 51.17412862 298.98046875 112.8515625 C300.37469497 114.11290483 301.77481127 115.36842668 303.20581055 116.58789062 C309.19714778 121.71020777 314.78307669 127.22194476 320.3527832 132.79248047 C321.98825882 134.42577448 323.63157708 136.0508847 325.27539062 137.67578125 C331.09001224 143.45977566 336.53034336 149.35895875 341.6472168 155.78417969 C343.24543187 157.78963912 344.87613176 159.73578404 346.57421875 161.65625 C405.79203624 228.64193707 442.65605654 320.29719472 449.5625 409.1875 C449.64862549 410.24493408 449.73475098 411.30236816 449.82348633 412.3918457 C450.72419906 424.79729885 450.76142247 437.19135266 450.75 449.625 C450.74959213 451.29133484 450.74959213 451.29133484 450.74917603 452.99133301 C450.73133919 468.81731301 450.48400796 484.46060387 448.5625 500.1875 C448.46598145 501.05342773 448.36946289 501.91935547 448.27001953 502.81152344 C438.14431989 593.02834817 399.26877576 681.47431329 337.8984375 748.60546875 C336.63709517 749.99969497 335.38157332 751.39981127 334.16210938 752.83081055 C329.03979223 758.82214778 323.52805524 764.40807669 317.95751953 769.9777832 C316.32422552 771.61325882 314.6991153 773.25657708 313.07421875 774.90039062 C307.29022434 780.71501224 301.39104125 786.15534336 294.96582031 791.2722168 C292.96036088 792.87043187 291.01421596 794.50113176 289.09375 796.19921875 C222.23274492 855.30681276 130.17937532 892.30230102 41.5625 899.1875 C40.50506592 899.27362549 39.44763184 899.35975098 38.3581543 899.44848633 C25.95279899 900.34919196 13.55857494 900.38745456 1.125 900.375 C0.01211609 900.37439575 -1.10076782 900.3737915 -2.24737549 900.37316895 C-18.06823152 900.34982385 -33.7211673 900.17158591 -49.4375 898.1875 C-50.50838867 898.05859375 -51.57927734 897.9296875 -52.68261719 897.796875 C-144.47214559 886.52218741 -229.08903921 848.15294951 -298.4375 787.1875 C-299.34113281 786.39730469 -300.24476563 785.60710938 -301.17578125 784.79296875 C-307.85140813 778.81292094 -314.22766301 772.52473887 -320.58743286 766.21279907 C-321.59508155 765.21319029 -322.60420601 764.21506645 -323.61495972 763.21859741 C-329.60908412 757.30024829 -335.24089687 751.22111789 -340.48193359 744.61669922 C-342.37137958 742.2696346 -344.34074007 740.0343426 -346.375 737.8125 C-391.43715685 687.50642352 -420.73249017 621.85371633 -437.4375 557.1875 C-437.83966718 555.68354652 -438.24198334 554.17963287 -438.64453125 552.67578125 C-443.69584874 532.77238285 -446.83696415 511.65075455 -448.4375 491.1875 C-448.56668823 489.60352417 -448.56668823 489.60352417 -448.69848633 487.98754883 C-449.59918104 475.58073986 -449.63745601 463.18502073 -449.625 450.75 C-449.62439575 449.63711609 -449.6237915 448.52423218 -449.62316895 447.37762451 C-449.59982385 431.55676848 -449.42158591 415.9038327 -447.4375 400.1875 C-447.30859375 399.11661133 -447.1796875 398.04572266 -447.046875 396.94238281 C-440.4868699 343.53604502 -425.54073226 289.91173527 -399.33984375 242.64453125 C-397.63812667 239.55208851 -396.08334006 236.43385498 -394.5625 233.25 C-381.20876689 206.4333752 -362.4962862 181.56702106 -342.94384766 158.98095703 C-341.8152422 157.63723974 -340.71528861 156.26936853 -339.63037109 154.89013672 C-333.44070728 147.07610164 -326.61041352 140.05423723 -319.54541016 133.03466797 C-317.56568576 131.0656685 -315.59689246 129.08619273 -313.62890625 127.10546875 C-307.25451675 120.7248322 -300.85627204 114.61259775 -293.75146484 109.04223633 C-291.36709203 107.13106516 -289.15330692 105.1029816 -286.9375 103 C-279.31894602 96.05295318 -270.796479 90.19951996 -262.4375 84.1875 C-261.02597656 83.16462891 -261.02597656 83.16462891 -259.5859375 82.12109375 C-229.85439671 60.92076827 -197.38904037 43.55411722 -163.4375 30.1875 C-162.52548828 29.8260791 -161.61347656 29.4646582 -160.67382812 29.09228516 C-122.51432036 14.14110403 -81.30867967 4.38424409 -40.4375 1.1875 C-38.85352417 1.05831177 -38.85352417 1.05831177 -37.23754883 0.92651367 C-24.83073986 0.02581896 -12.43502073 -0.01245601 0 0 Z " fill="#000000" transform="translate(451.4375,1.8125)"/>
|
||||
<path d="M0 0 C233.85843373 0 233.85843373 0 270 13 C271.20011719 13.42796875 272.40023438 13.8559375 273.63671875 14.296875 C289.44811188 20.27865604 304.081328 28.05350622 317 39 C318.22589844 39.99966797 318.22589844 39.99966797 319.4765625 41.01953125 C344.81574688 62.39674693 356.76928326 95.10294351 359.80371094 127.25927734 C361.0036314 144.01339073 360.22261787 160.53401268 357 177 C356.69255859 178.75957031 356.69255859 178.75957031 356.37890625 180.5546875 C350.99149974 207.92672804 332.75342874 232.71081084 309.8984375 248.17578125 C286.34475375 263 286.34475375 263 279 263 C286.9944143 277.39508684 295.1117491 291.70380211 303.4375 305.91015625 C309.04206461 315.47534172 314.56226164 325.08936946 320.09570312 334.69580078 C322.01506662 338.02614252 323.93682353 341.35509148 325.859375 344.68359375 C331.61613159 354.65143316 337.36365676 364.6239207 343.0625 374.625 C347.84252943 383.01048241 352.69381747 391.3528543 357.56518555 399.68554688 C363.8788019 410.49052519 370.13330951 421.32933469 376.37451172 432.17626953 C377.82175919 434.69036749 379.27175921 437.2028511 380.72265625 439.71484375 C381.4611125 440.99729508 382.19941203 442.27983668 382.9375 443.5625 C383.54464844 444.61566406 384.15179687 445.66882813 384.77734375 446.75390625 C386 449 386 449 386 450 C368.40636948 450.30399394 350.81356086 450.53307186 333.21790314 450.67355824 C325.04736936 450.74053018 316.87846926 450.83178743 308.70898438 450.98071289 C301.58637502 451.1104922 294.46494869 451.19420178 287.34118986 451.22315043 C283.57013155 451.24006961 279.80245662 451.27966279 276.03248596 451.37449074 C272.47889243 451.46314684 268.93005216 451.48988228 265.37545776 451.47039986 C263.45838506 451.47564986 261.54182457 451.54542453 259.62609863 451.61746216 C255.98576831 451.56115318 253.37717104 451.37603377 250 450 C246.45988364 446.00478726 244.28662185 441.83198107 242 437 C241.1754463 435.52668234 240.34184823 434.05826327 239.48828125 432.6015625 C238.76023327 431.2775707 238.03500825 429.95202298 237.3125 428.625 C236.45780129 427.07249249 235.602292 425.52043103 234.74609375 423.96875 C234.07876221 422.75832031 234.07876221 422.75832031 233.39794922 421.5234375 C230.91580094 417.04291277 228.39622559 412.58362075 225.875 408.125 C225.33456055 407.16916016 224.79412109 406.21332031 224.23730469 405.22851562 C219.53151113 396.91776268 214.78647131 388.62956921 210.04129028 380.34127808 C204.08768973 369.93861815 198.21662094 359.49109588 192.37109375 349.02734375 C184.34641457 334.66629451 176.22855735 320.35765384 168.04443359 306.08691406 C167.58633301 305.28737305 167.12823242 304.48783203 166.65625 303.6640625 C166.26244141 302.97779785 165.86863281 302.2915332 165.46289062 301.58447266 C163.2847522 297.73637964 161.14740447 293.86532805 159 290 C149.1 289.67 139.2 289.34 129 289 C129 342.13 129 395.26 129 450 C86.43 450 43.86 450 0 450 C0 301.5 0 153 0 0 Z " fill="#FEFEFE" transform="translate(283,227)"/>
|
||||
<path d="M0 0 C77.16082803 0 77.16082803 0 93.5234375 14.3515625 C105.35605673 27.56152365 106.80173357 42.68365139 106.15673828 59.62207031 C105.26854826 73.09710268 100.03099568 85.35817152 90.2265625 94.6875 C65.74626402 114.51964054 28.01100936 108 0 108 C0 72.36 0 36.72 0 0 Z " fill="#000000" transform="translate(412,324)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.5 KiB |
7
auth/assets/custom-icons/icons/Terabit.svg
Normal file
|
After Width: | Height: | Size: 13 KiB |
1
auth/assets/custom-icons/icons/authentik.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><style>.cls-1{fill:#fd4b2d;}</style></defs><rect class="cls-1" x="546.66" y="275.34" width="34.99" height="99.97"/><rect class="cls-1" x="637.66" y="271.13" width="34.99" height="78.19"/><path class="cls-1" d="M127.64,385.31a127.57,127.57,0,0,0-112.13,66.9H74.82c26.27-22.67,64.42-29.28,92,0h62.8C205.11,419.06,168.36,385.31,127.64,385.31Z"/><path class="cls-1" d="M212.39,512.53C130.55,683.65-12.89,537.81,74.82,452.21H15.51C-31,533.33,33.3,642.73,127.64,640.24c73,0,133.2-108.3,133.2-127.46,0-8.47-11.78-34.33-31.2-60.57h-62.8C187.65,471.08,205.81,498.56,212.39,512.53Zm2.17-5h0Z"/><path class="cls-1" d="M999.94,274.11V725.89c0,86.58-70.42,157.06-157.05,157.06H776.22V729.12H457.88V883H391.22c-86.64,0-157.06-70.48-157.06-157.06V583.81H738.87V312.11H495.24V464.76H234.16V274.11a151.29,151.29,0,0,1,1.06-18,154.4,154.4,0,0,1,3.88-21.15c.58-2.23,1.23-4.46,1.88-6.64a13.66,13.66,0,0,1,.52-1.64c.36-1.12.71-2.17,1.06-3.23s.76-2.17,1.18-3.23c.47-1.23.88-2.41,1.35-3.58s1-2.35,1.47-3.53a159,159,0,0,1,14.27-26.49c.06-.06.12-.17.17-.23,1.41-2.06,2.88-4.11,4.41-6.17,1.29-1.7,2.58-3.35,3.88-5,1.52-1.82,3.11-3.7,4.69-5.46s3.12-3.47,4.76-5.11l.18-.18a36.53,36.53,0,0,1,2.64-2.64,159.75,159.75,0,0,1,18.68-15.63c1.76-1.29,3.64-2.52,5.52-3.76,2.11-1.35,4.23-2.64,6.4-3.93,4.11-2.41,8.28-4.64,12.63-6.64,1.35-.64,2.76-1.29,4.11-1.88a152.81,152.81,0,0,1,18.38-6.63c2.41-.71,4.82-1.35,7.29-1.94,1.17-.3,2.35-.59,3.58-.82a158.5,158.5,0,0,1,21.26-3.12l3.12-.17c.52,0,1-.06,1.52-.06,2.35-.12,4.76-.18,7.17-.18H842.89c2.4,0,4.81.06,7.16.18.53,0,1,.06,1.53.06l3.11.17A158.26,158.26,0,0,1,876,120.58c1.24.23,2.41.52,3.59.82,2.46.59,4.87,1.23,7.28,1.94A152.81,152.81,0,0,1,905.2,130c1.35.59,2.76,1.24,4.11,1.88,4.35,2,8.52,4.23,12.63,6.64,2.18,1.29,4.29,2.58,6.4,3.93,1.88,1.24,3.76,2.47,5.52,3.76a157.53,157.53,0,0,1,21.5,18.45c1.65,1.64,3.23,3.34,4.76,5.11s3.17,3.64,4.7,5.46c1.29,1.64,2.58,3.29,3.87,5,1.53,2.06,3,4.11,4.41,6.17.06.06.12.17.18.23a159.71,159.71,0,0,1,14.27,26.49c.47,1.18,1,2.35,1.47,3.53s.88,2.35,1.35,3.58c.41,1.06.82,2.11,1.17,3.23s.71,2.11,1.06,3.23a15.74,15.74,0,0,1,.53,1.64c.64,2.18,1.29,4.41,1.88,6.64a155.92,155.92,0,0,1,3.87,21.15A151.29,151.29,0,0,1,999.94,274.11Z"/><path class="cls-1" d="M973.27,186.59H260.84A157.05,157.05,0,0,1,391.2,117.07H842.9A157.08,157.08,0,0,1,973.27,186.59Z"/><path class="cls-1" d="M998.94,256.1H235.16a155.35,155.35,0,0,1,25.68-69.51H973.27A155.34,155.34,0,0,1,998.94,256.1Z"/><path class="cls-1" d="M1000,274.11v51.51H738.87V312.11H495.24v13.51H234.1V274.11a153.41,153.41,0,0,1,1.06-18H998.94A151.29,151.29,0,0,1,1000,274.11Z"/><rect class="cls-1" x="234.1" y="325.62" width="261.13" height="69.54"/><rect class="cls-1" x="738.87" y="325.62" width="261.13" height="69.54"/><rect class="cls-1" x="234.1" y="395.16" width="261.13" height="69.48"/><rect class="cls-1" x="738.87" y="395.16" width="261.13" height="69.48"/></svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
1
auth/assets/custom-icons/icons/binance_tr.svg
Normal file
|
After Width: | Height: | Size: 16 KiB |
1
auth/assets/custom-icons/icons/carta.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="99" height="43" viewBox="0 0 99 43" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#a)"><path d="M97.926 1.077H1.074v40.846h96.852V1.077Z" stroke="#000" stroke-width="3" stroke-miterlimit="10"></path><path d="M21.816 30.34a7.627 7.627 0 0 1-5.455-2.267 7.669 7.669 0 0 1-2.218-5.486c0-4.92 4.124-7.81 7.819-7.81 2.643 0 5.115.994 6.437 3.314l-2.472 1.444a4.648 4.648 0 0 0-3.916-2.09c-2.174 0-4.762 1.71-4.762 5.099 0 3.313 2.472 5.125 4.957 5.125a4.59 4.59 0 0 0 4.028-2.478l2.528 1.18c-1.424 2.587-3.978 3.969-6.946 3.969ZM37.9 27.537c2.819 0 4.758-2.12 4.758-4.97 0-2.85-1.94-4.97-4.758-4.97-2.819 0-4.825 2.094-4.825 4.923 0 2.867 1.943 5.017 4.825 5.017Zm-.298 2.803c-4.464 0-7.643-3.39-7.643-7.783 0-4.48 3.15-7.78 7.643-7.78 2.062 0 4.048.872 5 2.21v-1.825h3.053v14.764h-3.053v-1.83c-1.001 1.33-2.941 2.244-5 2.244ZM61.08 29.92V18.014h-2.35v-2.95h2.38v-4.363h3.146v4.364h3.261v2.949h-3.261v11.904H61.08ZM76.52 27.537c2.818 0 4.761-2.12 4.761-4.97 0-2.85-1.943-4.97-4.762-4.97-2.818 0-4.82 2.094-4.82 4.923 0 2.867 1.939 5.017 4.82 5.017Zm-.298 2.803c-4.468 0-7.64-3.39-7.64-7.783 0-4.48 3.146-7.78 7.64-7.78 2.062 0 4.048.872 5 2.21v-1.825h3.056v14.764h-3.056v-1.83c-1.001 1.33-2.941 2.244-5 2.244ZM48.8 29.902V15.138h2.909v2.565c.601-1.657 1.873-2.8 3.559-2.8.366-.007.731.034 1.087.12v2.855c-2.373-.275-4.379 1.389-4.379 5.189v6.835h-3.175Z" fill="#000"></path></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h99v43H0z"></path></clipPath></defs></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
auth/assets/custom-icons/icons/cloudns.svg
Normal file
|
After Width: | Height: | Size: 242 KiB |
@@ -1,10 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.0" id="katman_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 800 600" style="enable-background:new 0 0 800 600;" xml:space="preserve">
|
||||
<path d="M399.8,69.1L399.8,69.1c127.3,0,230.5,103.2,230.5,230.5l0,0c0,127.3-103.2,230.5-230.5,230.5l0,0
|
||||
c-127.3,0-230.5-103.2-230.5-230.5l0,0C169.3,172.3,272.5,69.1,399.8,69.1z" style="fill:#0052FF;"/>
|
||||
<path d="M399.9,380.6c-44.8,0-81-36.3-81-81s36.3-81,81-81c40.1,0,73.4,29.2,79.8,67.5h81.6
|
||||
c-6.9-83.2-76.5-148.6-161.5-148.6c-89.5,0-162.1,72.6-162.1,162.1s72.6,162.1,162.1,162.1c85,0,154.6-65.4,161.5-148.6h-81.7
|
||||
C473.2,351.4,440,380.6,399.9,380.6z" style="fill:#FFFFFF;"/>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="464" height="464">
|
||||
<path d="M0 0 C0.8939447 -0.00067474 1.7878894 -0.00134949 2.70892334 -0.00204468 C16.2805355 0.01422313 29.41164925 0.55527652 42.75 3.25 C43.6260791 3.41628906 44.5021582 3.58257812 45.40478516 3.75390625 C87.03111375 11.76610281 124.10787271 31.41871187 155.75 59.25 C156.74257813 60.11882813 157.73515625 60.98765625 158.7578125 61.8828125 C164.18223795 66.71601991 169.10589996 71.67319368 173.75 77.25 C174.59304688 78.21679688 175.43609375 79.18359375 176.3046875 80.1796875 C216.05219286 125.88059445 235.22559137 186.33089501 231.54785156 246.56054688 C228.00767396 292.11528508 212.35636492 336.34978797 183.75 372.25 C183.06808594 373.12398438 182.38617188 373.99796875 181.68359375 374.8984375 C143.90732005 422.34488071 88.69851938 453.7125829 28.24511719 460.65234375 C-34.37189258 466.81196118 -95.92023521 450.38447219 -145.32373047 410.84912109 C-150.63059762 406.44354697 -155.62331058 401.69957299 -160.56298828 396.89013672 C-162.11230568 395.38386838 -163.67658294 393.8953131 -165.24609375 392.41015625 C-172.34316289 385.55468946 -178.35256425 378.1277555 -184.25 370.25 C-184.87406738 369.43305664 -184.87406738 369.43305664 -185.51074219 368.59960938 C-221.70234035 321.12863129 -236.255038 259.54945873 -229.125 200.625 C-223.65339389 160.98806158 -208.5347753 121.51559714 -183.25 90.25 C-182.6209375 89.43144531 -181.991875 88.61289063 -181.34375 87.76953125 C-175.73595711 80.54145393 -169.54040683 73.88109081 -163.25 67.25 C-162.53714844 66.49460937 -161.82429688 65.73921875 -161.08984375 64.9609375 C-155.86381746 59.57394531 -150.12911839 54.90365572 -144.25 50.25 C-143.27289063 49.4559375 -142.29578125 48.661875 -141.2890625 47.84375 C-132.4373368 40.7980439 -123.02475219 34.92815996 -113.25 29.25 C-112.63463379 28.88664551 -112.01926758 28.52329102 -111.38525391 28.14892578 C-77.7399993 8.43365597 -38.64381278 0.02618084 0 0 Z " fill="#0152FF" transform="translate(231.25,0.75)"/>
|
||||
<path d="M0 0 C1.15219528 0.00323273 1.15219528 0.00323273 2.32766724 0.00653076 C46.5920503 0.20539431 86.3613979 17.15905335 117.875 48.3125 C129.3506392 59.925572 138.17221165 72.99064893 145.875 87.3125 C146.40867187 88.28574219 146.94234375 89.25898438 147.4921875 90.26171875 C153.97570121 102.57367613 157.87724071 115.31499682 160.75 128.875 C160.965354 129.88594727 161.18070801 130.89689453 161.40258789 131.93847656 C162.5567448 137.69444587 162.875 142.26232321 162.875 148.3125 C135.815 148.3125 108.755 148.3125 80.875 148.3125 C78.895 140.3925 78.895 140.3925 76.875 132.3125 C73.01912026 122.99682416 67.61430699 114.79765915 60.875 107.3125 C60.28460938 106.62929687 59.69421875 105.94609375 59.0859375 105.2421875 C45.82581396 90.8535428 26.25081675 82.81513123 6.9296875 81.94140625 C-15.82776053 81.49114274 -33.37630167 86.44103207 -51.125 101.3125 C-51.95386719 101.95058594 -52.78273438 102.58867187 -53.63671875 103.24609375 C-67.01650901 114.35741093 -76.32245113 133.7719616 -77.95727539 150.94946289 C-78.7845932 162.6053713 -79.02063903 174.17097236 -75.125 185.3125 C-74.76148438 186.38886719 -74.39796875 187.46523438 -74.0234375 188.57421875 C-66.85648891 208.47984048 -53.16199311 224.73833972 -34.125 234.3125 C-22.24116835 239.47938333 -12.28408945 241.65925979 0.625 241.625 C1.82382813 241.64111328 3.02265625 241.65722656 4.2578125 241.67382812 C15.13116783 241.67972474 24.94707086 239.60770873 34.875 235.1875 C35.88445679 234.73963135 35.88445679 234.73963135 36.91430664 234.28271484 C43.60090916 231.18170478 49.2920051 227.12007895 54.875 222.3125 C55.67421875 221.62542969 56.4734375 220.93835938 57.296875 220.23046875 C70.17339685 208.26418379 77.47881348 192.2934326 80.875 175.3125 C107.935 175.3125 134.995 175.3125 162.875 175.3125 C161.72034654 193.78695543 161.72034654 193.78695543 159.6875 200.25 C159.46682861 200.9910498 159.24615723 201.73209961 159.01879883 202.49560547 C158.32779264 204.77609494 157.60642624 207.04468382 156.875 209.3125 C156.64651367 210.03614746 156.41802734 210.75979492 156.18261719 211.50537109 C148.20098681 236.50582439 134.68330188 257.13677494 116.875 276.3125 C116.2975 276.95574219 115.72 277.59898437 115.125 278.26171875 C104.08045348 290.02120243 90.19356562 299.0741488 75.875 306.3125 C75.23820313 306.63444336 74.60140625 306.95638672 73.9453125 307.28808594 C59.11895893 314.67856932 44.1525632 319.43429789 27.875 322.3125 C26.85817139 322.49256592 26.85817139 322.49256592 25.82080078 322.67626953 C7.12014261 325.83144721 -11.58008855 324.89065948 -30.125 321.3125 C-31.21240479 321.11164795 -31.21240479 321.11164795 -32.32177734 320.90673828 C-60.31415204 315.60636896 -84.60079698 301.51463953 -106.125 283.3125 C-106.78242187 282.77882813 -107.43984375 282.24515625 -108.1171875 281.6953125 C-112.64277216 277.97427622 -116.35828242 273.78690391 -120.125 269.3125 C-120.87652344 268.47203125 -121.62804687 267.6315625 -122.40234375 266.765625 C-139.33234936 247.40176393 -151.77531886 222.450249 -157.125 197.3125 C-157.40601563 196.06210937 -157.68703125 194.81171875 -157.9765625 193.5234375 C-162.26681816 172.32844099 -162.35863192 147.32944708 -157.125 126.3125 C-156.95871094 125.59320313 -156.79242188 124.87390625 -156.62109375 124.1328125 C-153.836591 112.21101554 -149.47578439 101.30049164 -144.125 90.3125 C-143.81191895 89.65652832 -143.49883789 89.00055664 -143.17626953 88.32470703 C-136.1444676 73.7287857 -126.31185167 60.98489211 -115.125 49.3125 C-114.320625 48.44496094 -113.51625 47.57742187 -112.6875 46.68359375 C-92.86548432 25.94716961 -67.14696372 12.28214517 -39.75 4.4375 C-39.08605225 4.24623535 -38.42210449 4.0549707 -37.73803711 3.85791016 C-25.30600388 0.53525727 -12.78348897 -0.06474055 0 0 Z " fill="#FEFEFF" transform="translate(230.125,69.6875)"/>
|
||||
<path d="M0 0 C0.66 0.33 1.32 0.66 2 1 C-6.91 9.91 -15.82 18.82 -25 28 C-25.66 27.67 -26.32 27.34 -27 27 C-18.40135601 17.51620148 -9.76517923 8.31079083 0 0 Z " fill="#2B6FFF" transform="translate(84,53)"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 845 B After Width: | Height: | Size: 5.9 KiB |
1
auth/assets/custom-icons/icons/csfloat.svg
Normal file
|
After Width: | Height: | Size: 15 KiB |
1
auth/assets/custom-icons/icons/digifinex.svg
Normal file
|
After Width: | Height: | Size: 6.1 MiB |
5
auth/assets/custom-icons/icons/knownhost.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="150" height="150">
|
||||
<path d="M0 0 C16.51609799 13.78388103 26.78945808 30.37994064 29.9375 51.8125 C31.60365015 72.47276181 26.18347293 92.00538863 13.15234375 108.3125 C0.25256773 123.23710859 -16.37587433 132.52146526 -36 135.4375 C-55.3821639 136.72964426 -75.66936482 132.88496585 -90.95703125 120.10546875 C-94.0135961 117.41931005 -96.8854214 114.57680878 -99.75 111.6875 C-100.49121094 110.97980469 -101.23242188 110.27210937 -101.99609375 109.54296875 C-114.55469701 96.73955841 -120.03632901 78.24858455 -120.25 60.6875 C-119.99578268 39.79401367 -111.97546672 21.40455017 -97.515625 6.36328125 C-88.3053946 -2.50081304 -77.00924384 -8.73453329 -64.75 -12.3125 C-64.02425781 -12.53679688 -63.29851563 -12.76109375 -62.55078125 -12.9921875 C-41.15449729 -18.44394572 -17.53604486 -13.02151142 0 0 Z M-95.87890625 21.23046875 C-105.9647934 34.93246231 -110.2601026 50.75398996 -108.75 67.6875 C-106.05979432 85.3587089 -98.04963665 100.45413838 -83.875 111.5625 C-78.43628974 115.42267458 -72.99463992 118.36285302 -66.75 120.6875 C-65.95980469 121.00589844 -65.16960937 121.32429688 -64.35546875 121.65234375 C-49.18190749 126.83763949 -30.88575614 124.61655816 -16.625 118 C-0.57016353 109.49051748 11.30759568 95.78299417 16.75830078 78.42016602 C21.16695193 62.16443743 19.01947426 44.87222004 11.5625 29.9375 C8.18739643 24.16251123 3.96113434 19.40648623 -0.75 14.6875 C-1.81734375 13.60275391 -1.81734375 13.60275391 -2.90625 12.49609375 C-14.31425121 1.60475926 -29.68131603 -3.32033928 -45.25 -3.8125 C-65.64417655 -3.14700582 -82.8144851 5.62507762 -95.87890625 21.23046875 Z " fill="#C9C8C8" transform="translate(119.75,14.3125)"/>
|
||||
<path d="M0 0 C4.875 1.875 4.875 1.875 6 3 C6.15740605 4.70563778 6.25093392 6.41727244 6.31640625 8.12890625 C6.37924805 9.68061523 6.37924805 9.68061523 6.44335938 11.26367188 C6.48267578 12.35228516 6.52199219 13.44089844 6.5625 14.5625 C6.60568359 15.65498047 6.64886719 16.74746094 6.69335938 17.87304688 C6.79982068 20.58189564 6.90183516 23.29083992 7 26 C7.73637695 25.2479126 8.47275391 24.4958252 9.23144531 23.72094727 C11.96711295 20.93095387 14.71271826 18.15092173 17.46142578 15.3737793 C18.64938098 14.17074358 19.83462895 12.96502827 21.01708984 11.7565918 C22.71787064 10.01939629 24.42817535 8.29209066 26.140625 6.56640625 C26.66682434 6.02472305 27.19302368 5.48303986 27.73516846 4.92494202 C32.53641461 0.12152095 32.53641461 0.12152095 36 0 C38.25 1.4375 38.25 1.4375 40 3 C39.55320448 7.89934398 38.49070872 10.12085452 34.96484375 13.5234375 C34.23644287 14.23935059 33.50804199 14.95526367 32.75756836 15.69287109 C31.8269458 16.57797363 30.89632324 17.46307617 29.9375 18.375 C26.988125 21.22125 24.03875 24.0675 21 27 C35.85 27.495 35.85 27.495 51 28 C50.92105982 20.61069075 50.92105982 20.61069075 50.81982422 13.22167969 C50.8148291 12.29774414 50.80983398 11.37380859 50.8046875 10.421875 C50.78897705 9.00793457 50.78897705 9.00793457 50.77294922 7.56542969 C51.01170446 4.86775222 51.54307781 3.26746794 53 1 C54.875 0.0625 54.875 0.0625 57 0 C59.10244751 1.1325531 59.10244751 1.1325531 61 3 C61.49447632 5.62513733 61.49447632 5.62513733 61.48583984 8.81665039 C61.49506973 10.6084951 61.49506973 10.6084951 61.50448608 12.4365387 C61.49011505 13.72720749 61.47574402 15.01787628 61.4609375 16.34765625 C61.45855297 17.68379031 61.45764777 19.01992776 61.4581604 20.35606384 C61.45503329 23.15466333 61.43847449 25.95275017 61.41162109 28.7512207 C61.3776079 32.34164987 61.36999344 35.93151664 61.37151146 39.52208805 C61.37096815 42.28016039 61.36000801 45.03810933 61.34550858 47.79614067 C61.33603506 49.76488111 61.33258276 51.73364752 61.32919312 53.70240784 C61.31643341 54.89381882 61.30367371 56.0852298 61.29052734 57.31274414 C61.27909195 58.89134972 61.27909195 58.89134972 61.26742554 60.50184631 C61 63 61 63 59 65 C56.5625 65.375 56.5625 65.375 54 65 C51.87779463 62.82256996 51.06212859 61.46799085 50.65942383 58.43457031 C50.6829895 57.02062988 50.6829895 57.02062988 50.70703125 55.578125 C50.71827026 54.19222168 50.71827026 54.19222168 50.72973633 52.77832031 C50.75704834 51.61397461 50.78436035 50.44962891 50.8125 49.25 C50.874375 45.5375 50.93625 41.825 51 38 C41.1 38.33 31.2 38.66 21 39 C27.27916024 45.00256903 27.27916024 45.00256903 33.59594727 50.96533203 C34.36994873 51.72185059 35.1439502 52.47836914 35.94140625 53.2578125 C36.74263916 54.0223877 37.54387207 54.78696289 38.36938477 55.57470703 C40 58 40 58 39.75366211 61.29638672 C39.50495361 62.1885791 39.25624512 63.08077148 39 64 C36.39208984 64.84936523 36.39208984 64.84936523 33 65 C30.57169741 63.20070624 28.76435891 61.58486287 26.7265625 59.41015625 C25.87365128 58.54238808 25.87365128 58.54238808 25.00350952 57.65708923 C23.19357739 55.80801392 21.4094969 53.93610166 19.625 52.0625 C18.40136749 50.803754 17.17612415 49.54657174 15.94921875 48.29101562 C12.94716212 45.21183495 9.96806408 42.1119453 7 39 C6.970271 40.02154175 6.970271 40.02154175 6.93994141 41.0637207 C6.84473017 44.14703917 6.73503534 47.22967649 6.625 50.3125 C6.5940625 51.38435547 6.563125 52.45621094 6.53125 53.56054688 C6.47324219 55.10258789 6.47324219 55.10258789 6.4140625 56.67578125 C6.3826416 57.62364502 6.3512207 58.57150879 6.31884766 59.5480957 C6 62 6 62 4 65 C1.21334312 65.42871644 -0.31123926 65.49431737 -2.63490295 63.8266449 C-4.5278853 61.29363338 -4.38725314 59.54418261 -4.40405273 56.39868164 C-4.41673691 55.25061539 -4.42942108 54.10254913 -4.44248962 52.91969299 C-4.43955399 51.67904587 -4.43661835 50.43839874 -4.43359375 49.16015625 C-4.4388356 47.88651718 -4.44407745 46.61287811 -4.44947815 45.30064392 C-4.4559079 42.60449431 -4.45598429 39.90918907 -4.44604492 37.21313477 C-4.43455932 33.76166105 -4.45475698 30.31121107 -4.48396206 26.85987186 C-4.50674367 23.56412806 -4.49985663 20.26846036 -4.49609375 16.97265625 C-4.50732773 15.73403336 -4.51856171 14.49541046 -4.53013611 13.21925354 C-4.51606468 11.49242592 -4.51606468 11.49242592 -4.50170898 9.73071289 C-4.50154282 8.71828018 -4.50137665 7.70584747 -4.50120544 6.66273499 C-3.87405472 3.33089532 -2.56098608 2.13583901 0 0 Z " fill="#E6444B" transform="translate(46,42)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
1
auth/assets/custom-icons/icons/microsoft365.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><radialGradient id="paint0_radial_2253_2948" cx="0" cy="0" r="1" gradientTransform="matrix(-9.1078 21.447 -27.064 -11.493 10.943 5.234)" gradientUnits="userSpaceOnUse"><stop offset=".06" stop-color="#AE7FE2"/><stop offset="1" stop-color="#0078D4"/></radialGradient><radialGradient id="paint2_radial_2253_2948" cx="0" cy="0" r="1" gradientTransform="matrix(14.846 -4.9755 3.7895 11.307 6.368 19.448)" gradientUnits="userSpaceOnUse"><stop offset=".111" stop-color="#D59DFF"/><stop offset="1" stop-color="#5E438F"/></radialGradient><radialGradient id="paint4_radial_2253_2948" cx="0" cy="0" r="1" gradientTransform="matrix(-26.443 -6.4905 4.7493 -19.349 23.585 12.29)" gradientUnits="userSpaceOnUse"><stop offset=".096" stop-color="#50E6FF"/><stop offset="1" stop-color="#436DCD"/></radialGradient><linearGradient id="paint1_linear_2253_2948" x1="13.592" x2="11.378" y1="24.74" y2="19.401" gradientTransform="translate(-.468 -.468) scale(.77926)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#114A8B"/><stop offset="1" stop-color="#0078D4" stop-opacity="0"/></linearGradient><linearGradient id="paint3_linear_2253_2948" x1="27.449" x2="23.878" y1="16.963" y2="22.083" gradientTransform="translate(-.468 -.468) scale(.77926)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#493474"/><stop offset="1" stop-color="#8C66BA" stop-opacity="0"/></linearGradient><linearGradient id="paint5_linear_2253_2948" x1="11.128" x2="17.351" y1="3.486" y2="3.756" gradientTransform="translate(-.468 -.468) scale(.77926)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#2D3F80"/><stop offset="1" stop-color="#436DCD" stop-opacity="0"/></linearGradient><style>.cls-1{fill:none}.cls-2{fill:#ca64ea}.cls-3{opacity:.75}.cls-4{fill:#7719aa}.cls-5{fill:#fff}.cls-6{fill:#ae4bd5}.cls-7{fill:#9332bf}</style></defs><path fill="url(#paint0_radial_2253_2948)" d="M9.864.558 9.74.632s2.109.146 2.804.146l.546 4.13-2.727 2.727-2.728 1.896v2.186c0 1.527.798 2.943 2.104 3.733l2.872 1.738-6.067 3.539h-1.17l-2.18-1.32a4.364 4.364 0 0 1-2.105-3.733V8.323c0-1.527.799-2.943 2.106-3.734L9.74.629c.041-.024.082-.048.123-.07z"/><path fill="url(#paint1_linear_2253_2948)" d="M9.864.558 9.74.632s2.109.146 2.804.146l.546 4.13-2.727 2.727-2.728 1.896v2.186c0 1.527.798 2.943 2.104 3.733l2.872 1.738-6.067 3.539h-1.17l-2.18-1.32a4.364 4.364 0 0 1-2.105-3.733V8.323c0-1.527.799-2.943 2.106-3.734L9.74.629c.041-.024.082-.048.123-.07z"/><path fill="url(#paint2_radial_2253_2948)" d="M16.363 9.272v2.444a4.364 4.364 0 0 1-2.104 3.733l-6.546 3.962a4.364 4.364 0 0 1-4.368.088l6.394 3.87c1.39.841 3.13.841 4.52 0l6.546-3.962a4.364 4.364 0 0 0 2.104-3.733v-1.765l-.546-.819z"/><path fill="url(#paint3_linear_2253_2948)" d="M16.363 9.272v2.444a4.364 4.364 0 0 1-2.104 3.733l-6.546 3.962a4.364 4.364 0 0 1-4.368.088l6.394 3.87c1.39.841 3.13.841 4.52 0l6.546-3.962a4.364 4.364 0 0 0 2.104-3.733v-1.765l-.546-.819z"/><path fill="url(#paint4_radial_2253_2948)" d="M20.805 4.59 14.259.63A4.364 4.364 0 0 0 9.872.554l-.13.079a4.364 4.364 0 0 0-2.105 3.734V9.54l2.105-1.273a4.364 4.364 0 0 1 4.517 0l6.546 3.959a4.364 4.364 0 0 1 2.103 3.59l.002-.142v-7.35a4.364 4.364 0 0 0-2.105-3.735z"/><path fill="url(#paint5_linear_2253_2948)" d="M20.805 4.59 14.259.63A4.364 4.364 0 0 0 9.872.554l-.13.079a4.364 4.364 0 0 0-2.105 3.734V9.54l2.105-1.273a4.364 4.364 0 0 1 4.517 0l6.546 3.959a4.364 4.364 0 0 1 2.103 3.59l.002-.142v-7.35a4.364 4.364 0 0 0-2.105-3.735z"/></svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
1
auth/assets/custom-icons/icons/raindrop_io.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><defs><path id="a" d="M12 0c6.627 0 12 5.373 12 12v12H12C5.373 24 0 18.627 0 12S5.373 0 12 0z"/><path id="c" d="M0 24V12l.004-.305C.166 5.209 5.474 0 12 0c6.627 0 12 5.373 12 12s-5.373 12-12 12H0z"/></defs><g fill="none" fill-rule="evenodd"><path fill="#0b7ed0" d="M17.657 4.843a8 8 0 0 1-.32 11.616L12 21.5l-5.337-5.04A8 8 0 1 1 17.657 4.843z"/><g transform="matrix(.5 0 0 .5 0 9.5)"><mask id="b" fill="#fff"><use xlink:href="#a" width="100%" height="100%"/></mask><use xlink:href="#a" width="100%" height="100%" fill="#2cd4ed"/><path fill="#0db4e2" d="M35.314-9.314c6.248 6.249 6.248 16.38 0 22.627-.209.21-.422.411-.64.606l-10.673 10.08-10.674-10.08c-.218-.195-.43-.397-.64-.606-6.248-6.248-6.248-16.379 0-22.627 6.249-6.248 16.38-6.248 22.627 0z" mask="url(#b)"/></g><g transform="matrix(.5 0 0 .5 12 9.5)"><mask id="d" fill="#fff"><use xlink:href="#c" width="100%" height="100%"/></mask><use xlink:href="#c" width="100%" height="100%" fill="#3169ff"/><path fill="#3153ff" d="M11.314-9.314c6.248 6.249 6.248 16.38 0 22.627-.209.21-.422.411-.64.606L.002 23.999l-10.674-10.08c-.218-.195-.43-.397-.64-.606-6.248-6.248-6.248-16.379 0-22.627 6.249-6.248 16.38-6.248 22.627 0z" mask="url(#d)"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="200px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g><path style="opacity:1" fill="#fefefe" d="M -0.5,-0.5 C 66.1667,-0.5 132.833,-0.5 199.5,-0.5C 199.5,66.1667 199.5,132.833 199.5,199.5C 132.833,199.5 66.1667,199.5 -0.5,199.5C -0.5,132.833 -0.5,66.1667 -0.5,-0.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#0e0e0e" d="M 119.5,47.5 C 133.743,46.0344 143.909,51.701 150,64.5C 154.009,81.9852 147.509,93.4852 130.5,99C 123.167,99.3333 115.833,99.6667 108.5,100C 104.333,101.5 101.5,104.333 100,108.5C 99.5001,122.829 99.3334,137.163 99.5,151.5C 82.1667,151.5 64.8333,151.5 47.5,151.5C 47.5,132.833 47.5,114.167 47.5,95.5C 60.0736,101.213 72.4069,100.713 84.5,94C 88.6667,91.1667 92.1667,87.6667 95,83.5C 97.7515,75.0718 100.752,66.7384 104,58.5C 108.127,53.202 113.294,49.5354 119.5,47.5 Z"/></g>
|
||||
<?xml version="1.0"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512" fill="none">
|
||||
<rect width="512" height="512" fill="white"/>
|
||||
<path d="M358.635 63.3162C307.498 60.9566 264.496 97.209 257.16 144.973C256.869 147.19 256.433 149.335 256.07 151.48C244.666 210.971 191.568 256.019 127.792 256.019C105.056 256.019 83.7007 250.298 65.1054 240.288C62.8536 239.072 60.166 240.645 60.166 243.148V255.947V448.793H255.997V304.212C255.997 277.613 277.934 256.019 304.955 256.019H353.913C409.336 256.019 453.935 210.757 451.756 155.699C449.795 106.147 408.973 65.6758 358.635 63.3162Z" fill="black"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 635 B |
11
auth/assets/custom-icons/icons/troweprice.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg class="trusty" width="72" height="72" viewBox="0 0 72 72" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
|
||||
<g clip-path="url(#clip0_136_2653)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 0V72H18.9547C19.6146 64.85 20.4143 61.99 24.1933 54.57C28.4921 46.13 29.8117 39.71 29.8117 31.39C29.8117 31.2927 29.8125 31.1864 29.8133 31.0731C29.8198 30.1968 29.8294 28.905 29.5018 28.17C27.8023 28.34 25.373 27.59 23.9334 25.86C22.7137 24.38 21.8839 22.49 21.8839 21.3C21.8839 21.04 21.9139 20.85 22.0739 20.69C23.6634 20.25 26.7826 20.96 28.902 21.95C29.7717 20.53 30.5315 19.61 32.421 18.57C30.7015 14.92 27.5823 12.48 22.8836 12.48C17.4552 12.48 13.8961 15.53 12.7365 18.48C12.3866 19.38 12.8664 19.57 13.4463 18.99C15.7856 16.61 18.2649 15.43 21.504 15.43C25.4829 15.43 27.8223 17.93 27.8223 18.99C27.8223 19.34 27.5623 19.34 27.2124 19.21L27.1642 19.1942C25.9042 18.7805 24.7757 18.41 22.6237 18.41C16.6254 18.41 13.8661 24.03 13.8661 28.81C13.8661 31.44 14.7959 33.37 16.6254 33.37C18.035 33.37 18.8448 32.47 19.5446 31.03C19.7645 30.58 20.1244 30.58 20.4143 31.06C20.8042 31.7 20.8942 32.79 20.8942 33.63C20.8942 37.42 18.105 39.41 14.8959 39.41C8.89753 39.41 5.23854 34.08 5.23854 27.15C5.23854 17.78 11.1469 7.92 23.1436 7.92C31.7812 7.92 36.2699 12.53 38.6593 17.1H39.9289C41.6584 12.99 44.7776 10.55 49.4263 10.55C55.6245 10.55 58.1838 15.37 58.1838 21.11C58.1838 22.6809 58.0188 24.1895 57.8605 25.6374C57.7144 26.973 57.574 28.2568 57.574 29.49C57.574 31.38 58.3738 33.5 60.5232 33.5C61.9028 33.5 63.0625 32.6 63.6323 30.45C63.7923 29.87 64.1422 29.78 64.632 30.39C64.952 30.78 65.4018 31.71 65.4018 32.8C65.4018 35.82 63.4424 39 59.5235 39.03C56.1844 39.06 54.165 37.23 53.7451 34.92C53.6851 34.53 54.035 34.34 54.2549 34.66C55.4746 36.27 57.0442 37.13 59.2635 37.13C60.5132 37.13 61.7628 36.58 62.1827 35.65C62.3127 35.36 62.2127 35.2 61.9928 35.3C61.223 35.65 60.5532 35.78 59.8134 35.78C54.6748 35.78 54.035 30.55 53.6851 25.25C53.2052 26.63 52.2755 27.82 49.8662 28.04C50.0861 27.69 50.256 27.11 50.256 26.69C50.256 26.27 50.0361 25.98 49.5162 25.98C48.7465 25.98 48.0766 26.56 48.0766 27.49C48.0766 28.4238 48.7643 29.4058 49.4753 30.4212C50.0588 31.2544 50.658 32.1101 50.9059 32.98C51.0658 33.56 51.0658 34.07 51.0658 34.71C51.0658 35.83 50.9359 36.93 50.7759 37.47C50.6459 37.89 50.356 38.02 49.5262 38.02C48.9464 38.02 48.7565 37.83 48.6265 37.35C48.5665 37.09 48.4665 36.77 48.2766 36.77C48.067 36.77 47.9936 37.0062 47.9006 37.3054L47.8867 37.35C47.6968 38.02 47.1169 38.15 45.7373 38.15C45.1996 38.15 44.8471 38.1229 44.6162 38.1051H44.6161H44.6161L44.616 38.1051C44.5035 38.0964 44.4199 38.09 44.3577 38.09C44.0078 38.09 43.8778 38.22 43.8778 38.41C43.8778 38.67 43.9078 38.92 43.9778 39.15C44.0378 39.34 44.1677 39.41 44.5576 39.34C45.8373 39.15 46.967 39.12 47.8267 39.12C50.1661 39.12 50.296 39.34 50.1061 40.15C49.9461 40.86 49.6862 41.79 49.3063 42.62C49.0464 43.17 48.8564 43.23 48.4765 43.26C47.7068 43.32 46.677 43.36 45.9072 43.32C44.5099 43.2542 43.2844 42.8113 42.119 42.3902C40.9831 41.9798 39.9043 41.59 38.7792 41.59C38.1699 41.59 37.6128 41.6732 37.0419 41.7585C36.4421 41.8481 35.8271 41.94 35.1202 41.94C33.7406 41.94 32.7609 41.65 31.8212 40.98C30.4615 46.18 29.9617 52.53 29.9617 55.45C29.9617 57.47 30.5415 59.66 31.5712 60.49C31.9211 60.78 32.241 60.78 32.501 60.3C35.0084 55.6355 37.7216 54.0276 40.2896 52.5059C42.6874 51.0849 44.9585 49.7391 46.817 46.05C47.0069 45.7 47.3968 45.76 47.4568 46.18C48.0966 49.97 47.6768 54.56 46.847 58.96C46.747 59.47 47.1069 59.67 47.4568 59.22C48.5165 57.87 49.8961 55.43 50.406 53.47C50.536 52.99 50.9159 52.96 51.1158 53.44C52.3655 56.49 53.7751 62.27 54.195 66.44C54.2249 66.89 54.6448 66.92 54.8048 66.5C55.7045 64 56.2844 59.85 55.6046 56.8C55.5446 56.45 55.7345 56.25 56.1144 56.45C61.6929 59.16 67.1214 64.14 72 71.98V0H0ZM23.1341 65.1C22.1641 67.2 21.4341 69.52 21.2541 72H24.3941C23.9041 69.53 23.8441 67.14 23.8441 65.1C23.8441 64.43 23.5241 64.23 23.1341 65.1ZM45.7273 35.31C44.9875 35.37 44.6676 35.08 44.6676 34.12H44.6776C44.6776 33.8 44.9375 33.38 45.4174 33.38C45.6454 33.38 45.912 33.4104 46.2316 33.4469C46.7107 33.5017 47.3092 33.57 48.0766 33.57C48.3261 33.57 48.5664 33.5332 48.8162 33.4948L48.8164 33.4948L48.8165 33.4948C49.0872 33.4533 49.3691 33.41 49.6862 33.41C50.0361 33.41 50.1961 33.64 50.1961 34.15C50.1961 34.86 50.1261 35.28 49.6462 35.31C48.9064 35.34 48.7465 35.47 48.5865 36.08C48.4865 36.37 48.1666 36.43 48.0067 36.11C47.6168 35.31 46.947 35.21 45.7273 35.31ZM38.4393 26C37.8895 25.2 36.3199 24.2 34.7503 24.23C33.3107 24.2 32.411 25.16 32.411 25.93C32.411 26.12 32.541 26.25 32.7309 26.12C33.0208 25.96 33.2108 25.9 33.4407 25.9C33.7006 26.73 34.4404 27.79 35.88 27.79C36.9697 27.79 37.8395 27.28 37.6795 26.12C37.9395 26.12 38.0994 26.15 38.3194 26.22C38.4493 26.25 38.5093 26.09 38.4493 26H38.4393ZM49.1963 18.45C51.3457 18.45 52.7254 20.18 53.3652 22.27C51.6257 21.98 50.6659 21.98 49.5762 23.23C48.9664 21.47 47.5568 20.09 46.3371 19.51C46.727 19.06 47.5868 18.45 49.1963 18.45Z" fill="#00CFEC"></path>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_136_2653">
|
||||
<rect width="72" height="72" fill="white"></rect>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.1 KiB |
22
auth/assets/custom-icons/icons/ubiquiti.svg
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="logosandtypes_com" data-name="logosandtypes com" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: none;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #005ed9;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g id="Layer_3" data-name="Layer 3">
|
||||
<g id="Layer_3-2" data-name="Layer 3">
|
||||
<g id="Layer_2" data-name="Layer 2">
|
||||
<path id="Layer_3-3" data-name="Layer 3" class="cls-1" d="M0,0H150V150H0V0Z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<path class="cls-2" d="M133.15,14.8h-7.69v7.69h7.69v-7.69Zm-26.9,53.84v-15.4h0s15.37,0,15.37,0v15.38h15.37c.26,14.25-.82,26.68-8.06,39.12-20.96,36.88-72.74,41.85-100.21,9.49h0c-6.41-7.45-11.02-16.51-13.18-26.18-1.1-5.25-1.58-11.92-1.58-17.55V15.76h30.75l.06,58.57c.15,7.58,1.52,15.37,6.05,21.31,13.04,17.66,40.64,16.06,51.33-3.18,3.84-6.42,4.19-16.61,4.09-23.82h0Zm3.84-42.31h11.53v11.53h15.38v15.38h-15.38v-15.37h-11.53v-11.53Z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 968 B |
1
auth/assets/custom-icons/icons/web_de.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#fcd205" d="M21 24H3c-1.65 0-3-1.35-3-3V3c0-1.65 1.35-3 3-3h18c1.65 0 3 1.35 3 3v18c0 1.65-1.35 3-3 3"/><path fill="#28292b" d="M23.259 18.159a.606.606 0 0 0-.136-.31c-.302-.414-1.72-.69-1.72-.685a26.722 26.722 0 0 0-2.448-.4c.13-.62-.006-1.762-.009-2.158.018-.71.004-2.542-.05-3.005-.04-.435-.099-.625-.337-.986-.172-.257-.224-.508-.619-.469-.359.036-.491.535-.43.837l.155.617c.065.127.239 4.125.2 4.473.003.17-.013.387-.018.57a59.89 59.89 0 0 0-3.035-.204 6.85 6.85 0 0 1 .043-.034c.52-.404.34-.941.253-1.526-.119-.938-.028-3.597-.14-3.917-.076-.25-.29-.396-.475-.587-.23-.236-.517-.308-.781-.037-.26.235.065 3.593.083 5.068.023.308-.045.696.077.994-.1-.004-2.768-.06-2.992-.055.003-.052-.032-.119-.057-.17a3.18 3.18 0 0 1-.189-.598 6.314 6.314 0 0 1-.092-.85c-.02-.61.036-2.498.105-2.992.076-.545.367-1.509-.58-1.297-.103.023-.604.085-.738.191-.156.123-.141.43-.147.6-.023.644-.094 2.675-.09 3.162.005.41.078.937.229 1.337.091.243.363.485.646.638-.521.015-1.023.031-1.201.041-.88.05-1.554.098-2.211.163l-.008-.032c-.11-.34.048-1.74.353-4.368.074-.634-.038-.659-.424-1.016-.22-.205-.408-.343-.793-.035-.244.196-.18.447-.223.73-.146.985-.359 2.533-.45 3.536-.025.277.014.91.085 1.295.007.018.004.038.013.058a65.69 65.69 0 0 0-1.2.173c-1.056.164-1.989.204-2.623.489-.39.175-.412.234-.503.376a.368.368 0 0 0-.05.167c0 .011.009.151.02.192a.517.517 0 0 0 .352.374c.047.015.341.04.372.043.709.071 1.099-.101 1.792-.374 3.431-1.369 13.25-.954 15.413-.545.939.187 2.388.383 3.287.898.147.08.284.138.41.176.062.02.123.029.179.042.137.032.284.003.309-.002a.697.697 0 0 0 .14-.042.372.372 0 0 0 .191-.156.919.919 0 0 0 .068-.21.895.895 0 0 0-.005-.18zM12.102 5.817c.203.018 1.804.066 1.896-.56.052-.356-.3-.933-.4-1.037-.133-.11-.425.847-.5-.094-.01-.153-.05-.39-.123-.536-.036-.073-.08-.126-.135-.126a.185.185 0 0 0-.089.03.537.537 0 0 0-.145.21c-.09.223-.13 1.086-.354 1.1-.244.016-.236-.552-.203-.718.005-.027-.001-.033-.012-.03-.023.006-.03.01-.049.016-.146.056-.313.226-.325.238-.23.236-.54.85-.383 1.131.163.293.65.36.822.376zM4.438 9.41c.221.082.515-.066.728-.103.212-.037 1.077-.232.914-.035-.092.111-.33.112-.542.174-.293.087-.764.135-.782.513-.043.899 1.355.301 1.764.155 1.11-.386 2.381-.452 3.504-.64 1.245-.208 2.526-.227 3.783-.275 1.323-.05 2.747-.106 4.047.077.346.05.674.087 1.026.125.305.03.948.311 1.22.183.247-.117.135-.409.262-.558.184-.214.545-.177.294-.634-.192-.348-.89-.461-1.25-.39-.037-.22.132-.123.176-.237a.75.75 0 0 0-.043-.603c-.194-.333-1.115-.45-1.116-.45-2.209-.356-6.184-.74-10.416-.246-.702.082-1.933.17-2.652.46-.318.13-.314.132-.353.341-.038.297.105.642.461.569.684-.141 1.89-.336 2.237-.424 1.706-.435 7.386-.35 8.118-.177.452.097 2.935.178 2.995.633-5.796-.24-8.009-.237-13.213.38-.435.073-.696.168-1.039.284-.422.142-.708.662-.123.878"/></svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -23,7 +23,7 @@ import 'package:tray_manager/tray_manager.dart';
|
||||
import 'package:window_manager/window_manager.dart';
|
||||
|
||||
class App extends StatefulWidget {
|
||||
final Locale locale;
|
||||
final Locale? locale;
|
||||
const App({super.key, this.locale = const Locale("en")});
|
||||
|
||||
static void setLocale(BuildContext context, Locale newLocale) {
|
||||
|
||||
@@ -13,11 +13,11 @@ import 'package:ente_auth/models/key_attributes.dart';
|
||||
import 'package:ente_auth/models/key_gen_result.dart';
|
||||
import 'package:ente_auth/models/private_key_attributes.dart';
|
||||
import 'package:ente_auth/store/authenticator_db.dart';
|
||||
import 'package:ente_auth/utils/directory_utils.dart';
|
||||
import 'package:ente_auth/utils/lock_screen_settings.dart';
|
||||
import 'package:ente_crypto_dart/ente_crypto_dart.dart';
|
||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
@@ -56,7 +56,6 @@ class Configuration {
|
||||
static final _logger = Logger("Configuration");
|
||||
|
||||
String? _cachedToken;
|
||||
late String _documentsDirectory;
|
||||
late SharedPreferences _preferences;
|
||||
String? _key;
|
||||
String? _secretKey;
|
||||
@@ -75,8 +74,7 @@ class Configuration {
|
||||
_preferences = await SharedPreferences.getInstance();
|
||||
sqfliteFfiInit();
|
||||
_secureStorage = const FlutterSecureStorage();
|
||||
_documentsDirectory = (await getApplicationDocumentsDirectory()).path;
|
||||
_tempDirectory = "$_documentsDirectory/temp/";
|
||||
_tempDirectory = (await DirectoryUtils.getDirectoryForInit()).path;
|
||||
final tempDirectory = io.Directory(_tempDirectory);
|
||||
try {
|
||||
final currentTime = DateTime.now().microsecondsSinceEpoch;
|
||||
|
||||
@@ -6,11 +6,34 @@
|
||||
"@counterAppBarTitle": {
|
||||
"description": "Text shown in the AppBar of the Counter Page"
|
||||
},
|
||||
"onBoardingBody": "Бяспечна зрабіць рэзервовую копію кодаў 2ФА",
|
||||
"onBoardingGetStarted": "Пачаць",
|
||||
"setupFirstAccount": "Наладзіць ваш першы ўліковы запіс",
|
||||
"importScanQrCode": "Сканіраваць код QR-код",
|
||||
"qrCode": "QR-код",
|
||||
"importEnterSetupKey": "Увесці ключ наладжвання",
|
||||
"importAccountPageTitle": "Увесці падрабязнасці ўліковага запісу",
|
||||
"secretCanNotBeEmpty": "Сакрэт не можа быць пустым",
|
||||
"bothIssuerAndAccountCanNotBeEmpty": "І выдавец, і ўліковы запіс не могуць быць пустымі",
|
||||
"incorrectDetails": "Няправільныя падрабязнасці",
|
||||
"pleaseVerifyDetails": "Праверце падрабязнасці і паспрабуйце яшчэ раз",
|
||||
"codeIssuerHint": "Выдавец",
|
||||
"codeSecretKeyHint": "Сакрэтны ключ",
|
||||
"secret": "Сакрэт",
|
||||
"all": "Усе",
|
||||
"notes": "Нататкі",
|
||||
"notesLengthLimit": "Максімальная колькасць сімвалаў у нататках не больш за {count}",
|
||||
"@notesLengthLimit": {
|
||||
"description": "Text to indicate the maximum number of characters allowed for notes",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"description": "The maximum number of characters allowed for notes",
|
||||
"type": "int",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"codeAccountHint": "Уліковы запіс (vy@damen.com)",
|
||||
"codeTagHint": "Тэг",
|
||||
"accountKeyType": "Тып ключа",
|
||||
"sessionExpired": "Сеанс завяршыўся",
|
||||
@@ -18,8 +41,19 @@
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
},
|
||||
"pleaseLoginAgain": "Аўтарызуйцеся яшчэ раз",
|
||||
"loggingOut": "Выхад...",
|
||||
"timeBasedKeyType": "Заснаваныя на часе (TOTP)",
|
||||
"counterBasedKeyType": "Заснаваныя на лічыльніку (HOTP)",
|
||||
"saveAction": "Захаваць",
|
||||
"nextTotpTitle": "наступны",
|
||||
"deleteCodeTitle": "Выдаліць код?",
|
||||
"deleteCodeMessage": "Вы сапраўды хочаце выдаліць гэты код? Гэта дзеянне з'яўляецца незваротным.",
|
||||
"trashCode": "Выдаліць код?",
|
||||
"trashCodeMessage": "Вы сапраўды хочаце выдаліць код для {account}?",
|
||||
"trash": "Сметніца",
|
||||
"viewLogsAction": "Паглядзець журнал",
|
||||
"preparingLogsTitle": "Падрыхтоўка журнала...",
|
||||
"emailLogsTitle": "Адправіць журнал па электроннай пошце",
|
||||
"blog": "Блог",
|
||||
"changePassword": "Змяніць пароль",
|
||||
"data": "Даныя",
|
||||
|
||||
@@ -6,8 +6,34 @@
|
||||
"@counterAppBarTitle": {
|
||||
"description": "Text shown in the AppBar of the Counter Page"
|
||||
},
|
||||
"onBoardingBody": "Fes una còpia de seguretat de forma segura dels teus codis 2FA",
|
||||
"onBoardingGetStarted": "Primers passos",
|
||||
"setupFirstAccount": "Configura el teu primer compte",
|
||||
"importScanQrCode": "Escaneja un codi QR",
|
||||
"qrCode": "Codi QR",
|
||||
"importEnterSetupKey": "Introdueix una clau de configuració",
|
||||
"importAccountPageTitle": "Introdueix les dades del compte",
|
||||
"secretCanNotBeEmpty": "El secret no pot estar buit",
|
||||
"bothIssuerAndAccountCanNotBeEmpty": "Ni l'emissor ni el compte poden estar buits",
|
||||
"incorrectDetails": "Detalls incorrectes",
|
||||
"pleaseVerifyDetails": "Verifica els detalls i torna-ho a provar",
|
||||
"codeIssuerHint": "Emissor",
|
||||
"codeSecretKeyHint": "Clau secreta",
|
||||
"secret": "Secret",
|
||||
"all": "Tots",
|
||||
"notes": "Notes",
|
||||
"notesLengthLimit": "Les notes poden tenir un màxim de {count} caràcters",
|
||||
"@notesLengthLimit": {
|
||||
"description": "Text to indicate the maximum number of characters allowed for notes",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"description": "The maximum number of characters allowed for notes",
|
||||
"type": "int",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"codeAccountHint": "Compte (tu@domini.com)",
|
||||
"codeTagHint": "Etiqueta",
|
||||
"accountKeyType": "Tipus de clau",
|
||||
"sessionExpired": "La sessió ha caducat",
|
||||
@@ -15,12 +41,448 @@
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
},
|
||||
"pleaseLoginAgain": "Torna a iniciar sessió",
|
||||
"loggingOut": "Tancant sessió...",
|
||||
"timeBasedKeyType": "Basat en temps (TOTP)",
|
||||
"counterBasedKeyType": "Basat en comptador (HOTP)",
|
||||
"saveAction": "Desa",
|
||||
"nextTotpTitle": "següent",
|
||||
"deleteCodeTitle": "Esborrar el codi?",
|
||||
"deleteCodeMessage": "Segur que vols esborrar aquest codi? Aquesta acció és irreversible.",
|
||||
"trashCode": "Enviar el codi a la paperera?",
|
||||
"trashCodeMessage": "Estàs segur que vols enviar a la paperera el codi per a {account}?",
|
||||
"trash": "Paperera",
|
||||
"viewLogsAction": "Veure registres",
|
||||
"sendLogsDescription": "Això enviarà els registres per ajudar-nos a diagnosticar el problema. Tot i que prenem precaucions per assegurar que la informació sensible no es registri, et recomanem que revisis els registres abans de compartir-los.",
|
||||
"preparingLogsTitle": "Preparant registres...",
|
||||
"emailLogsTitle": "Enviar registres per correu electrònic",
|
||||
"emailLogsMessage": "Si us plau, envia els registres a {email}",
|
||||
"@emailLogsMessage": {
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"copyEmailAction": "Copia el correu electrònic",
|
||||
"exportLogsAction": "Exporta registres",
|
||||
"reportABug": "Informa d'un error",
|
||||
"crashAndErrorReporting": "Informes d'errors i fallades",
|
||||
"reportBug": "Informar d'error",
|
||||
"emailUsMessage": "Si us plau, envia'ns un correu a {email}",
|
||||
"@emailUsMessage": {
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"contactSupport": "Contacta amb suport",
|
||||
"rateUsOnStore": "Valora'ns a {storeName}",
|
||||
"blog": "Blog",
|
||||
"merchandise": "Marxandatge",
|
||||
"verifyPassword": "Verifica la contrasenya",
|
||||
"pleaseWait": "Si us plau, espera...",
|
||||
"generatingEncryptionKeysTitle": "Generant claus d'encriptació...",
|
||||
"recreatePassword": "Recrea la contrasenya",
|
||||
"recreatePasswordMessage": "Aquest dispositiu no és prou potent per verificar la contrasenya, així que hem de regenerar-la d'una manera compatible amb tots els dispositius. \n\nInicia sessió amb la teva clau de recuperació i regenera la contrasenya (pots reutilitzar la mateixa si ho desitges).",
|
||||
"useRecoveryKey": "Usa la clau de recuperació",
|
||||
"incorrectPasswordTitle": "Contrasenya incorrecta",
|
||||
"welcomeBack": "Benvingut de nou!",
|
||||
"madeWithLoveAtPrefix": "fet amb ❤️ a ",
|
||||
"supportDevs": "Subscriu-te a <bold-green>ente</bold-green> per donar-nos suport",
|
||||
"supportDiscount": "Usa el codi de descompte \"AUTH\" per obtenir un 10% de descompte el primer any",
|
||||
"changeEmail": "Canvia el correu electrònic",
|
||||
"changePassword": "Canvia la contrasenya",
|
||||
"importTypePlainText": "Text pla"
|
||||
"data": "Dades",
|
||||
"importCodes": "Importa codis",
|
||||
"importTypePlainText": "Text pla",
|
||||
"importTypeEnteEncrypted": "Exportació xifrada d'Ente",
|
||||
"passwordForDecryptingExport": "Contrasenya per desxifrar l'exportació",
|
||||
"passwordEmptyError": "La contrasenya no pot estar buida",
|
||||
"importFromApp": "Importa codis des de {appName}",
|
||||
"importGoogleAuthGuide": "Exporta els teus comptes des de Google Authenticator a un codi QR usant l'opció \"Transferir Comptes\". Després, utilitza un altre dispositiu per escanejar el codi QR.\n\nConsell: Pots utilitzar la càmera del teu portàtil per fer una foto del codi QR.",
|
||||
"importSelectJsonFile": "Selecciona un fitxer JSON",
|
||||
"importSelectAppExport": "Selecciona el fitxer d'exportació de {appName}",
|
||||
"importEnteEncGuide": "Selecciona el fitxer JSON xifrat exportat des d'Ente",
|
||||
"importRaivoGuide": "Utilitza l'opció \"Exporta OTPs a un arxiu Zip\" a la configuració de Raivo.\n\nExtreu el fitxer zip i importa el fitxer JSON.",
|
||||
"importBitwardenGuide": "Utilitza l'opció \"Exporta caixa forta\" a la configuració de Bitwarden i importa el fitxer JSON sense xifrar.",
|
||||
"importAegisGuide": "Utilitza l'opció \"Exporta la caixa forta\" a la configuració d'Aegis.\n\nSi la teva caixa forta està xifrada, hauràs d'introduir la contrasenya per desxifrar-la.",
|
||||
"import2FasGuide": "Utilitza l'opció \"Configuració->Còpia de seguretat - Exporta\" a 2FAS.\n\nSi la teva còpia de seguretat està xifrada, hauràs d'introduir la contrasenya per desxifrar-la.",
|
||||
"importLastpassGuide": "Utilitza l'opció \"Transferir comptes\" a la configuració de Lastpass Authenticator i prem \"Exporta comptes a fitxer\". Importa el fitxer JSON descarregat.",
|
||||
"exportCodes": "Exporta codis",
|
||||
"importLabel": "Importa",
|
||||
"importInstruction": "Si us plau, selecciona un fitxer que contingui una llista dels teus codis en el següent format",
|
||||
"importCodeDelimiterInfo": "Els codis poden estar separats per una coma o una nova línia",
|
||||
"selectFile": "Selecciona fitxer",
|
||||
"emailVerificationToggle": "Verificació de correu electrònic",
|
||||
"emailVerificationEnableWarning": "Per evitar quedar bloquejat fora del teu compte, assegura't de desar una còpia del teu correu electrònic 2FA fora d'Ente Auth abans d'habilitar la verificació per correu.",
|
||||
"authToChangeEmailVerificationSetting": "Si us plau, autentica't per canviar la configuració de verificació per correu electrònic",
|
||||
"authenticateGeneric": "Si us plau, autentica't",
|
||||
"authToViewYourRecoveryKey": "Si us plau, autentica't per veure la teva clau de recuperació",
|
||||
"authToChangeYourEmail": "Si us plau, autentica't per canviar el teu correu electrònic",
|
||||
"authToChangeYourPassword": "Si us plau, autentica't per canviar la teva contrasenya",
|
||||
"authToViewSecrets": "Si us plau, autentica't per veure els teus secrets",
|
||||
"authToInitiateSignIn": "Si us plau, autentica't per iniciar la sessió per a la còpia de seguretat.",
|
||||
"ok": "D'acord",
|
||||
"cancel": "Cancel·la",
|
||||
"yes": "Sí",
|
||||
"no": "No",
|
||||
"email": "Correu electrònic",
|
||||
"support": "Suport",
|
||||
"general": "General",
|
||||
"settings": "Configuració",
|
||||
"copied": "Copiat",
|
||||
"pleaseTryAgain": "Si us plau, intenta-ho de nou",
|
||||
"existingUser": "Usuari existent",
|
||||
"newUser": "Nou a Ente",
|
||||
"delete": "Elimina",
|
||||
"enterYourPasswordHint": "Introdueix la teva contrasenya",
|
||||
"forgotPassword": "Has oblidat la contrasenya",
|
||||
"oops": "Ups",
|
||||
"suggestFeatures": "Suggerir funcions",
|
||||
"faq": "FAQ",
|
||||
"somethingWentWrongMessage": "Alguna cosa ha anat malament, si us plau intenta-ho de nou",
|
||||
"leaveFamily": "Deixa la família",
|
||||
"leaveFamilyMessage": "Segur que vols deixar el pla familiar?",
|
||||
"inFamilyPlanMessage": "Estàs en un pla familiar!",
|
||||
"hintForMobile": "Mantingues pressionat un codi per editar o eliminar.",
|
||||
"hintForDesktop": "Clic dret sobre un codi per editar o eliminar.",
|
||||
"scan": "Escaneja",
|
||||
"scanACode": "Escaneja un codi",
|
||||
"verify": "Verifica",
|
||||
"verifyEmail": "Verifica el correu electrònic",
|
||||
"enterCodeHint": "Introdueix el codi de 6 dígits de\nl'aplicació d'autenticació",
|
||||
"lostDeviceTitle": "Dispositiu perdut?",
|
||||
"twoFactorAuthTitle": "Autenticació de dos factors",
|
||||
"passkeyAuthTitle": "Verificació per passkey",
|
||||
"verifyPasskey": "Verifica la passkey",
|
||||
"recoverAccount": "Recupera el compte",
|
||||
"enterRecoveryKeyHint": "Introdueix la teva clau de recuperació",
|
||||
"recover": "Recupera",
|
||||
"contactSupportViaEmailMessage": "Si us plau, envia un correu a {email} des del teu correu registrat",
|
||||
"@contactSupportViaEmailMessage": {
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"invalidQRCode": "Codi QR invàlid",
|
||||
"noRecoveryKeyTitle": "No tens clau de recuperació?",
|
||||
"enterEmailHint": "Introdueix la teva adreça de correu electrònic",
|
||||
"invalidEmailTitle": "Adreça de correu electrònic no vàlida",
|
||||
"invalidEmailMessage": "Si us plau, introdueix una adreça de correu electrònic vàlida.",
|
||||
"deleteAccount": "Elimina el compte",
|
||||
"deleteAccountQuery": "Ens sabrà greu veure't marxar. Tens algun problema?",
|
||||
"yesSendFeedbackAction": "Sí, envia comentaris",
|
||||
"noDeleteAccountAction": "No, elimina el compte",
|
||||
"initiateAccountDeleteTitle": "Si us plau, autentica't per iniciar l'eliminació del compte",
|
||||
"sendEmail": "Envia correu electrònic",
|
||||
"createNewAccount": "Crea un nou compte",
|
||||
"weakStrength": "Feble",
|
||||
"strongStrength": "Forta",
|
||||
"moderateStrength": "Moderada",
|
||||
"confirmPassword": "Confirma la contrasenya",
|
||||
"close": "Tanca",
|
||||
"oopsSomethingWentWrong": "Ups, alguna cosa ha anat malament.",
|
||||
"selectLanguage": "Selecciona l'idioma",
|
||||
"language": "Idioma",
|
||||
"social": "Social",
|
||||
"security": "Seguretat",
|
||||
"lockscreen": "Pantalla de bloqueig",
|
||||
"authToChangeLockscreenSetting": "Si us plau, autentica't per canviar la configuració de la pantalla de bloqueig",
|
||||
"deviceLockEnablePreSteps": "Per habilitar el bloqueig de dispositiu, configura un codi o bloqueig de pantalla en la configuració del sistema.",
|
||||
"viewActiveSessions": "Veure sessions actives",
|
||||
"authToViewYourActiveSessions": "Si us plau, autentica't per veure les teves sessions actives",
|
||||
"searchHint": "Cerca...",
|
||||
"search": "Cerca",
|
||||
"sorryUnableToGenCode": "Ho sentim, no podem generar un codi per a {issuerName}",
|
||||
"noResult": "Sense resultat",
|
||||
"addCode": "Afegeix codi",
|
||||
"scanAQrCode": "Escaneja un codi QR",
|
||||
"enterDetailsManually": "Introdueix els detalls manualment",
|
||||
"edit": "Edita",
|
||||
"share": "Comparteix",
|
||||
"shareCodes": "Comparteix codis",
|
||||
"shareCodesDuration": "Selecciona la durada per a la qual vols compartir els codis.",
|
||||
"restore": "Restaura",
|
||||
"copiedToClipboard": "Copiat al porta-retalls",
|
||||
"copiedNextToClipboard": "El següent codi s'ha copiat al porta-retalls",
|
||||
"error": "Error",
|
||||
"recoveryKeyCopiedToClipboard": "La clau de recuperació s'ha copiat al porta-retalls",
|
||||
"recoveryKeyOnForgotPassword": "Si oblides la teva contrasenya, l'única manera de recuperar les teves dades és amb aquesta clau.",
|
||||
"recoveryKeySaveDescription": "No guardem aquesta clau, si us plau, guarda aquesta clau de 24 paraules en un lloc segur.",
|
||||
"doThisLater": "Fes-ho més tard",
|
||||
"saveKey": "Guarda la clau",
|
||||
"save": "Guarda",
|
||||
"send": "Envia",
|
||||
"saveOrSendDescription": "Vols guardar-ho al teu emmagatzematge (per defecte, a la carpeta Descàrregues) o enviar-ho a altres aplicacions?",
|
||||
"saveOnlyDescription": "Vols guardar-ho al teu emmagatzematge (per defecte, a la carpeta Descàrregues)?",
|
||||
"back": "Enrere",
|
||||
"createAccount": "Crea un compte",
|
||||
"passwordStrength": "Força de la contrasenya: {passwordStrengthValue}",
|
||||
"@passwordStrength": {
|
||||
"description": "Text to indicate the password strength",
|
||||
"placeholders": {
|
||||
"passwordStrengthValue": {
|
||||
"description": "The strength of the password as a string",
|
||||
"type": "String",
|
||||
"example": "Weak or Moderate or Strong"
|
||||
}
|
||||
},
|
||||
"message": "Password Strength: {passwordStrengthText}"
|
||||
},
|
||||
"password": "Contrasenya",
|
||||
"signUpTerms": "Estic d'acord amb els <u-terms>termes del servei</u-terms> i la <u-policy>política de privacitat</u-policy>",
|
||||
"privacyPolicyTitle": "Política de privacitat",
|
||||
"termsOfServicesTitle": "Termes",
|
||||
"encryption": "Xifratge",
|
||||
"setPasswordTitle": "Configura la contrasenya",
|
||||
"changePasswordTitle": "Canvia la contrasenya",
|
||||
"resetPasswordTitle": "Restableix la contrasenya",
|
||||
"encryptionKeys": "Claus de xifratge",
|
||||
"passwordWarning": "No guardem aquesta contrasenya, per tant, si l'oblides, <underline>no podrem desxifrar les teves dades</underline>",
|
||||
"enterPasswordToEncrypt": "Introdueix una contrasenya que puguem utilitzar per xifrar les teves dades",
|
||||
"enterNewPasswordToEncrypt": "Introdueix una nova contrasenya que puguem utilitzar per xifrar les teves dades",
|
||||
"passwordChangedSuccessfully": "La contrasenya s'ha canviat amb èxit",
|
||||
"generatingEncryptionKeys": "Generant claus de xifratge...",
|
||||
"continueLabel": "Continua",
|
||||
"insecureDevice": "Dispositiu no segur",
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": "Ho sentim, no hem pogut generar claus segures en aquest dispositiu.\n\nSi us plau, registra't des d'un altre dispositiu.",
|
||||
"howItWorks": "Com funciona",
|
||||
"ackPasswordLostWarning": "Entenc que si perdo la meva contrasenya, puc perdre les meves dades ja que les meves dades estan <underline>xifrades d'extrem a extrem</underline>.",
|
||||
"loginTerms": "En fer clic a iniciar sessió, estic d'acord amb els <u-terms>termes del servei</u-terms> i la <u-policy>política de privacitat</u-policy>",
|
||||
"logInLabel": "Inicia sessió",
|
||||
"logout": "Tanca la sessió",
|
||||
"areYouSureYouWantToLogout": "Segur que vols tancar la sessió?",
|
||||
"yesLogout": "Sí, tanca la sessió",
|
||||
"exit": "Surt",
|
||||
"verifyingRecoveryKey": "Verificant clau de recuperació...",
|
||||
"recoveryKeyVerified": "Clau de recuperació verificada",
|
||||
"recoveryKeySuccessBody": "Perfecte! La teva clau de recuperació és vàlida. Gràcies per verificar-ho.\n\nSi us plau, recorda mantenir una còpia de seguretat de la teva clau de recuperació en un lloc segur.",
|
||||
"invalidRecoveryKey": "La clau de recuperació que has introduït no és vàlida. Assegura't que conté 24 paraules i verifica l'ortografia de cadascuna.\n\nSi has introduït un codi de recuperació antic, assegura't que tingui 64 caràcters i comprova cadascun.",
|
||||
"recreatePasswordTitle": "Recrea la contrasenya",
|
||||
"recreatePasswordBody": "El dispositiu actual no és prou potent per verificar la teva contrasenya, però podem regenerar-la d'una manera que funcioni amb tots els dispositius.\n\nSi us plau, inicia sessió utilitzant la teva clau de recuperació i regenera la teva contrasenya (pots tornar a utilitzar la mateixa si ho desitges).",
|
||||
"invalidKey": "Clau no vàlida",
|
||||
"tryAgain": "Intenta-ho de nou",
|
||||
"viewRecoveryKey": "Veure clau de recuperació",
|
||||
"confirmRecoveryKey": "Confirma la clau de recuperació",
|
||||
"recoveryKeyVerifyReason": "La teva clau de recuperació és l'única manera de recuperar les teves fotos si oblides la teva contrasenya. Pots trobar la teva clau de recuperació a Configuració > Compte.\n\nIntrodueix aquí la teva clau de recuperació per verificar que l'has guardat correctament.",
|
||||
"confirmYourRecoveryKey": "Confirma la teva clau de recuperació",
|
||||
"confirm": "Confirma",
|
||||
"emailYourLogs": "Envia els teus registres per correu",
|
||||
"pleaseSendTheLogsTo": "Si us plau, envia els registres a \n{toEmail}",
|
||||
"copyEmailAddress": "Copia l'adreça de correu",
|
||||
"exportLogs": "Exporta els registres",
|
||||
"enterYourRecoveryKey": "Introdueix la teva clau de recuperació",
|
||||
"tempErrorContactSupportIfPersists": "Sembla que alguna cosa ha anat malament. Si us plau, torna-ho a intentar després d'un temps. Si l'error persisteix, contacta amb el nostre equip de suport.",
|
||||
"networkHostLookUpErr": "No s'ha pogut connectar a Ente, si us plau, comprova la configuració de la xarxa i contacta amb suport si l'error persisteix.",
|
||||
"networkConnectionRefusedErr": "No s'ha pogut connectar a Ente, si us plau, torna-ho a intentar després d'un temps. Si l'error persisteix, contacta amb suport.",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Sembla que alguna cosa ha anat malament. Si us plau, torna-ho a intentar després d'un temps. Si l'error persisteix, contacta amb el nostre equip de suport.",
|
||||
"about": "Sobre",
|
||||
"weAreOpenSource": "Som de codi obert!",
|
||||
"privacy": "Privacitat",
|
||||
"terms": "Termes",
|
||||
"checkForUpdates": "Comprova si hi ha actualitzacions",
|
||||
"checkStatus": "Comprova l'estat",
|
||||
"downloadUpdate": "Descarrega",
|
||||
"criticalUpdateAvailable": "Actualització crítica disponible",
|
||||
"updateAvailable": "Actualització disponible",
|
||||
"update": "Actualitza",
|
||||
"checking": "Comprovant...",
|
||||
"youAreOnTheLatestVersion": "Estàs en la versió més recent",
|
||||
"warning": "Advertència",
|
||||
"exportWarningDesc": "El fitxer exportat conté informació sensible. Guarda-ho de manera segura.",
|
||||
"iUnderStand": "Ho entenc",
|
||||
"@iUnderStand": {
|
||||
"description": "Text for the button to confirm the user understands the warning"
|
||||
},
|
||||
"authToExportCodes": "Si us plau, autentica't per exportar els teus codis",
|
||||
"importSuccessTitle": "Visca!",
|
||||
"importSuccessDesc": "Has importat {count} codis!",
|
||||
"@importSuccessDesc": {
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"description": "The number of codes imported",
|
||||
"type": "int",
|
||||
"example": "1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sorry": "Ho sentim",
|
||||
"importFailureDesc": "No s'ha pogut analitzar el fitxer seleccionat.\nEscriu a support@ente.io si necessites ajuda!",
|
||||
"pendingSyncs": "Advertència",
|
||||
"pendingSyncsWarningBody": "Alguns dels teus codis no s'han sincronitzat.\n\nSi us plau, assegura't de tenir una còpia de seguretat d'aquests codis abans de tancar la sessió.",
|
||||
"checkInboxAndSpamFolder": "Comprova la teva safata d'entrada (i el correu no desitjat) per completar la verificació",
|
||||
"tapToEnterCode": "Toca per introduir el codi",
|
||||
"resendEmail": "Reenviar correu electrònic",
|
||||
"weHaveSendEmailTo": "Hem enviat un correu a <green>{email}</green>",
|
||||
"@weHaveSendEmailTo": {
|
||||
"description": "Text to indicate that we have sent a mail to the user",
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"description": "The email address of the user",
|
||||
"type": "String",
|
||||
"example": "example@ente.io"
|
||||
}
|
||||
}
|
||||
},
|
||||
"activeSessions": "Sessions actives",
|
||||
"somethingWentWrongPleaseTryAgain": "S'ha produït un error, si us plau, intenta-ho de nou",
|
||||
"thisWillLogYouOutOfThisDevice": "Això tancarà la sessió en aquest dispositiu!",
|
||||
"thisWillLogYouOutOfTheFollowingDevice": "Això tancarà la sessió en el següent dispositiu:",
|
||||
"terminateSession": "Finalitzar sessió?",
|
||||
"terminate": "Finalitzar",
|
||||
"thisDevice": "Aquest dispositiu",
|
||||
"toResetVerifyEmail": "Per restablir la teva contrasenya, si us plau verifica primer el teu correu electrònic.",
|
||||
"thisEmailIsAlreadyInUse": "Aquest correu electrònic ja està en ús",
|
||||
"verificationFailedPleaseTryAgain": "La verificació ha fallat, intenta-ho de nou",
|
||||
"yourVerificationCodeHasExpired": "El teu codi de verificació ha expirat",
|
||||
"incorrectCode": "Codi incorrecte",
|
||||
"sorryTheCodeYouveEnteredIsIncorrect": "Ho sentim, el codi que has introduït és incorrecte",
|
||||
"emailChangedTo": "Correu electrònic canviat a {newEmail}",
|
||||
"authenticationFailedPleaseTryAgain": "Autenticació fallida, intenta-ho de nou",
|
||||
"authenticationSuccessful": "Autenticació amb èxit!",
|
||||
"twofactorAuthenticationSuccessfullyReset": "Autenticació de dos factors restablerta amb èxit",
|
||||
"incorrectRecoveryKey": "Clau de recuperació incorrecta",
|
||||
"theRecoveryKeyYouEnteredIsIncorrect": "La clau de recuperació que has introduït és incorrecta",
|
||||
"enterPassword": "Introdueix la contrasenya",
|
||||
"selectExportFormat": "Selecciona el format d'exportació",
|
||||
"exportDialogDesc": "Les exportacions xifrades estaran protegides amb una contrasenya que triïs.",
|
||||
"encrypted": "Xifrat",
|
||||
"plainText": "Text pla",
|
||||
"passwordToEncryptExport": "Contrasenya per xifrar l'exportació",
|
||||
"export": "Exporta",
|
||||
"useOffline": "Usa sense còpies de seguretat",
|
||||
"signInToBackup": "Inicia sessió per fer una còpia de seguretat dels teus codis",
|
||||
"singIn": "Inicia sessió",
|
||||
"sigInBackupReminder": "Exporta els teus codis per assegurar que tens una còpia de seguretat des de la que els pots restaurar.",
|
||||
"offlineModeWarning": "Has triat procedir sense còpies de seguretat. Realitza còpies manuals per garantir la seguretat dels teus codis.",
|
||||
"showLargeIcons": "Mostra icones grans",
|
||||
"compactMode": "Mode compacte",
|
||||
"shouldHideCode": "Amaga els codis",
|
||||
"doubleTapToViewHiddenCode": "Pots tocar dues vegades en una entrada per veure el codi",
|
||||
"focusOnSearchBar": "Enfoca la barra de cerca en iniciar l'app",
|
||||
"confirmUpdatingkey": "Estàs segur que vols actualitzar la clau secreta?",
|
||||
"minimizeAppOnCopy": "Minimitza l'app en copiar",
|
||||
"editCodeAuthMessage": "Autentica't per editar el codi",
|
||||
"deleteCodeAuthMessage": "Autentica't per eliminar el codi",
|
||||
"showQRAuthMessage": "Autentica't per mostrar el codi QR",
|
||||
"confirmAccountDeleteTitle": "Confirma la supressió del compte",
|
||||
"confirmAccountDeleteMessage": "Aquest compte està vinculat a altres apps d'Ente, si en fas ús.\n\nLes dades pujades, a través de totes les apps d'Ente, es programaran per a la supressió, i el teu compte s'eliminarà permanentment.",
|
||||
"androidBiometricHint": "Verifica la identitat",
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricNotRecognized": "No reconegut. Torna-ho a provar.",
|
||||
"@androidBiometricNotRecognized": {
|
||||
"description": "Message to let the user know that authentication was failed. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricSuccess": "Correcte",
|
||||
"@androidBiometricSuccess": {
|
||||
"description": "Message to let the user know that authentication was successful. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidCancelButton": "Cancel·la",
|
||||
"@androidCancelButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on Android side. Maximum 30 characters."
|
||||
},
|
||||
"androidSignInTitle": "Es requereix autenticació",
|
||||
"@androidSignInTitle": {
|
||||
"description": "Message showed as a title in a dialog which indicates the user that they need to scan biometric to continue. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricRequiredTitle": "Biometria necessària",
|
||||
"@androidBiometricRequiredTitle": {
|
||||
"description": "Message showed as a title in a dialog which indicates the user has not set up biometric authentication on their device. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidDeviceCredentialsRequiredTitle": "Credencials del dispositiu requerides",
|
||||
"@androidDeviceCredentialsRequiredTitle": {
|
||||
"description": "Message showed as a title in a dialog which indicates the user has not set up credentials authentication on their device. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidDeviceCredentialsSetupDescription": "Es requereixen credencials del dispositiu",
|
||||
"@androidDeviceCredentialsSetupDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure device credentials on their device. It shows in a dialog on Android side."
|
||||
},
|
||||
"goToSettings": "Ves a configuració",
|
||||
"@goToSettings": {
|
||||
"description": "Message showed on a button that the user can click to go to settings pages from the current dialog. It is used on both Android and iOS side. Maximum 30 characters."
|
||||
},
|
||||
"androidGoToSettingsDescription": "L'autenticació biomètrica no està configurada al teu dispositiu. Ves a 'Configuració > Seguretat' per afegir autenticació biomètrica.",
|
||||
"@androidGoToSettingsDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure biometric on their device. It shows in a dialog on Android side."
|
||||
},
|
||||
"iOSLockOut": "L'autenticació biomètrica està desactivada. Bloqueja i desbloqueja la pantalla per activar-la.",
|
||||
"@iOSLockOut": {
|
||||
"description": "Message advising the user to re-enable biometrics on their device. It shows in a dialog on iOS side."
|
||||
},
|
||||
"iOSGoToSettingsDescription": "L'autenticació biomètrica no està configurada al teu dispositiu. Activa Touch ID o Face ID al teu telèfon.",
|
||||
"@iOSGoToSettingsDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure Biometrics for their device. It shows in a dialog on iOS side."
|
||||
},
|
||||
"iOSOkButton": "D'acord",
|
||||
"@iOSOkButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters."
|
||||
},
|
||||
"noInternetConnection": "Sense connexió a Internet",
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain": "Comprova la connexió a Internet i torna-ho a intentar.",
|
||||
"signOutFromOtherDevices": "Tanca sessió en altres dispositius",
|
||||
"signOutOtherBody": "Si creus que algú pot saber la teva contrasenya, pots forçar tots els altres dispositius que usen el teu compte a tancar sessió.",
|
||||
"signOutOtherDevices": "Tancar sessió en altres dispositius",
|
||||
"doNotSignOut": "No tancar sessió",
|
||||
"hearUsWhereTitle": "Com vas conèixer Ente? (opcional)",
|
||||
"hearUsExplanation": "No fem seguiment de les instal·lacions de l'app. Ens ajudaria saber on ens has trobat!",
|
||||
"recoveryKeySaved": "Clau de recuperació guardada a la carpeta Descàrregues!",
|
||||
"waitingForBrowserRequest": "Esperant sol·licitud del navegador...",
|
||||
"waitingForVerification": "Esperant verificació...",
|
||||
"passkey": "Passkey",
|
||||
"passKeyPendingVerification": "La verificació encara està pendent",
|
||||
"loginSessionExpired": "Sessió caducada",
|
||||
"loginSessionExpiredDetails": "La teva sessió ha caducat. Torna a iniciar sessió.",
|
||||
"developerSettingsWarning": "Estàs segur que vols modificar la configuració de desenvolupador?",
|
||||
"developerSettings": "Configuració de desenvolupador",
|
||||
"serverEndpoint": "Endpoint del servidor",
|
||||
"invalidEndpoint": "Endpoint no vàlid",
|
||||
"invalidEndpointMessage": "Ho sentim, l'endpoint que has introduït no és vàlid. Introdueix un endpoint vàlid i torna-ho a intentar.",
|
||||
"endpointUpdatedMessage": "Extrem actualitzat correctament",
|
||||
"customEndpoint": "Connectat a {endpoint}",
|
||||
"pinText": "Fixa",
|
||||
"unpinText": "Desfixa",
|
||||
"pinnedCodeMessage": "{code} fixat",
|
||||
"unpinnedCodeMessage": "{code} deixat de fixar",
|
||||
"tags": "Etiquetes",
|
||||
"createNewTag": "Crea una nova etiqueta",
|
||||
"tag": "Etiqueta",
|
||||
"create": "Crear",
|
||||
"editTag": "Editar etiqueta",
|
||||
"deleteTagTitle": "Eliminar etiqueta?",
|
||||
"deleteTagMessage": "Estàs segur que vols eliminar aquesta etiqueta? Aquesta acció és irreversible.",
|
||||
"somethingWentWrongParsingCode": "No hem pogut analitzar {x} codis.",
|
||||
"updateNotAvailable": "Actualització no disponible",
|
||||
"viewRawCodes": "Veure codis en brut",
|
||||
"rawCodes": "Codis en brut",
|
||||
"rawCodeData": "Dades del codi en brut",
|
||||
"appLock": "Bloqueig de l'aplicació",
|
||||
"noSystemLockFound": "No s'ha trobat cap bloqueig del sistema",
|
||||
"toEnableAppLockPleaseSetupDevicePasscodeOrScreen": "Per habilitar el bloqueig de l'aplicació, configura un codi o bloqueig de pantalla en la configuració del sistema.",
|
||||
"autoLock": "Bloqueig automàtic",
|
||||
"immediately": "Immediatament",
|
||||
"reEnterPassword": "Torna a introduir la contrasenya",
|
||||
"reEnterPin": "Torna a introduir el PIN",
|
||||
"next": "Següent",
|
||||
"tooManyIncorrectAttempts": "Massa intents incorrectes",
|
||||
"tapToUnlock": "Toca per desbloquejar",
|
||||
"setNewPassword": "Estableix una nova contrasenya",
|
||||
"deviceLock": "Bloqueig del dispositiu",
|
||||
"hideContent": "Amaga el contingut",
|
||||
"hideContentDescriptionAndroid": "Amaga el contingut d'aquesta app en el commutador d'apps del sistema i desactiva les captures de pantalla",
|
||||
"hideContentDescriptioniOS": "Amaga el contingut d'aquesta app en el commutador d'apps del sistema",
|
||||
"autoLockFeatureDescription": "Temps després del qual l'app es bloqueja quan es posa en segon pla",
|
||||
"appLockDescription": "Tria entre el bloqueig predeterminat del dispositiu o un bloqueig personalitzat amb PIN o contrasenya.",
|
||||
"pinLock": "Bloqueig amb PIN",
|
||||
"enterPin": "Introdueix el PIN",
|
||||
"setNewPin": "Estableix un nou PIN",
|
||||
"importFailureDescNew": "No s'ha pogut analitzar el fitxer seleccionat.",
|
||||
"appLockNotEnabled": "Bloqueig de l'aplicació no habilitat",
|
||||
"appLockNotEnabledDescription": "Si us plau, habilita el bloqueig de l'aplicació a Seguretat > Bloqueig de l'aplicació",
|
||||
"authToViewPasskey": "Autentica't per veure la passkey",
|
||||
"appLockOfflineModeWarning": "Has triat procedir sense còpies de seguretat. Si oblides el bloqueig de l'aplicació, no podràs accedir a les teves dades."
|
||||
}
|
||||
@@ -17,6 +17,8 @@
|
||||
"pleaseVerifyDetails": "Vahvista tietosi ja yritä uudelleen",
|
||||
"codeIssuerHint": "Myöntäjä",
|
||||
"codeSecretKeyHint": "Salainen avain",
|
||||
"all": "Kaikki",
|
||||
"notes": "Muistiinpanot",
|
||||
"codeAccountHint": "Tili (sinun@jokinosoite.com)",
|
||||
"accountKeyType": "Avaimen tyyppi",
|
||||
"sessionExpired": "Istunto on vanheutunut",
|
||||
@@ -31,6 +33,7 @@
|
||||
"nextTotpTitle": "seuraava",
|
||||
"deleteCodeTitle": "Poista koodi?",
|
||||
"deleteCodeMessage": "Haluatko varmasti poistaa tämän koodin? Toimintoa ei voi peruuttaa.",
|
||||
"trash": "Roskakori",
|
||||
"viewLogsAction": "Näytä lokikirjaukset",
|
||||
"sendLogsDescription": "Tämä toiminto lähettää lokin kirjaukset eteenpäin jotta saisimme apua ongelmasi ratkaisemiseen. Vaikkakin käytäntömme on olla kirjaamatta mitään arkaluontoista tietoa, suosittelemme että tarkistat nämä tiedot ennen niiden jakamista.",
|
||||
"preparingLogsTitle": "Valmistellaan lokikirjaukset...",
|
||||
@@ -71,9 +74,11 @@
|
||||
"supportDiscount": "Käytä kuponkikoodia \"AUTH\" saadaksesi 10% alennuksen ensimmäisestä vuodesta",
|
||||
"changeEmail": "vaihda sähköpostiosoitteesi",
|
||||
"changePassword": "Vaihda salasana",
|
||||
"data": "Tiedot",
|
||||
"importCodes": "Tuo koodit",
|
||||
"importTypePlainText": "Pelkkä teksti",
|
||||
"importTypeEnteEncrypted": "Ente salattu vienti",
|
||||
"passwordForDecryptingExport": "Salasana salauksen purkamiseksi",
|
||||
"importSelectJsonFile": "Valitse JSON-tiedosto",
|
||||
"exportCodes": "Vie koodit",
|
||||
"importLabel": "Tuo",
|
||||
@@ -149,6 +154,8 @@
|
||||
"addCode": "Lisää koodi",
|
||||
"enterDetailsManually": "Syötä tiedot manuaalisesti",
|
||||
"edit": "Muokkaa",
|
||||
"share": "Jaa",
|
||||
"restore": "Palauta",
|
||||
"copiedToClipboard": "Kopioitu leikepöydälle",
|
||||
"copiedNextToClipboard": "Seuraava koodi kopioitu leikepöydälle",
|
||||
"error": "Virhe",
|
||||
|
||||
@@ -99,32 +99,84 @@
|
||||
"passwordForDecryptingExport": "Kata sandi untuk mendekripsi ekspor",
|
||||
"passwordEmptyError": "Kata sandi tidak boleh kosong",
|
||||
"importFromApp": "Impor kode dari {appName}",
|
||||
"importGoogleAuthGuide": "Ekspor semua akunmu dari Google Authenticator ke kode QR menggunakan pilihan \"Transfer Akun\". Lalu, pindai kode QR tersebut menggunakan perangkat lain.\n\nKiat: Kamu juga dapat menggunakan webcam laptop untuk memindai kode QR.",
|
||||
"importSelectJsonFile": "Pilih File JSON",
|
||||
"importSelectAppExport": "Pilih file ekspor dari {appName}",
|
||||
"importEnteEncGuide": "Pilih file enkripsi JSON yang telah diekspor dari Ente",
|
||||
"importRaivoGuide": "Gunakan opsi \"Export OTPs to Zip archive\" pada pengaturan Raivo.\n\nEkstrak file zip dan impor file JSON tersebut.",
|
||||
"importBitwardenGuide": "Gunakan opsi \"Export vault\" didalam fitur Bitwarden Tools dan impor file JSON yang tidak terenkripsi.",
|
||||
"importAegisGuide": "Gunakan opsi \"Export vault\" didalam fitur Bitwarden Tools dan impor file JSON yang tidak terenkripsi.",
|
||||
"exportCodes": "Ekspor kode",
|
||||
"importLabel": "Impor",
|
||||
"selectFile": "Pilih file",
|
||||
"emailVerificationToggle": "Verifikasi email",
|
||||
"emailVerificationEnableWarning": "Untuk menghindari akun kamu terkunci, pastikan untuk menyimpan salinan 2FA email kamu di luar Ente Auth sebelum mengaktifkan verifikasi email.",
|
||||
"authToChangeEmailVerificationSetting": "Harap autentikasikan untuk mengubah verifikasi email",
|
||||
"authenticateGeneric": "Harap autentikasikan",
|
||||
"authToViewYourRecoveryKey": "Harap autentikasikan untuk melihat kunci pemulihan",
|
||||
"authToChangeYourEmail": "Harap autentikasikan untuk mengubah surel",
|
||||
"authToChangeYourPassword": "Harap autentikasikan untuk mengubah kata sandi",
|
||||
"authToViewSecrets": "Harap autentikasikan untuk melihat rahasia",
|
||||
"authToInitiateSignIn": "Harap autentikasikan untuk memulai proses pencadangan.",
|
||||
"ok": "Oke",
|
||||
"cancel": "Batal",
|
||||
"yes": "Ya",
|
||||
"no": "Tidak",
|
||||
"email": "Email",
|
||||
"support": "Dukungan",
|
||||
"general": "Umum",
|
||||
"settings": "Pengaturan",
|
||||
"copied": "Disalin",
|
||||
"pleaseTryAgain": "Harap coba lagi",
|
||||
"existingUser": "Pengguna yang Sudah Ada",
|
||||
"newUser": "Baru di Ente",
|
||||
"delete": "Hapus",
|
||||
"enterYourPasswordHint": "Masukkan sandi kamu",
|
||||
"forgotPassword": "Lupa kata sandi",
|
||||
"oops": "Aduh",
|
||||
"suggestFeatures": "Sarankan fitur",
|
||||
"faq": "Tanya Jawab Umum",
|
||||
"somethingWentWrongMessage": "Terjadi kesalahan, silakan coba lagi",
|
||||
"leaveFamily": "Tinggalkan keluarga",
|
||||
"leaveFamilyMessage": "Apakah kamu yakin ingin meninggalkan paket keluarga ini?",
|
||||
"inFamilyPlanMessage": "Kamu menggunakan paket keluarga!",
|
||||
"hintForMobile": "Tekan lama kode untuk menyunting atau menghapus.",
|
||||
"hintForDesktop": "Klik kanan kode untuk menyunting atau menghapus.",
|
||||
"scan": "Pindai",
|
||||
"scanACode": "Pindai kode",
|
||||
"verify": "Verifikasi",
|
||||
"verifyEmail": "Verifikasi email",
|
||||
"enterCodeHint": "Masukkan kode 6 angka dari\napp autentikator kamu",
|
||||
"lostDeviceTitle": "Perangkat hilang?",
|
||||
"twoFactorAuthTitle": "Autentikasi dua langkah",
|
||||
"passkeyAuthTitle": "Verifikasi passkey",
|
||||
"verifyPasskey": "Verifikasi passkey",
|
||||
"recoverAccount": "Pulihkan akun",
|
||||
"enterRecoveryKeyHint": "Masukkan kunci pemulihanmu",
|
||||
"recover": "Pulihkan",
|
||||
"contactSupportViaEmailMessage": "Silakan kirimkan surel ke {email} dari alamat surelmu yang terdaftar",
|
||||
"@contactSupportViaEmailMessage": {
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"invalidQRCode": "Kode QR tidak sah",
|
||||
"noRecoveryKeyTitle": "Tidak punya kunci pemulihan?",
|
||||
"enterEmailHint": "Masukkan alamat surelmu",
|
||||
"invalidEmailTitle": "Alamat surel tidak sah",
|
||||
"invalidEmailMessage": "Harap masukkan alamat surel yang sah.",
|
||||
"deleteAccount": "Hapus akun",
|
||||
"deleteAccountQuery": "Maaf kamu harus pergi. Apakah kamu mengalami masalah?",
|
||||
"yesSendFeedbackAction": "Ya, kirim umpan balik",
|
||||
"noDeleteAccountAction": "Tidak, hapus akun",
|
||||
"initiateAccountDeleteTitle": "Harap autentikasi untuk memulai penghapusan akun",
|
||||
"sendEmail": "Kirim surel",
|
||||
"createNewAccount": "Buat akun baru",
|
||||
"weakStrength": "Lemah",
|
||||
"strongStrength": "Kuat",
|
||||
"moderateStrength": "Sedang",
|
||||
"confirmPassword": "Konfirmasi sandi",
|
||||
"selectLanguage": "Pilih bahasa",
|
||||
"language": "Bahasa",
|
||||
@@ -135,8 +187,17 @@
|
||||
"createAccount": "Buat akun",
|
||||
"password": "Sandi",
|
||||
"signUpTerms": "Saya menyetujui <u-terms>ketentuan layanan</u-terms> dan <u-policy>kebijakan privasi</u-policy> Ente",
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": "Maaf, kami tidak dapat menghasilkan kunci yang aman di perangkat ini.\n\nHarap mendaftar dengan perangkat lain.",
|
||||
"howItWorks": "Cara kerjanya",
|
||||
"ackPasswordLostWarning": "Saya mengerti bahwa jika saya lupa sandi saya, data saya bisa hilang karena <underline>dienkripsi secara end-to-end</underline>.",
|
||||
"loginTerms": "Dengan mengklik masuk akun, saya menyetujui <u-terms>ketentuan layanan</u-terms> dan <u-policy>kebijakan privasi</u-policy> Ente",
|
||||
"logInLabel": "Masuk akun",
|
||||
"logout": "Keluar akun",
|
||||
"areYouSureYouWantToLogout": "Apakah kamu yakin ingin keluar akun?",
|
||||
"yesLogout": "Ya, keluar",
|
||||
"exit": "Keluar",
|
||||
"verifyingRecoveryKey": "Memverifikasi kunci pemulihan...",
|
||||
"recoveryKeyVerified": "Kunci pemulihan terverifikasi",
|
||||
"warning": "Peringatan",
|
||||
"androidCancelButton": "Batal",
|
||||
"@androidCancelButton": {
|
||||
|
||||
@@ -8,17 +8,17 @@
|
||||
},
|
||||
"onBoardingBody": "Saugiai kurkite atsargines 2FA kodų kopijas",
|
||||
"onBoardingGetStarted": "Pradėti",
|
||||
"setupFirstAccount": "Nustatyti pirmąją paskyrą",
|
||||
"setupFirstAccount": "Nustatykite savo pirmąją paskyrą",
|
||||
"importScanQrCode": "Skenuoti QR kodą",
|
||||
"qrCode": "QR kodas",
|
||||
"importEnterSetupKey": "Įveskite sąrankos raktą",
|
||||
"importAccountPageTitle": "Įveskite paskyros duomenis",
|
||||
"importEnterSetupKey": "Įvesti sąrankos raktą",
|
||||
"importAccountPageTitle": "Įvesti paskyros duomenis",
|
||||
"secretCanNotBeEmpty": "Paslaptis negali būti tuščia.",
|
||||
"bothIssuerAndAccountCanNotBeEmpty": "Tiek išdavėjas ir paskyra negali būti tušti.",
|
||||
"incorrectDetails": "Neteisingi duomenys",
|
||||
"pleaseVerifyDetails": "Patikrinkite duomenis ir bandykite dar kartą.",
|
||||
"codeIssuerHint": "Išdavėjas",
|
||||
"codeSecretKeyHint": "Slaptas raktas",
|
||||
"codeSecretKeyHint": "Slaptasis raktas",
|
||||
"secret": "Paslaptis",
|
||||
"all": "Viskas",
|
||||
"notes": "Pastabos",
|
||||
@@ -50,7 +50,7 @@
|
||||
"deleteCodeMessage": "Ar tikrai norite ištrinti šį kodą? Šis veiksmas negrįžtamas.",
|
||||
"trashCode": "Ištuštinti kodą?",
|
||||
"trashCodeMessage": "Ar tikrai norite ištuštinti {account} kodą?",
|
||||
"trash": "Šiukšlinė",
|
||||
"trash": "Ištuštinti",
|
||||
"viewLogsAction": "Peržiūrėti žurnalus",
|
||||
"sendLogsDescription": "Tai nusiųs žurnalo įrašus, kurie padės mums išspręsti jūsų problemą. Nors imamės atsargumo priemonių, kad slaptos informacijos nebūtų įrašoma, raginame jus peržiūrėti šiuos žurnalus prieš bendrinant juos.",
|
||||
"preparingLogsTitle": "Ruošiami žurnalai...",
|
||||
@@ -66,7 +66,7 @@
|
||||
"copyEmailAction": "Kopijuoti el. paštą",
|
||||
"exportLogsAction": "Eksportuoti žurnalus",
|
||||
"reportABug": "Pranešti apie riktą",
|
||||
"crashAndErrorReporting": "Strigčių ir klaidų pranešimas",
|
||||
"crashAndErrorReporting": "Pranešti apie strigčius ir klaidas",
|
||||
"reportBug": "Pranešti apie riktą",
|
||||
"emailUsMessage": "Siųskite el. laišką mums adresu {email}",
|
||||
"@emailUsMessage": {
|
||||
@@ -77,18 +77,18 @@
|
||||
}
|
||||
},
|
||||
"contactSupport": "Susisiekti su palaikymo komanda",
|
||||
"rateUsOnStore": "Vertinti mus parduotuvėje {storeName}",
|
||||
"rateUsOnStore": "Vertinti mus parduotuvėje „{storeName}“",
|
||||
"blog": "Tinklaraštis",
|
||||
"merchandise": "Atributika",
|
||||
"verifyPassword": "Patvirtinkite slaptažodį",
|
||||
"pleaseWait": "Palaukite...",
|
||||
"generatingEncryptionKeysTitle": "Generuojami šifravimo raktai...",
|
||||
"recreatePassword": "Iš naujo sukurti slaptažodį",
|
||||
"recreatePasswordMessage": "Dabartinis įrenginys nėra pakankamai galingas, kad patvirtintų jūsų slaptažodį, todėl turime jį vieną kartą regeneruoti taip, kad jis veiktų visuose įrenginiuose. \n\nPrisijunkite naudojant atkūrimo raktą ir regeneruokite slaptažodį (jei norite, galite vėl naudoti tą patį).",
|
||||
"recreatePasswordMessage": "Dabartinis įrenginys nėra pakankamai galingas, kad patvirtintų jūsų slaptažodį, todėl turime jį vieną kartą iš naujo sugeneruoti taip, kad jis veiktų visuose įrenginiuose. \n\nPrisijunkite naudodami atkūrimo raktą ir sugeneruokite iš naujo slaptažodį (jei norite, galite vėl naudoti tą patį).",
|
||||
"useRecoveryKey": "Naudoti atkūrimo raktą",
|
||||
"incorrectPasswordTitle": "Neteisingas slaptažodis.",
|
||||
"welcomeBack": "Sveiki sugrįžę!",
|
||||
"madeWithLoveAtPrefix": "sukurta su ❤️ ",
|
||||
"madeWithLoveAtPrefix": "sukurta su ❤️ vietoje ",
|
||||
"supportDevs": "Prenumeruokite <bold-green>„ente“</bold-green>, kad palaikytumėte mus",
|
||||
"supportDiscount": "Naudokite kupono kodą „AUTH“, kad gautumėte 10 % nuolaida pirmiesiems metams",
|
||||
"changeEmail": "Keisti el. paštą",
|
||||
@@ -100,14 +100,14 @@
|
||||
"passwordForDecryptingExport": "Slaptažodis eksportui iššifruoti",
|
||||
"passwordEmptyError": "Slaptažodis negali būti tuščias.",
|
||||
"importFromApp": "Importuoti kodus iš „{appName}“",
|
||||
"importGoogleAuthGuide": "Eksportuokite paskyras iš „Google Authenticator“ į QR kodą naudojant parinktį Perkelti paskyras. Tada naudojant kitą įrenginį nuskenuokite QR kodą.\n\nPatarimas: QR kodą galite nufotografuoti naudojant nešiojamojo kompiuterio internetinę vaizdo kamerą.",
|
||||
"importGoogleAuthGuide": "Eksportuokite paskyras iš „Google Authenticator“ į QR kodą naudodami parinktį Perkelti paskyras. Tada naudojant kitą įrenginį nuskenuokite QR kodą.\n\nPatarimas: QR kodą galite nufotografuoti naudojant nešiojamojo kompiuterio internetinę vaizdo kamerą.",
|
||||
"importSelectJsonFile": "Pasirinkti JSON failą",
|
||||
"importSelectAppExport": "Pasirinkti „{appName}“ eksporto failą",
|
||||
"importEnteEncGuide": "Pasirinkite užšifruotą JSON failą, eksportuotą iš „Ente“",
|
||||
"importRaivoGuide": "Naudokite „Raivo“ nustatymuose esančią parinktį „Export OTPs to Zip archive“ (eksportuoti OTP į ZIP archyvą).\n\nIšskleiskite ZIP failą ir importuokite JSON failą.",
|
||||
"importBitwardenGuide": "Naudokite „Bitwarden“ įrankiuose esančią parinktį „Eksportuoti saugyklą“ ir importuokite nešifruotą JSON failą.",
|
||||
"importAegisGuide": "Naudokite „Aegis“ nustatymuose esančią parinktį „Eksportuoti slėptuvę“.\n\nJei jūsų saugykla yra užšifruota, turėsite įvesti saugyklos slaptažodį, kad iššifruotumėte saugyklą.",
|
||||
"import2FasGuide": "Naudokite 2FAS parinktį „Settings->2FAS Backup->Export to file“.\n\nJei atsarginė kopija užšifruota, turėsite įvesti slaptažodį, kad iššifruotumėte atsarginę kopiją.",
|
||||
"importBitwardenGuide": "Naudokite „Bitwarden“ įrankiuose esančią parinktį Eksportuoti saugyklą ir importuokite nešifruotą JSON failą.",
|
||||
"importAegisGuide": "Naudokite „Aegis“ nustatymuose esančią parinktį Eksportuoti slėptuvę.\n\nJei jūsų saugykla užšifruota, turėsite įvesti saugyklos slaptažodį, kad iššifruotumėte saugyklą.",
|
||||
"import2FasGuide": "Naudokite programoje 2FAS esančią parinktį „Settings->2FAS Backup->Export to file“.\n\nJei atsarginė kopija užšifruota, turėsite įvesti slaptažodį, kad iššifruotumėte atsarginę kopiją.",
|
||||
"importLastpassGuide": "Naudokite „Lastpass Authenticator“ nustatymuose esančią parinktį „Transfer accounts“ (perkelti paskyras) ir paspauskite „Export accounts to file“ (eksportuoti paskyras į failą). Importuokite atsisiųstą JSON failą.",
|
||||
"exportCodes": "Eksportuoti kodus",
|
||||
"importLabel": "Importuoti",
|
||||
@@ -122,7 +122,7 @@
|
||||
"authToChangeYourEmail": "Nustatykite tapatybę, kad pakeistumėte savo el. paštą",
|
||||
"authToChangeYourPassword": "Nustatykite tapatybę, kad pakeistumėte slaptažodį",
|
||||
"authToViewSecrets": "Nustatykite tapatybę, kad peržiūrėtumėte savo paslaptis",
|
||||
"authToInitiateSignIn": "Nustatykite tapatybę, kad pradėtumėte prisijungti prie atsarginės kopijos.",
|
||||
"authToInitiateSignIn": "Nustatykite tapatybę, kad pradėtumėte prisijungti norint kurti atsargines kopijas.",
|
||||
"ok": "Gerai",
|
||||
"cancel": "Atšaukti",
|
||||
"yes": "Taip",
|
||||
@@ -134,7 +134,7 @@
|
||||
"copied": "Nukopijuota",
|
||||
"pleaseTryAgain": "Bandykite dar kartą.",
|
||||
"existingUser": "Esamas naudotojas",
|
||||
"newUser": "Naujas platformoje „Ente“",
|
||||
"newUser": "Naujas sistemoje „Ente“",
|
||||
"delete": "Ištrinti",
|
||||
"enterYourPasswordHint": "Įveskite savo slaptažodį",
|
||||
"forgotPassword": "Pamiršau slaptažodį",
|
||||
@@ -148,7 +148,7 @@
|
||||
"hintForMobile": "Ilgai paspauskite kodą, kad jį redaguotumėte arba pašalintumėte.",
|
||||
"hintForDesktop": "Dešiniuoju pelės mygtuku spustelėkite kodą, kad jį redaguotumėte arba pašalintumėte.",
|
||||
"scan": "Skenuoti",
|
||||
"scanACode": "Skenuoti kodą",
|
||||
"scanACode": "Skenuokite kodą",
|
||||
"verify": "Patvirtinti",
|
||||
"verifyEmail": "Patvirtinti el. paštą",
|
||||
"enterCodeHint": "Įveskite 6 skaitmenų kodą\niš autentifikatoriaus programos",
|
||||
@@ -170,17 +170,19 @@
|
||||
"invalidQRCode": "Netinkamas QR kodas.",
|
||||
"noRecoveryKeyTitle": "Neturite atkūrimo rakto?",
|
||||
"enterEmailHint": "Įveskite savo el. pašto adresą",
|
||||
"invalidEmailTitle": "Netinkamas el. pašto adresas.",
|
||||
"invalidEmailTitle": "Netinkamas el. pašto adresas",
|
||||
"invalidEmailMessage": "Įveskite tinkamą el. pašto adresą.",
|
||||
"deleteAccount": "Ištrinti paskyrą",
|
||||
"deleteAccountQuery": "Apgailestausime, kad išeinate. Ar susiduriate su kažkokiomis problemomis?",
|
||||
"yesSendFeedbackAction": "Taip, siųsti atsiliepimą",
|
||||
"noDeleteAccountAction": "Ne, ištrinti paskyrą",
|
||||
"initiateAccountDeleteTitle": "Nustatykite tapatybę, kad pradėtumėte paskyros ištrynimą",
|
||||
"sendEmail": "Siųsti el. laišką",
|
||||
"createNewAccount": "Kurti naują paskyrą",
|
||||
"weakStrength": "Silpna",
|
||||
"strongStrength": "Stipri",
|
||||
"moderateStrength": "Vidutinė",
|
||||
"confirmPassword": "Patvirtinkite slaptažodį",
|
||||
"close": "Uždaryti",
|
||||
"oopsSomethingWentWrong": "Ups, kažkas nutiko ne taip.",
|
||||
"selectLanguage": "Pasirinkite kalbą",
|
||||
@@ -190,20 +192,93 @@
|
||||
"lockscreen": "Ekrano užraktas",
|
||||
"authToChangeLockscreenSetting": "Nustatykite tapatybę, kad pakeistumėte užrakinto ekrano nustatymą",
|
||||
"deviceLockEnablePreSteps": "Kad įjungtumėte įrenginio užraktą, sistemos nustatymuose nustatykite įrenginio prieigos kodą arba ekrano užraktą.",
|
||||
"viewActiveSessions": "Peržiūrėti aktyvius seansus",
|
||||
"authToViewYourActiveSessions": "Nustatykite tapatybę, kad peržiūrėtumėte savo aktyvius seansus",
|
||||
"searchHint": "Ieškokite...",
|
||||
"search": "Paieška",
|
||||
"sorryUnableToGenCode": "Atsiprašome, nepavyksta sugeneruoti {issuerName} kodo.",
|
||||
"noResult": "Nėra rezultatų",
|
||||
"addCode": "Pridėti kodą",
|
||||
"scanAQrCode": "Skenuoti QR kodą",
|
||||
"enterDetailsManually": "Įvesti duomenis rankiniu būdu",
|
||||
"edit": "Redaguoti",
|
||||
"share": "Bendrinti",
|
||||
"shareCodes": "Bendrinti kodus",
|
||||
"shareCodesDuration": "Pasirinkite trukmę, kuriai norite bendrinti kodus.",
|
||||
"restore": "Atkurti",
|
||||
"copiedToClipboard": "Nukopijuota į iškarpinę",
|
||||
"copiedNextToClipboard": "Nukopijuotas sekantis kodas į iškarpinę",
|
||||
"error": "Klaida",
|
||||
"recoveryKeyCopiedToClipboard": "Nukopijuotas atkūrimo raktas į iškarpinę",
|
||||
"recoveryKeyOnForgotPassword": "Jei pamiršote slaptažodį, vienintelis būdas atkurti duomenis – naudoti šį raktą.",
|
||||
"recoveryKeySaveDescription": "Šio rakto nesaugome, todėl išsaugokite šį 24 žodžių raktą saugioje vietoje.",
|
||||
"doThisLater": "Daryti tai vėliau",
|
||||
"saveKey": "Išsaugoti raktą",
|
||||
"save": "Išsaugoti",
|
||||
"send": "Siųsti",
|
||||
"saveOrSendDescription": "Ar norite tai išsaugoti saugykloje (pagal numatytuosius nustatymus – atsisiuntimų aplanke), ar siųsti į kitas programas?",
|
||||
"saveOnlyDescription": "Ar norite tai išsaugoti savo saugykloje (pagal numatytuosius nustatymus – atsisiuntimų aplanke)?",
|
||||
"back": "Atgal",
|
||||
"createAccount": "Kurti paskyrą",
|
||||
"passwordStrength": "Slaptažodžio stiprumas: {passwordStrengthValue}",
|
||||
"@passwordStrength": {
|
||||
"description": "Text to indicate the password strength",
|
||||
"placeholders": {
|
||||
"passwordStrengthValue": {
|
||||
"description": "The strength of the password as a string",
|
||||
"type": "String",
|
||||
"example": "Weak or Moderate or Strong"
|
||||
}
|
||||
},
|
||||
"message": "Password Strength: {passwordStrengthText}"
|
||||
},
|
||||
"password": "Slaptažodis",
|
||||
"signUpTerms": "Sutinku su <u-terms>paslaugų sąlygomis</u-terms> ir <u-policy> privatumo politika</u-policy>",
|
||||
"privacyPolicyTitle": "Privatumo politika",
|
||||
"termsOfServicesTitle": "Sąlygos",
|
||||
"encryption": "Šifravimas",
|
||||
"setPasswordTitle": "Nustatyti slaptažodį",
|
||||
"changePasswordTitle": "Keisti slaptažodį",
|
||||
"resetPasswordTitle": "Nustatyti slaptažodį iš naujo",
|
||||
"encryptionKeys": "Šifravimo raktai",
|
||||
"passwordWarning": "Šio slaptažodžio nesaugome, todėl jei jį pamiršite, <underline>negalėsime iššifruoti jūsų duomenų</underline>",
|
||||
"enterPasswordToEncrypt": "Įveskite slaptažodį, kurį galime naudoti jūsų duomenims užšifruoti",
|
||||
"enterNewPasswordToEncrypt": "Įveskite naują slaptažodį, kurį galime naudoti jūsų duomenims užšifruoti",
|
||||
"passwordChangedSuccessfully": "Slaptažodis sėkmingai pakeistas",
|
||||
"generatingEncryptionKeys": "Generuojami šifravimo raktai...",
|
||||
"continueLabel": "Tęsti",
|
||||
"insecureDevice": "Nesaugus įrenginys",
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": "Atsiprašome, šiame įrenginyje nepavyko sugeneruoti saugių raktų.\n\nRegistruokitės iš kito įrenginio.",
|
||||
"howItWorks": "Kaip tai veikia",
|
||||
"ackPasswordLostWarning": "Suprantu, kad jei prarasiu slaptažodį, galiu prarasti savo duomenis, kadangi duomenys yra <underline>visapusiškai užšifruota</underline>.",
|
||||
"loginTerms": "Spustelėjus Prisijungti sutinku su <u-terms>paslaugų sąlygomis</u-terms> ir <u-policy> privatumo politika</u-policy>",
|
||||
"logInLabel": "Prisijungti",
|
||||
"logout": "Atsijungti",
|
||||
"areYouSureYouWantToLogout": "Ar tikrai norite atsijungti?",
|
||||
"yesLogout": "Taip, atsijungti",
|
||||
"exit": "Išeiti",
|
||||
"verifyingRecoveryKey": "Patvirtinima atkūrimo raktą...",
|
||||
"recoveryKeyVerified": "Patvirtintas atkūrimo raktas",
|
||||
"recoveryKeySuccessBody": "Puiku! Jūsų atkūrimo raktas tinkamas. Dėkojame už patvirtinimą.\n\nNepamirškite sukurti saugią atkūrimo rakto atsarginę kopiją.",
|
||||
"invalidRecoveryKey": "Įvestas atkūrimo raktas yra netinkamas. Įsitikinkite, kad jame yra 24 žodžiai, ir patikrinkite kiekvieno iš jų rašybą.\n\nJei įvedėte senesnį atkūrimo kodą, įsitikinkite, kad jis yra 64 simbolių ilgio, ir patikrinkite kiekvieną iš jų.",
|
||||
"recreatePasswordTitle": "Iš naujo sukurti slaptažodį",
|
||||
"recreatePasswordBody": "Dabartinis įrenginys nėra pakankamai galingas, kad patvirtintų jūsų slaptažodį, bet mes galime iš naujo sugeneruoti taip, kad jis veiktų su visais įrenginiais.\n\nPrisijunkite naudodami atkūrimo raktą ir sugeneruokite iš naujo slaptažodį (jei norite, galite vėl naudoti tą patį).",
|
||||
"invalidKey": "Netinkamas raktas.",
|
||||
"tryAgain": "Bandyti dar kartą",
|
||||
"viewRecoveryKey": "Peržiūrėti atkūrimo raktą",
|
||||
"confirmRecoveryKey": "Patvirtinkite atkūrimo raktą",
|
||||
"recoveryKeyVerifyReason": "Atkūrimo raktas – vienintelis būdas atkurti nuotraukas, jei pamiršote slaptažodį. Atkūrimo raktą galite rasti Nustatymose > Paskyra.\n\nĮveskite savo atkūrimo raktą čia, kad patvirtintumėte, ar teisingai jį išsaugojote.",
|
||||
"confirmYourRecoveryKey": "Patvirtinkite savo atkūrimo raktą",
|
||||
"confirm": "Patvirtinti",
|
||||
"emailYourLogs": "Atsiųskite žurnalus el. laišku",
|
||||
"pleaseSendTheLogsTo": "Siųskite žurnalus adresu\n{toEmail}",
|
||||
"copyEmailAddress": "Kopijuoti el. pašto adresą",
|
||||
"exportLogs": "Eksportuoti žurnalus",
|
||||
"enterYourRecoveryKey": "Įveskite atkūrimo raktą",
|
||||
"tempErrorContactSupportIfPersists": "Atrodo, kad kažkas nutiko ne taip. Bandykite dar kartą po kurio laiko. Jei klaida tęsiasi, susisiekite su mūsų palaikymo komanda.",
|
||||
"networkHostLookUpErr": "Nepavyksta prisijungti prie „Ente“. Patikrinkite tinklo nustatymus ir susisiekite su palaikymo komanda, jei klaida tęsiasi.",
|
||||
"networkConnectionRefusedErr": "Nepavyksta prisijungti prie „Ente“. Bandykite dar kartą po kurio laiko. Jei klaida tęsiasi, susisiekite su palaikymo komanda.",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Atrodo, kad kažkas nutiko ne taip. Bandykite dar kartą po kurio laiko. Jei klaida tęsiasi, susisiekite su mūsų palaikymo komanda.",
|
||||
"about": "Apie",
|
||||
"weAreOpenSource": "Esame atviro kodo!",
|
||||
"privacy": "Privatumas",
|
||||
@@ -224,7 +299,7 @@
|
||||
},
|
||||
"authToExportCodes": "Nustatykite tapatybę, kad eksportuotumėte savo kodus",
|
||||
"importSuccessTitle": "Valio!",
|
||||
"importSuccessDesc": "Importavote {count} kodų!",
|
||||
"importSuccessDesc": "Importavote {count} kodų.",
|
||||
"@importSuccessDesc": {
|
||||
"placeholders": {
|
||||
"count": {
|
||||
@@ -241,7 +316,7 @@
|
||||
"checkInboxAndSpamFolder": "Patikrinkite savo gautieją (ir šlamštą), kad užbaigtumėte patvirtinimą",
|
||||
"tapToEnterCode": "Palieskite, kad įvestumėte kodą",
|
||||
"resendEmail": "Iš naujo siųsti el. laišką",
|
||||
"weHaveSendEmailTo": "Išsiuntėme laišką į <green>{email}</green>",
|
||||
"weHaveSendEmailTo": "Išsiuntėme laišką adresu <green>{email}</green>",
|
||||
"@weHaveSendEmailTo": {
|
||||
"description": "Text to indicate that we have sent a mail to the user",
|
||||
"placeholders": {
|
||||
@@ -256,10 +331,117 @@
|
||||
"somethingWentWrongPleaseTryAgain": "Kažkas nutiko ne taip. Bandykite dar kartą.",
|
||||
"thisWillLogYouOutOfThisDevice": "Tai jus atjungs nuo šio įrenginio.",
|
||||
"thisWillLogYouOutOfTheFollowingDevice": "Tai jus atjungs nuo toliau nurodyto įrenginio:",
|
||||
"terminateSession": "Baigti seansą?",
|
||||
"terminate": "Baigti",
|
||||
"thisDevice": "Šis įrenginys",
|
||||
"toResetVerifyEmail": "Kad iš naujo nustatytumėte slaptažodį, pirmiausia patvirtinkite savo el. paštą.",
|
||||
"thisEmailIsAlreadyInUse": "Šis el. paštas jau naudojamas.",
|
||||
"verificationFailedPleaseTryAgain": "Patvirtinimas nepavyko. Bandykite dar kartą.",
|
||||
"yourVerificationCodeHasExpired": "Jūsų patvirtinimo kodo laikas nebegaliojantis.",
|
||||
"incorrectCode": "Neteisingas kodas",
|
||||
"sorryTheCodeYouveEnteredIsIncorrect": "Atsiprašome, įvestas kodas yra neteisingas.",
|
||||
"emailChangedTo": "El. paštas pakeistas į {newEmail}",
|
||||
"authenticationFailedPleaseTryAgain": "Tapatybės nustatymas nepavyko. Bandykite dar kartą.",
|
||||
"authenticationSuccessful": "Tapatybės nustatymas sėkmingas!",
|
||||
"twofactorAuthenticationSuccessfullyReset": "Dvigubas tapatybės nustatymas sėkmingai iš naujo nustatytas.",
|
||||
"incorrectRecoveryKey": "Neteisingas atkūrimo raktas",
|
||||
"theRecoveryKeyYouEnteredIsIncorrect": "Įvestas atkūrimo raktas yra neteisingas.",
|
||||
"enterPassword": "Įveskite slaptažodį",
|
||||
"selectExportFormat": "Pasirinkite eksporto formatą",
|
||||
"exportDialogDesc": "Užšifruoti eksportai bus apsaugoti jūsų pasirinktu slaptažodžiu.",
|
||||
"encrypted": "Užšifruota",
|
||||
"plainText": "Paprastasis tekstas",
|
||||
"passwordToEncryptExport": "Slaptažodis eksportui užšifruoti",
|
||||
"export": "Eksportuoti",
|
||||
"useOffline": "Naudoti be atsarginių kopijų",
|
||||
"signInToBackup": "Prisijunkite, kad sukurtumėte atsargines kodų kopijas",
|
||||
"singIn": "Prisijungti",
|
||||
"sigInBackupReminder": "Eksportuokite kodus, kad turėtumėte atsarginę kopiją, kurią galėsite atkurti.",
|
||||
"offlineModeWarning": "Pasirinkote tęsti be atsarginių kopijų. Kad įsitikintumėte, jog jūsų kodai yra saugūs, pasidarykite atsargines kopijas rankiniu būdu.",
|
||||
"showLargeIcons": "Rodyti dideles piktogramas",
|
||||
"compactMode": "Kompaktinis režimas",
|
||||
"shouldHideCode": "Slėpti kodus",
|
||||
"doubleTapToViewHiddenCode": "Galite dukart paliesti elementą, kad peržiūrėtumėte kodą",
|
||||
"focusOnSearchBar": "Fokusuoti paiešką paleidžiant programą",
|
||||
"confirmUpdatingkey": "Ar tikrai norite atnaujinti slaptąjį raktą?",
|
||||
"minimizeAppOnCopy": "Sumažinti programą kopijuojant",
|
||||
"editCodeAuthMessage": "Nustatykite tapatybę, kad redaguotumėte kodą",
|
||||
"deleteCodeAuthMessage": "Nustatykite tapatybę, kad ištrintumėte kodą",
|
||||
"showQRAuthMessage": "Nustatykite tapatybę, kad būtų rodomas QR kodas",
|
||||
"confirmAccountDeleteTitle": "Patvirtinkite paskyros ištrynimą",
|
||||
"confirmAccountDeleteMessage": "Ši paskyra susieta su kitomis „Ente“ programomis, jei jas naudojate.\n\nJūsų įkelti duomenys per visas „Ente“ programas bus planuojama ištrinti, o jūsų paskyra bus ištrinta negrįžtamai.",
|
||||
"androidBiometricHint": "Patvirtinkite tapatybę",
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricNotRecognized": "Neatpažinta. Bandykite dar kartą.",
|
||||
"@androidBiometricNotRecognized": {
|
||||
"description": "Message to let the user know that authentication was failed. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricSuccess": "Sėkmė",
|
||||
"@androidBiometricSuccess": {
|
||||
"description": "Message to let the user know that authentication was successful. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidCancelButton": "Atšaukti",
|
||||
"@androidCancelButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on Android side. Maximum 30 characters."
|
||||
},
|
||||
"androidSignInTitle": "Privalomas tapatybės nustatymas",
|
||||
"@androidSignInTitle": {
|
||||
"description": "Message showed as a title in a dialog which indicates the user that they need to scan biometric to continue. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricRequiredTitle": "Privaloma biometrija",
|
||||
"@androidBiometricRequiredTitle": {
|
||||
"description": "Message showed as a title in a dialog which indicates the user has not set up biometric authentication on their device. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidDeviceCredentialsRequiredTitle": "Privalomi įrenginio kredencialai",
|
||||
"@androidDeviceCredentialsRequiredTitle": {
|
||||
"description": "Message showed as a title in a dialog which indicates the user has not set up credentials authentication on their device. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidDeviceCredentialsSetupDescription": "Privalomi įrenginio kredencialai",
|
||||
"@androidDeviceCredentialsSetupDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure device credentials on their device. It shows in a dialog on Android side."
|
||||
},
|
||||
"goToSettings": "Eiti į nustatymus",
|
||||
"@goToSettings": {
|
||||
"description": "Message showed on a button that the user can click to go to settings pages from the current dialog. It is used on both Android and iOS side. Maximum 30 characters."
|
||||
},
|
||||
"androidGoToSettingsDescription": "Biometrinis tapatybės nustatymas jūsų įrenginyje nenustatytas. Eikite į Nustatymai > Saugumas ir pridėkite biometrinį tapatybės nustatymą.",
|
||||
"@androidGoToSettingsDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure biometric on their device. It shows in a dialog on Android side."
|
||||
},
|
||||
"iOSLockOut": "Biometrinis tapatybės nustatymas išjungtas. Kad jį įjungtumėte, užrakinkite ir atrakinkite ekraną.",
|
||||
"@iOSLockOut": {
|
||||
"description": "Message advising the user to re-enable biometrics on their device. It shows in a dialog on iOS side."
|
||||
},
|
||||
"iOSGoToSettingsDescription": "Biometrinis tapatybės nustatymas jūsų įrenginyje nenustatytas. Telefone įjunkite „Touch ID“ arba „Face ID“.",
|
||||
"@iOSGoToSettingsDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure Biometrics for their device. It shows in a dialog on iOS side."
|
||||
},
|
||||
"iOSOkButton": "Gerai",
|
||||
"@iOSOkButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters."
|
||||
},
|
||||
"noInternetConnection": "Nėra interneto ryšio",
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain": "Patikrinkite savo interneto ryšį ir bandykite dar kartą.",
|
||||
"signOutFromOtherDevices": "Atsijungti iš kitų įrenginių",
|
||||
"signOutOtherBody": "Jei manote, kad kas nors gali žinoti jūsų slaptažodį, galite priverstinai atsijungti iš visų kitų įrenginių, naudojančių jūsų paskyrą.",
|
||||
"signOutOtherDevices": "Atsijungti kitus įrenginius",
|
||||
"doNotSignOut": "Neatsijungti",
|
||||
"hearUsWhereTitle": "Kaip išgirdote apie „Ente“? (nebūtina)",
|
||||
"hearUsExplanation": "Mes nesekame programų diegimų. Mums padėtų, jei pasakytumėte, kur mus radote.",
|
||||
"recoveryKeySaved": "Atkūrimo raktas išsaugotas atsisiuntimų aplanke.",
|
||||
"waitingForBrowserRequest": "Laukiama naršyklės užklausos...",
|
||||
"waitingForVerification": "Laukiama patvirtinimo...",
|
||||
"passkey": "Slaptaraktas",
|
||||
"passKeyPendingVerification": "Vis dar laukiama patvirtinimo",
|
||||
"loginSessionExpired": "Seansas baigėsi",
|
||||
"loginSessionExpiredDetails": "Jūsų seansas baigėsi. Prisijunkite iš naujo.",
|
||||
"developerSettingsWarning": "Ar tikrai norite modifikuoti kūrėjo nustatymus?",
|
||||
"developerSettings": "Kūrėjo nustatymai",
|
||||
"serverEndpoint": "Serverio galutinis taškas",
|
||||
"invalidEndpoint": "Netinkamas galutinis taškas",
|
||||
"invalidEndpointMessage": "Atsiprašome. Jūsų įvestas galutinis taškas yra netinkamas. Įveskite tinkamą galutinį tašką ir bandykite dar kartą.",
|
||||
"invalidEndpointMessage": "Atsiprašome, įvestas galutinis taškas netinkamas. Įveskite tinkamą galutinį tašką ir bandykite dar kartą.",
|
||||
"endpointUpdatedMessage": "Galutinis taškas sėkmingai atnaujintas",
|
||||
"customEndpoint": "Prijungta prie {endpoint}",
|
||||
"pinText": "Prisegti",
|
||||
@@ -268,6 +450,14 @@
|
||||
"unpinnedCodeMessage": "{code} buvo atsegtas",
|
||||
"tags": "Žymės",
|
||||
"createNewTag": "Kurti naują žymę",
|
||||
"tag": "Žymė",
|
||||
"create": "Kurti",
|
||||
"editTag": "Redaguoti žymę",
|
||||
"deleteTagTitle": "Ištrinti žymę?",
|
||||
"deleteTagMessage": "Ar tikrai norite ištrinti šią žymę? Šis veiksmas negrįžtamas.",
|
||||
"somethingWentWrongParsingCode": "Mums nepavyko išanalizuoti {x} kodų.",
|
||||
"updateNotAvailable": "Nėra naujinimų",
|
||||
"viewRawCodes": "Peržiūrėti neapdorotus kodus",
|
||||
"rawCodes": "Neapdoroti kodai",
|
||||
"rawCodeData": "Neapdoroti kodo duomenys",
|
||||
"appLock": "Programos užraktas",
|
||||
@@ -277,8 +467,22 @@
|
||||
"immediately": "Iš karto",
|
||||
"reEnterPassword": "Įveskite slaptažodį iš naujo",
|
||||
"reEnterPin": "Įveskite PIN iš naujo",
|
||||
"next": "Sekantis",
|
||||
"next": "Toliau",
|
||||
"tooManyIncorrectAttempts": "Per daug neteisingų bandymų.",
|
||||
"tapToUnlock": "Palieskite, kad atrakintumėte",
|
||||
"setNewPassword": "Nustatykite naują slaptažodį",
|
||||
"deviceLock": "Įrenginio užraktas",
|
||||
"hideContent": "Slėpti turinį",
|
||||
"hideContentDescriptionAndroid": "Paslepia programų turinį programų perjungiklyje ir išjungia ekrano kopijas",
|
||||
"hideContentDescriptioniOS": "Paslepia programos turinį programos perjungiklyje",
|
||||
"autoLockFeatureDescription": "Laikas, po kurio programa užrakinama perkėlus ją į foną",
|
||||
"appLockDescription": "Pasirinkite tarp numatytojo įrenginio užrakinimo ekrano ir pasirinktinio užrakinimo ekrano su PIN kodu arba slaptažodžiu.",
|
||||
"pinLock": "PIN užraktas",
|
||||
"enterPin": "Įveskite PIN",
|
||||
"setNewPin": "Nustatykite naują PIN",
|
||||
"importFailureDescNew": "Nepavyko išanalizuoti pasirinkto failo.",
|
||||
"appLockNotEnabled": "Programos užraktas neįjungtas",
|
||||
"appLockNotEnabledDescription": "Įjunkite programos užraktą iš Saugumas > Programos užraktas",
|
||||
"authToViewPasskey": "Nustatykite tapatybę, kad peržiūrėtumėte slaptaraktą",
|
||||
"appLockOfflineModeWarning": "Pasirinkote tęsti be atsarginių kopijų. Jei pamiršite programos užraktą, jums bus užrakinta prieiga prie duomenų."
|
||||
}
|
||||
@@ -116,7 +116,7 @@
|
||||
"selectFile": "Selecionar arquivo",
|
||||
"emailVerificationToggle": "Verificação por e-mail",
|
||||
"emailVerificationEnableWarning": "Para evitar ser bloqueado da sua conta, certifique-se de guardar uma cópia do seu e-mail 2FA fora do Ente Auth antes de ativar a verificação de e-mail.",
|
||||
"authToChangeEmailVerificationSetting": "Autentique-se para altere o e-mail de verificação",
|
||||
"authToChangeEmailVerificationSetting": "Autentique-se para alterar a verificação de e-mail",
|
||||
"authenticateGeneric": "Autentique",
|
||||
"authToViewYourRecoveryKey": "Autentique para ver sua chave de recuperação",
|
||||
"authToChangeYourEmail": "Autentique para alterar o seu e-mail",
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
"forgotPassword": "Нагадати пароль",
|
||||
"oops": "От халепа",
|
||||
"suggestFeatures": "Запропонувати нові функції",
|
||||
"faq": "Часто Запитувані Питання",
|
||||
"faq": "Часті питання",
|
||||
"somethingWentWrongMessage": "Щось пішло не так, спробуйте, будь ласка, знову",
|
||||
"leaveFamily": "Залишити сімейний план",
|
||||
"leaveFamilyMessage": "Ви впевнені, що хочете залишити сімейний план?",
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:shared_preferences/shared_preferences.dart';
|
||||
const List<Locale> appSupportedLocales = <Locale>[
|
||||
Locale('ar'),
|
||||
Locale('bg'),
|
||||
Locale('ca'),
|
||||
Locale('de'),
|
||||
Locale('el'),
|
||||
Locale('en'),
|
||||
@@ -26,6 +27,7 @@ const List<Locale> appSupportedLocales = <Locale>[
|
||||
Locale("zh", "CN"),
|
||||
];
|
||||
|
||||
Locale? autoDetectedLocale;
|
||||
Locale localResolutionCallBack(locales, supportedLocales) {
|
||||
Locale? languageCodeMatch;
|
||||
final Map<String, Locale> languageCodeToLocale = {
|
||||
@@ -35,12 +37,14 @@ Locale localResolutionCallBack(locales, supportedLocales) {
|
||||
|
||||
for (Locale locale in locales) {
|
||||
if (appSupportedLocales.contains(locale)) {
|
||||
autoDetectedLocale = locale;
|
||||
return locale;
|
||||
}
|
||||
|
||||
if (languageCodeMatch == null &&
|
||||
languageCodeToLocale.containsKey(locale.languageCode)) {
|
||||
languageCodeMatch = languageCodeToLocale[locale.languageCode];
|
||||
autoDetectedLocale = languageCodeMatch;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +52,9 @@ Locale localResolutionCallBack(locales, supportedLocales) {
|
||||
return languageCodeMatch ?? const Locale('en');
|
||||
}
|
||||
|
||||
Future<Locale> getLocale() async {
|
||||
Future<Locale?> getLocale({
|
||||
bool noFallback = false,
|
||||
}) async {
|
||||
final String? savedValue =
|
||||
(await SharedPreferences.getInstance()).getString('locale');
|
||||
// if savedLocale is not null and is supported by the app, return it
|
||||
@@ -64,6 +70,12 @@ Future<Locale> getLocale() async {
|
||||
return savedLocale;
|
||||
}
|
||||
}
|
||||
if (autoDetectedLocale != null) {
|
||||
return autoDetectedLocale!;
|
||||
}
|
||||
if (noFallback) {
|
||||
return null;
|
||||
}
|
||||
return const Locale('en');
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import 'package:ente_auth/store/code_store.dart';
|
||||
import 'package:ente_auth/ui/tools/app_lock.dart';
|
||||
import 'package:ente_auth/ui/tools/lock_screen.dart';
|
||||
import 'package:ente_auth/ui/utils/icon_utils.dart';
|
||||
import 'package:ente_auth/utils/directory_utils.dart';
|
||||
import 'package:ente_auth/utils/lock_screen_settings.dart';
|
||||
import 'package:ente_auth/utils/platform_util.dart';
|
||||
import 'package:ente_auth/utils/window_protocol_handler.dart';
|
||||
@@ -72,6 +73,7 @@ void main() async {
|
||||
size: WindowListenerService.instance.getWindowSize(),
|
||||
);
|
||||
await windowManager.waitUntilReadyToShow(windowOptions, () async {
|
||||
await DirectoryUtils.migrateNamingChanges();
|
||||
await windowManager.show();
|
||||
await windowManager.focus();
|
||||
initSystemTray().ignore();
|
||||
@@ -102,7 +104,7 @@ Future<void> _runInForeground() async {
|
||||
return await _runWithLogs(() async {
|
||||
_logger.info("Starting app in foreground");
|
||||
await _init(false, via: 'mainMethod');
|
||||
final Locale locale = await getLocale();
|
||||
final Locale? locale = await getLocale(noFallback: true);
|
||||
unawaited(UpdateService.instance.showUpdateNotification());
|
||||
runApp(
|
||||
AppLock(
|
||||
|
||||
@@ -11,6 +11,7 @@ class CodeDisplay {
|
||||
final int tapCount;
|
||||
String note;
|
||||
final List<String> tags;
|
||||
int position;
|
||||
|
||||
CodeDisplay({
|
||||
this.pinned = false,
|
||||
@@ -19,6 +20,7 @@ class CodeDisplay {
|
||||
this.tapCount = 0,
|
||||
this.tags = const [],
|
||||
this.note = '',
|
||||
this.position = 0,
|
||||
});
|
||||
|
||||
// copyWith
|
||||
@@ -29,6 +31,7 @@ class CodeDisplay {
|
||||
int? tapCount,
|
||||
List<String>? tags,
|
||||
String? note,
|
||||
int? position,
|
||||
}) {
|
||||
final bool updatedPinned = pinned ?? this.pinned;
|
||||
final bool updatedTrashed = trashed ?? this.trashed;
|
||||
@@ -36,6 +39,7 @@ class CodeDisplay {
|
||||
final int updatedTapCount = tapCount ?? this.tapCount;
|
||||
final List<String> updatedTags = tags ?? this.tags;
|
||||
final String updatedNote = note ?? this.note;
|
||||
final int updatedPosition = position ?? this.position;
|
||||
|
||||
return CodeDisplay(
|
||||
pinned: updatedPinned,
|
||||
@@ -44,6 +48,7 @@ class CodeDisplay {
|
||||
tapCount: updatedTapCount,
|
||||
tags: updatedTags,
|
||||
note: updatedNote,
|
||||
position: updatedPosition,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -58,6 +63,7 @@ class CodeDisplay {
|
||||
tapCount: json['tapCount'] ?? 0,
|
||||
tags: List<String>.from(json['tags'] ?? []),
|
||||
note: json['note'] ?? '',
|
||||
position: json['position'] ?? 0,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -99,6 +105,7 @@ class CodeDisplay {
|
||||
'tapCount': tapCount,
|
||||
'tags': tags,
|
||||
'note': note,
|
||||
'position': position,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ class _OnboardingPageState extends State<OnboardingPage> {
|
||||
child: Text("Lang"),
|
||||
),
|
||||
onTap: () async {
|
||||
final locale = await getLocale();
|
||||
final locale = (await getLocale())!;
|
||||
// ignore: unawaited_futures
|
||||
routeToPage(
|
||||
context,
|
||||
|
||||
@@ -99,7 +99,7 @@ class UpdateService {
|
||||
if (flavor == "playstore") {
|
||||
return const Tuple2(
|
||||
"Play Store",
|
||||
"market://details??id=io.ente.auth",
|
||||
"market://details?id=io.ente.auth",
|
||||
);
|
||||
}
|
||||
return const Tuple2(
|
||||
|
||||
@@ -37,8 +37,9 @@ class AuthenticatorDB {
|
||||
),
|
||||
);
|
||||
}
|
||||
final Directory documentsDirectory =
|
||||
await getApplicationDocumentsDirectory();
|
||||
final Directory documentsDirectory = Platform.isMacOS
|
||||
? await getApplicationSupportDirectory()
|
||||
: await getApplicationDocumentsDirectory();
|
||||
final String path = join(documentsDirectory.path, _databaseName);
|
||||
debugPrint(path);
|
||||
return await openDatabase(
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
@@ -16,16 +17,54 @@ class CodeStore {
|
||||
CodeStore._privateConstructor();
|
||||
|
||||
late AuthenticatorService _authenticatorService;
|
||||
final Map<int, Code> _cacheCodes = {};
|
||||
final _logger = Logger("CodeStore");
|
||||
|
||||
Future<void> init() async {
|
||||
_authenticatorService = AuthenticatorService.instance;
|
||||
}
|
||||
|
||||
Future<bool> saveUpadedIndexes(List<Code> codes) async {
|
||||
for (final code in codes) {
|
||||
if (code.hasError || code.isTrashed) {
|
||||
continue;
|
||||
}
|
||||
Code? c = _cacheCodes[code.generatedID];
|
||||
if (c == null) {
|
||||
continue;
|
||||
}
|
||||
int oldIndex = c.display.position;
|
||||
int newIndex = codes.indexOf(code);
|
||||
if (oldIndex != newIndex) {
|
||||
Code updatedCode =
|
||||
c.copyWith(display: c.display.copyWith(position: newIndex));
|
||||
await addCode(updatedCode);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Future<void> updateCodeIndex(Code code) async {
|
||||
final key = code.generatedID!;
|
||||
|
||||
_cacheCodes.remove(key);
|
||||
int deletedIndex = code.display.position;
|
||||
|
||||
_cacheCodes.forEach((key, c) async {
|
||||
if (c.display.position > deletedIndex) {
|
||||
Code updatedCode = c.copyWith(
|
||||
display: c.display.copyWith(position: c.display.position - 1),
|
||||
);
|
||||
await addCode(updatedCode);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Future<List<Code>> getAllCodes({
|
||||
AccountMode? accountMode,
|
||||
bool sortCodes = true,
|
||||
}) async {
|
||||
_cacheCodes.clear();
|
||||
final mode = accountMode ?? _authenticatorService.getAccountMode();
|
||||
final List<EntityResult> entities =
|
||||
await _authenticatorService.getEntities(mode);
|
||||
@@ -48,6 +87,7 @@ class CodeStore {
|
||||
code.generatedID = entity.generatedID;
|
||||
code.hasSynced = entity.hasSynced;
|
||||
codes.add(code);
|
||||
_cacheCodes[code.generatedID!] = code;
|
||||
}
|
||||
|
||||
if (sortCodes) {
|
||||
@@ -118,6 +158,7 @@ class CodeStore {
|
||||
Future<void> removeCode(Code code, {AccountMode? accountMode}) async {
|
||||
final mode = accountMode ?? _authenticatorService.getAccountMode();
|
||||
await _authenticatorService.deleteEntry(code.generatedID!, mode);
|
||||
await updateCodeIndex(code);
|
||||
Bus.instance.fire(CodesUpdatedEvent());
|
||||
}
|
||||
|
||||
|
||||
@@ -37,8 +37,9 @@ class OfflineAuthenticatorDB {
|
||||
),
|
||||
);
|
||||
}
|
||||
final Directory documentsDirectory =
|
||||
await getApplicationDocumentsDirectory();
|
||||
final Directory documentsDirectory = Platform.isMacOS
|
||||
? await getApplicationSupportDirectory()
|
||||
: await getApplicationDocumentsDirectory();
|
||||
final String path = join(documentsDirectory.path, _databaseName);
|
||||
debugPrint(path);
|
||||
return await openDatabase(
|
||||
|
||||
@@ -28,6 +28,7 @@ import 'package:ente_auth/ui/components/models/button_type.dart';
|
||||
import 'package:ente_auth/ui/home/coach_mark_widget.dart';
|
||||
import 'package:ente_auth/ui/home/home_empty_state.dart';
|
||||
import 'package:ente_auth/ui/home/speed_dial_label_widget.dart';
|
||||
import 'package:ente_auth/ui/reorder_codes_page.dart';
|
||||
import 'package:ente_auth/ui/scanner_page.dart';
|
||||
import 'package:ente_auth/ui/settings_page.dart';
|
||||
import 'package:ente_auth/ui/tools/app_lock.dart';
|
||||
@@ -186,6 +187,10 @@ class _HomePageState extends State<HomePage> {
|
||||
.toList() ??
|
||||
[];
|
||||
}
|
||||
|
||||
_filteredCodes
|
||||
.sort((a, b) => a.display.position.compareTo(b.display.position));
|
||||
|
||||
if (mounted) {
|
||||
setState(() {});
|
||||
}
|
||||
@@ -255,6 +260,18 @@ class _HomePageState extends State<HomePage> {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> navigateToReorderPage(List<Code> allCodes) async {
|
||||
await Navigator.of(context).push(
|
||||
MaterialPageRoute(
|
||||
builder: (BuildContext context) {
|
||||
return ReorderCodesPage(codes: _filteredCodes);
|
||||
},
|
||||
),
|
||||
).then((value) {
|
||||
setState(() {});
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final l10n = context.l10n;
|
||||
@@ -310,6 +327,13 @@ class _HomePageState extends State<HomePage> {
|
||||
),
|
||||
centerTitle: PlatformUtil.isDesktop() ? false : true,
|
||||
actions: <Widget>[
|
||||
IconButton(
|
||||
icon: const Icon(Icons.edit),
|
||||
tooltip: l10n.edit,
|
||||
onPressed: () {
|
||||
navigateToReorderPage(_allCodes!);
|
||||
},
|
||||
),
|
||||
PlatformUtil.isDesktop()
|
||||
? IconButton(
|
||||
icon: const Icon(Icons.lock),
|
||||
|
||||
171
auth/lib/ui/reorder_codes_page.dart
Normal file
@@ -0,0 +1,171 @@
|
||||
import 'dart:ui';
|
||||
import 'package:ente_auth/models/code.dart';
|
||||
import 'package:ente_auth/services/preference_service.dart';
|
||||
import 'package:ente_auth/store/code_store.dart';
|
||||
import 'package:ente_auth/ui/code_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
class ReorderCodesPage extends StatefulWidget {
|
||||
const ReorderCodesPage({super.key, required this.codes});
|
||||
final List<Code> codes;
|
||||
|
||||
@override
|
||||
State<ReorderCodesPage> createState() => _ReorderCodesPageState();
|
||||
}
|
||||
|
||||
class _ReorderCodesPageState extends State<ReorderCodesPage> {
|
||||
int selectedSortOption = 2;
|
||||
final logger = Logger('ReorderCodesPage');
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final bool isCompactMode = PreferenceService.instance.isCompactMode();
|
||||
|
||||
return PopScope(
|
||||
canPop: false,
|
||||
onPopInvokedWithResult: (didPop, result) async {
|
||||
if (!didPop) {
|
||||
final hasSaved = await saveUpadedIndexes();
|
||||
if (hasSaved) {
|
||||
Navigator.of(context).pop();
|
||||
}
|
||||
}
|
||||
},
|
||||
child: Scaffold(
|
||||
appBar: AppBar(
|
||||
title: const Text("Edit Codes"),
|
||||
leading: IconButton(
|
||||
icon: const Icon(Icons.arrow_back),
|
||||
onPressed: () async {
|
||||
final hasSaved = await saveUpadedIndexes();
|
||||
if (hasSaved) {
|
||||
Navigator.of(context).pop();
|
||||
}
|
||||
},
|
||||
),
|
||||
actions: [
|
||||
PopupMenuButton(
|
||||
icon: const Icon(Icons.sort),
|
||||
onSelected: (int value) {
|
||||
selectedSortOption = value;
|
||||
switch (value) {
|
||||
case 0:
|
||||
sortByIssuer();
|
||||
break;
|
||||
case 1:
|
||||
sortByAccount();
|
||||
break;
|
||||
case 2:
|
||||
setState(() {});
|
||||
break;
|
||||
}
|
||||
},
|
||||
itemBuilder: (context) => [
|
||||
PopupMenuItem(
|
||||
value: 0,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
selectedSortOption == 0
|
||||
? const Icon(Icons.check)
|
||||
: const SizedBox.square(dimension: 24),
|
||||
const SizedBox(width: 10),
|
||||
const Text("Issuer"),
|
||||
],
|
||||
),
|
||||
),
|
||||
PopupMenuItem(
|
||||
value: 1,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
selectedSortOption == 1
|
||||
? const Icon(Icons.check)
|
||||
: const SizedBox.square(dimension: 24),
|
||||
const SizedBox(width: 10),
|
||||
const Text("Account"),
|
||||
],
|
||||
),
|
||||
),
|
||||
PopupMenuItem(
|
||||
value: 2,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
selectedSortOption == 2
|
||||
? const Icon(Icons.check)
|
||||
: const SizedBox.square(dimension: 24),
|
||||
const SizedBox(width: 10),
|
||||
const Text("Manual"),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
body: ReorderableListView(
|
||||
buildDefaultDragHandles: false,
|
||||
proxyDecorator:
|
||||
(Widget child, int index, Animation<double> animation) {
|
||||
return AnimatedBuilder(
|
||||
animation: animation,
|
||||
builder: (BuildContext context, _) {
|
||||
final animValue = Curves.easeInOut.transform(animation.value);
|
||||
final scale = lerpDouble(1, 1.05, animValue)!;
|
||||
return Transform.scale(scale: scale, child: child);
|
||||
},
|
||||
);
|
||||
},
|
||||
children: [
|
||||
for (final code in widget.codes)
|
||||
selectedSortOption == 2
|
||||
? ReorderableDragStartListener(
|
||||
key: ValueKey('${code.hashCode}_${code.generatedID}'),
|
||||
index: widget.codes.indexOf(code),
|
||||
child: CodeWidget(
|
||||
key: ValueKey(code.generatedID),
|
||||
code,
|
||||
isCompactMode: isCompactMode,
|
||||
),
|
||||
)
|
||||
: CodeWidget(
|
||||
key: ValueKey('${code.hashCode}_${code.generatedID}'),
|
||||
code,
|
||||
isCompactMode: isCompactMode,
|
||||
),
|
||||
],
|
||||
onReorder: (oldIndex, newIndex) {
|
||||
if (selectedSortOption == 2) updateCodeIndex(oldIndex, newIndex);
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Future<bool> saveUpadedIndexes() async {
|
||||
final result = await CodeStore.instance.saveUpadedIndexes(widget.codes);
|
||||
return result;
|
||||
}
|
||||
|
||||
void updateCodeIndex(int oldIndex, int newIndex) {
|
||||
setState(() {
|
||||
// Adjust index when moving down the list
|
||||
// oldIndex = 2, newIndex = 0
|
||||
if (oldIndex < newIndex) newIndex -= 1;
|
||||
final Code code = widget.codes.removeAt(oldIndex);
|
||||
widget.codes.insert(newIndex, code);
|
||||
});
|
||||
}
|
||||
|
||||
void sortByIssuer() {
|
||||
widget.codes.sort((a, b) => a.issuer.compareTo(b.issuer));
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
void sortByAccount() {
|
||||
widget.codes.sort((a, b) => a.account.compareTo(b.account));
|
||||
setState(() {});
|
||||
}
|
||||
}
|
||||
@@ -49,7 +49,7 @@ class _AdvancedSectionWidgetState extends State<AdvancedSectionWidget> {
|
||||
trailingIcon: Icons.chevron_right_outlined,
|
||||
trailingIconIsMuted: true,
|
||||
onTap: () async {
|
||||
final locale = await getLocale();
|
||||
final locale = (await getLocale())!;
|
||||
// ignore: unawaited_futures
|
||||
routeToPage(
|
||||
context,
|
||||
|
||||
@@ -126,6 +126,8 @@ class _ItemsWidgetState extends State<ItemsWidget> {
|
||||
switch (locale.languageCode) {
|
||||
case 'ar':
|
||||
return 'العربية';
|
||||
case 'ca':
|
||||
return 'Català';
|
||||
case 'en':
|
||||
return 'English';
|
||||
case 'bg':
|
||||
|
||||
@@ -35,7 +35,7 @@ class AppLock extends StatefulWidget {
|
||||
final ThemeData? darkTheme;
|
||||
final ThemeData? lightTheme;
|
||||
final ThemeMode savedThemeMode;
|
||||
final Locale locale;
|
||||
final Locale? locale;
|
||||
|
||||
const AppLock({
|
||||
super.key,
|
||||
@@ -43,7 +43,7 @@ class AppLock extends StatefulWidget {
|
||||
required this.lockScreen,
|
||||
required this.savedThemeMode,
|
||||
this.enabled = true,
|
||||
this.locale = const Locale('en', 'US'),
|
||||
this.locale,
|
||||
this.backgroundLockLatency = const Duration(seconds: 0),
|
||||
this.darkTheme,
|
||||
this.lightTheme,
|
||||
|
||||
@@ -1,12 +1,137 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:io/io.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:path/path.dart' as p;
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:xdg_directories/xdg_directories.dart';
|
||||
|
||||
class DirectoryUtils {
|
||||
static Future<String> getDatabasePath(String databaseName) async => p.joinAll(
|
||||
[
|
||||
static final logger = Logger('DirectoryUtils');
|
||||
|
||||
static Future<String> getDatabasePath(String databaseName) async {
|
||||
String? directoryPath;
|
||||
|
||||
directoryPath ??= (await getApplicationSupportDirectory()).path;
|
||||
|
||||
return p.joinAll(
|
||||
[
|
||||
directoryPath,
|
||||
".$databaseName",
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
static Future<Directory> getDirectoryForInit() async {
|
||||
Directory? directory;
|
||||
if (Platform.isLinux) {
|
||||
try {
|
||||
return cacheHome;
|
||||
} catch (e) {
|
||||
logger.warning("Failed to get cacheHome: $e");
|
||||
}
|
||||
}
|
||||
|
||||
directory ??= await getApplicationDocumentsDirectory();
|
||||
|
||||
return Directory(p.join(directory.path, "enteauthinit"));
|
||||
}
|
||||
|
||||
static Future<Directory> getTempsDir() async {
|
||||
return await getTemporaryDirectory();
|
||||
}
|
||||
|
||||
static String migratedNamingChanges = "migrated_naming_changes.b5";
|
||||
static migrateNamingChanges() async {
|
||||
try {
|
||||
final sharedPrefs = await SharedPreferences.getInstance();
|
||||
if (sharedPrefs.containsKey(migratedNamingChanges)) {
|
||||
return;
|
||||
}
|
||||
var databaseFile = File(
|
||||
p.join(
|
||||
(await getApplicationDocumentsDirectory()).path,
|
||||
"ente",
|
||||
".$databaseName",
|
||||
],
|
||||
".ente.authenticator.db",
|
||||
),
|
||||
);
|
||||
var offlineDatabaseFile = File(
|
||||
p.join(
|
||||
(await getApplicationDocumentsDirectory()).path,
|
||||
"ente",
|
||||
".ente.offline_authenticator.db",
|
||||
),
|
||||
);
|
||||
Directory oldDataDir;
|
||||
Directory newDataDir;
|
||||
|
||||
Directory? tempDir;
|
||||
if (Platform.isLinux) {
|
||||
oldDataDir = Directory(
|
||||
p.join(dataHome.path, "ente_auth"),
|
||||
);
|
||||
tempDir = Directory(
|
||||
p.join(dataHome.path, "enteauth"),
|
||||
);
|
||||
} else if (Platform.isWindows) {
|
||||
oldDataDir = Directory(
|
||||
p.join(
|
||||
(await getApplicationDocumentsDirectory()).path,
|
||||
"ente",
|
||||
),
|
||||
);
|
||||
tempDir = Directory(
|
||||
p.join(
|
||||
(await getApplicationDocumentsDirectory()).path,
|
||||
"enteauth",
|
||||
),
|
||||
);
|
||||
} else {
|
||||
oldDataDir = await getApplicationDocumentsDirectory();
|
||||
databaseFile = File(
|
||||
p.join(
|
||||
(await getApplicationDocumentsDirectory()).path,
|
||||
"ente.authenticator.db",
|
||||
),
|
||||
);
|
||||
offlineDatabaseFile = File(
|
||||
p.join(
|
||||
(await getApplicationDocumentsDirectory()).path,
|
||||
"ente.offline_authenticator.db",
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
if (tempDir?.existsSync() ?? false) {
|
||||
oldDataDir = tempDir!;
|
||||
}
|
||||
newDataDir = await getApplicationSupportDirectory();
|
||||
await newDataDir.create(recursive: true);
|
||||
|
||||
final prefix = Platform.isMacOS ? "" : ".";
|
||||
File newDatabaseFile =
|
||||
File(p.join(newDataDir.path, "${prefix}ente.authenticator.db"));
|
||||
if (await databaseFile.exists() && !await newDatabaseFile.exists()) {
|
||||
await databaseFile.copy(newDatabaseFile.path);
|
||||
}
|
||||
|
||||
File newOfflineDatabaseFile = File(
|
||||
p.join(newDataDir.path, "${prefix}ente.offline_authenticator.db"),
|
||||
);
|
||||
if (await offlineDatabaseFile.exists() &&
|
||||
!await newOfflineDatabaseFile.exists()) {
|
||||
await offlineDatabaseFile.copy(newOfflineDatabaseFile.path);
|
||||
}
|
||||
|
||||
if (Platform.isLinux && await oldDataDir.exists()) {
|
||||
await copyPath(oldDataDir.path, newDataDir.path);
|
||||
}
|
||||
|
||||
sharedPrefs.setBool(migratedNamingChanges, true).ignore();
|
||||
} catch (e, st) {
|
||||
logger.warning("Migrating Database failed!", e, st);
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import 'package:ente_auth/ui/components/dialog_widget.dart';
|
||||
import 'package:ente_auth/ui/components/models/button_type.dart';
|
||||
import 'package:ente_auth/ui/tools/debug/log_file_viewer.dart';
|
||||
import 'package:ente_auth/utils/dialog_util.dart';
|
||||
import 'package:ente_auth/utils/directory_utils.dart';
|
||||
import 'package:ente_auth/utils/platform_util.dart';
|
||||
import 'package:ente_auth/utils/share_utils.dart';
|
||||
import 'package:ente_auth/utils/toast_util.dart';
|
||||
@@ -146,7 +147,7 @@ Future<String> getZippedLogsFile(BuildContext context) async {
|
||||
await dialog.show();
|
||||
final logsPath = (await getApplicationSupportDirectory()).path;
|
||||
final logsDirectory = Directory("$logsPath/logs");
|
||||
final tempPath = (await getTemporaryDirectory()).path;
|
||||
final tempPath = (await DirectoryUtils.getTempsDir()).path;
|
||||
final zipFilePath =
|
||||
"$tempPath/logs-${Configuration.instance.getUserID() ?? 0}.zip";
|
||||
final encoder = ZipFileEncoder();
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:desktop_webview_window/desktop_webview_window.dart';
|
||||
import 'package:ente_auth/ui/common/web_page.dart';
|
||||
import 'package:file_saver/file_saver.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
@@ -31,17 +30,7 @@ class PlatformUtil {
|
||||
|
||||
static openWebView(BuildContext context, String title, String url) async {
|
||||
if (PlatformUtil.isDesktop()) {
|
||||
if (!await WebviewWindow.isWebviewAvailable()) {
|
||||
await launchUrlString(url);
|
||||
return;
|
||||
}
|
||||
|
||||
final webview = await WebviewWindow.create(
|
||||
configuration: CreateConfiguration(
|
||||
title: title,
|
||||
),
|
||||
);
|
||||
webview.launch(url);
|
||||
await launchUrlString(url);
|
||||
return;
|
||||
}
|
||||
await Navigator.of(context).push(
|
||||
|
||||
@@ -4,7 +4,7 @@ project(runner LANGUAGES CXX)
|
||||
|
||||
# The name of the executable created for the application. Change this to change
|
||||
# the on-disk name of your application.
|
||||
set(BINARY_NAME "ente_auth")
|
||||
set(BINARY_NAME "enteauth")
|
||||
# The unique GTK application identifier for this application. See:
|
||||
# https://wiki.gnome.org/HowDoI/ChooseApplicationID
|
||||
set(APPLICATION_ID "io.ente.auth")
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
#include "generated_plugin_registrant.h"
|
||||
|
||||
#include <desktop_webview_window/desktop_webview_window_plugin.h>
|
||||
#include <file_saver/file_saver_plugin.h>
|
||||
#include <flutter_local_authentication/flutter_local_authentication_plugin.h>
|
||||
#include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h>
|
||||
@@ -20,9 +19,6 @@
|
||||
#include <window_manager/window_manager_plugin.h>
|
||||
|
||||
void fl_register_plugins(FlPluginRegistry* registry) {
|
||||
g_autoptr(FlPluginRegistrar) desktop_webview_window_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "DesktopWebviewWindowPlugin");
|
||||
desktop_webview_window_plugin_register_with_registrar(desktop_webview_window_registrar);
|
||||
g_autoptr(FlPluginRegistrar) file_saver_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSaverPlugin");
|
||||
file_saver_plugin_register_with_registrar(file_saver_registrar);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
#
|
||||
|
||||
list(APPEND FLUTTER_PLUGIN_LIST
|
||||
desktop_webview_window
|
||||
file_saver
|
||||
flutter_local_authentication
|
||||
flutter_secure_storage_linux
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
display_name: Auth
|
||||
display_name: Ente Auth
|
||||
package_name: enteauth
|
||||
license: GPLv3
|
||||
|
||||
metainfo: linux/packaging/ente_auth.appdata.xml
|
||||
metainfo: linux/packaging/enteauth.appdata.xml
|
||||
|
||||
icon: assets/icons/auth-icon.png
|
||||
|
||||
@@ -25,10 +26,6 @@ startup_notify: false
|
||||
#
|
||||
# include:
|
||||
# - libcurl.so.4
|
||||
include:
|
||||
- libffi.so.8
|
||||
- libtiff.so.5
|
||||
- libjpeg.so.8
|
||||
|
||||
supported_mime_type:
|
||||
- x-scheme-handler/enteauth
|
||||
- x-scheme-handler/enteauth
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
display_name: Auth
|
||||
package_name: auth
|
||||
display_name: Ente Auth
|
||||
package_name: enteauth
|
||||
include_build_number: false
|
||||
|
||||
maintainer:
|
||||
name: Ente.io Developers
|
||||
email: auth@ente.io
|
||||
@@ -10,10 +12,9 @@ license: GPLv3
|
||||
icon: assets/icons/auth-icon.png
|
||||
installed_size: 36000
|
||||
|
||||
metainfo: linux/packaging/ente_auth.appdata.xml
|
||||
metainfo: linux/packaging/enteauth.appdata.xml
|
||||
|
||||
dependencies:
|
||||
- libwebkit2gtk-4.0-37
|
||||
- libsqlite3-0
|
||||
- libsodium23
|
||||
- libsecret-1-0
|
||||
@@ -25,7 +26,7 @@ keywords:
|
||||
- Authentication
|
||||
- 2FA
|
||||
|
||||
generic_name: Ente Authentication
|
||||
generic_name: Ente Authenticator
|
||||
|
||||
categories:
|
||||
- Utility
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>ente_auth</id>
|
||||
<id>enteauth</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>AGPL-3.0</project_license>
|
||||
<name>Ente Auth</name>
|
||||
<summary>Open source 2FA authenticator, with end-to-end encrypted backups</summary>
|
||||
<summary>FOSS, cross-platform 2FA app</summary>
|
||||
<description>
|
||||
<p>Auth provides end-to-end encrypted cloud backups so you don't have to worry about losing your tokens. Our cryptography has been externally audited.</p>
|
||||
<p>Auth has an app for every platform. Mobile, desktop and web. Your codes sync across all your devices, end-to-end encrypted.</p>
|
||||
<p>Auth also comes with Offline mode, tags, icons, pins, import/export and more</p>
|
||||
</description>
|
||||
<launchable type="desktop-id">ente_auth.desktop</launchable>
|
||||
<launchable type="desktop-id">enteauth.desktop</launchable>
|
||||
<url type="homepage">https://ente.io/auth</url>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
@@ -18,14 +18,18 @@
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<releases>
|
||||
<release version="3.0.12" date="2024-06-17"/>
|
||||
<release version="4.0.3" date="2024-10-08" />
|
||||
</releases>
|
||||
<provides>
|
||||
<id>ente_auth.desktop</id>
|
||||
<id>enteauth.desktop</id>
|
||||
</provides>
|
||||
<content_rating type="oars-1.0" />
|
||||
<developer id="io.github.ente-io.ente">
|
||||
<name>Ente.io Developers</name>
|
||||
</developer>
|
||||
<update_contact>auth@ente.io</update_contact>
|
||||
<branding>
|
||||
<color type="primary" scheme_preference="light">#ffffff</color>
|
||||
<color type="primary" scheme_preference="dark">#000000</color>
|
||||
</branding>
|
||||
</component>
|
||||
@@ -1,5 +1,5 @@
|
||||
display_name: Auth
|
||||
package_name: auth
|
||||
display_name: Ente Auth
|
||||
package_name: enteauth
|
||||
maintainer:
|
||||
name: Ente.io Developers
|
||||
email: auth@ente.io
|
||||
@@ -8,29 +8,18 @@ licenses:
|
||||
icon: assets/icons/auth-icon.png
|
||||
installed_size: 36000
|
||||
|
||||
metainfo: linux/packaging/ente_auth.appdata.xml
|
||||
metainfo: linux/packaging/enteauth.appdata.xml
|
||||
|
||||
dependencies:
|
||||
- c-ares
|
||||
- ffmpeg
|
||||
- gtk3
|
||||
- http-parser
|
||||
- libevent
|
||||
- libvpx
|
||||
- libxslt
|
||||
- libxss
|
||||
- minizip
|
||||
- nss
|
||||
- re2
|
||||
- snappy
|
||||
- libnotify
|
||||
- sqlite
|
||||
- libsecret
|
||||
- libappindicator-gtk3
|
||||
|
||||
keywords:
|
||||
- Authentication
|
||||
- 2FA
|
||||
|
||||
generic_name: Ente Authentication
|
||||
generic_name: Ente Authenticator
|
||||
|
||||
categories:
|
||||
- Utility
|
||||
@@ -47,12 +36,12 @@ postinstall_scripts:
|
||||
|
||||
postupgrade_scripts:
|
||||
- post_install
|
||||
|
||||
|
||||
postremove_scripts:
|
||||
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
|
||||
- update-desktop-database -q
|
||||
- if [ -e /usr/lib/libsodium.so.23 ]; then
|
||||
- rm /usr/lib/libsodium.so.23
|
||||
- rm /usr/lib/libsodium.so.23
|
||||
- fi
|
||||
|
||||
startup_notify: false
|
||||
startup_notify: false
|
||||
|
||||
@@ -6,15 +6,15 @@ packager: Ente.io Developers
|
||||
packagerEmail: auth@ente.io
|
||||
license: GPLv3
|
||||
url: https://github.com/ente-io/ente
|
||||
package_name: enteauth
|
||||
include_build_number: false
|
||||
|
||||
display_name: Auth
|
||||
|
||||
metainfo: linux/packaging/ente_auth.appdata.xml
|
||||
metainfo: linux/packaging/enteauth.appdata.xml
|
||||
|
||||
requires:
|
||||
- libsqlite3x
|
||||
- webkit2gtk4.0
|
||||
- libsodium
|
||||
- libsecret
|
||||
- libappindicator
|
||||
|
||||
@@ -22,7 +22,7 @@ keywords:
|
||||
- Authentication
|
||||
- 2FA
|
||||
|
||||
generic_name: Ente Authentication
|
||||
generic_name: Ente Authenticator
|
||||
|
||||
categories:
|
||||
- Utility
|
||||
|
||||
@@ -7,7 +7,6 @@ import Foundation
|
||||
|
||||
import app_links
|
||||
import connectivity_plus
|
||||
import desktop_webview_window
|
||||
import device_info_plus
|
||||
import file_saver
|
||||
import flutter_inappwebview_macos
|
||||
@@ -31,7 +30,6 @@ import window_manager
|
||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
|
||||
ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin"))
|
||||
DesktopWebviewWindowPlugin.register(with: registry.registrar(forPlugin: "DesktopWebviewWindowPlugin"))
|
||||
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
|
||||
FileSaverPlugin.register(with: registry.registrar(forPlugin: "FileSaverPlugin"))
|
||||
InAppWebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "InAppWebViewFlutterPlugin"))
|
||||
|
||||
@@ -326,15 +326,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.7.10"
|
||||
desktop_webview_window:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "packages/desktop_webview_window"
|
||||
ref: main
|
||||
resolved-ref: "3e4247ba5b71049704395b70b5a827fb113b88ea"
|
||||
url: "https://github.com/MixinNetwork/flutter-plugins"
|
||||
source: git
|
||||
version: "0.2.4"
|
||||
device_info_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -879,7 +870,7 @@ packages:
|
||||
source: hosted
|
||||
version: "0.19.0"
|
||||
io:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: io
|
||||
sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
|
||||
@@ -1821,7 +1812,7 @@ packages:
|
||||
source: hosted
|
||||
version: "0.4.2"
|
||||
xdg_directories:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: xdg_directories
|
||||
sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: ente_auth
|
||||
description: ente two-factor authenticator
|
||||
version: 4.0.2+402
|
||||
version: 4.1.1+411
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
@@ -19,11 +19,6 @@ dependencies:
|
||||
confetti: ^0.8.0
|
||||
connectivity_plus: ^6.0.5
|
||||
convert: ^3.1.1
|
||||
desktop_webview_window:
|
||||
git:
|
||||
url: https://github.com/MixinNetwork/flutter-plugins
|
||||
ref: main
|
||||
path: packages/desktop_webview_window
|
||||
device_info_plus: ^9.1.1
|
||||
dio: ^5.4.0
|
||||
dotted_border: ^2.0.0+2
|
||||
@@ -67,6 +62,7 @@ dependencies:
|
||||
gradient_borders: ^1.0.0
|
||||
http: ^1.1.0
|
||||
intl: ^0.19.0
|
||||
io: ^1.0.4
|
||||
json_annotation: ^4.5.0
|
||||
local_auth: ^2.3.0
|
||||
local_auth_android: ^1.0.37
|
||||
@@ -105,6 +101,7 @@ dependencies:
|
||||
uuid: ^4.2.2
|
||||
win32: ^5.1.1
|
||||
window_manager: ^0.4.2
|
||||
xdg_directories: ^1.0.4
|
||||
|
||||
dependency_overrides:
|
||||
flutter_secure_storage_linux:
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
#include <app_links/app_links_plugin_c_api.h>
|
||||
#include <connectivity_plus/connectivity_plus_windows_plugin.h>
|
||||
#include <desktop_webview_window/desktop_webview_window_plugin.h>
|
||||
#include <file_saver/file_saver_plugin.h>
|
||||
#include <flutter_inappwebview_windows/flutter_inappwebview_windows_plugin_c_api.h>
|
||||
#include <flutter_local_authentication/flutter_local_authentication_plugin_c_api.h>
|
||||
@@ -27,8 +26,6 @@ void RegisterPlugins(flutter::PluginRegistry* registry) {
|
||||
registry->GetRegistrarForPlugin("AppLinksPluginCApi"));
|
||||
ConnectivityPlusWindowsPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin"));
|
||||
DesktopWebviewWindowPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("DesktopWebviewWindowPlugin"));
|
||||
FileSaverPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("FileSaverPlugin"));
|
||||
FlutterInappwebviewWindowsPluginCApiRegisterWithRegistrar(
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
list(APPEND FLUTTER_PLUGIN_LIST
|
||||
app_links
|
||||
connectivity_plus
|
||||
desktop_webview_window
|
||||
file_saver
|
||||
flutter_inappwebview_windows
|
||||
flutter_local_authentication
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
app_id: 9E5F0C93-96A3-4DA9-AE52-1AA6339851FC
|
||||
package_name: enteauth
|
||||
publisher: ente.io
|
||||
publisher_url: https://github.com/ente-io/ente
|
||||
display_name: Ente Auth
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# You can put this configuration file in the following locations:
|
||||
# - $HOME/.ente/config.yaml
|
||||
# - config.yaml in the current working directory
|
||||
# - $ENTE_CLI_CONFIG_PATH/config.yaml
|
||||
# - $ENTE_CLI_CONFIG_DIR/config.yaml
|
||||
|
||||
endpoint:
|
||||
api: "http://localhost:8080"
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
|
||||
|
||||
## Self Hosting
|
||||
If you are self-hosting the server, you can still configure CLI to export data & perform basic admin actions.
|
||||
|
||||
To do this, first configure the CLI to point to your server.
|
||||
Define a config.yaml and put it either in the same directory as CLI binary or path defined in env variable `ENTE_CLI_CONFIG_PATH`
|
||||
Define a config.yaml and put it either in the same directory as CLI binary or path defined in env variable `ENTE_CLI_CONFIG_DIR`
|
||||
|
||||
```yaml
|
||||
endpoint:
|
||||
|
||||
64
cli/main.go
@@ -18,29 +18,29 @@ import (
|
||||
var AppVersion = "0.2.2"
|
||||
|
||||
func main() {
|
||||
cliDBPath, err := GetCLIConfigPath()
|
||||
cliConfigDir, err := GetCLIConfigDir()
|
||||
if secrets.IsRunningInContainer() {
|
||||
cliDBPath = constants.CliDataPath
|
||||
_, err := internal.ValidateDirForWrite(cliDBPath)
|
||||
cliConfigDir = constants.CliDataPath
|
||||
_, err := internal.ValidateDirForWrite(cliConfigDir)
|
||||
if err != nil {
|
||||
log.Fatalf("Please mount a volume to %s\n%v\n", cliDBPath, err)
|
||||
log.Fatalf("Please mount a volume to %s\n%v\n", cliConfigDir, err)
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
log.Fatalf("Could not create cli config path\n%v\n", err)
|
||||
}
|
||||
initConfig(cliDBPath)
|
||||
newCliPath := fmt.Sprintf("%s/ente-cli.db", cliDBPath)
|
||||
if !strings.HasPrefix(cliDBPath, "/") {
|
||||
oldCliPath := fmt.Sprintf("%sente-cli.db", cliDBPath)
|
||||
initConfig(cliConfigDir)
|
||||
newCliDBPath := filepath.Join(cliConfigDir, "ente-cli.db")
|
||||
if !strings.HasPrefix(cliConfigDir, "/") {
|
||||
oldCliPath := fmt.Sprintf("%sente-cli.db", cliConfigDir)
|
||||
if _, err := os.Stat(oldCliPath); err == nil {
|
||||
log.Printf("migrating old cli db from %s to %s\n", oldCliPath, newCliPath)
|
||||
if err := os.Rename(oldCliPath, newCliPath); err != nil {
|
||||
log.Printf("migrating old cli db from %s to %s\n", oldCliPath, newCliDBPath)
|
||||
if err := os.Rename(oldCliPath, newCliDBPath); err != nil {
|
||||
log.Fatalf("Could not rename old cli db\n%v\n", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
db, err := pkg.GetDB(newCliPath)
|
||||
db, err := pkg.GetDB(newCliDBPath)
|
||||
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), "timeout") {
|
||||
@@ -49,14 +49,28 @@ func main() {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
// Define a set of commands that do not require KeyHolder initialisation.
|
||||
skipKeyHolderCommands := map[string]struct{}{"version": {}, "docs": {}, "help": {}}
|
||||
|
||||
var keyHolder *secrets.KeyHolder
|
||||
|
||||
// Only initialise KeyHolder if the command isn't in the skip list.
|
||||
if len(os.Args) > 1 {
|
||||
if _, skip := skipKeyHolderCommands[os.Args[1]]; !skip {
|
||||
keyHolder = secrets.NewKeyHolder(secrets.GetOrCreateClISecret())
|
||||
}
|
||||
}
|
||||
|
||||
ctrl := pkg.ClICtrl{
|
||||
Client: api.NewClient(api.Params{
|
||||
Debug: viper.GetBool("log.http"),
|
||||
Host: viper.GetString("endpoint.api"),
|
||||
}),
|
||||
DB: db,
|
||||
KeyHolder: secrets.NewKeyHolder(secrets.GetOrCreateClISecret()),
|
||||
KeyHolder: keyHolder,
|
||||
}
|
||||
|
||||
err = ctrl.Init()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
@@ -85,11 +99,11 @@ func main() {
|
||||
cmd.Execute(&ctrl, AppVersion)
|
||||
}
|
||||
|
||||
func initConfig(cliConfigPath string) {
|
||||
viper.SetConfigName("config") // name of config file (without extension)
|
||||
viper.SetConfigType("yaml") // REQUIRED if the config file does not have the extension in the name
|
||||
viper.AddConfigPath(cliConfigPath + "/") // path to look for the config file in
|
||||
viper.AddConfigPath(".") // optionally look for config in the working directory
|
||||
func initConfig(cliConfigDir string) {
|
||||
viper.SetConfigName("config") // name of config file (without extension)
|
||||
viper.SetConfigType("yaml") // REQUIRED if the config file does not have the extension in the name
|
||||
viper.AddConfigPath(cliConfigDir + "/") // path to look for the config file in
|
||||
viper.AddConfigPath(".") // optionally look for config in the working directory
|
||||
|
||||
viper.SetDefault("endpoint.api", constants.EnteApiUrl)
|
||||
viper.SetDefault("endpoint.accounts", constants.EnteAccountUrl)
|
||||
@@ -102,11 +116,19 @@ func initConfig(cliConfigPath string) {
|
||||
}
|
||||
}
|
||||
|
||||
// GetCLIConfigPath returns the path to the .ente-cli folder and creates it if it doesn't exist.
|
||||
func GetCLIConfigPath() (string, error) {
|
||||
if os.Getenv("ENTE_CLI_CONFIG_PATH") != "" {
|
||||
return os.Getenv("ENTE_CLI_CONFIG_PATH"), nil
|
||||
// GetCLIConfigDir returns the path to the .ente-cli folder and creates it if it doesn't exist.
|
||||
func GetCLIConfigDir() (string, error) {
|
||||
var configDir = os.Getenv("ENTE_CLI_CONFIG_DIR")
|
||||
if configDir == "" {
|
||||
// for backward compatibility, check for ENTE_CLI_CONFIG_PATH
|
||||
configDir = os.Getenv("ENTE_CLI_CONFIG_PATH")
|
||||
}
|
||||
if configDir != "" {
|
||||
// remove trailing slash (for all OS)
|
||||
configDir = strings.TrimSuffix(configDir, string(filepath.Separator))
|
||||
return configDir, nil
|
||||
}
|
||||
|
||||
// Get the user's home directory
|
||||
homeDir, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
|
||||
@@ -88,7 +88,7 @@ jobs:
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
# See:
|
||||
# https://github.com/electron-userland/electron-builder/issues/4181
|
||||
run: sudo apt-get install libarchive-tools
|
||||
run: sudo apt-get update && sudo apt-get install libarchive-tools
|
||||
|
||||
- name: Build
|
||||
uses: ente-io/action-electron-builder@eff78a1d33bdab4c54ede0e5cdc71e0c2cf803e2
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
# CHANGELOG
|
||||
|
||||
## v1.7.6 (Unreleased)
|
||||
## v1.7.7 (Unreleased)
|
||||
|
||||
- Parse description from metadata JSON.
|
||||
- Support Italian and Lithuanian translations.
|
||||
- Retain JPEG originals even on date modifications.
|
||||
- Support Portuguese translations.
|
||||
- .
|
||||
|
||||
## v1.7.6
|
||||
|
||||
- Face merging and suggestions (beta).
|
||||
- Parse description from metadata JSON.
|
||||
- Support Italian, Ukrainian and Lithuanian translations.
|
||||
- Fix an out of memory crash on uploading large libraries.
|
||||
|
||||
## v1.7.5
|
||||
|
||||
- Face grouping (beta).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ente",
|
||||
"version": "1.7.6-beta",
|
||||
"version": "1.7.7-beta",
|
||||
"private": true,
|
||||
"description": "Desktop client for Ente Photos",
|
||||
"repository": "github:ente-io/photos-desktop",
|
||||
@@ -28,35 +28,35 @@
|
||||
"auto-launch": "^5.0.6",
|
||||
"chokidar": "^3.6.0",
|
||||
"clip-bpe-js": "^0.0.6",
|
||||
"comlink": "^4.4.1",
|
||||
"comlink": "^4.4.2",
|
||||
"compare-versions": "^6.1.1",
|
||||
"electron-log": "^5.1.7",
|
||||
"electron-log": "^5.2.2",
|
||||
"electron-store": "^8.2.0",
|
||||
"electron-updater": "^6.3.4",
|
||||
"electron-updater": "^6.3.9",
|
||||
"ffmpeg-static": "^5.2.0",
|
||||
"lru-cache": "^11.0.0",
|
||||
"lru-cache": "^11.0.2",
|
||||
"next-electron-server": "^1.0.0",
|
||||
"node-stream-zip": "^1.15.0",
|
||||
"onnxruntime-node": "^1.19.2"
|
||||
"onnxruntime-node": "^1.20.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.9.1",
|
||||
"@eslint/js": "^9.15.0",
|
||||
"@tsconfig/node20": "^20.1.4",
|
||||
"@types/auto-launch": "^5.0.5",
|
||||
"@types/eslint__js": "^8.42.3",
|
||||
"@types/ffmpeg-static": "^3.0.3",
|
||||
"ajv": "^8.17.1",
|
||||
"concurrently": "^8.2.2",
|
||||
"concurrently": "^9.1.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"electron": "^30.4.0",
|
||||
"electron-builder": "^25.0.5",
|
||||
"electron": "^33.2.0",
|
||||
"electron-builder": "^25.1.8",
|
||||
"eslint": "^9",
|
||||
"prettier": "^3.3.3",
|
||||
"prettier-plugin-organize-imports": "^4.0.0",
|
||||
"prettier-plugin-packagejson": "^2.5.2",
|
||||
"prettier-plugin-organize-imports": "^4.1.0",
|
||||
"prettier-plugin-packagejson": "^2.5.3",
|
||||
"shx": "^0.3.4",
|
||||
"typescript": "^5.5.4",
|
||||
"typescript-eslint": "^8.4.0"
|
||||
"typescript": "^5.6.3",
|
||||
"typescript-eslint": "^8.14.0"
|
||||
},
|
||||
"packageManager": "yarn@1.22.22",
|
||||
"productName": "ente"
|
||||
|
||||
@@ -48,6 +48,7 @@ const messageWithError = (message: string, e?: unknown) => {
|
||||
es = [`${e.name}: ${e.message}`, e.stack].filter((x) => x).join("\n");
|
||||
} else {
|
||||
// For the rest rare cases, use the default string serialization of e.
|
||||
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
||||
es = String(e);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,13 +7,6 @@
|
||||
resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.2.0.tgz#7a03314684dd6572b7dfa89e68ce31d60286854d"
|
||||
integrity sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==
|
||||
|
||||
"@babel/runtime@^7.21.0":
|
||||
version "7.25.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2"
|
||||
integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==
|
||||
dependencies:
|
||||
regenerator-runtime "^0.14.0"
|
||||
|
||||
"@derhuerst/http-basic@^8.2.0":
|
||||
version "8.2.4"
|
||||
resolved "https://registry.yarnpkg.com/@derhuerst/http-basic/-/http-basic-8.2.4.tgz#d021ebb8f65d54bea681ae6f4a8733ce89e7f59b"
|
||||
@@ -56,10 +49,10 @@
|
||||
optionalDependencies:
|
||||
global-agent "^3.0.0"
|
||||
|
||||
"@electron/notarize@2.3.2":
|
||||
version "2.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.3.2.tgz#20a52a961747be8542a35003380988a0d3fe15e6"
|
||||
integrity sha512-zfayxCe19euNwRycCty1C7lF7snk9YwfRpB5M8GLr1a4ICH63znxaPNAubrMvj0yDvVozqfgsdYpXVUnpWBDpg==
|
||||
"@electron/notarize@2.5.0":
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.5.0.tgz#d4d25356adfa29df4a76bd64a8bd347237cd251e"
|
||||
integrity sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
fs-extra "^9.0.1"
|
||||
@@ -77,10 +70,10 @@
|
||||
minimist "^1.2.6"
|
||||
plist "^3.0.5"
|
||||
|
||||
"@electron/rebuild@3.6.0":
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-3.6.0.tgz#60211375a5f8541a71eb07dd2f97354ad0b2b96f"
|
||||
integrity sha512-zF4x3QupRU3uNGaP5X1wjpmcjfw1H87kyqZ00Tc3HvriV+4gmOGuvQjGNkrJuXdsApssdNyVwLsy+TaeTGGcVw==
|
||||
"@electron/rebuild@3.6.1":
|
||||
version "3.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-3.6.1.tgz#59e8e36c3f6e6b94a699425dfb61f0394c3dd4df"
|
||||
integrity sha512-f6596ZHpEq/YskUd8emYvOUne89ij8mQgjYFA5ru25QwbrRO+t1SImofdDv7kKOuWCmVOuU5tvfkbgGxIl3E/w==
|
||||
dependencies:
|
||||
"@malept/cross-spawn-promise" "^2.0.0"
|
||||
chalk "^4.0.0"
|
||||
@@ -146,11 +139,16 @@
|
||||
minimatch "^3.1.2"
|
||||
strip-json-comments "^3.1.1"
|
||||
|
||||
"@eslint/js@9.9.1", "@eslint/js@^9.9.1":
|
||||
"@eslint/js@9.9.1":
|
||||
version "9.9.1"
|
||||
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.9.1.tgz#4a97e85e982099d6c7ee8410aacb55adaa576f06"
|
||||
integrity sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==
|
||||
|
||||
"@eslint/js@^9.15.0":
|
||||
version "9.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.15.0.tgz#df0e24fe869143b59731942128c19938fdbadfb5"
|
||||
integrity sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==
|
||||
|
||||
"@eslint/object-schema@^2.1.4":
|
||||
version "2.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843"
|
||||
@@ -386,62 +384,62 @@
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@typescript-eslint/eslint-plugin@8.4.0":
|
||||
version "8.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.4.0.tgz#188c65610ef875a086404b5bfe105df936b035da"
|
||||
integrity sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw==
|
||||
"@typescript-eslint/eslint-plugin@8.14.0":
|
||||
version "8.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.14.0.tgz#7dc0e419c87beadc8f554bf5a42e5009ed3748dc"
|
||||
integrity sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w==
|
||||
dependencies:
|
||||
"@eslint-community/regexpp" "^4.10.0"
|
||||
"@typescript-eslint/scope-manager" "8.4.0"
|
||||
"@typescript-eslint/type-utils" "8.4.0"
|
||||
"@typescript-eslint/utils" "8.4.0"
|
||||
"@typescript-eslint/visitor-keys" "8.4.0"
|
||||
"@typescript-eslint/scope-manager" "8.14.0"
|
||||
"@typescript-eslint/type-utils" "8.14.0"
|
||||
"@typescript-eslint/utils" "8.14.0"
|
||||
"@typescript-eslint/visitor-keys" "8.14.0"
|
||||
graphemer "^1.4.0"
|
||||
ignore "^5.3.1"
|
||||
natural-compare "^1.4.0"
|
||||
ts-api-utils "^1.3.0"
|
||||
|
||||
"@typescript-eslint/parser@8.4.0":
|
||||
version "8.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.4.0.tgz#36b7cd7643a1c190d49dc0278192b2450f615a6f"
|
||||
integrity sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA==
|
||||
"@typescript-eslint/parser@8.14.0":
|
||||
version "8.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.14.0.tgz#0a7e9dbc11bc07716ab2d7b1226217e9f6b51fc8"
|
||||
integrity sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA==
|
||||
dependencies:
|
||||
"@typescript-eslint/scope-manager" "8.4.0"
|
||||
"@typescript-eslint/types" "8.4.0"
|
||||
"@typescript-eslint/typescript-estree" "8.4.0"
|
||||
"@typescript-eslint/visitor-keys" "8.4.0"
|
||||
"@typescript-eslint/scope-manager" "8.14.0"
|
||||
"@typescript-eslint/types" "8.14.0"
|
||||
"@typescript-eslint/typescript-estree" "8.14.0"
|
||||
"@typescript-eslint/visitor-keys" "8.14.0"
|
||||
debug "^4.3.4"
|
||||
|
||||
"@typescript-eslint/scope-manager@8.4.0":
|
||||
version "8.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.4.0.tgz#8a13d3c0044513d7960348db6f4789d2a06fa4b4"
|
||||
integrity sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A==
|
||||
"@typescript-eslint/scope-manager@8.14.0":
|
||||
version "8.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.14.0.tgz#01f37c147a735cd78f0ff355e033b9457da1f373"
|
||||
integrity sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "8.4.0"
|
||||
"@typescript-eslint/visitor-keys" "8.4.0"
|
||||
"@typescript-eslint/types" "8.14.0"
|
||||
"@typescript-eslint/visitor-keys" "8.14.0"
|
||||
|
||||
"@typescript-eslint/type-utils@8.4.0":
|
||||
version "8.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.4.0.tgz#4a91b5789f41946adb56d73e2fb4639fdcf37af7"
|
||||
integrity sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A==
|
||||
"@typescript-eslint/type-utils@8.14.0":
|
||||
version "8.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.14.0.tgz#455c6af30c336b24a1af28bc4f81b8dd5d74d94d"
|
||||
integrity sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/typescript-estree" "8.4.0"
|
||||
"@typescript-eslint/utils" "8.4.0"
|
||||
"@typescript-eslint/typescript-estree" "8.14.0"
|
||||
"@typescript-eslint/utils" "8.14.0"
|
||||
debug "^4.3.4"
|
||||
ts-api-utils "^1.3.0"
|
||||
|
||||
"@typescript-eslint/types@8.4.0":
|
||||
version "8.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.4.0.tgz#b44d6a90a317a6d97a3e5fabda5196089eec6171"
|
||||
integrity sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw==
|
||||
"@typescript-eslint/types@8.14.0":
|
||||
version "8.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.14.0.tgz#0d33d8d0b08479c424e7d654855fddf2c71e4021"
|
||||
integrity sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==
|
||||
|
||||
"@typescript-eslint/typescript-estree@8.4.0":
|
||||
version "8.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.4.0.tgz#00ed79ae049e124db37315cde1531a900a048482"
|
||||
integrity sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A==
|
||||
"@typescript-eslint/typescript-estree@8.14.0":
|
||||
version "8.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.14.0.tgz#a7a3a5a53a6c09313e12fb4531d4ff582ee3c312"
|
||||
integrity sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "8.4.0"
|
||||
"@typescript-eslint/visitor-keys" "8.4.0"
|
||||
"@typescript-eslint/types" "8.14.0"
|
||||
"@typescript-eslint/visitor-keys" "8.14.0"
|
||||
debug "^4.3.4"
|
||||
fast-glob "^3.3.2"
|
||||
is-glob "^4.0.3"
|
||||
@@ -449,22 +447,22 @@
|
||||
semver "^7.6.0"
|
||||
ts-api-utils "^1.3.0"
|
||||
|
||||
"@typescript-eslint/utils@8.4.0":
|
||||
version "8.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.4.0.tgz#35c552a404858c853a1f62ba6df2214f1988afc3"
|
||||
integrity sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ==
|
||||
"@typescript-eslint/utils@8.14.0":
|
||||
version "8.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.14.0.tgz#ac2506875e03aba24e602364e43b2dfa45529dbd"
|
||||
integrity sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.4.0"
|
||||
"@typescript-eslint/scope-manager" "8.4.0"
|
||||
"@typescript-eslint/types" "8.4.0"
|
||||
"@typescript-eslint/typescript-estree" "8.4.0"
|
||||
"@typescript-eslint/scope-manager" "8.14.0"
|
||||
"@typescript-eslint/types" "8.14.0"
|
||||
"@typescript-eslint/typescript-estree" "8.14.0"
|
||||
|
||||
"@typescript-eslint/visitor-keys@8.4.0":
|
||||
version "8.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.4.0.tgz#1e8a8b8fd3647db1e42361fdd8de3e1679dec9d2"
|
||||
integrity sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A==
|
||||
"@typescript-eslint/visitor-keys@8.14.0":
|
||||
version "8.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.14.0.tgz#2418d5a54669af9658986ade4e6cfb7767d815ad"
|
||||
integrity sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "8.4.0"
|
||||
"@typescript-eslint/types" "8.14.0"
|
||||
eslint-visitor-keys "^3.4.3"
|
||||
|
||||
"@xmldom/xmldom@^0.8.8":
|
||||
@@ -494,6 +492,13 @@ agent-base@6, agent-base@^6.0.2:
|
||||
dependencies:
|
||||
debug "4"
|
||||
|
||||
agent-base@^7.0.2, agent-base@^7.1.0:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317"
|
||||
integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==
|
||||
dependencies:
|
||||
debug "^4.3.4"
|
||||
|
||||
agentkeepalive@^4.2.1:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923"
|
||||
@@ -566,40 +571,43 @@ anymatch@~3.1.2:
|
||||
normalize-path "^3.0.0"
|
||||
picomatch "^2.0.4"
|
||||
|
||||
app-builder-bin@5.0.0-alpha.7:
|
||||
version "5.0.0-alpha.7"
|
||||
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-5.0.0-alpha.7.tgz#8c835ad083b18fb5d434bc4e4d99cca1fb46c19f"
|
||||
integrity sha512-ww2mK4ITUvqisnqOuUWAeHzokpPidyZ7a0ZkwW+V7sF5/Pdi2OldkRjAWqEzn6Xtmj3SLVT84as4wB59A6jJ4g==
|
||||
app-builder-bin@5.0.0-alpha.10:
|
||||
version "5.0.0-alpha.10"
|
||||
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-5.0.0-alpha.10.tgz#cf12e593b6b847fb9d04027fa755c6c6610d778b"
|
||||
integrity sha512-Ev4jj3D7Bo+O0GPD2NMvJl+PGiBAfS7pUGawntBNpCbxtpncfUixqFj9z9Jme7V7s3LBGqsWZZP54fxBX3JKJw==
|
||||
|
||||
app-builder-lib@25.0.5:
|
||||
version "25.0.5"
|
||||
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-25.0.5.tgz#4886ee77030576cbd36fab92633347d3cc554f87"
|
||||
integrity sha512-rxgxMx1f7I4ZAP0jA5+5iB7X6x6MJvGF7GauRzQBnIVihwXX2HOiAE7yenyY9Ry5YAiH47MnCxdq413Wq6XOcQ==
|
||||
app-builder-lib@25.1.8:
|
||||
version "25.1.8"
|
||||
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-25.1.8.tgz#ae376039c5f269c7d562af494a087e5bc6310f1b"
|
||||
integrity sha512-pCqe7dfsQFBABC1jeKZXQWhGcCPF3rPCXDdfqVKjIeWBcXzyC1iOWZdfFhGl+S9MyE/k//DFmC6FzuGAUudNDg==
|
||||
dependencies:
|
||||
"@develar/schema-utils" "~2.6.5"
|
||||
"@electron/notarize" "2.3.2"
|
||||
"@electron/notarize" "2.5.0"
|
||||
"@electron/osx-sign" "1.3.1"
|
||||
"@electron/rebuild" "3.6.0"
|
||||
"@electron/rebuild" "3.6.1"
|
||||
"@electron/universal" "2.0.1"
|
||||
"@malept/flatpak-bundler" "^0.4.0"
|
||||
"@types/fs-extra" "9.0.13"
|
||||
async-exit-hook "^2.0.1"
|
||||
bluebird-lst "^1.0.9"
|
||||
builder-util "25.0.3"
|
||||
builder-util-runtime "9.2.5"
|
||||
builder-util "25.1.7"
|
||||
builder-util-runtime "9.2.10"
|
||||
chromium-pickle-js "^0.2.0"
|
||||
config-file-ts "0.2.8-rc1"
|
||||
debug "^4.3.4"
|
||||
dotenv "^16.4.5"
|
||||
dotenv-expand "^11.0.6"
|
||||
ejs "^3.1.8"
|
||||
electron-publish "25.0.3"
|
||||
electron-publish "25.1.7"
|
||||
form-data "^4.0.0"
|
||||
fs-extra "^10.1.0"
|
||||
hosted-git-info "^4.1.0"
|
||||
is-ci "^3.0.0"
|
||||
isbinaryfile "^5.0.0"
|
||||
js-yaml "^4.1.0"
|
||||
json5 "^2.2.3"
|
||||
lazy-val "^1.0.5"
|
||||
minimatch "^10.0.0"
|
||||
read-config-file "6.4.0"
|
||||
resedit "^1.7.0"
|
||||
sanitize-filename "^1.6.3"
|
||||
semver "^7.3.8"
|
||||
@@ -756,30 +764,30 @@ buffer@^5.1.0, buffer@^5.5.0:
|
||||
base64-js "^1.3.1"
|
||||
ieee754 "^1.1.13"
|
||||
|
||||
builder-util-runtime@9.2.5:
|
||||
version "9.2.5"
|
||||
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.5.tgz#0afdffa0adb5c84c14926c7dd2cf3c6e96e9be83"
|
||||
integrity sha512-HjIDfhvqx/8B3TDN4GbABQcgpewTU4LMRTQPkVpKYV3lsuxEJoIfvg09GyWTNmfVNSUAYf+fbTN//JX4TH20pg==
|
||||
builder-util-runtime@9.2.10:
|
||||
version "9.2.10"
|
||||
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.10.tgz#a0f7d9e214158402e78b74a745c8d9f870c604bc"
|
||||
integrity sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw==
|
||||
dependencies:
|
||||
debug "^4.3.4"
|
||||
sax "^1.2.4"
|
||||
|
||||
builder-util@25.0.3:
|
||||
version "25.0.3"
|
||||
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-25.0.3.tgz#bd00d8e8abbe6ea56974a2adbbc39578eab0134b"
|
||||
integrity sha512-eH5c1ukdY2xjtFQWQ6jlzEuXuqcuAVc3UQ6V6fdYu9Kg3CkDbCR82Mox42uaJDmee9WXSbP/88cOworFdOHPhw==
|
||||
builder-util@25.1.7:
|
||||
version "25.1.7"
|
||||
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-25.1.7.tgz#a07b404f0cb1a635aa165902be65297d58932ff8"
|
||||
integrity sha512-7jPjzBwEGRbwNcep0gGNpLXG9P94VA3CPAZQCzxkFXiV2GMQKlziMbY//rXPI7WKfhsvGgFXjTcXdBEwgXw9ww==
|
||||
dependencies:
|
||||
"7zip-bin" "~5.2.0"
|
||||
"@types/debug" "^4.1.6"
|
||||
app-builder-bin "5.0.0-alpha.7"
|
||||
app-builder-bin "5.0.0-alpha.10"
|
||||
bluebird-lst "^1.0.9"
|
||||
builder-util-runtime "9.2.5"
|
||||
builder-util-runtime "9.2.10"
|
||||
chalk "^4.1.2"
|
||||
cross-spawn "^7.0.3"
|
||||
debug "^4.3.4"
|
||||
fs-extra "^10.1.0"
|
||||
http-proxy-agent "^5.0.0"
|
||||
https-proxy-agent "^5.0.1"
|
||||
http-proxy-agent "^7.0.0"
|
||||
https-proxy-agent "^7.0.0"
|
||||
is-ci "^3.0.0"
|
||||
js-yaml "^4.1.0"
|
||||
source-map-support "^0.5.19"
|
||||
@@ -956,10 +964,10 @@ combined-stream@^1.0.8:
|
||||
dependencies:
|
||||
delayed-stream "~1.0.0"
|
||||
|
||||
comlink@^4.4.1:
|
||||
version "4.4.1"
|
||||
resolved "https://registry.yarnpkg.com/comlink/-/comlink-4.4.1.tgz#e568b8e86410b809e8600eb2cf40c189371ef981"
|
||||
integrity sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q==
|
||||
comlink@^4.4.2:
|
||||
version "4.4.2"
|
||||
resolved "https://registry.yarnpkg.com/comlink/-/comlink-4.4.2.tgz#cbbcd82742fbebc06489c28a183eedc5c60a2bca"
|
||||
integrity sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==
|
||||
|
||||
commander@^5.0.0:
|
||||
version "5.1.0"
|
||||
@@ -991,17 +999,15 @@ concat-stream@^2.0.0:
|
||||
readable-stream "^3.0.2"
|
||||
typedarray "^0.0.6"
|
||||
|
||||
concurrently@^8.2.2:
|
||||
version "8.2.2"
|
||||
resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-8.2.2.tgz#353141985c198cfa5e4a3ef90082c336b5851784"
|
||||
integrity sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==
|
||||
concurrently@^9.1.0:
|
||||
version "9.1.0"
|
||||
resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-9.1.0.tgz#8da6d609f4321752912dab9be8710232ac496aa0"
|
||||
integrity sha512-VxkzwMAn4LP7WyMnJNbHN5mKV9L2IbyDjpzemKr99sXNR3GqRNMMHdm7prV1ws9wg7ETj6WUkNOigZVsptwbgg==
|
||||
dependencies:
|
||||
chalk "^4.1.2"
|
||||
date-fns "^2.30.0"
|
||||
lodash "^4.17.21"
|
||||
rxjs "^7.8.1"
|
||||
shell-quote "^1.8.1"
|
||||
spawn-command "0.0.2"
|
||||
supports-color "^8.1.1"
|
||||
tree-kill "^1.2.2"
|
||||
yargs "^17.7.2"
|
||||
@@ -1063,13 +1069,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
||||
shebang-command "^2.0.0"
|
||||
which "^2.0.1"
|
||||
|
||||
date-fns@^2.30.0:
|
||||
version "2.30.0"
|
||||
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0"
|
||||
integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.21.0"
|
||||
|
||||
debounce-fn@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7"
|
||||
@@ -1171,14 +1170,14 @@ dir-glob@^3.0.1:
|
||||
dependencies:
|
||||
path-type "^4.0.0"
|
||||
|
||||
dmg-builder@25.0.5:
|
||||
version "25.0.5"
|
||||
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-25.0.5.tgz#e7e2731b65cf1ed43c14f2ca672e7d9a2e0234f0"
|
||||
integrity sha512-ocnZV44ZqInoSFaY54fF7BlCtw+WtbrjyPrkBhaB+Ztn7GPKjmFgRbIKytifJ8h9Cib8jdFRMgjCUtkU45Y6DA==
|
||||
dmg-builder@25.1.8:
|
||||
version "25.1.8"
|
||||
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-25.1.8.tgz#41f3b725edd896156e891016a44129e1bd580430"
|
||||
integrity sha512-NoXo6Liy2heSklTI5OIZbCgXC1RzrDQsZkeEwXhdOro3FT1VBOvbubvscdPnjVuQ4AMwwv61oaH96AbiYg9EnQ==
|
||||
dependencies:
|
||||
app-builder-lib "25.0.5"
|
||||
builder-util "25.0.3"
|
||||
builder-util-runtime "9.2.5"
|
||||
app-builder-lib "25.1.8"
|
||||
builder-util "25.1.7"
|
||||
builder-util-runtime "9.2.10"
|
||||
fs-extra "^10.1.0"
|
||||
iconv-lite "^0.6.2"
|
||||
js-yaml "^4.1.0"
|
||||
@@ -1225,36 +1224,35 @@ ejs@^3.1.8:
|
||||
dependencies:
|
||||
jake "^10.8.5"
|
||||
|
||||
electron-builder@^25.0.5:
|
||||
version "25.0.5"
|
||||
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-25.0.5.tgz#fed2432016618fd5ff81dc9dad7ec47889ffe0f1"
|
||||
integrity sha512-Uj5LFRbUqNiVajsgqcwlKe+CHtwubK3hcoJsW5C2YiWodej2mmxM+LrTqga0rrWWHVMNmrcmGcS/WHpKwy6KEw==
|
||||
electron-builder@^25.1.8:
|
||||
version "25.1.8"
|
||||
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-25.1.8.tgz#b0e310f1600787610bb84c3f39bc7aadb2548486"
|
||||
integrity sha512-poRgAtUHHOnlzZnc9PK4nzG53xh74wj2Jy7jkTrqZ0MWPoHGh1M2+C//hGeYdA+4K8w4yiVCNYoLXF7ySj2Wig==
|
||||
dependencies:
|
||||
app-builder-lib "25.0.5"
|
||||
builder-util "25.0.3"
|
||||
builder-util-runtime "9.2.5"
|
||||
app-builder-lib "25.1.8"
|
||||
builder-util "25.1.7"
|
||||
builder-util-runtime "9.2.10"
|
||||
chalk "^4.1.2"
|
||||
dmg-builder "25.0.5"
|
||||
dmg-builder "25.1.8"
|
||||
fs-extra "^10.1.0"
|
||||
is-ci "^3.0.0"
|
||||
lazy-val "^1.0.5"
|
||||
read-config-file "6.4.0"
|
||||
simple-update-notifier "2.0.0"
|
||||
yargs "^17.6.2"
|
||||
|
||||
electron-log@^5.1.7:
|
||||
version "5.1.7"
|
||||
resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-5.1.7.tgz#73c7ddc1602b3a9ee355bc09d1dc490864add0eb"
|
||||
integrity sha512-/PjrS9zGkrZCDTHt6IgNE3FeciBbi4wd7U76NG9jAoNXF99E9IJdvBkqvaUJ1NjLojYDKs0kTvn9YhKy1/Zi+Q==
|
||||
electron-log@^5.2.2:
|
||||
version "5.2.2"
|
||||
resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-5.2.2.tgz#cdb0a6dc48178a7cbacb434a268ab097ad5198dc"
|
||||
integrity sha512-fgvx6srjIHDowJD8WAAjoAXmiTyOz6JnGQoxOtk1mXw7o4S+HutuPHLCsk24xTXqWZgy4uO63NbedG+oEvldLw==
|
||||
|
||||
electron-publish@25.0.3:
|
||||
version "25.0.3"
|
||||
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-25.0.3.tgz#63509992a5ae31bb2b0d8863b26a2f7c35e303cc"
|
||||
integrity sha512-wSGm+TFK2lArswIFBPLuIRHbo945s3MCvG5y1xVC57zL/PsrElUkaGH2ERtRrcKNpaDNq77rDA9JnMJhAFJjUg==
|
||||
electron-publish@25.1.7:
|
||||
version "25.1.7"
|
||||
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-25.1.7.tgz#14e50c2a3fafdc1c454eadbbc47ead89a48bb554"
|
||||
integrity sha512-+jbTkR9m39eDBMP4gfbqglDd6UvBC7RLh5Y0MhFSsc6UkGHj9Vj9TWobxevHYMMqmoujL11ZLjfPpMX+Pt6YEg==
|
||||
dependencies:
|
||||
"@types/fs-extra" "^9.0.11"
|
||||
builder-util "25.0.3"
|
||||
builder-util-runtime "9.2.5"
|
||||
builder-util "25.1.7"
|
||||
builder-util-runtime "9.2.10"
|
||||
chalk "^4.1.2"
|
||||
fs-extra "^10.1.0"
|
||||
lazy-val "^1.0.5"
|
||||
@@ -1268,12 +1266,12 @@ electron-store@^8.2.0:
|
||||
conf "^10.2.0"
|
||||
type-fest "^2.17.0"
|
||||
|
||||
electron-updater@^6.3.4:
|
||||
version "6.3.4"
|
||||
resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-6.3.4.tgz#3934bc89875bb524c2cbbd11041114e97c0c2496"
|
||||
integrity sha512-uZUo7p1Y53G4tl6Cgw07X1yF8Jlz6zhaL7CQJDZ1fVVkOaBfE2cWtx80avwDVi8jHp+I/FWawrMgTAeCCNIfAg==
|
||||
electron-updater@^6.3.9:
|
||||
version "6.3.9"
|
||||
resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-6.3.9.tgz#e1e7f155624c58e6f3760f376c3a584028165ec4"
|
||||
integrity sha512-2PJNONi+iBidkoC5D1nzT9XqsE8Q1X28Fn6xRQhO3YX8qRRyJ3mkV4F1aQsuRnYPqq6Hw+E51y27W75WgDoofw==
|
||||
dependencies:
|
||||
builder-util-runtime "9.2.5"
|
||||
builder-util-runtime "9.2.10"
|
||||
fs-extra "^10.1.0"
|
||||
js-yaml "^4.1.0"
|
||||
lazy-val "^1.0.5"
|
||||
@@ -1282,10 +1280,10 @@ electron-updater@^6.3.4:
|
||||
semver "^7.6.3"
|
||||
tiny-typed-emitter "^2.1.0"
|
||||
|
||||
electron@^30.4.0:
|
||||
version "30.4.0"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-30.4.0.tgz#66641a644059147f0e597e49999599e23dcdbfe3"
|
||||
integrity sha512-ric3KLPQ9anXYjtTDkj5NbEcXZqRUwqxrxTviIjLdMdHqd5O+hkSHEzXgbSJUOt+7uw+zZuybn9+IM9y7iEpqg==
|
||||
electron@^33.2.0:
|
||||
version "33.2.0"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-33.2.0.tgz#2a7098653eaf1a53c7311a01d5636783019f2354"
|
||||
integrity sha512-PVw1ICAQDPsnnsmpNFX/b1i/49h67pbSPxuIENd9K9WpGO1tsRaQt+K2bmXqTuoMJsbzIc75Ce8zqtuwBPqawA==
|
||||
dependencies:
|
||||
"@electron/get" "^2.0.0"
|
||||
"@types/node" "^20.9.0"
|
||||
@@ -1860,6 +1858,14 @@ http-proxy-agent@^5.0.0:
|
||||
agent-base "6"
|
||||
debug "4"
|
||||
|
||||
http-proxy-agent@^7.0.0:
|
||||
version "7.0.2"
|
||||
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e"
|
||||
integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==
|
||||
dependencies:
|
||||
agent-base "^7.1.0"
|
||||
debug "^4.3.4"
|
||||
|
||||
http-response-object@^3.0.1:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/http-response-object/-/http-response-object-3.0.2.tgz#7f435bb210454e4360d074ef1f989d5ea8aa9810"
|
||||
@@ -1875,7 +1881,7 @@ http2-wrapper@^1.0.0-beta.5.2:
|
||||
quick-lru "^5.1.1"
|
||||
resolve-alpn "^1.0.0"
|
||||
|
||||
https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
|
||||
https-proxy-agent@^5.0.0:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
|
||||
integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
|
||||
@@ -1883,6 +1889,14 @@ https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
|
||||
agent-base "6"
|
||||
debug "4"
|
||||
|
||||
https-proxy-agent@^7.0.0:
|
||||
version "7.0.5"
|
||||
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2"
|
||||
integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==
|
||||
dependencies:
|
||||
agent-base "^7.0.2"
|
||||
debug "4"
|
||||
|
||||
humanize-ms@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
|
||||
@@ -2207,10 +2221,10 @@ lru-cache@^10.2.0:
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119"
|
||||
integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==
|
||||
|
||||
lru-cache@^11.0.0:
|
||||
version "11.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.0.0.tgz#15d93a196f189034d7166caf9fe55e7384c98a21"
|
||||
integrity sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==
|
||||
lru-cache@^11.0.2:
|
||||
version "11.0.2"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.0.2.tgz#fbd8e7cf8211f5e7e5d91905c415a3f55755ca39"
|
||||
integrity sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==
|
||||
|
||||
lru-cache@^6.0.0:
|
||||
version "6.0.0"
|
||||
@@ -2537,17 +2551,17 @@ onetime@^5.1.0, onetime@^5.1.2:
|
||||
dependencies:
|
||||
mimic-fn "^2.1.0"
|
||||
|
||||
onnxruntime-common@1.19.2:
|
||||
version "1.19.2"
|
||||
resolved "https://registry.yarnpkg.com/onnxruntime-common/-/onnxruntime-common-1.19.2.tgz#39447d703aef6499f71487cb8970f58752234523"
|
||||
integrity sha512-a4R7wYEVFbZBlp0BfhpbFWqe4opCor3KM+5Wm22Az3NGDcQMiU2hfG/0MfnBs+1ZrlSGmlgWeMcXQkDk1UFb8Q==
|
||||
onnxruntime-common@1.20.0:
|
||||
version "1.20.0"
|
||||
resolved "https://registry.yarnpkg.com/onnxruntime-common/-/onnxruntime-common-1.20.0.tgz#e1774cf76ede788838ff7bd4debc8df6feca91f1"
|
||||
integrity sha512-9ehS4ul5fBszIcHhfxuDgk45lO+Fqrxmrgwk1Pxb1JRvbQiCB/v9Royv95SRCWHktLMviqNjBsEd/biJhd39cg==
|
||||
|
||||
onnxruntime-node@^1.19.2:
|
||||
version "1.19.2"
|
||||
resolved "https://registry.yarnpkg.com/onnxruntime-node/-/onnxruntime-node-1.19.2.tgz#2f2e1c9286c97291030770c085fb403647538ad7"
|
||||
integrity sha512-9eHMP/HKbbeUcqte1JYzaaRC8JPn7ojWeCeoyShO86TOR97OCyIyAIOGX3V95ErjslVhJRXY8Em/caIUc0hm1Q==
|
||||
onnxruntime-node@^1.20.0:
|
||||
version "1.20.0"
|
||||
resolved "https://registry.yarnpkg.com/onnxruntime-node/-/onnxruntime-node-1.20.0.tgz#16dcbe06e7683eee37ccbd3f39ad2beac36c1a24"
|
||||
integrity sha512-mjLge++8WHfyCZ4IqZ1FbUbtFAfGht7BLCkOeBL1L9PFV27YHwluXkNt7m0Pgf6TR2P5pqVZsD3zqFbFP6QTMw==
|
||||
dependencies:
|
||||
onnxruntime-common "1.19.2"
|
||||
onnxruntime-common "1.20.0"
|
||||
tar "^7.0.1"
|
||||
|
||||
optionator@^0.9.3:
|
||||
@@ -2713,18 +2727,18 @@ prelude-ls@^1.2.1:
|
||||
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
|
||||
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
|
||||
|
||||
prettier-plugin-organize-imports@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-4.0.0.tgz#a69acf024ea3c8eb650c81f664693826ca853534"
|
||||
integrity sha512-vnKSdgv9aOlqKeEFGhf9SCBsTyzDSyScy1k7E0R1Uo4L0cTcOV7c1XQaT7jfXIOc/p08WLBfN2QUQA9zDSZMxA==
|
||||
prettier-plugin-organize-imports@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-4.1.0.tgz#f3d3764046a8e7ba6491431158b9be6ffd83b90f"
|
||||
integrity sha512-5aWRdCgv645xaa58X8lOxzZoiHAldAPChljr/MT0crXVOWTZ+Svl4hIWlz+niYSlO6ikE5UXkN1JrRvIP2ut0A==
|
||||
|
||||
prettier-plugin-packagejson@^2.5.2:
|
||||
version "2.5.2"
|
||||
resolved "https://registry.yarnpkg.com/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.5.2.tgz#25e8531e15b04e1f68ee7ee4a4b111bd5bea6fcc"
|
||||
integrity sha512-w+TmoLv2pIa+siplW1cCj2ujEXQQS6z7wmWLOiLQK/2QVl7Wy6xh/ZUpqQw8tbKMXDodmSW4GONxlA33xpdNOg==
|
||||
prettier-plugin-packagejson@^2.5.3:
|
||||
version "2.5.3"
|
||||
resolved "https://registry.yarnpkg.com/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.5.3.tgz#a3f9eb02ece197db6b7696be5df43ddc2397ad81"
|
||||
integrity sha512-ATMEEXr+ywls1kgrZEWl4SBPEm0uDdyDAjyNzUC0/Z8WZTD3RqbJcQDR+Dau+wYkW9KHK6zqQIsFyfn+9aduWg==
|
||||
dependencies:
|
||||
sort-package-json "2.10.1"
|
||||
synckit "0.9.1"
|
||||
synckit "0.9.2"
|
||||
|
||||
prettier@^3.3.3:
|
||||
version "3.3.3"
|
||||
@@ -2779,18 +2793,6 @@ read-binary-file-arch@^1.0.6:
|
||||
dependencies:
|
||||
debug "^4.3.4"
|
||||
|
||||
read-config-file@6.4.0:
|
||||
version "6.4.0"
|
||||
resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.4.0.tgz#970542833216cccff6b1d83320495003dcf85a45"
|
||||
integrity sha512-uB5QOBeF84PT61GlV11OTV4jUGHAO3iDEOP6v9ygxhG6Bs9PLg7WsjNT6mtIX2G+x8lJTr4ZWNeG6LDTKkNf2Q==
|
||||
dependencies:
|
||||
config-file-ts "0.2.8-rc1"
|
||||
dotenv "^16.4.5"
|
||||
dotenv-expand "^11.0.6"
|
||||
js-yaml "^4.1.0"
|
||||
json5 "^2.2.3"
|
||||
lazy-val "^1.0.5"
|
||||
|
||||
readable-stream@^3.0.2, readable-stream@^3.4.0, readable-stream@^3.6.0:
|
||||
version "3.6.2"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
|
||||
@@ -2814,11 +2816,6 @@ rechoir@^0.6.2:
|
||||
dependencies:
|
||||
resolve "^1.1.6"
|
||||
|
||||
regenerator-runtime@^0.14.0:
|
||||
version "0.14.1"
|
||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
|
||||
integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
|
||||
|
||||
require-directory@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
||||
@@ -3088,11 +3085,6 @@ source-map@^0.6.0:
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
|
||||
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
|
||||
|
||||
spawn-command@0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2.tgz#9544e1a43ca045f8531aac1a48cb29bdae62338e"
|
||||
integrity sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==
|
||||
|
||||
sprintf-js@^1.1.2, sprintf-js@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a"
|
||||
@@ -3164,10 +3156,10 @@ supports-preserve-symlinks-flag@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
|
||||
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
|
||||
|
||||
synckit@0.9.1:
|
||||
version "0.9.1"
|
||||
resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.1.tgz#febbfbb6649979450131f64735aa3f6c14575c88"
|
||||
integrity sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==
|
||||
synckit@0.9.2:
|
||||
version "0.9.2"
|
||||
resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.2.tgz#a3a935eca7922d48b9e7d6c61822ee6c3ae4ec62"
|
||||
integrity sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==
|
||||
dependencies:
|
||||
"@pkgr/core" "^0.1.0"
|
||||
tslib "^2.6.2"
|
||||
@@ -3277,20 +3269,25 @@ typedarray@^0.0.6:
|
||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
|
||||
|
||||
typescript-eslint@^8.4.0:
|
||||
version "8.4.0"
|
||||
resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.4.0.tgz#3fa38bd279994cdb40ba9264ef5262a17cf4cfa0"
|
||||
integrity sha512-67qoc3zQZe3CAkO0ua17+7aCLI0dU+sSQd1eKPGq06QE4rfQjstVXR6woHO5qQvGUa550NfGckT4tzh3b3c8Pw==
|
||||
typescript-eslint@^8.14.0:
|
||||
version "8.14.0"
|
||||
resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.14.0.tgz#2435c0628e90303544fdd63ae311e9bf6d149a5d"
|
||||
integrity sha512-K8fBJHxVL3kxMmwByvz8hNdBJ8a0YqKzKDX6jRlrjMuNXyd5T2V02HIq37+OiWXvUUOXgOOGiSSOh26Mh8pC3w==
|
||||
dependencies:
|
||||
"@typescript-eslint/eslint-plugin" "8.4.0"
|
||||
"@typescript-eslint/parser" "8.4.0"
|
||||
"@typescript-eslint/utils" "8.4.0"
|
||||
"@typescript-eslint/eslint-plugin" "8.14.0"
|
||||
"@typescript-eslint/parser" "8.14.0"
|
||||
"@typescript-eslint/utils" "8.14.0"
|
||||
|
||||
typescript@^5.4.3, typescript@^5.5.4:
|
||||
typescript@^5.4.3:
|
||||
version "5.5.4"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba"
|
||||
integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==
|
||||
|
||||
typescript@^5.6.3:
|
||||
version "5.6.3"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b"
|
||||
integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==
|
||||
|
||||
undici-types@~6.19.2:
|
||||
version "6.19.8"
|
||||
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02"
|
||||
|
||||
@@ -227,10 +227,11 @@ export const sidebar = [
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: "Getting started", link: "/self-hosting/" },
|
||||
{ text: "System requirements", link: "/self-hosting/guides/system-requirements", },
|
||||
{
|
||||
text: "Guides",
|
||||
items: [
|
||||
{ text: "Introduction", link: "/self-hosting/guides/" },
|
||||
{ text: "Introduction", link: "/self-hosting/guides/" },
|
||||
{
|
||||
text: "Connect to custom server",
|
||||
link: "/self-hosting/guides/custom-server/",
|
||||
@@ -248,10 +249,6 @@ export const sidebar = [
|
||||
text: "Mobile build",
|
||||
link: "/self-hosting/guides/mobile-build",
|
||||
},
|
||||
{
|
||||
text: "System requirements",
|
||||
link: "/self-hosting/guides/system-requirements",
|
||||
},
|
||||
{
|
||||
text: "Configuring S3",
|
||||
link: "/self-hosting/guides/configuring-s3",
|
||||
@@ -264,6 +261,10 @@ export const sidebar = [
|
||||
text: "DB migration",
|
||||
link: "/self-hosting/guides/db-migration",
|
||||
},
|
||||
{
|
||||
text: "Hosting Ente without Docker",
|
||||
link: "/self-hosting/guides/standalone-ente",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -295,6 +296,10 @@ export const sidebar = [
|
||||
text: "Yarn",
|
||||
link: "/self-hosting/troubleshooting/yarn",
|
||||
},
|
||||
{
|
||||
text: "Ente CLI Secrets",
|
||||
link: "/self-hosting/troubleshooting/keyring",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
@@ -25,6 +25,11 @@ at [ente.io](https://ente.io).
|
||||
|
||||
You can enable FaceID lock under Settings → Security → Lockscreen.
|
||||
|
||||
### How secure is the lock screen provided by Ente Auth?
|
||||
|
||||
Auth's lock screen acts as a barrier to prevent an attacker from accessing the
|
||||
contents of the app. It does not introduce a layer of cryptographic security.
|
||||
|
||||
### Why do the desktop and mobile apps display different codes?
|
||||
|
||||
Please verify that the time on both your mobile and desktop is the same.
|
||||
|
||||
@@ -24,8 +24,10 @@ De-merging a certain grouping can be done by going to the person, pressing
|
||||
|
||||
### Desktop
|
||||
|
||||
Note that while desktop supports naming a person, it currently does not yet
|
||||
support merging persons. This will be added soon.
|
||||
Similarly, on desktop you can use the "Add a name" button to merge people by
|
||||
selecting an existing person, and use the "Review suggestions" sheet to de-merge
|
||||
previously merged persons (click the top right history icon on the suggestion
|
||||
sheet to see the previous merges, and if necessary, undo them).
|
||||
|
||||
## How do I change the cover for a recognized person?
|
||||
|
||||
@@ -56,7 +58,10 @@ person**. This will take you to the grouping of this person. Here you can press
|
||||
|
||||
### Desktop
|
||||
|
||||
This is currently not yet supported on desktop, but will be added soon.
|
||||
Similarly, on desktop, you use the "Ignore" option from the top right menu to
|
||||
ignore a particular face group (If you already give them a name, "Reset person"
|
||||
first). And to undo this action, open that person (via the file info of a photo
|
||||
containing that person), and select "Show person".
|
||||
|
||||
## How well does the app handle photos of babies?
|
||||
|
||||
@@ -70,4 +75,4 @@ If you find a mixed grouping of several different babies, you can use the
|
||||
option will make the model re-evaluate the grouping with stricter settings,
|
||||
hopefully separating the different babies in different new groupings.
|
||||
|
||||
Please note this functionality is currently only available on mobile.
|
||||
Please note this functionality is currently only available on mobile.
|
||||
|
||||
@@ -64,12 +64,14 @@ videos that you imported. The modifications (e.g. date changes) you make within
|
||||
Ente will be written into a separate metadata JSON file during export so as to
|
||||
not modify the original.
|
||||
|
||||
> There is one exception to this. For JPEG files, the Exif DateTimeOriginal is
|
||||
> changed during export from web or desktop apps. This was done on a customer
|
||||
> request, but in hindsight this has been an incorrect move. We are going to
|
||||
> deprecate this behavior, and will instead provide separate tools (or
|
||||
> functionality within the app itself) for customers who intentionally wish to
|
||||
> modify their originals to reflect the associated metadata JSON.
|
||||
> [!WARNING]
|
||||
>
|
||||
> There used to be one exception to this - for JPEG files, the Exif
|
||||
> DateTimeOriginal was changed during export from web or desktop apps. This was
|
||||
> done on a customer request, but in hindsight this was an incorrect change.
|
||||
>
|
||||
> We have deprecated this behaviour, and the desktop version 1.7.6 is going to
|
||||
> be the last version with this exception.
|
||||
|
||||
As an example: suppose you have `flower.png`. When you export your library, you
|
||||
will end up with:
|
||||
@@ -81,13 +83,36 @@ metadata/flower.png.json
|
||||
|
||||
Ente writes this JSON in the same format as Google Takeout so that if a tool
|
||||
supports Google Takeout import, it should be able to read the JSON written by
|
||||
Ente too
|
||||
Ente too.
|
||||
|
||||
> One small difference is that, to avoid clutter, Ente puts the JSON in the
|
||||
> `metadata/` subfolder, while Google puts it next to the file.<br>
|
||||
>
|
||||
> <br>Ente itself will read it from either place.
|
||||
|
||||
Here is a sample of how the JSON would look:
|
||||
|
||||
```json
|
||||
{
|
||||
"description": "This will be imported as the caption",
|
||||
"creationTime": {
|
||||
"timestamp": "1613532136",
|
||||
"formatted": "17 Feb 2021, 03:22:16 UTC"
|
||||
},
|
||||
"modificationTime": {
|
||||
"timestamp": "1640225957",
|
||||
"formatted": "23 Dec 2021, 02:19:17 UTC"
|
||||
},
|
||||
"geoData": {
|
||||
"latitude": 12.004170700000001,
|
||||
"longitude": 79.8013945
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`photoTakenTime` will be considered as an alias for `creationTime`, and
|
||||
`geoDataExif` will be considered as a fallback for `geoData`.
|
||||
|
||||
### File creation time.
|
||||
|
||||
The photo's data will be preserved verbatim, however when it is written out to
|
||||
|
||||
@@ -48,6 +48,10 @@ albums**.
|
||||
result in the creation of a new album – empty folders (or folders that only
|
||||
contain other folders) will be ignored.
|
||||
|
||||
- In separate album mode, only the leafmost folder name is considered. For
|
||||
example, both `A/B/C/D/x.png` and `1/2/3/D/y.png` will get uploaded into the
|
||||
same Ente album named "D".
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> Ente albums cannot be nested currently. That is, in the **separate album**
|
||||
|
||||
@@ -40,8 +40,8 @@ explicit whitelist of admins.
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> The first user is only treated as the admin if there are the list of admins in
|
||||
> the configuration is empty.
|
||||
> The first user is only treated as the admin if the list of admins in the
|
||||
> configuration is empty.
|
||||
>
|
||||
> Also, if at some point you delete the first user, then you will need to define
|
||||
> a whitelist to make some other user as the admin if you wish (since the first
|
||||
|
||||
104
docs/docs/self-hosting/guides/standalone-ente.md
Normal file
@@ -0,0 +1,104 @@
|
||||
---
|
||||
title: Installing Ente Standalone (without Docker)
|
||||
description: Installing and setting up Ente standalone without docker.
|
||||
---
|
||||
|
||||
# Installing and Deploying Ente Standalone (without Docker)
|
||||
|
||||
## Running Museum (Ente's server) without Docker
|
||||
|
||||
First, start by installing all the dependencies to get your machine ready for development.
|
||||
|
||||
```sh
|
||||
# For MacOS
|
||||
brew tap homebrew/core
|
||||
brew update
|
||||
brew install go
|
||||
|
||||
# For Ubuntu based distros
|
||||
sudo apt update && sudo apt upgrade
|
||||
sudo apt install golang-go
|
||||
```
|
||||
|
||||
Alternatively, you can also download the latest binaries from ['All Release'](https://go.dev/dl/) page from the official website.
|
||||
|
||||
```sh
|
||||
brew install postgres@15
|
||||
# Link the postgres keg
|
||||
brew link postgresql@15
|
||||
|
||||
brew install libsodium
|
||||
|
||||
# For Ubuntu based distros
|
||||
sudo apt install postgresql
|
||||
sudo apt install libsodium23 libsodium-dev
|
||||
```
|
||||
|
||||
The package `libsodium23` might be installed already in some cases.
|
||||
|
||||
Installing pkg-config
|
||||
|
||||
```sh
|
||||
brew install pkg-config
|
||||
|
||||
# For Ubuntu based distros
|
||||
sudo apt install pkg-config
|
||||
```
|
||||
|
||||
## Starting Postgres
|
||||
|
||||
### With pg_ctl
|
||||
|
||||
```sh
|
||||
pg_ctl -D /usr/local/var/postgres -l logfile start
|
||||
```
|
||||
|
||||
Dependeing on the Operating System type the path for postgres binary or configuration file might be different, please check if the command keeps failing for you.
|
||||
|
||||
Ideally, if you are on a Linux system with systemd as the init. You can also start postgres as a systemd service. After Installation execute the following commands:
|
||||
|
||||
```sh
|
||||
sudo systemctl enable postgresql
|
||||
sudo systemctl daemon-reload && sudo systemctl start postgresql
|
||||
```
|
||||
|
||||
### Create user
|
||||
|
||||
```sh
|
||||
createuser -s postgres
|
||||
```
|
||||
|
||||
## Start Museum
|
||||
|
||||
Start by cloning ente to your system.
|
||||
|
||||
```sh
|
||||
git clone https://github.com/ente-io/ente
|
||||
```
|
||||
|
||||
```sh
|
||||
export ENTE_DB_USER=postgres
|
||||
cd ente/server
|
||||
go run cmd/museum/main.go
|
||||
```
|
||||
|
||||
You can also add the export line to your shell's RC file, to avoid exporting the environment variable every time.
|
||||
|
||||
For live reloads, install [air](https://github.com/air-verse/air#installation). Then you can just call air after declaring the required environment variables. For example,
|
||||
|
||||
```sh
|
||||
ENTE_DB_USER=postgres
|
||||
air
|
||||
```
|
||||
|
||||
## Museum as a background service
|
||||
|
||||
Please check the below links if you want to run Museum as a service, both of them are battle tested.
|
||||
|
||||
1. [How to run museum as a systemd service](https://gist.github.com/mngshm/a0edb097c91d1dc45aeed755af310323)
|
||||
2. [Museum.service](https://github.com/ente-io/ente/blob/23e678889189157ecc389c258267685934b83631/server/scripts/deploy/museum.service#L4)
|
||||
|
||||
Once you are done with setting and running Museum, all you are left to do is run the web app and reverse_proxy it with a webserver. You can check the following resources for Deploying your web app.
|
||||
|
||||
1. [Hosting the Web App](https://help.ente.io/self-hosting/guides/web-app).
|
||||
2. [Running Ente Web app as a systemd Service](https://gist.github.com/mngshm/72e32bd483c2129621ed0d74412492fd)
|
||||
35
docs/docs/self-hosting/troubleshooting/keyring.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: Ente CLI Secrets
|
||||
description: A quick hotfix for keyring errors while running Ente CLI.
|
||||
---
|
||||
|
||||
# Ente CLI Secrets
|
||||
|
||||
Ente CLI makes use of keyring for storing sensitive information
|
||||
like your passwords. And running the cli straight out of the
|
||||
box might give you some errors related to keyrings in some case.
|
||||
|
||||
Follow the below steps to run Ente CLI and also avoid keyrings errors.
|
||||
|
||||
Run:
|
||||
|
||||
```sh
|
||||
# export the secrets path
|
||||
|
||||
export ENTE_CLI_SECRETS_PATH=./<path-to-secrets.txt>
|
||||
|
||||
./ente-cli
|
||||
```
|
||||
You can also add the above line to your shell's rc file, to prevent the need to export manually every time.
|
||||
|
||||
Then one of the following:
|
||||
|
||||
1. If the file doesn't exist, Ente CLI will create it and fill it with a random 32 character encryption key.
|
||||
2. If you do create the file, please fill it with a cryptographically generated 32 byte string.
|
||||
|
||||
And you are good to go.
|
||||
|
||||
## Ref
|
||||
|
||||
- [Ente CLI Secrets Path](https://www.reddit.com/r/selfhosted/comments/1gc09il/comment/lu2hox2/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button)
|
||||
- [Keyrings](https://man7.org/linux/man-pages/man7/keyrings.7.html)
|
||||
32
infra/docs/remote-desktop.md
Normal file
@@ -0,0 +1,32 @@
|
||||
## Setting up a remote desktop
|
||||
|
||||
This is handy, e.g., when creating test environments with large disks, where we
|
||||
still need a graphical session to run the desktop app.
|
||||
|
||||
Create a normal Ubuntu instance (tweak the exact commands if using a different
|
||||
distro).
|
||||
|
||||
Install
|
||||
|
||||
- **Xfce4** - The desktop environment
|
||||
- **xorg** - An X server
|
||||
- **xrdp** - A remote desktop protocol (RDP) server.
|
||||
|
||||
```sh
|
||||
sudo apt install xfce4 xorg xrdp
|
||||
```
|
||||
|
||||
Configure xrdp to use Xfce
|
||||
|
||||
```sh
|
||||
echo xfce4-session > ~/.xsession
|
||||
```
|
||||
|
||||
Start the xrdp service, and also enable it so that it starts on boot
|
||||
|
||||
```sh
|
||||
sudo systemctl enable xrdp
|
||||
sudo systemctl start xrdp
|
||||
```
|
||||
|
||||
On macOS, install a RDP client, e.g. [Microsoft Remote Desktop](https://apps.apple.com/us/app/microsoft-remote-desktop/id1295203466).
|
||||
@@ -119,10 +119,14 @@ const App: React.FC = () => {
|
||||
const startTime = Date.now();
|
||||
try {
|
||||
const encodedEmail = encodeURIComponent(email);
|
||||
const encodedToken = encodeURIComponent(token);
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
console.log(`Fetching data from URL: ${url}`);
|
||||
const response = await fetch(url);
|
||||
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}`;
|
||||
const response = await fetch(url, {
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-AUTH-TOKEN": token,
|
||||
},
|
||||
});
|
||||
if (!response.ok) {
|
||||
throw new Error("Network response was not ok");
|
||||
}
|
||||
|
||||
@@ -31,20 +31,18 @@ const ChangeEmail: React.FC<ChangeEmailProps> = ({ open, onClose }) => {
|
||||
|
||||
useEffect(() => {
|
||||
const fetchUserID = async () => {
|
||||
const token = getToken();
|
||||
const email = getEmail();
|
||||
setNewEmail(email); // Set initial email state
|
||||
|
||||
const encodedEmail = encodeURIComponent(email);
|
||||
const encodedToken = encodeURIComponent(token);
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}`;
|
||||
try {
|
||||
const response = await fetch(url, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-AUTH-TOKEN": token,
|
||||
"X-AUTH-TOKEN": getToken(),
|
||||
},
|
||||
});
|
||||
|
||||
@@ -78,7 +76,7 @@ const ChangeEmail: React.FC<ChangeEmailProps> = ({ open, onClose }) => {
|
||||
event.preventDefault();
|
||||
|
||||
const token = getToken();
|
||||
const url = `${apiOrigin}/admin/user/change-email?token=${token}`;
|
||||
const url = `${apiOrigin}/admin/user/change-email`;
|
||||
|
||||
const body = {
|
||||
userID,
|
||||
|
||||
@@ -47,11 +47,16 @@ const CloseFamily: React.FC<CloseFamilyProps> = ({
|
||||
}
|
||||
|
||||
const encodedEmail = encodeURIComponent(email);
|
||||
const encodedToken = encodeURIComponent(token);
|
||||
|
||||
// Fetch user data
|
||||
const userUrl = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
const userResponse = await fetch(userUrl);
|
||||
const userUrl = `${apiOrigin}/admin/user?email=${encodedEmail}`;
|
||||
const userResponse = await fetch(userUrl, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-Auth-Token": token,
|
||||
},
|
||||
});
|
||||
if (!userResponse.ok) {
|
||||
throw new Error("Failed to fetch user data");
|
||||
}
|
||||
@@ -63,11 +68,14 @@ const CloseFamily: React.FC<CloseFamilyProps> = ({
|
||||
}
|
||||
|
||||
// Close family action
|
||||
const closeFamilyUrl = `${apiOrigin}/admin/user/close-family?token=${encodedToken}`;
|
||||
const closeFamilyUrl = `${apiOrigin}/admin/user/close-family`;
|
||||
const body = JSON.stringify({ userId });
|
||||
const closeFamilyResponse = await fetch(closeFamilyUrl, {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-Auth-Token": token,
|
||||
},
|
||||
body: body,
|
||||
});
|
||||
|
||||
@@ -78,9 +86,12 @@ const CloseFamily: React.FC<CloseFamilyProps> = ({
|
||||
|
||||
handleCloseFamily(); // Notify parent component of successful action
|
||||
handleClose(); // Close dialog on successful action
|
||||
console.log("Family closed successfully");
|
||||
} catch (error) {
|
||||
console.error("Error closing family:", error);
|
||||
if (error instanceof Error) {
|
||||
alert(error.message);
|
||||
} else {
|
||||
alert("Failed to close family");
|
||||
}
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
|
||||
@@ -21,17 +21,24 @@ const DeleteAccount: React.FC<DeleteAccountProps> = ({ open, handleClose }) => {
|
||||
try {
|
||||
const encodedEmail = encodeURIComponent(getEmail());
|
||||
console.log(encodedEmail);
|
||||
const encodedToken = encodeURIComponent(getToken());
|
||||
console.log(encodedToken);
|
||||
const deleteUrl = `${apiOrigin}/admin/user/delete?email=${encodedEmail}&token=${encodedToken}`;
|
||||
const response = await fetch(deleteUrl, { method: "DELETE" });
|
||||
const token = getToken();
|
||||
|
||||
const deleteUrl = `${apiOrigin}/admin/user/delete?email=${encodedEmail}`;
|
||||
const response = await fetch(deleteUrl, {
|
||||
method: "DELETE",
|
||||
headers: { "X-Auth-Token": token },
|
||||
});
|
||||
if (!response.ok) {
|
||||
throw new Error("Failed to delete user account");
|
||||
}
|
||||
handleClose(); // Close dialog on successful delete
|
||||
console.log("Account deleted successfully");
|
||||
} catch (error) {
|
||||
console.error("Error deleting user account:", error);
|
||||
if (error instanceof Error) {
|
||||
alert("Failed to delete the account: " + error.message);
|
||||
} else {
|
||||
alert("An error occurred while deleting the account");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -47,27 +47,35 @@ const Disable2FA: React.FC<Disable2FAProps> = ({
|
||||
}
|
||||
|
||||
const encodedEmail = encodeURIComponent(email);
|
||||
const encodedToken = encodeURIComponent(token);
|
||||
|
||||
// Fetch user data
|
||||
const userUrl = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
const userResponse = await fetch(userUrl);
|
||||
const userUrl = `${apiOrigin}/admin/user?email=${encodedEmail}`;
|
||||
const userResponse = await fetch(userUrl, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-Auth-Token": token,
|
||||
},
|
||||
});
|
||||
if (!userResponse.ok) {
|
||||
throw new Error("Failed to fetch user data");
|
||||
}
|
||||
const userData = (await userResponse.json()) as UserData;
|
||||
const userId = userData.subscription?.userID;
|
||||
const userID = userData.subscription?.userID;
|
||||
|
||||
if (!userId) {
|
||||
if (!userID) {
|
||||
throw new Error("User ID not found");
|
||||
}
|
||||
|
||||
// Disable 2FA
|
||||
const disableUrl = `${apiOrigin}/admin/user/disable-2fa?token=${encodedToken}`;
|
||||
const body = JSON.stringify({ userId });
|
||||
const disableUrl = `${apiOrigin}/admin/user/disable-2fa`;
|
||||
const body = JSON.stringify({ userID });
|
||||
const disableResponse = await fetch(disableUrl, {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-Auth-Token": token,
|
||||
},
|
||||
body: body,
|
||||
});
|
||||
|
||||
@@ -75,12 +83,15 @@ const Disable2FA: React.FC<Disable2FAProps> = ({
|
||||
const errorResponse = await disableResponse.text();
|
||||
throw new Error(`Failed to disable 2FA: ${errorResponse}`);
|
||||
}
|
||||
|
||||
handleDisable2FA(); // Notify parent component of successful disable
|
||||
handleClose(); // Close dialog on successful disable
|
||||
console.log("2FA disabled successfully");
|
||||
} catch (error) {
|
||||
console.error("Error disabling 2FA:", error);
|
||||
if (error instanceof Error) {
|
||||
alert(error.message);
|
||||
} else {
|
||||
alert("Failed to disable 2FA");
|
||||
}
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
|
||||
@@ -47,11 +47,16 @@ const DisablePasskeys: React.FC<DisablePasskeysProps> = ({
|
||||
}
|
||||
|
||||
const encodedEmail = encodeURIComponent(email);
|
||||
const encodedToken = encodeURIComponent(token);
|
||||
|
||||
// Fetch user data
|
||||
const userUrl = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
const userResponse = await fetch(userUrl);
|
||||
const userUrl = `${apiOrigin}/admin/user?email=${encodedEmail}`;
|
||||
const userResponse = await fetch(userUrl, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-Auth-Token": token,
|
||||
},
|
||||
});
|
||||
if (!userResponse.ok) {
|
||||
throw new Error("Failed to fetch user data");
|
||||
}
|
||||
@@ -63,11 +68,14 @@ const DisablePasskeys: React.FC<DisablePasskeysProps> = ({
|
||||
}
|
||||
|
||||
// Disable passkeys action
|
||||
const disablePasskeysUrl = `${apiOrigin}/admin/user/disable-passkeys?token=${encodedToken}`;
|
||||
const disablePasskeysUrl = `${apiOrigin}/admin/user/disable-passkeys`;
|
||||
const body = JSON.stringify({ userId });
|
||||
const disablePasskeysResponse = await fetch(disablePasskeysUrl, {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-Auth-Token": token,
|
||||
},
|
||||
body: body,
|
||||
});
|
||||
|
||||
@@ -80,7 +88,11 @@ const DisablePasskeys: React.FC<DisablePasskeysProps> = ({
|
||||
handleClose(); // Close dialog on successful action
|
||||
console.log("Passkeys disabled successfully");
|
||||
} catch (error) {
|
||||
console.error("Error disabling passkeys:", error);
|
||||
if (error instanceof Error) {
|
||||
alert(error.message);
|
||||
} else {
|
||||
alert("Failed to disable passkeys");
|
||||
}
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
|
||||
@@ -40,9 +40,15 @@ const FamilyTableComponent: React.FC = () => {
|
||||
const fetchData = async () => {
|
||||
try {
|
||||
const encodedEmail = encodeURIComponent(getEmail());
|
||||
const encodedToken = encodeURIComponent(getToken());
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
const response = await fetch(url);
|
||||
const token = getToken();
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}`;
|
||||
const response = await fetch(url, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-Auth-Token": token,
|
||||
},
|
||||
});
|
||||
if (!response.ok) {
|
||||
throw new Error("Network response was not ok");
|
||||
}
|
||||
|
||||
@@ -37,9 +37,15 @@ const StorageBonusTableComponent: React.FC = () => {
|
||||
const fetchData = async () => {
|
||||
try {
|
||||
const encodedEmail = encodeURIComponent(getEmail());
|
||||
const encodedToken = encodeURIComponent(getToken());
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
const response = await fetch(url);
|
||||
const token = getToken();
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}`;
|
||||
const response = await fetch(url, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-Auth-Token": token,
|
||||
},
|
||||
});
|
||||
if (!response.ok) {
|
||||
throw new Error("Failed to fetch bonus data");
|
||||
}
|
||||
|
||||
@@ -63,10 +63,12 @@ const UpdateSubscription: React.FC<UpdateSubscriptionProps> = ({
|
||||
const email = getEmail();
|
||||
const token = getToken();
|
||||
const encodedEmail = encodeURIComponent(email);
|
||||
const encodedToken = encodeURIComponent(token);
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
|
||||
const response = await fetch(url);
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}`;
|
||||
const response = await fetch(url, {
|
||||
headers: {
|
||||
"X-AUTH-TOKEN": token,
|
||||
},
|
||||
});
|
||||
if (!response.ok) {
|
||||
throw new Error("Network response was not ok");
|
||||
}
|
||||
@@ -172,7 +174,11 @@ const UpdateSubscription: React.FC<UpdateSubscriptionProps> = ({
|
||||
console.log("Subscription updated successfully");
|
||||
onClose();
|
||||
} catch (error) {
|
||||
console.error("Error updating subscription:", error);
|
||||
if (error instanceof Error) {
|
||||
alert(`Failed to update subscription: ${error.message}`);
|
||||
} else {
|
||||
alert("Failed to update subscription");
|
||||
}
|
||||
}
|
||||
})().catch((error: unknown) => {
|
||||
console.error("Unhandled promise rejection:", error);
|
||||
|
||||
@@ -10,6 +10,15 @@
|
||||
"@jridgewell/gen-mapping" "^0.3.5"
|
||||
"@jridgewell/trace-mapping" "^0.3.24"
|
||||
|
||||
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.25.9":
|
||||
version "7.26.2"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85"
|
||||
integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==
|
||||
dependencies:
|
||||
"@babel/helper-validator-identifier" "^7.25.9"
|
||||
js-tokens "^4.0.0"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
"@babel/code-frame@^7.24.6":
|
||||
version "7.24.6"
|
||||
resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz"
|
||||
@@ -54,6 +63,17 @@
|
||||
"@jridgewell/trace-mapping" "^0.3.25"
|
||||
jsesc "^2.5.1"
|
||||
|
||||
"@babel/generator@^7.25.9":
|
||||
version "7.26.2"
|
||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f"
|
||||
integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.26.2"
|
||||
"@babel/types" "^7.26.0"
|
||||
"@jridgewell/gen-mapping" "^0.3.5"
|
||||
"@jridgewell/trace-mapping" "^0.3.25"
|
||||
jsesc "^3.0.2"
|
||||
|
||||
"@babel/helper-compilation-targets@^7.24.6":
|
||||
version "7.24.6"
|
||||
resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.6.tgz"
|
||||
@@ -85,6 +105,14 @@
|
||||
dependencies:
|
||||
"@babel/types" "^7.24.6"
|
||||
|
||||
"@babel/helper-module-imports@^7.16.7":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715"
|
||||
integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==
|
||||
dependencies:
|
||||
"@babel/traverse" "^7.25.9"
|
||||
"@babel/types" "^7.25.9"
|
||||
|
||||
"@babel/helper-module-imports@^7.24.6":
|
||||
version "7.24.6"
|
||||
resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz"
|
||||
@@ -127,11 +155,21 @@
|
||||
resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz"
|
||||
integrity sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==
|
||||
|
||||
"@babel/helper-string-parser@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
|
||||
integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
|
||||
|
||||
"@babel/helper-validator-identifier@^7.24.6":
|
||||
version "7.24.6"
|
||||
resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz"
|
||||
integrity sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==
|
||||
|
||||
"@babel/helper-validator-identifier@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
|
||||
integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
|
||||
|
||||
"@babel/helper-validator-option@^7.24.6":
|
||||
version "7.24.6"
|
||||
resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.6.tgz"
|
||||
@@ -160,6 +198,13 @@
|
||||
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.6.tgz"
|
||||
integrity sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==
|
||||
|
||||
"@babel/parser@^7.25.9", "@babel/parser@^7.26.2":
|
||||
version "7.26.2"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11"
|
||||
integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==
|
||||
dependencies:
|
||||
"@babel/types" "^7.26.0"
|
||||
|
||||
"@babel/plugin-transform-react-jsx-self@^7.24.5":
|
||||
version "7.24.6"
|
||||
resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.6.tgz"
|
||||
@@ -174,6 +219,13 @@
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.24.6"
|
||||
|
||||
"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.23.9", "@babel/runtime@^7.25.7", "@babel/runtime@^7.26.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7":
|
||||
version "7.26.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1"
|
||||
integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==
|
||||
dependencies:
|
||||
regenerator-runtime "^0.14.0"
|
||||
|
||||
"@babel/template@^7.24.6":
|
||||
version "7.24.6"
|
||||
resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.6.tgz"
|
||||
@@ -183,6 +235,15 @@
|
||||
"@babel/parser" "^7.24.6"
|
||||
"@babel/types" "^7.24.6"
|
||||
|
||||
"@babel/template@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016"
|
||||
integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.25.9"
|
||||
"@babel/parser" "^7.25.9"
|
||||
"@babel/types" "^7.25.9"
|
||||
|
||||
"@babel/traverse@^7.24.6":
|
||||
version "7.24.6"
|
||||
resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.6.tgz"
|
||||
@@ -199,6 +260,19 @@
|
||||
debug "^4.3.1"
|
||||
globals "^11.1.0"
|
||||
|
||||
"@babel/traverse@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84"
|
||||
integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.25.9"
|
||||
"@babel/generator" "^7.25.9"
|
||||
"@babel/parser" "^7.25.9"
|
||||
"@babel/template" "^7.25.9"
|
||||
"@babel/types" "^7.25.9"
|
||||
debug "^4.3.1"
|
||||
globals "^11.1.0"
|
||||
|
||||
"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.6":
|
||||
version "7.24.6"
|
||||
resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz"
|
||||
@@ -208,6 +282,133 @@
|
||||
"@babel/helper-validator-identifier" "^7.24.6"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@babel/types@^7.25.9", "@babel/types@^7.26.0":
|
||||
version "7.26.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff"
|
||||
integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==
|
||||
dependencies:
|
||||
"@babel/helper-string-parser" "^7.25.9"
|
||||
"@babel/helper-validator-identifier" "^7.25.9"
|
||||
|
||||
"@date-io/core@^3.0.0":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@date-io/core/-/core-3.0.0.tgz#9fd2375383b5791b7211dfce3e576211f9ddce5e"
|
||||
integrity sha512-S3j+IAQVBYNkQzchVVhX40eBkGDreBpScy9RXwTS5j2+k07+62pMVPisQ44Gq76Rqy5AOG/EZXCwBpY/jbemvA==
|
||||
|
||||
"@date-io/date-fns@^3.0.0":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@date-io/date-fns/-/date-fns-3.0.0.tgz#b082daa73ab9f1f8be55fe99a529653f69a7275b"
|
||||
integrity sha512-hsLAbsdP8LKfi7OQ729cXMWfmHQEq0hn3ysXfAAoc92j6j6sBq0s0tplnkWu6O4iBUpVCYRPGuNjQQhTaOu2AA==
|
||||
dependencies:
|
||||
"@date-io/core" "^3.0.0"
|
||||
|
||||
"@emotion/babel-plugin@^11.12.0":
|
||||
version "11.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz#7b43debb250c313101b3f885eba634f1d723fcc2"
|
||||
integrity sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==
|
||||
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.2.0"
|
||||
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"
|
||||
|
||||
"@emotion/cache@^11.11.0", "@emotion/cache@^11.13.0":
|
||||
version "11.13.1"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.13.1.tgz#fecfc54d51810beebf05bf2a161271a1a91895d7"
|
||||
integrity sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==
|
||||
dependencies:
|
||||
"@emotion/memoize" "^0.9.0"
|
||||
"@emotion/sheet" "^1.4.0"
|
||||
"@emotion/utils" "^1.4.0"
|
||||
"@emotion/weak-memoize" "^0.4.0"
|
||||
stylis "4.2.0"
|
||||
|
||||
"@emotion/hash@^0.9.2":
|
||||
version "0.9.2"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b"
|
||||
integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==
|
||||
|
||||
"@emotion/is-prop-valid@^1.3.0":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz#8d5cf1132f836d7adbe42cf0b49df7816fc88240"
|
||||
integrity sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==
|
||||
dependencies:
|
||||
"@emotion/memoize" "^0.9.0"
|
||||
|
||||
"@emotion/memoize@^0.9.0":
|
||||
version "0.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102"
|
||||
integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==
|
||||
|
||||
"@emotion/react@^11.11.4":
|
||||
version "11.13.3"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.13.3.tgz#a69d0de2a23f5b48e0acf210416638010e4bd2e4"
|
||||
integrity sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.18.3"
|
||||
"@emotion/babel-plugin" "^11.12.0"
|
||||
"@emotion/cache" "^11.13.0"
|
||||
"@emotion/serialize" "^1.3.1"
|
||||
"@emotion/use-insertion-effect-with-fallbacks" "^1.1.0"
|
||||
"@emotion/utils" "^1.4.0"
|
||||
"@emotion/weak-memoize" "^0.4.0"
|
||||
hoist-non-react-statics "^3.3.1"
|
||||
|
||||
"@emotion/serialize@^1.2.0", "@emotion/serialize@^1.3.0", "@emotion/serialize@^1.3.1":
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.2.tgz#e1c1a2e90708d5d85d81ccaee2dfeb3cc0cccf7a"
|
||||
integrity sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==
|
||||
dependencies:
|
||||
"@emotion/hash" "^0.9.2"
|
||||
"@emotion/memoize" "^0.9.0"
|
||||
"@emotion/unitless" "^0.10.0"
|
||||
"@emotion/utils" "^1.4.1"
|
||||
csstype "^3.0.2"
|
||||
|
||||
"@emotion/sheet@^1.4.0":
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c"
|
||||
integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==
|
||||
|
||||
"@emotion/styled@^11.11.5":
|
||||
version "11.13.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.13.0.tgz#633fd700db701472c7a5dbef54d6f9834e9fb190"
|
||||
integrity sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.18.3"
|
||||
"@emotion/babel-plugin" "^11.12.0"
|
||||
"@emotion/is-prop-valid" "^1.3.0"
|
||||
"@emotion/serialize" "^1.3.0"
|
||||
"@emotion/use-insertion-effect-with-fallbacks" "^1.1.0"
|
||||
"@emotion/utils" "^1.4.0"
|
||||
|
||||
"@emotion/unitless@^0.10.0":
|
||||
version "0.10.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745"
|
||||
integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==
|
||||
|
||||
"@emotion/use-insertion-effect-with-fallbacks@^1.1.0":
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz#1a818a0b2c481efba0cf34e5ab1e0cb2dcb9dfaf"
|
||||
integrity sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==
|
||||
|
||||
"@emotion/utils@^1.4.0", "@emotion/utils@^1.4.1":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.1.tgz#b3adbb43de12ee2149541c4f1337d2eb7774f0ad"
|
||||
integrity sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==
|
||||
|
||||
"@emotion/weak-memoize@^0.4.0":
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6"
|
||||
integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==
|
||||
|
||||
"@esbuild/aix-ppc64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
|
||||
@@ -370,6 +571,13 @@
|
||||
"@floating-ui/core" "^1.0.0"
|
||||
"@floating-ui/utils" "^0.2.0"
|
||||
|
||||
"@floating-ui/react-dom@^2.0.8", "@floating-ui/react-dom@^2.1.2":
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.2.tgz#a1349bbf6a0e5cb5ded55d023766f20a4d439a31"
|
||||
integrity sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==
|
||||
dependencies:
|
||||
"@floating-ui/dom" "^1.0.0"
|
||||
|
||||
"@floating-ui/react-dom@^2.1.0":
|
||||
version "2.1.0"
|
||||
resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.0.tgz"
|
||||
@@ -386,11 +594,25 @@
|
||||
"@floating-ui/utils" "^0.2.0"
|
||||
tabbable "^6.0.0"
|
||||
|
||||
"@floating-ui/react@^0.26.23":
|
||||
version "0.26.27"
|
||||
resolved "https://registry.yarnpkg.com/@floating-ui/react/-/react-0.26.27.tgz#402f7b4b2702650662705fe9cbe0f1d5607846a1"
|
||||
integrity sha512-jLP72x0Kr2CgY6eTYi/ra3VA9LOkTo4C+DUTrbFgFOExKy3omYVmwMjNKqxAHdsnyLS96BIDLcO2SlnsNf8KUQ==
|
||||
dependencies:
|
||||
"@floating-ui/react-dom" "^2.1.2"
|
||||
"@floating-ui/utils" "^0.2.8"
|
||||
tabbable "^6.0.0"
|
||||
|
||||
"@floating-ui/utils@^0.2.0":
|
||||
version "0.2.2"
|
||||
resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz"
|
||||
integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==
|
||||
|
||||
"@floating-ui/utils@^0.2.8":
|
||||
version "0.2.8"
|
||||
resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.8.tgz#21a907684723bbbaa5f0974cf7730bd797eb8e62"
|
||||
integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==
|
||||
|
||||
"@humanwhocodes/config-array@^0.11.14":
|
||||
version "0.11.14"
|
||||
resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz"
|
||||
@@ -442,6 +664,145 @@
|
||||
"@jridgewell/resolve-uri" "^3.1.0"
|
||||
"@jridgewell/sourcemap-codec" "^1.4.14"
|
||||
|
||||
"@mui/base@5.0.0-beta.40":
|
||||
version "5.0.0-beta.40"
|
||||
resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.40.tgz#1f8a782f1fbf3f84a961e954c8176b187de3dae2"
|
||||
integrity sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.23.9"
|
||||
"@floating-ui/react-dom" "^2.0.8"
|
||||
"@mui/types" "^7.2.14"
|
||||
"@mui/utils" "^5.15.14"
|
||||
"@popperjs/core" "^2.11.8"
|
||||
clsx "^2.1.0"
|
||||
prop-types "^15.8.1"
|
||||
|
||||
"@mui/core-downloads-tracker@^5.16.7":
|
||||
version "5.16.7"
|
||||
resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.7.tgz#182a325a520f7ebd75de051fceabfc0314cfd004"
|
||||
integrity sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ==
|
||||
|
||||
"@mui/icons-material@^5.16.0":
|
||||
version "5.16.7"
|
||||
resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.16.7.tgz#e27f901af792065efc9f3d75d74a66af7529a10a"
|
||||
integrity sha512-UrGwDJCXEszbDI7yV047BYU5A28eGJ79keTCP4cc74WyncuVrnurlmIRxaHL8YK+LI1Kzq+/JM52IAkNnv4u+Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.23.9"
|
||||
|
||||
"@mui/lab@^5.0.0-alpha.171":
|
||||
version "5.0.0-alpha.173"
|
||||
resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.173.tgz#a0f9696d93a765b48d69a7da5aaca0affa510ae8"
|
||||
integrity sha512-Gt5zopIWwxDgGy/MXcp6GueD84xFFugFai4hYiXY0zowJpTVnIrTQCQXV004Q7rejJ7aaCntX9hpPJqCrioshA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.23.9"
|
||||
"@mui/base" "5.0.0-beta.40"
|
||||
"@mui/system" "^5.16.5"
|
||||
"@mui/types" "^7.2.15"
|
||||
"@mui/utils" "^5.16.5"
|
||||
clsx "^2.1.0"
|
||||
prop-types "^15.8.1"
|
||||
|
||||
"@mui/material@^5.16.0":
|
||||
version "5.16.7"
|
||||
resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.16.7.tgz#6e814e2eefdaf065a769cecf549c3569e107a50b"
|
||||
integrity sha512-cwwVQxBhK60OIOqZOVLFt55t01zmarKJiJUWbk0+8s/Ix5IaUzAShqlJchxsIQ4mSrWqgcKCCXKtIlG5H+/Jmg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.23.9"
|
||||
"@mui/core-downloads-tracker" "^5.16.7"
|
||||
"@mui/system" "^5.16.7"
|
||||
"@mui/types" "^7.2.15"
|
||||
"@mui/utils" "^5.16.6"
|
||||
"@popperjs/core" "^2.11.8"
|
||||
"@types/react-transition-group" "^4.4.10"
|
||||
clsx "^2.1.0"
|
||||
csstype "^3.1.3"
|
||||
prop-types "^15.8.1"
|
||||
react-is "^18.3.1"
|
||||
react-transition-group "^4.4.5"
|
||||
|
||||
"@mui/private-theming@^5.16.6":
|
||||
version "5.16.6"
|
||||
resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.6.tgz#547671e7ae3f86b68d1289a0b90af04dfcc1c8c9"
|
||||
integrity sha512-rAk+Rh8Clg7Cd7shZhyt2HGTTE5wYKNSJ5sspf28Fqm/PZ69Er9o6KX25g03/FG2dfpg5GCwZh/xOojiTfm3hw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.23.9"
|
||||
"@mui/utils" "^5.16.6"
|
||||
prop-types "^15.8.1"
|
||||
|
||||
"@mui/styled-engine@^5.16.6":
|
||||
version "5.16.6"
|
||||
resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.16.6.tgz#60110c106dd482dfdb7e2aa94fd6490a0a3f8852"
|
||||
integrity sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.23.9"
|
||||
"@emotion/cache" "^11.11.0"
|
||||
csstype "^3.1.3"
|
||||
prop-types "^15.8.1"
|
||||
|
||||
"@mui/system@^5.16.5", "@mui/system@^5.16.7":
|
||||
version "5.16.7"
|
||||
resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.7.tgz#4583ca5bf3b38942e02c15a1e622ba869ac51393"
|
||||
integrity sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.23.9"
|
||||
"@mui/private-theming" "^5.16.6"
|
||||
"@mui/styled-engine" "^5.16.6"
|
||||
"@mui/types" "^7.2.15"
|
||||
"@mui/utils" "^5.16.6"
|
||||
clsx "^2.1.0"
|
||||
csstype "^3.1.3"
|
||||
prop-types "^15.8.1"
|
||||
|
||||
"@mui/types@^7.2.14", "@mui/types@^7.2.15", "@mui/types@^7.2.19":
|
||||
version "7.2.19"
|
||||
resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.19.tgz#c941954dd24393fdce5f07830d44440cf4ab6c80"
|
||||
integrity sha512-6XpZEM/Q3epK9RN8ENoXuygnqUQxE+siN/6rGRi2iwJPgBUR25mphYQ9ZI87plGh58YoZ5pp40bFvKYOCDJ3tA==
|
||||
|
||||
"@mui/utils@^5.15.14", "@mui/utils@^5.16.5", "@mui/utils@^5.16.6":
|
||||
version "5.16.6"
|
||||
resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.6.tgz#905875bbc58d3dcc24531c3314a6807aba22a711"
|
||||
integrity sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.23.9"
|
||||
"@mui/types" "^7.2.15"
|
||||
"@types/prop-types" "^15.7.12"
|
||||
clsx "^2.1.1"
|
||||
prop-types "^15.8.1"
|
||||
react-is "^18.3.1"
|
||||
|
||||
"@mui/utils@^5.16.6 || ^6.0.0":
|
||||
version "6.1.7"
|
||||
resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.1.7.tgz#0959d9772ae13c6ceac984a493e06aebb9087e71"
|
||||
integrity sha512-Gr7cRZxBoZ0BIa3Xqf/2YaUrBLyNPJvXPQH3OsD9WMZukI/TutibbQBVqLYpgqJn8pKSjbD50Yq2auG0wI1xOw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.26.0"
|
||||
"@mui/types" "^7.2.19"
|
||||
"@types/prop-types" "^15.7.13"
|
||||
clsx "^2.1.1"
|
||||
prop-types "^15.8.1"
|
||||
react-is "^18.3.1"
|
||||
|
||||
"@mui/x-date-pickers@^7.9.0":
|
||||
version "7.22.2"
|
||||
resolved "https://registry.yarnpkg.com/@mui/x-date-pickers/-/x-date-pickers-7.22.2.tgz#99ebf6ff3d5f926c8bceb43324c9d91022d79852"
|
||||
integrity sha512-1KHSlIlnSoY3oHm820By8X344pIdGYqPvCCvfVHrEeeIQ/pHdxDD8tjZFWkFl4Jgm9oVFK90fMcqNZAzc+WaCw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.25.7"
|
||||
"@mui/utils" "^5.16.6 || ^6.0.0"
|
||||
"@mui/x-internals" "7.21.0"
|
||||
"@types/react-transition-group" "^4.4.11"
|
||||
clsx "^2.1.1"
|
||||
prop-types "^15.8.1"
|
||||
react-transition-group "^4.4.5"
|
||||
|
||||
"@mui/x-internals@7.21.0":
|
||||
version "7.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@mui/x-internals/-/x-internals-7.21.0.tgz#daca984059015b27efdb47bb44dc7ff4a6816673"
|
||||
integrity sha512-94YNyZ0BhK5Z+Tkr90RKf47IVCW8R/1MvdUhh6MCQg6sZa74jsX+x+gEZ4kzuCqOsuyTyxikeQ8vVuCIQiP7UQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.25.7"
|
||||
"@mui/utils" "^5.16.6 || ^6.0.0"
|
||||
|
||||
"@nodelib/fs.scandir@2.1.5":
|
||||
version "2.1.5"
|
||||
resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
|
||||
@@ -468,6 +829,11 @@
|
||||
resolved "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz"
|
||||
integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==
|
||||
|
||||
"@popperjs/core@^2.11.8":
|
||||
version "2.11.8"
|
||||
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
|
||||
integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
|
||||
|
||||
"@rollup/plugin-node-resolve@^15.2.3":
|
||||
version "15.2.3"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz#e5e0b059bd85ca57489492f295ce88c2d4b0daf9"
|
||||
@@ -607,11 +973,30 @@
|
||||
resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz"
|
||||
integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
|
||||
|
||||
"@types/parse-json@^4.0.0":
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239"
|
||||
integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==
|
||||
|
||||
"@types/prop-types@*":
|
||||
version "15.7.12"
|
||||
resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz"
|
||||
integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==
|
||||
|
||||
"@types/prop-types@^15.7.12", "@types/prop-types@^15.7.13":
|
||||
version "15.7.13"
|
||||
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.13.tgz#2af91918ee12d9d32914feb13f5326658461b451"
|
||||
integrity sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==
|
||||
|
||||
"@types/react-datepicker@^6.2.0":
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-datepicker/-/react-datepicker-6.2.0.tgz#1c93c10d12d1d683eacf46a82e35b953cd0da117"
|
||||
integrity sha512-+JtO4Fm97WLkJTH8j8/v3Ldh7JCNRwjMYjRaKh4KHH0M3jJoXtwiD3JBCsdlg3tsFIw9eQSqyAPeVDN2H2oM9Q==
|
||||
dependencies:
|
||||
"@floating-ui/react" "^0.26.2"
|
||||
"@types/react" "*"
|
||||
date-fns "^3.3.1"
|
||||
|
||||
"@types/react-dom@^18":
|
||||
version "18.3.0"
|
||||
resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz"
|
||||
@@ -619,6 +1004,13 @@
|
||||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react-transition-group@^4.4.10", "@types/react-transition-group@^4.4.11":
|
||||
version "4.4.11"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.11.tgz#d963253a611d757de01ebb241143b1017d5d63d5"
|
||||
integrity sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==
|
||||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react@*", "@types/react@^18":
|
||||
version "18.3.3"
|
||||
resolved "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz"
|
||||
@@ -872,6 +1264,15 @@ available-typed-arrays@^1.0.7:
|
||||
dependencies:
|
||||
possible-typed-array-names "^1.0.0"
|
||||
|
||||
babel-plugin-macros@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1"
|
||||
integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.12.5"
|
||||
cosmiconfig "^7.0.0"
|
||||
resolve "^1.19.0"
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
|
||||
@@ -952,7 +1353,7 @@ chalk@^4.0.0:
|
||||
ansi-styles "^4.1.0"
|
||||
supports-color "^7.1.0"
|
||||
|
||||
clsx@^2.1.0:
|
||||
clsx@^2.1.0, clsx@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz"
|
||||
integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
|
||||
@@ -986,11 +1387,27 @@ concat-map@0.0.1:
|
||||
resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
|
||||
integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
|
||||
|
||||
convert-source-map@^1.5.0:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
|
||||
integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
|
||||
|
||||
convert-source-map@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz"
|
||||
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
|
||||
|
||||
cosmiconfig@^7.0.0:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6"
|
||||
integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==
|
||||
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"
|
||||
|
||||
cross-spawn@^7.0.2:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
|
||||
@@ -1000,7 +1417,7 @@ cross-spawn@^7.0.2:
|
||||
shebang-command "^2.0.0"
|
||||
which "^2.0.1"
|
||||
|
||||
csstype@^3.0.2:
|
||||
csstype@^3.0.2, csstype@^3.1.3:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
|
||||
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
|
||||
@@ -1103,11 +1520,26 @@ doctrine@^3.0.0:
|
||||
dependencies:
|
||||
esutils "^2.0.2"
|
||||
|
||||
dom-helpers@^5.0.1:
|
||||
version "5.2.1"
|
||||
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
|
||||
integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.8.7"
|
||||
csstype "^3.0.2"
|
||||
|
||||
electron-to-chromium@^1.4.668:
|
||||
version "1.4.788"
|
||||
resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.788.tgz"
|
||||
integrity sha512-ubp5+Ev/VV8KuRoWnfP2QF2Bg+O2ZFdb49DiiNbz2VmgkIqrnyYaqIOqj8A6K/3p1xV0QcU5hBQ1+BmB6ot1OA==
|
||||
|
||||
error-ex@^1.3.1:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
|
||||
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
|
||||
dependencies:
|
||||
is-arrayish "^0.2.1"
|
||||
|
||||
es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3:
|
||||
version "1.23.3"
|
||||
resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz"
|
||||
@@ -1444,6 +1876,11 @@ fill-range@^7.1.1:
|
||||
dependencies:
|
||||
to-regex-range "^5.0.1"
|
||||
|
||||
find-root@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
|
||||
integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
|
||||
|
||||
find-up@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
|
||||
@@ -1665,6 +2102,13 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2:
|
||||
dependencies:
|
||||
function-bind "^1.1.2"
|
||||
|
||||
hoist-non-react-statics@^3.3.1:
|
||||
version "3.3.2"
|
||||
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
|
||||
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
|
||||
dependencies:
|
||||
react-is "^16.7.0"
|
||||
|
||||
ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.1:
|
||||
version "5.3.1"
|
||||
resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz"
|
||||
@@ -1713,6 +2157,11 @@ is-array-buffer@^3.0.4:
|
||||
call-bind "^1.0.2"
|
||||
get-intrinsic "^1.2.1"
|
||||
|
||||
is-arrayish@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
|
||||
integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
|
||||
|
||||
is-async-function@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz"
|
||||
@@ -1930,11 +2379,21 @@ jsesc@^2.5.1:
|
||||
resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
|
||||
integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
|
||||
|
||||
jsesc@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e"
|
||||
integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==
|
||||
|
||||
json-buffer@3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz"
|
||||
integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
|
||||
|
||||
json-parse-even-better-errors@^2.3.0:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
|
||||
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
|
||||
|
||||
json-schema-traverse@^0.4.1:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
|
||||
@@ -1975,6 +2434,11 @@ levn@^0.4.1:
|
||||
prelude-ls "^1.2.1"
|
||||
type-check "~0.4.0"
|
||||
|
||||
lines-and-columns@^1.1.6:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
|
||||
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
|
||||
|
||||
locate-path@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz"
|
||||
@@ -2150,6 +2614,16 @@ parent-module@^1.0.0:
|
||||
dependencies:
|
||||
callsites "^3.0.0"
|
||||
|
||||
parse-json@^5.0.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
|
||||
integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.0.0"
|
||||
error-ex "^1.3.1"
|
||||
json-parse-even-better-errors "^2.3.0"
|
||||
lines-and-columns "^1.1.6"
|
||||
|
||||
path-exists@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"
|
||||
@@ -2222,7 +2696,7 @@ prettier@^3:
|
||||
resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.0.tgz"
|
||||
integrity sha512-J9odKxERhCQ10OC2yb93583f6UnYutOeiV5i0zEDS7UGTdUt0u+y8erxl3lBKvwo/JHyyoEdXjwp4dke9oyZ/g==
|
||||
|
||||
prop-types@^15.7.2, prop-types@^15.8.1:
|
||||
prop-types@^15.6.2, prop-types@^15.8.1:
|
||||
version "15.8.1"
|
||||
resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
|
||||
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
|
||||
@@ -2241,16 +2715,15 @@ queue-microtask@^1.2.2:
|
||||
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
|
||||
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
||||
|
||||
react-datepicker@^7.1.0:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.npmjs.org/react-datepicker/-/react-datepicker-7.1.0.tgz"
|
||||
integrity sha512-Z91n5ybhmzI+YChj1ZG7ntPPOmHR2Dh4jbIl+mNgKXKoxyzUQBh7M3eQaFOwrBCVdKy5vsj370/ocQlGu1qsGA==
|
||||
react-datepicker@^7.3.0:
|
||||
version "7.5.0"
|
||||
resolved "https://registry.yarnpkg.com/react-datepicker/-/react-datepicker-7.5.0.tgz#e7b1014a6dbd3b314839a5c57a6dacfbb16074e4"
|
||||
integrity sha512-6MzeamV8cWSOcduwePHfGqY40acuGlS1cG//ePHT6bVbLxWyqngaStenfH03n1wbzOibFggF66kWaBTb1SbTtQ==
|
||||
dependencies:
|
||||
"@floating-ui/react" "^0.26.2"
|
||||
clsx "^2.1.0"
|
||||
date-fns "^3.3.1"
|
||||
prop-types "^15.7.2"
|
||||
react-onclickoutside "^6.13.0"
|
||||
"@floating-ui/react" "^0.26.23"
|
||||
clsx "^2.1.1"
|
||||
date-fns "^3.6.0"
|
||||
prop-types "^15.8.1"
|
||||
|
||||
react-dom@^18:
|
||||
version "18.3.1"
|
||||
@@ -2260,15 +2733,15 @@ react-dom@^18:
|
||||
loose-envify "^1.1.0"
|
||||
scheduler "^0.23.2"
|
||||
|
||||
react-is@^16.13.1:
|
||||
react-is@^16.13.1, react-is@^16.7.0:
|
||||
version "16.13.1"
|
||||
resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
||||
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
|
||||
|
||||
react-onclickoutside@^6.13.0:
|
||||
version "6.13.1"
|
||||
resolved "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.13.1.tgz"
|
||||
integrity sha512-LdrrxK/Yh9zbBQdFbMTXPp3dTSN9B+9YJQucdDu3JNKRrbdU+H+/TVONJoWtOwy4II8Sqf1y/DTI6w/vGPYW0w==
|
||||
react-is@^18.3.1:
|
||||
version "18.3.1"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e"
|
||||
integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
|
||||
|
||||
react-refresh@^0.14.2:
|
||||
version "0.14.2"
|
||||
@@ -2282,6 +2755,16 @@ react-toastify@^10.0.5:
|
||||
dependencies:
|
||||
clsx "^2.1.0"
|
||||
|
||||
react-transition-group@^4.4.5:
|
||||
version "4.4.5"
|
||||
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1"
|
||||
integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
dom-helpers "^5.0.1"
|
||||
loose-envify "^1.4.0"
|
||||
prop-types "^15.6.2"
|
||||
|
||||
react@^18:
|
||||
version "18.3.1"
|
||||
resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz"
|
||||
@@ -2302,6 +2785,11 @@ reflect.getprototypeof@^1.0.4:
|
||||
globalthis "^1.0.3"
|
||||
which-builtin-type "^1.1.3"
|
||||
|
||||
regenerator-runtime@^0.14.0:
|
||||
version "0.14.1"
|
||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
|
||||
integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
|
||||
|
||||
regexp.prototype.flags@^1.5.2:
|
||||
version "1.5.2"
|
||||
resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz"
|
||||
@@ -2317,7 +2805,7 @@ resolve-from@^4.0.0:
|
||||
resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
|
||||
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
|
||||
|
||||
resolve@^1.22.1:
|
||||
resolve@^1.19.0, resolve@^1.22.1:
|
||||
version "1.22.8"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
|
||||
integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
|
||||
@@ -2493,6 +2981,11 @@ source-map-js@^1.2.0:
|
||||
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz"
|
||||
integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
|
||||
|
||||
source-map@^0.5.7:
|
||||
version "0.5.7"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
|
||||
integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
|
||||
|
||||
string.prototype.matchall@^4.0.11:
|
||||
version "4.0.11"
|
||||
resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz"
|
||||
@@ -2551,6 +3044,11 @@ strip-json-comments@^3.1.1:
|
||||
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
|
||||
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
|
||||
|
||||
stylis@4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51"
|
||||
integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==
|
||||
|
||||
supports-color@^5.3.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
|
||||
@@ -2779,6 +3277,11 @@ yallist@^3.0.2:
|
||||
resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"
|
||||
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
|
||||
|
||||
yaml@^1.10.0:
|
||||
version "1.10.2"
|
||||
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
|
||||
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
|
||||
|
||||
yocto-queue@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
|
||||
|
||||
5
infra/workers/data-puller/package.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"name": "data-puller",
|
||||
"version": "0.0.0",
|
||||
"private": true
|
||||
}
|
||||
30
infra/workers/data-puller/src/index.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Proxy requests for downloading files from object storage.
|
||||
*
|
||||
* Used by museum when replicating.
|
||||
*/
|
||||
|
||||
export default {
|
||||
async fetch(request: Request) {
|
||||
switch (request.method) {
|
||||
case "GET":
|
||||
return handleGET(request);
|
||||
default:
|
||||
console.log(`Unsupported HTTP method ${request.method}`);
|
||||
return new Response(null, { status: 405 });
|
||||
}
|
||||
},
|
||||
} satisfies ExportedHandler;
|
||||
|
||||
const handleGET = async (request: Request) => {
|
||||
const url = new URL(request.url);
|
||||
|
||||
// Random bots keep trying to pentest causing noise in the logs. If the
|
||||
// request doesn't have a src, we can just safely ignore it.
|
||||
const src = url.searchParams.get("src");
|
||||
if (!src) return new Response(null, { status: 400 });
|
||||
|
||||
const source = atob(src);
|
||||
|
||||
return fetch(source);
|
||||
};
|
||||
1
infra/workers/data-puller/tsconfig.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "../tsconfig.base.json", "include": ["src"] }
|
||||
5
infra/workers/data-puller/wrangler.toml
Normal file
@@ -0,0 +1,5 @@
|
||||
name = "data-puller"
|
||||
main = "src/index.ts"
|
||||
compatibility_date = "2024-06-14"
|
||||
|
||||
tail_consumers = [{ service = "tail" }]
|
||||
@@ -0,0 +1 @@
|
||||
ente és una aplicació d'emmagatzematge de fotos xifrada d'extrem a extrem
|
||||
1
mobile/fastlane/metadata/android/ca/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
ente - emmagatzematge de fotos xifrat
|
||||
1
mobile/fastlane/metadata/android/et/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
ente - fotode krüpteeritud säilitamine
|
||||
36
mobile/fastlane/metadata/android/lt/full_description.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
„ente“ – tai paprasta programa, skirta kurti atsargines kopijas ir bendrinti nuotraukas bei vaizdo įrašus.
|
||||
|
||||
Jei ieškojote privatumą užtikrinančios alternatyvos „Google“ nuotraukoms, atsidūrėte tinkamoje vietoje. Su „ente“ jie saugomi visapusiu šifravimu (e2ee). Tai reiškia, kad tik jūs galite juos peržiūrėti.
|
||||
|
||||
Turime atvirojo kodo „Android“, „iOS“, interneto ir darbalaukio programų, o jūsų nuotraukos bus sklandžiai sinchronizuojamos tarp visų įrenginių visapusiu šifravimo būdu (e2ee).
|
||||
|
||||
„ente“ taip pat leidžia lengvai bendrinti albumus su artimaisiais, net jei jie nesinaudoja „ente“. Galite bendrinti viešai matomas nuorodas, kad jie galėtų peržiūrėti jūsų albumą ir bendradarbiauti pridėdami į jį nuotraukų, net ir neturėdami paskyros ar programos.
|
||||
|
||||
Jūsų užšifruoti duomenys replikuojami į 3 skirtingas vietas, įskaitant slėptuvę nuo kritulių Paryžiuje. Mes rimtai žiūrime į palikimą ir pasirūpiname, kad jūsų prisiminimai išliktų gyvi.
|
||||
|
||||
Esame čia tam, kad sukurtume saugiausią nuotraukų programą, prisijunkite prie mūsų kelionės!
|
||||
|
||||
FUNKCIJOS
|
||||
– Originalios kokybės atsarginės kopijos, nes kiekvienas taškelis yra svarbus
|
||||
– Šeimos planai, kad galėtumėte dalytis saugykla su šeima
|
||||
– Bendradarbiavimo albumai, kad po kelionės galėtumėte sujungti nuotraukas
|
||||
– Bendrinami aplankai, jei norite, kad partneris galėtų mėgautis jūsų „fotoaparato“ paspaudimais
|
||||
– Albumo nuorodos, kurias galima apsaugoti slaptažodžiu
|
||||
– Galimybė atlaisvinti vietą, pašalinant saugiai atsargines kopijas sukūrusius failus
|
||||
– Žmonių palaikymas, nes esate to verti
|
||||
– Aprašymai, kad galėtumėte žymėti savo prisiminimus ir lengvai juos surasti
|
||||
– Vaizdų rengyklė, kad būtų galima pridėti baigiamuosius akcentus
|
||||
– Mėgkite, slėpkite ir išgyvenkite savo prisiminimus, juk jie brangūs
|
||||
– Vienu spustelėjimu importuokite iš „Google“, „Apple“, kietojo disko ir kitų
|
||||
– Tamsi tema, nes jūsų nuotraukos joje atrodo gerai
|
||||
– 2FA, 3FA, biometrinis tapatybės nustatymas
|
||||
– ir DAR daugiau!
|
||||
|
||||
LEIDIMAI
|
||||
„ente“ prašo tam tikrų leidimų, kad galėtų atlikti nuotraukų saugyklos paslaugų teikėjo funkcijas, kurias galima peržiūrėti čia: https://github.com/ente-io/ente/blob/f-droid/mobile/android/permissions.md
|
||||
|
||||
KAINODARA
|
||||
Nesiūlome amžinai nemokamų planų, nes mums svarbu, kad išliktume tvarūs ir atlaikytume laiko išbandymą. Vietoj to siūlome nebrangius planus, kuriais galite laisvai dalytis su savo šeima. Daugiau informacijos galima rasti svetainėje ente.io.
|
||||
|
||||
PALAIKYMAS
|
||||
Didžiuojamės galėdami pasiūlyti žmogiškąją pagalbą. Jei esate mūsų mokamas klientas, galite susisiekti adresu team@ente.io ir tikėtis mūsų komandos atsakymo per 24 valandas.
|
||||
@@ -0,0 +1 @@
|
||||
„ente“ – tai visapusiškai užšifruota nuotraukų saugyklos programa
|
||||
1
mobile/fastlane/metadata/android/lt/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
„ente“: užšifruota nuotraukų saugykla
|
||||
1
mobile/fastlane/metadata/ios/ca/keywords.txt
Normal file
@@ -0,0 +1 @@
|
||||
fotos,fotografia,família,privadesa,núvol,backup,vídeos,foto,xifratge,emmagatzematge,àlbum,alternativa
|
||||