mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-13 11:21:46 +00:00
Compare commits
16 Commits
d2336a0b10
...
39362120e8
| Author | SHA1 | Date | |
|---|---|---|---|
| 39362120e8 | |||
| 6c4ae0dbfa | |||
| f7aaa3377a | |||
| ab1a0478cf | |||
| 127f56905c | |||
| 8d448c667f | |||
| e00f33eb2d | |||
| 8100804ced | |||
| 4fba3ffd92 | |||
| bef8252314 | |||
| a96cc5aa8a | |||
| b7e43e3125 | |||
| 2d059eb353 | |||
| bce0f8ad17 | |||
| e04a084be9 | |||
| e94aa5c513 |
@ -67,7 +67,7 @@
|
||||
"@electron-toolkit/tsconfig": "1.0.1",
|
||||
"@electron/remote": "2.1.3",
|
||||
"@ffmpeg.wasm/core-mt": "0.12.0",
|
||||
"@ffmpeg.wasm/main": "0.12.0",
|
||||
"@ffmpeg.wasm/main": "0.13.1",
|
||||
"@floating-ui/dom": "1.7.4",
|
||||
"@foobar404/wave": "2.0.5",
|
||||
"@ghostery/adblocker-electron": "2.11.6",
|
||||
@ -134,7 +134,7 @@
|
||||
"virtua": "0.42.3",
|
||||
"vudio": "2.1.1",
|
||||
"x11": "2.3.0",
|
||||
"youtubei.js": "15.0.1",
|
||||
"youtubei.js": "^16.0.1",
|
||||
"zod": "4.1.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
224
pnpm-lock.yaml
generated
224
pnpm-lock.yaml
generated
@ -49,8 +49,8 @@ importers:
|
||||
specifier: 0.12.0
|
||||
version: 0.12.0
|
||||
'@ffmpeg.wasm/main':
|
||||
specifier: 0.12.0
|
||||
version: 0.12.0
|
||||
specifier: 0.13.1
|
||||
version: 0.13.1
|
||||
'@floating-ui/dom':
|
||||
specifier: 1.7.4
|
||||
version: 1.7.4
|
||||
@ -250,8 +250,8 @@ importers:
|
||||
specifier: 2.3.0
|
||||
version: 2.3.0
|
||||
youtubei.js:
|
||||
specifier: 15.0.1
|
||||
version: 15.0.1
|
||||
specifier: ^16.0.1
|
||||
version: 16.0.1
|
||||
zod:
|
||||
specifier: 4.1.5
|
||||
version: 4.1.5
|
||||
@ -482,8 +482,8 @@ packages:
|
||||
resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@bufbuild/protobuf@2.6.3':
|
||||
resolution: {integrity: sha512-w/gJKME9mYN7ZoUAmSMAWXk4hkVpxRKvEJCb3dV5g9wwWdxTJJ0ayOJAVcNxtdqaxDyFuC0uz4RSGVacJ030PQ==}
|
||||
'@bufbuild/protobuf@2.10.0':
|
||||
resolution: {integrity: sha512-fdRs9PSrBF7QUntpZpq6BTw58fhgGJojgg39m9oFOJGZT+nip9b0so5cYY1oWl5pvemDLr0cPPsH46vwThEbpQ==}
|
||||
|
||||
'@dehoist/romanize-thai@1.0.0':
|
||||
resolution: {integrity: sha512-6SqD4vyZ48otnypLXMh901CeQetoP5ptYOaIr58N6zDqjjoN0bHszMb5d/6AXJJQf8kIvbmSWBeuDrbAWLajPQ==}
|
||||
@ -775,9 +775,9 @@ packages:
|
||||
'@ffmpeg.wasm/core-mt@0.12.0':
|
||||
resolution: {integrity: sha512-M9pjL7JQX4AYl3WI8vGcPGPTz/O7JmhW8ac/fHA3oXTxoRAPwYSY/OsY1N9C0XahIM0+fxa1QSLN9Ekz8sBM/Q==}
|
||||
|
||||
'@ffmpeg.wasm/main@0.12.0':
|
||||
resolution: {integrity: sha512-LILAKTrU3Rga2iXLsF9jeFxe2hNQFjWlrKuXPWSdCFeQ7Kg69fO4WwjNJ0CzjOyO6qtndRQMNKqf//N4fLYUBA==}
|
||||
engines: {node: '>=12.16.1'}
|
||||
'@ffmpeg.wasm/main@0.13.1':
|
||||
resolution: {integrity: sha512-WoEd9xp/N9VWddZ3y1cdRK/el52ZKLoqOS+BNQZcsbLQpkQuHrFG93+zY4VjMZ0aWno4pQG4TSgLzsexpukpHw==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
|
||||
'@floating-ui/core@1.7.3':
|
||||
resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
|
||||
@ -1379,32 +1379,16 @@ packages:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/project-service@8.42.0':
|
||||
resolution: {integrity: sha512-vfVpLHAhbPjilrabtOSNcUDmBboQNrJUiNAGoImkZKnMjs2TIcWG33s4Ds0wY3/50aZmTMqJa6PiwkwezaAklg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/project-service@8.43.0':
|
||||
resolution: {integrity: sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/scope-manager@8.42.0':
|
||||
resolution: {integrity: sha512-51+x9o78NBAVgQzOPd17DkNTnIzJ8T/O2dmMBLoK9qbY0Gm52XJcdJcCl18ExBMiHo6jPMErUQWUv5RLE51zJw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/scope-manager@8.43.0':
|
||||
resolution: {integrity: sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/tsconfig-utils@8.42.0':
|
||||
resolution: {integrity: sha512-kHeFUOdwAJfUmYKjR3CLgZSglGHjbNTi1H8sTYRYV2xX6eNz4RyJ2LIgsDLKf8Yi0/GL1WZAC/DgZBeBft8QAQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/tsconfig-utils@8.43.0':
|
||||
resolution: {integrity: sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
@ -1418,33 +1402,16 @@ packages:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/types@8.42.0':
|
||||
resolution: {integrity: sha512-LdtAWMiFmbRLNP7JNeY0SqEtJvGMYSzfiWBSmx+VSZ1CH+1zyl8Mmw1TT39OrtsRvIYShjJWzTDMPWZJCpwBlw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/types@8.43.0':
|
||||
resolution: {integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.42.0':
|
||||
resolution: {integrity: sha512-ku/uYtT4QXY8sl9EDJETD27o3Ewdi72hcXg1ah/kkUgBvAYHLwj2ofswFFNXS+FL5G+AGkxBtvGt8pFBHKlHsQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.43.0':
|
||||
resolution: {integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/utils@8.42.0':
|
||||
resolution: {integrity: sha512-JnIzu7H3RH5BrKC4NoZqRfmjqCIS1u3hGZltDYJgkVdqAezl4L9d1ZLw+36huCujtSBSAirGINF/S4UxOcR+/g==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/utils@8.43.0':
|
||||
resolution: {integrity: sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
@ -1452,10 +1419,6 @@ packages:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.42.0':
|
||||
resolution: {integrity: sha512-3WbiuzoEowaEn8RSnhJBrxSwX8ULYE9CXaPepS2C2W3NSA5NNIvBaslpBSBElPq0UGr0xVJlXFWOAKIkyylydQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.43.0':
|
||||
resolution: {integrity: sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
@ -2069,10 +2032,6 @@ packages:
|
||||
peerDependencies:
|
||||
electron: '>=10.0.0'
|
||||
|
||||
data-uri-to-buffer@4.0.1:
|
||||
resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
|
||||
engines: {node: '>= 12'}
|
||||
|
||||
data-view-buffer@1.0.2:
|
||||
resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@ -2568,8 +2527,8 @@ packages:
|
||||
exif-parser@0.1.12:
|
||||
resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==}
|
||||
|
||||
exponential-backoff@3.1.2:
|
||||
resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==}
|
||||
exponential-backoff@3.1.3:
|
||||
resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==}
|
||||
|
||||
extract-zip@2.0.1:
|
||||
resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
|
||||
@ -2625,10 +2584,6 @@ packages:
|
||||
picomatch:
|
||||
optional: true
|
||||
|
||||
fetch-blob@3.2.0:
|
||||
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
|
||||
engines: {node: ^12.20 || >= 14.13}
|
||||
|
||||
fflate@0.8.2:
|
||||
resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
|
||||
|
||||
@ -2678,10 +2633,6 @@ packages:
|
||||
resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
formdata-polyfill@4.0.10:
|
||||
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
|
||||
engines: {node: '>=12.20.0'}
|
||||
|
||||
from@0.1.7:
|
||||
resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
|
||||
|
||||
@ -3150,9 +3101,6 @@ packages:
|
||||
resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
is-url@1.2.4:
|
||||
resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==}
|
||||
|
||||
is-weakmap@2.0.2:
|
||||
resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@ -3214,9 +3162,6 @@ packages:
|
||||
resolution: {integrity: sha512-YcwCHw1kiqEeI5xRpDlPPBGL2EOpBKLwO4yIBJcXWHPj5PnA5urGq0jbyhM5KoNpypQ6VboSoxc9D8HyfvngSg==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
jintr@3.3.1:
|
||||
resolution: {integrity: sha512-nnOzyhf0SLpbWuZ270Omwbj5LcXUkTcZkVnK8/veJXtSZOiATM5gMZMdmzN75FmTyj+NVgrGaPdH12zIJ24oIA==}
|
||||
|
||||
jpeg-js@0.4.4:
|
||||
resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
|
||||
|
||||
@ -3480,6 +3425,10 @@ packages:
|
||||
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
meriyah@6.1.4:
|
||||
resolution: {integrity: sha512-Sz8FzjzI0kN13GK/6MVEsVzMZEPvOhnmmI1lU5+/1cGOiK3QUahntrNNtdVeihrO7t9JpoH75iMNXg6R6uWflQ==}
|
||||
engines: {node: '>=18.0.0'}
|
||||
|
||||
micromatch@4.0.8:
|
||||
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
|
||||
engines: {node: '>=8.6'}
|
||||
@ -3651,15 +3600,6 @@ packages:
|
||||
node-api-version@0.2.1:
|
||||
resolution: {integrity: sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==}
|
||||
|
||||
node-domexception@1.0.0:
|
||||
resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
|
||||
engines: {node: '>=10.5.0'}
|
||||
deprecated: Use your platform's native DOMException instead
|
||||
|
||||
node-fetch@3.3.2:
|
||||
resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
|
||||
node-gyp-build@4.8.4:
|
||||
resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==}
|
||||
hasBin: true
|
||||
@ -4018,9 +3958,6 @@ packages:
|
||||
resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
regenerator-runtime@0.13.11:
|
||||
resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
|
||||
|
||||
regexp.prototype.flags@1.5.4:
|
||||
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@ -4481,10 +4418,6 @@ packages:
|
||||
tinycolor2@1.6.0:
|
||||
resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
|
||||
|
||||
tinyglobby@0.2.14:
|
||||
resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
|
||||
tinyglobby@0.2.15:
|
||||
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
@ -4744,10 +4677,6 @@ packages:
|
||||
wcwidth@1.0.1:
|
||||
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
|
||||
|
||||
web-streams-polyfill@3.3.3:
|
||||
resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
webrtc-adapter@9.0.3:
|
||||
resolution: {integrity: sha512-5fALBcroIl31OeXAdd1YUntxiZl1eHlZZWzNg3U4Fn+J9/cGL3eT80YlrsWGvj2ojuz1rZr2OXkgCzIxAZ7vRQ==}
|
||||
engines: {node: '>=6.0.0', npm: '>=3.10.0'}
|
||||
@ -4875,8 +4804,8 @@ packages:
|
||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
youtubei.js@15.0.1:
|
||||
resolution: {integrity: sha512-2slapqJS5NuXKHvcACEknyVz0AjH/TrXaOhDM0q2twQKa54kCmfj+7B/2nGfd20uzAe29zW1ejk2qOc4ABuGkg==}
|
||||
youtubei.js@16.0.1:
|
||||
resolution: {integrity: sha512-3802bCAGkBc2/G5WUTc0l/bO5mPYJbQAHL04d9hE9PnrDHoBUT8MN721Yqt4RCNncAXdHcfee9VdJy3Fhq1r5g==}
|
||||
|
||||
zlibjs@0.3.1:
|
||||
resolution: {integrity: sha512-+J9RrgTKOmlxFSDHo0pI1xM6BLVUv+o0ZT9ANtCxGkjIVCCUdx9alUF8Gm+dGLKbkkkidWIHFDZHDMpfITt4+w==}
|
||||
@ -5021,7 +4950,7 @@ snapshots:
|
||||
'@babel/helper-string-parser': 7.27.1
|
||||
'@babel/helper-validator-identifier': 7.27.1
|
||||
|
||||
'@bufbuild/protobuf@2.6.3': {}
|
||||
'@bufbuild/protobuf@2.10.0': {}
|
||||
|
||||
'@dehoist/romanize-thai@1.0.0': {}
|
||||
|
||||
@ -5091,7 +5020,7 @@ snapshots:
|
||||
'@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2':
|
||||
dependencies:
|
||||
env-paths: 2.2.1
|
||||
exponential-backoff: 3.1.2
|
||||
exponential-backoff: 3.1.3
|
||||
glob: 8.1.0
|
||||
graceful-fs: 4.2.11
|
||||
make-fetch-happen: 10.2.1
|
||||
@ -5311,11 +5240,7 @@ snapshots:
|
||||
|
||||
'@ffmpeg.wasm/core-mt@0.12.0': {}
|
||||
|
||||
'@ffmpeg.wasm/main@0.12.0':
|
||||
dependencies:
|
||||
is-url: 1.2.4
|
||||
node-fetch: 3.3.2
|
||||
regenerator-runtime: 0.13.11
|
||||
'@ffmpeg.wasm/main@0.13.1': {}
|
||||
|
||||
'@floating-ui/core@1.7.3':
|
||||
dependencies:
|
||||
@ -5858,7 +5783,7 @@ snapshots:
|
||||
'@stylistic/eslint-plugin@5.3.1(eslint@9.35.0)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.8.0(eslint@9.35.0)
|
||||
'@typescript-eslint/types': 8.42.0
|
||||
'@typescript-eslint/types': 8.43.0
|
||||
eslint: 9.35.0
|
||||
eslint-visitor-keys: 4.2.1
|
||||
espree: 10.4.0
|
||||
@ -5879,7 +5804,7 @@ snapshots:
|
||||
dependencies:
|
||||
minimatch: 10.0.3
|
||||
path-browserify: 1.0.1
|
||||
tinyglobby: 0.2.14
|
||||
tinyglobby: 0.2.15
|
||||
|
||||
'@tybys/wasm-util@0.10.0':
|
||||
dependencies:
|
||||
@ -6013,15 +5938,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/project-service@8.42.0(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2)
|
||||
'@typescript-eslint/types': 8.42.0
|
||||
debug: 4.4.1
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/project-service@8.43.0(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2)
|
||||
@ -6031,20 +5947,11 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/scope-manager@8.42.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.42.0
|
||||
'@typescript-eslint/visitor-keys': 8.42.0
|
||||
|
||||
'@typescript-eslint/scope-manager@8.43.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.43.0
|
||||
'@typescript-eslint/visitor-keys': 8.43.0
|
||||
|
||||
'@typescript-eslint/tsconfig-utils@8.42.0(typescript@5.9.2)':
|
||||
dependencies:
|
||||
typescript: 5.9.2
|
||||
|
||||
'@typescript-eslint/tsconfig-utils@8.43.0(typescript@5.9.2)':
|
||||
dependencies:
|
||||
typescript: 5.9.2
|
||||
@ -6061,26 +5968,8 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/types@8.42.0': {}
|
||||
|
||||
'@typescript-eslint/types@8.43.0': {}
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.42.0(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@typescript-eslint/project-service': 8.42.0(typescript@5.9.2)
|
||||
'@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2)
|
||||
'@typescript-eslint/types': 8.42.0
|
||||
'@typescript-eslint/visitor-keys': 8.42.0
|
||||
debug: 4.4.1
|
||||
fast-glob: 3.3.3
|
||||
is-glob: 4.0.3
|
||||
minimatch: 9.0.5
|
||||
semver: 7.7.2
|
||||
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.43.0(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@typescript-eslint/project-service': 8.43.0(typescript@5.9.2)
|
||||
@ -6097,17 +5986,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/utils@8.42.0(eslint@9.35.0)(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.8.0(eslint@9.35.0)
|
||||
'@typescript-eslint/scope-manager': 8.42.0
|
||||
'@typescript-eslint/types': 8.42.0
|
||||
'@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
|
||||
eslint: 9.35.0
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.8.0(eslint@9.35.0)
|
||||
@ -6119,11 +5997,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.42.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.42.0
|
||||
eslint-visitor-keys: 4.2.1
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.43.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.43.0
|
||||
@ -6807,8 +6680,6 @@ snapshots:
|
||||
dependencies:
|
||||
electron: 38.2.0
|
||||
|
||||
data-uri-to-buffer@4.0.1: {}
|
||||
|
||||
data-view-buffer@1.0.2:
|
||||
dependencies:
|
||||
call-bound: 1.0.4
|
||||
@ -7337,7 +7208,7 @@ snapshots:
|
||||
get-tsconfig: 4.10.1
|
||||
is-bun-module: 2.0.0
|
||||
stable-hash-x: 0.2.0
|
||||
tinyglobby: 0.2.14
|
||||
tinyglobby: 0.2.15
|
||||
unrs-resolver: 1.11.1
|
||||
optionalDependencies:
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0)
|
||||
@ -7395,7 +7266,7 @@ snapshots:
|
||||
|
||||
eslint-plugin-solid@0.14.5(eslint@9.35.0)(typescript@5.9.2):
|
||||
dependencies:
|
||||
'@typescript-eslint/utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
|
||||
'@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
|
||||
eslint: 9.35.0
|
||||
estraverse: 5.3.0
|
||||
is-html: 2.0.0
|
||||
@ -7503,7 +7374,7 @@ snapshots:
|
||||
|
||||
exif-parser@0.1.12: {}
|
||||
|
||||
exponential-backoff@3.1.2: {}
|
||||
exponential-backoff@3.1.3: {}
|
||||
|
||||
extract-zip@2.0.1:
|
||||
dependencies:
|
||||
@ -7554,11 +7425,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
picomatch: 4.0.3
|
||||
|
||||
fetch-blob@3.2.0:
|
||||
dependencies:
|
||||
node-domexception: 1.0.0
|
||||
web-streams-polyfill: 3.3.3
|
||||
|
||||
fflate@0.8.2: {}
|
||||
|
||||
file-entry-cache@8.0.0:
|
||||
@ -7614,10 +7480,6 @@ snapshots:
|
||||
hasown: 2.0.2
|
||||
mime-types: 2.1.35
|
||||
|
||||
formdata-polyfill@4.0.10:
|
||||
dependencies:
|
||||
fetch-blob: 3.2.0
|
||||
|
||||
from@0.1.7: {}
|
||||
|
||||
fs-extra@10.1.0:
|
||||
@ -8119,8 +7981,6 @@ snapshots:
|
||||
|
||||
is-unicode-supported@0.1.0: {}
|
||||
|
||||
is-url@1.2.4: {}
|
||||
|
||||
is-weakmap@2.0.2: {}
|
||||
|
||||
is-weakref@1.1.1:
|
||||
@ -8200,10 +8060,6 @@ snapshots:
|
||||
'@jimp/types': 1.6.0
|
||||
'@jimp/utils': 1.6.0
|
||||
|
||||
jintr@3.3.1:
|
||||
dependencies:
|
||||
acorn: 8.15.0
|
||||
|
||||
jpeg-js@0.4.4: {}
|
||||
|
||||
js-tokens@4.0.0: {}
|
||||
@ -8470,6 +8326,8 @@ snapshots:
|
||||
|
||||
merge2@1.4.1: {}
|
||||
|
||||
meriyah@6.1.4: {}
|
||||
|
||||
micromatch@4.0.8:
|
||||
dependencies:
|
||||
braces: 3.0.3
|
||||
@ -8607,27 +8465,19 @@ snapshots:
|
||||
dependencies:
|
||||
semver: 7.7.2
|
||||
|
||||
node-domexception@1.0.0: {}
|
||||
|
||||
node-fetch@3.3.2:
|
||||
dependencies:
|
||||
data-uri-to-buffer: 4.0.1
|
||||
fetch-blob: 3.2.0
|
||||
formdata-polyfill: 4.0.10
|
||||
|
||||
node-gyp-build@4.8.4: {}
|
||||
|
||||
node-gyp@11.4.2:
|
||||
dependencies:
|
||||
env-paths: 2.2.1
|
||||
exponential-backoff: 3.1.2
|
||||
exponential-backoff: 3.1.3
|
||||
graceful-fs: 4.2.11
|
||||
make-fetch-happen: 14.0.3
|
||||
nopt: 8.1.0
|
||||
proc-log: 5.0.0
|
||||
semver: 7.7.2
|
||||
tar: 7.4.3
|
||||
tinyglobby: 0.2.14
|
||||
tinyglobby: 0.2.15
|
||||
which: 5.0.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@ -8977,8 +8827,6 @@ snapshots:
|
||||
get-proto: 1.0.1
|
||||
which-builtin-type: 1.2.1
|
||||
|
||||
regenerator-runtime@0.13.11: {}
|
||||
|
||||
regexp.prototype.flags@1.5.4:
|
||||
dependencies:
|
||||
call-bind: 1.0.8
|
||||
@ -9488,11 +9336,6 @@ snapshots:
|
||||
|
||||
tinycolor2@1.6.0: {}
|
||||
|
||||
tinyglobby@0.2.14:
|
||||
dependencies:
|
||||
fdir: 6.5.0(picomatch@4.0.3)
|
||||
picomatch: 4.0.3
|
||||
|
||||
tinyglobby@0.2.15:
|
||||
dependencies:
|
||||
fdir: 6.5.0(picomatch@4.0.3)
|
||||
@ -9770,8 +9613,6 @@ snapshots:
|
||||
dependencies:
|
||||
defaults: 1.0.4
|
||||
|
||||
web-streams-polyfill@3.3.3: {}
|
||||
|
||||
webrtc-adapter@9.0.3:
|
||||
dependencies:
|
||||
sdp: 3.2.1
|
||||
@ -9904,11 +9745,10 @@ snapshots:
|
||||
|
||||
yocto-queue@0.1.0: {}
|
||||
|
||||
youtubei.js@15.0.1:
|
||||
youtubei.js@16.0.1:
|
||||
dependencies:
|
||||
'@bufbuild/protobuf': 2.6.3
|
||||
jintr: 3.3.1
|
||||
undici: 6.21.3
|
||||
'@bufbuild/protobuf': 2.10.0
|
||||
meriyah: 6.1.4
|
||||
|
||||
zlibjs@0.3.1: {}
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
"console": {
|
||||
"plugins": {
|
||||
"execute-failed": "Erweiterung {{pluginName}}::{{contextName}} konnte nicht ausgeführt werden",
|
||||
"executed-at-ms": "Erweiterung {{pluginName}}::{{contextName}} ausgeführt in {{ms}}ms",
|
||||
"executed-at-ms": "Erweiterung {{pluginName}}::{{contextName}} in {{ms}}ms ausgeführt",
|
||||
"initialize-failed": "Initialisierung der Erweiterung \"{{pluginName}}\" fehlgeschlagen",
|
||||
"load-all": "Lade alle Erweiterungen",
|
||||
"load-failed": "Laden der Erweiterung \"{{pluginName}}\" fehlgeschlagen",
|
||||
|
||||
@ -237,7 +237,8 @@
|
||||
"submenu": {
|
||||
"percent": "{{ratio}}%"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enable-seekbar": "Enable seekbar theming"
|
||||
},
|
||||
"name": "Album Color Theme"
|
||||
},
|
||||
|
||||
@ -31,6 +31,15 @@
|
||||
},
|
||||
"theme": {
|
||||
"css-file-not-found": "CSS faili „{{cssFile}}“ pole olemas, seega eirame eelistust"
|
||||
},
|
||||
"unresponsive": {
|
||||
"details": "Tõrge ei vasta!\n{{error}}"
|
||||
},
|
||||
"when-ready": {
|
||||
"clearing-cache-after-20s": "Programmi vahemälu kustutamine"
|
||||
},
|
||||
"window": {
|
||||
"tried-to-render-offscreen": "Akent prooviti renderdada väljaspool ekraani, windowSize={{windowSize}}, displaySize={{displaySize}}, position={{position}}"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@ -89,9 +98,29 @@
|
||||
"submenu": {
|
||||
"auto-reset-app-cache": "Rakenduse käivitamisel lähtesta puhverdatud andmed",
|
||||
"disable-hardware-acceleration": "Lülita raudvaraline kiirendamine välja",
|
||||
"edit-config-json": "Muuda config.json faili"
|
||||
"edit-config-json": "Muuda config.json faili",
|
||||
"override-user-agent": "Jõudlusta User-Agent",
|
||||
"restart-on-config-changes": "Taaskäivita pärast konfiguratsiooni muutmist",
|
||||
"set-proxy": {
|
||||
"label": "Määra proxy",
|
||||
"prompt": {
|
||||
"label": "Sisesta proxy aadress: (jäta täitmata, et välja lülitada)",
|
||||
"placeholder": "Näide: SOCKS5://127.0.0.1:9999",
|
||||
"title": "Määra proxy"
|
||||
}
|
||||
},
|
||||
"toggle-dev-tools": "Lülita sisse arendaja tööriistad"
|
||||
}
|
||||
},
|
||||
"always-on-top": "Alati esiplaanil",
|
||||
"auto-update": "Automaatsed uuendused",
|
||||
"hide-menu": {
|
||||
"dialog": {
|
||||
"message": "Järgmisel käivitamisel jääb menüü peidetuks, kasutage [Alt] klahvi, et näidata (või [`], kui kasutate rakendusesisest menüüd)",
|
||||
"title": "Menüü peitmine on sisse lülitatud"
|
||||
},
|
||||
"label": "Peida menüü"
|
||||
},
|
||||
"language": {
|
||||
"dialog": {
|
||||
"message": "Keele muutmine jõustub peale uuesti käivitamist",
|
||||
@ -103,13 +132,38 @@
|
||||
}
|
||||
},
|
||||
"resume-on-start": "Rakenduse käivitamisel jätka viimatiesitatud loo esitamist",
|
||||
"single-instance-lock": "Ühe instantsi lukk",
|
||||
"start-at-login": "Käivita sisselogimisel",
|
||||
"starting-page": {
|
||||
"label": "Avaleht",
|
||||
"unset": "Määramata"
|
||||
},
|
||||
"visual-tweaks": {
|
||||
"tray": {
|
||||
"label": "Trey",
|
||||
"submenu": {
|
||||
"disabled": "Välja lülitatud",
|
||||
"enabled-and-hide-app": "Sisse lülitatud ja rakendus peidetud",
|
||||
"enabled-and-show-app": "Sisse lülitatud ja rakendus nähtav",
|
||||
"play-pause-on-click": "Mängi/Peata klõpsates"
|
||||
}
|
||||
},
|
||||
"visual-tweaks": {
|
||||
"label": "Visuaalsed muudatused",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "Kohandatud akna tiitel",
|
||||
"prompt": {
|
||||
"label": "Sisesta kohandatud akna tiitel: (jäta täitmata, et välja lülitada)",
|
||||
"placeholder": "Näide: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "Vaikimisi",
|
||||
"force-show": "Sunni näitama",
|
||||
"hide": "Peida",
|
||||
"label": "Meeldib nupud"
|
||||
},
|
||||
"remove-upgrade-button": "Eemalda upgrade nupp",
|
||||
"theme": {
|
||||
"dialog": {
|
||||
"button": {
|
||||
@ -119,7 +173,11 @@
|
||||
"remove-theme": "Kas oled kindel, et soovid enda loodud kujunduse eemaldada?",
|
||||
"remove-theme-message": "Sellega saab sinu loodud kujundus eemdladatud"
|
||||
},
|
||||
"label": "Kujundus"
|
||||
"label": "Kujundus",
|
||||
"submenu": {
|
||||
"import-css-file": "Impordi kohandatud CSS fail",
|
||||
"no-theme": "Ilma kujunduseta"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -167,8 +225,28 @@
|
||||
},
|
||||
"name": "Reklaamiblokeerija"
|
||||
},
|
||||
"ambient-mode": {
|
||||
"album-actions": {
|
||||
"description": "Lisab Undislike, Ebameeldiv, Meeldiv ja Unlike nupud selle rakendamiseks kõikidele loendisse või albumisse kuuluvatele lauludele.",
|
||||
"name": "Albumi aktsioonid"
|
||||
},
|
||||
"album-color-theme": {
|
||||
"description": "Rakendab dünaamilist teemat ja visuaalseid efekte, mis põhinevad albumi värvipalettil",
|
||||
"menu": {
|
||||
"color-mix-ratio": {
|
||||
"label": "Värvide segamissuhe",
|
||||
"submenu": {
|
||||
"percent": "{{suhe}}%"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Albumi värviteema"
|
||||
},
|
||||
"ambient-mode": {
|
||||
"description": "Rakendab valgusefekti, projitseerides videost õrnad värvid ekraani taustale",
|
||||
"menu": {
|
||||
"blur-amount": {
|
||||
"label": "Hägusus"
|
||||
},
|
||||
"opacity": {
|
||||
"submenu": {
|
||||
"percent": "{{opacity}}%"
|
||||
|
||||
@ -53,8 +53,158 @@
|
||||
"later": "Despois",
|
||||
"restart-now": "Reiniciar Agora"
|
||||
},
|
||||
"detail": "O plugin \"{{pluginName}}\" precisa dun reinicio para tomar efecto"
|
||||
"detail": "O plugin \"{{pluginName}}\" precisa dun reinicio para tomar efecto",
|
||||
"message": "\"{{pluginName}}\" precisa reiniciar",
|
||||
"title": "Requírese reinicio"
|
||||
},
|
||||
"unresponsive": {
|
||||
"buttons": {
|
||||
"quit": "Saír",
|
||||
"relaunch": "Lanzar de novo",
|
||||
"wait": "Agardar"
|
||||
},
|
||||
"detail": "Desculpa o inconveniente! Por favor escolle que facer:",
|
||||
"message": "A aplicación non responde",
|
||||
"title": "A xanela non responde"
|
||||
},
|
||||
"update-available": {
|
||||
"buttons": {
|
||||
"disable": "Desactivar actualizacións",
|
||||
"download": "Descarregar",
|
||||
"ok": "OK"
|
||||
},
|
||||
"detail": "Está dispoñíbel unha nova versión que se pode descarregar de {{downloadLink}}",
|
||||
"message": "Hai una nova versión dispoñíbel",
|
||||
"title": "Actualización dispoñíbel"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"about": "Sobre",
|
||||
"navigation": {
|
||||
"label": "Navegación",
|
||||
"submenu": {
|
||||
"copy-current-url": "Copiar o URL actual",
|
||||
"go-back": "Atrás",
|
||||
"go-forward": "Adiante",
|
||||
"quit": "Saír",
|
||||
"restart": "Reiniciar a aplicación"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"label": "Opcións",
|
||||
"submenu": {
|
||||
"advanced-options": {
|
||||
"label": "Opcións avanzadas",
|
||||
"submenu": {
|
||||
"auto-reset-app-cache": "Reiniciar a caché cando a aplicación arrinque",
|
||||
"disable-hardware-acceleration": "Desactivar a aceleración hardware",
|
||||
"edit-config-json": "Editar config.json",
|
||||
"override-user-agent": "Substituír o User-Agent",
|
||||
"restart-on-config-changes": "Reiniciar ao alterar a configuración",
|
||||
"set-proxy": {
|
||||
"label": "Configurar o proxy",
|
||||
"prompt": {
|
||||
"label": "Introducir o enderezo do proxy (deixar baleiro para desactivalo)",
|
||||
"placeholder": "Exemplo: SOCKS5://127.0.0.1:9999",
|
||||
"title": "Configurar o proxy"
|
||||
}
|
||||
},
|
||||
"toggle-dev-tools": "Activar ou desactivar as DevTools"
|
||||
}
|
||||
},
|
||||
"always-on-top": "Sempre en primeiro plano",
|
||||
"auto-update": "Actualización automática",
|
||||
"hide-menu": {
|
||||
"dialog": {
|
||||
"message": "O menú ocultarase no próximo inicio; use [Alt] para mostralo (ou a tecla [`] se emprega o menú integrado)",
|
||||
"title": "Ocultar Menú activado"
|
||||
},
|
||||
"label": "Ocultar Menú"
|
||||
},
|
||||
"language": {
|
||||
"dialog": {
|
||||
"message": "A lingua hase mudar despois do reinicio",
|
||||
"title": "Mudouse a lingua"
|
||||
},
|
||||
"label": "Lingua",
|
||||
"submenu": {
|
||||
"to-help-translate": "Quere axudar a traducir? Prema aquí"
|
||||
}
|
||||
},
|
||||
"resume-on-start": "Retomar a última canción ao iniciar a aplicación",
|
||||
"single-instance-lock": "Bloqueo de instancia única",
|
||||
"start-at-login": "Iniciar co inicio de sesión",
|
||||
"starting-page": {
|
||||
"label": "Páxina de inicio",
|
||||
"unset": "Sen definir"
|
||||
},
|
||||
"tray": {
|
||||
"label": "Bandexa",
|
||||
"submenu": {
|
||||
"disabled": "Desactivado",
|
||||
"enabled-and-hide-app": "Activado e ocultar a aplicación",
|
||||
"enabled-and-show-app": "Activado e mostrar a aplicación",
|
||||
"play-pause-on-click": "Reproducir/Pausar ao premer"
|
||||
}
|
||||
},
|
||||
"visual-tweaks": {
|
||||
"label": "Axustes visuais",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "Título de xanela personalizado",
|
||||
"prompt": {
|
||||
"label": "Introduza o título personalizado da xanela (deixe baleiro para desactivala)",
|
||||
"placeholder": "Exemplo: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "Predeterminado",
|
||||
"force-show": "Forzar a visualización",
|
||||
"hide": "Agochar",
|
||||
"label": "Botóns de Gústame"
|
||||
},
|
||||
"remove-upgrade-button": "Retirar o botón de anovación",
|
||||
"theme": {
|
||||
"dialog": {
|
||||
"button": {
|
||||
"cancel": "Cancelar",
|
||||
"remove": "Retirar"
|
||||
},
|
||||
"remove-theme": "Estás certo que queres retirar o tema personalizado?",
|
||||
"remove-theme-message": "Isto ha retirar o tema personalizado"
|
||||
},
|
||||
"label": "Tema",
|
||||
"submenu": {
|
||||
"import-css-file": "Importar arquivo CSS personalizado",
|
||||
"no-theme": "Sen tema"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"plugins": {
|
||||
"enabled": "Activado",
|
||||
"label": "Complementos",
|
||||
"new": "NOVO"
|
||||
},
|
||||
"view": {
|
||||
"label": "Vista",
|
||||
"submenu": {
|
||||
"force-reload": "Forzar recarga",
|
||||
"reload": "Recargar",
|
||||
"reset-zoom": "Tamaño real",
|
||||
"toggle-fullscreen": "Alternar Pantalla Completa",
|
||||
"zoom-in": "Achegarse",
|
||||
"zoom-out": "Afastarse"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
"next": "Seguinte",
|
||||
"play-pause": "Reproducir/Pausar",
|
||||
"previous": "Anterior",
|
||||
"quit": "Saír"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -150,6 +150,11 @@
|
||||
"visual-tweaks": {
|
||||
"label": "תיקונים חזותיים",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"prompt": {
|
||||
"placeholder": "לדוגמה: שולחן כתיבה אגסי"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "ברירת מחדל",
|
||||
"force-show": "הפעל בכוח",
|
||||
@ -201,8 +206,8 @@
|
||||
"restart": "הפעל מחדש",
|
||||
"show": "הראה חלון",
|
||||
"tooltip": {
|
||||
"default": "יוטיוב מיוזיק",
|
||||
"with-song-info": "יוטיוב מיוזיק: {{artist}} - {{title}}"
|
||||
"default": "שולחן כתיבה אגסי",
|
||||
"with-song-info": "שולחן כתיב אגסי: {{יוצר}} - {{כותרת}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -212,7 +217,7 @@
|
||||
"name": "הגבר מהירות פרסומת"
|
||||
},
|
||||
"adblocker": {
|
||||
"description": "חסום את כל המודעות והמעקב מחוץ לקופסה",
|
||||
"description": "חסום את כל המודעות והמעקבים",
|
||||
"menu": {
|
||||
"blocker": "חוסם"
|
||||
},
|
||||
@ -244,6 +249,7 @@
|
||||
}
|
||||
},
|
||||
"buffer": {
|
||||
"label": "חוצץ",
|
||||
"submenu": {
|
||||
"buffer": "{{buffer}}"
|
||||
}
|
||||
@ -380,6 +386,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "פתח בחירת כתוביות"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "תרגום שונה ל {{שפה}}",
|
||||
"caption-disabled": "תרגום בוטל",
|
||||
"no-captions": "אין תרגום זמין לשיר הזה"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -391,9 +402,11 @@
|
||||
"menu": {
|
||||
"advanced": "מתקדם"
|
||||
},
|
||||
"name": "התפיידות צלב[בית]",
|
||||
"prompt": {
|
||||
"options": {
|
||||
"multi-input": {
|
||||
"fade-in-duration": "תתפייד בזמן[מילישניות]",
|
||||
"fade-scaling": {
|
||||
"linear": "לינארי",
|
||||
"logarithmic": "לוגריתמי"
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "कस्टम विंडो टाइटल",
|
||||
"prompt": {
|
||||
"label": "कस्टम विंडो टाइटल डालें: (डिसएबल करने के लिए खाली छोड़ें)",
|
||||
"placeholder": "उदाहरण: यूट्यूब संगीत"
|
||||
"placeholder": "उदाहरण: पियर डेस्कटॉप"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "ऐप पुनः प्रारंभ करें",
|
||||
"show": "ऐप दिखाए",
|
||||
"tooltip": {
|
||||
"default": "यूट्यूब म्यूजिक",
|
||||
"with-song-info": "यूट्यूब म्यूजिक: {{artist}} - {{title}}"
|
||||
"default": "पियर डेस्कटॉप",
|
||||
"with-song-info": "पियर डेस्कटॉप: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -426,7 +426,13 @@
|
||||
"menu": {
|
||||
"device-selector": "डिवाइस चुनें"
|
||||
},
|
||||
"name": "अपनी पसंद का आउटपुट डिवाइस"
|
||||
"name": "अपनी पसंद का आउटपुट डिवाइस",
|
||||
"prompt": {
|
||||
"device-selector": {
|
||||
"label": "उपयोग किए जाने वाला आउटपुट मीडिया चुने",
|
||||
"title": "आउटपुट डिवाइस चुनें"
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable-autoplay": {
|
||||
"description": "गीत को \"रुके हुए \" मोड में शुरू करता है",
|
||||
@ -451,7 +457,15 @@
|
||||
"hide-duration-left": "शेष अवधि छिपाएँ",
|
||||
"hide-github-button": "GitHub लिंक के बटन को छिपाएँ",
|
||||
"play-on-pear-desktop": "Pear Desktop म्यूज़िक पर चलाएँ",
|
||||
"set-inactivity-timeout": "निष्क्रियता समय समाप्ति सेट करें"
|
||||
"set-inactivity-timeout": "निष्क्रियता समय समाप्ति सेट करें",
|
||||
"set-status-display-type": {
|
||||
"label": "स्टेटस टेक्स्ट",
|
||||
"submenu": {
|
||||
"artist": "{artist} को सुन रहे है",
|
||||
"pear-desktop": "Pear Desktop सुन रहे है",
|
||||
"title": "{song title} सुन रहे है"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "डिस्कॉर्ड रिच प्रेजेंस",
|
||||
"prompt": {
|
||||
@ -743,6 +757,7 @@
|
||||
"listenbrainz": {
|
||||
"token": "listenbrainz उपयोगकर्ता टोकन दर्ज करें"
|
||||
},
|
||||
"scrobble-alternative-artist": "वैकल्पिक आर्टिस्ट का उपयोग करें",
|
||||
"scrobble-alternative-title": "वैकल्पिक शीर्षक का उपयोग करें",
|
||||
"scrobble-other-media": "अन्य मीडिया स्क्रोबल करें"
|
||||
},
|
||||
@ -788,9 +803,12 @@
|
||||
"name": "साइलेंस स्किप करें"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"description": "Intro/Outro जैसे गैर-संगीत भागों को स्किप करता है",
|
||||
"description": "गाने के वीडियो में जहाँ म्यूजिक नहीं चलता, जैसे शुरुआत या अंत के हिस्से, उन्हें अपने आप स्किप कर देता है",
|
||||
"name": "SponsorBlock"
|
||||
},
|
||||
"synced-lyrics": {
|
||||
"description": "LRClib जैसे सोर्सेज के उपयोग से, गानों के लिए सिंक किए गए लिरिक्स देता है।"
|
||||
},
|
||||
"video-toggle": {
|
||||
"menu": {
|
||||
"align": {
|
||||
|
||||
@ -237,7 +237,8 @@
|
||||
"submenu": {
|
||||
"percent": "{{ratio}}%"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enable-seekbar": "재생바 색조 변경 활성화"
|
||||
},
|
||||
"name": "앨범 컬러 기반 테마"
|
||||
},
|
||||
|
||||
@ -462,7 +462,7 @@
|
||||
"label": "Text stavu",
|
||||
"submenu": {
|
||||
"artist": "Aktuálne si prehráva {artist}",
|
||||
"pear-desktop": "Aktuálne prehráva Pear Desktop",
|
||||
"pear-desktop": "Počúvať Pear Desktop",
|
||||
"title": "Aktuálne si prehráva {song title}"
|
||||
}
|
||||
}
|
||||
@ -731,11 +731,85 @@
|
||||
"title": "Výber kvality videa"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Umožňuje zmeniť kvalitu videa pomocou tlačidla v prekrytí videa",
|
||||
"name": "Zmena kvality videa",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Otvoriť nastavenia kvality prehrávača"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Pridať podporu scrobbling (napr. last.fm, Listenbrainz)",
|
||||
"dialog": {
|
||||
"lastfm": {
|
||||
"auth-failed": {
|
||||
"message": "Nepodarilo sa autentifikovať s Last.fm\nSkryť vyskakovacie okno do ďalšieho reštartu.",
|
||||
"title": "Autentifikácia zlyhala"
|
||||
}
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"lastfm": {
|
||||
"api-settings": "Last.fm API Nastavenia"
|
||||
},
|
||||
"listenbrainz": {
|
||||
"token": "Vložiť ListenBrainz používateľský token"
|
||||
},
|
||||
"scrobble-alternative-artist": "Použiť alternatívnych umelcov",
|
||||
"scrobble-alternative-title": "Použiť alternatívne názvy",
|
||||
"scrobble-other-media": "Scrobble iných médií"
|
||||
},
|
||||
"name": "Scrobbler",
|
||||
"prompt": {
|
||||
"lastfm": {
|
||||
"api-key": "Last.fm API kľúč",
|
||||
"api-secret": "Last.fm API tajomstvo"
|
||||
},
|
||||
"listenbrainz": {
|
||||
"token": {
|
||||
"label": "Vlož svoj ListenBrainz používateľský token:",
|
||||
"title": "ListenBrainz token"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"shortcuts": {
|
||||
"description": "Povoľuje nastaviť globálne klávesové skratky pre prehrávanie (Prehrať/Pozastaviť/Ďalšie/Predošlé) a vypínať media OSD prepisovaním media kľúčov, zapne Ctrl/CMD + F pre vyhľadávanie, zapne Linux MPRIS podporu pre media kľúče a vlastné klávesové skratky pre pokročilých používateľov.",
|
||||
"menu": {
|
||||
"override-media-keys": "Prepísať Media Kľúče",
|
||||
"set-keybinds": "Globálne ovládanie skladieb"
|
||||
},
|
||||
"name": "Skratky (& MPRIS)",
|
||||
"prompt": {
|
||||
"keybind": {
|
||||
"keybind-options": {
|
||||
"next": "Ďalšia",
|
||||
"play-pause": "Prehrať / Pauza",
|
||||
"previous": "Predošlá"
|
||||
},
|
||||
"label": "Zvoliť globálne klávesové skratky na ovládanie skladieb:",
|
||||
"title": "Globálne klávesové skratky"
|
||||
}
|
||||
}
|
||||
},
|
||||
"skip-disliked-songs": {
|
||||
"description": "Preskakuje skladby označené Nepáči sa",
|
||||
"name": "Preskakovať skladby označené Nepáči sa"
|
||||
},
|
||||
"skip-silences": {
|
||||
"description": "Automaticky preskakovať tiché časti v hudbe",
|
||||
"name": "Preskakuj tiché časti"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"description": "Automaticky preskakuje nehudbné časti ako intro/outro, alebo tie časti videoklipov v ktorých nehrá hudba",
|
||||
"name": "Sponzorský blok"
|
||||
},
|
||||
"synced-lyrics": {
|
||||
"description": "Poskytuje synchronizované texty k skladbám, pričom používa poskytovateľov ako LRClib.",
|
||||
"errors": {
|
||||
"fetch": "⚠️\t\tPri získavaní textu sa vyskytla chyba. \n\tSkúste znova neskôr.",
|
||||
"not-found": "⚠️Pre túto skladbu nebol nájdený žiadny text."
|
||||
},
|
||||
"menu": {
|
||||
|
||||
@ -461,7 +461,9 @@
|
||||
"set-status-display-type": {
|
||||
"label": "Статус",
|
||||
"submenu": {
|
||||
"pear-desktop": "Відтворення з Pear Desktop"
|
||||
"artist": "Ви слухаєте {artist}",
|
||||
"pear-desktop": "Відтворення з Pear Desktop",
|
||||
"title": "Ви слухаєте {song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -731,7 +733,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Дозволяє змінювати якість відео за допомогою кнопки на відео оверлеї",
|
||||
"name": "Зміна якості відео"
|
||||
"name": "Зміна якості відео",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Відкрити налаштування якості плеєру"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Додає підтримку скроблінгу (last.fm, Listenbrainz тощо)",
|
||||
@ -750,6 +757,7 @@
|
||||
"listenbrainz": {
|
||||
"token": "Ввести токен користувача ListenBrainz"
|
||||
},
|
||||
"scrobble-alternative-artist": "Використати іншого виконавця",
|
||||
"scrobble-alternative-title": "Використовувати альтернативні назви",
|
||||
"scrobble-other-media": "Скробилити інші медіа"
|
||||
},
|
||||
@ -835,6 +843,14 @@
|
||||
"label": "Зробити текст пісні ідеально синхронізованим",
|
||||
"tooltip": "Обчисли до мілісекунд відображення наступного рядка (може мати невеликий вплив на продуктивність)"
|
||||
},
|
||||
"preferred-provider": {
|
||||
"label": "Пріорітетний Провайдер",
|
||||
"none": {
|
||||
"label": "Жоден",
|
||||
"tooltip": "Нема провайдера за замовчуванням"
|
||||
},
|
||||
"tooltip": "Оберіть якого провайдера використовувати за замовчуванням"
|
||||
},
|
||||
"romanization": {
|
||||
"label": "Транслітерувати текст пісень",
|
||||
"tooltip": "Якщо текст пісні іншою мовою, спробувати його відобразити латинською версією."
|
||||
@ -867,6 +883,27 @@
|
||||
"description": "Додає віджет TouchBar для користувачів macOS",
|
||||
"name": "TouchBar"
|
||||
},
|
||||
"transparent-player": {
|
||||
"description": "Зробити вікно програми прозорим",
|
||||
"menu": {
|
||||
"opacity": {
|
||||
"label": "Прозорість",
|
||||
"submenu": {
|
||||
"percent": "{{opacity}}%"
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
"label": "Тип",
|
||||
"submenu": {
|
||||
"acrylic": "Акриловий",
|
||||
"mica": "Міка",
|
||||
"none": "Жоден",
|
||||
"tabbed": "З роздільниками"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Прозорий Плеєр"
|
||||
},
|
||||
"tuna-obs": {
|
||||
"description": "Інтеграція з плагіном Tuna для OBS",
|
||||
"name": "Tuna OBS"
|
||||
@ -898,7 +935,8 @@
|
||||
},
|
||||
"name": "Перемикач відео",
|
||||
"templates": {
|
||||
"button-song": "Пісня"
|
||||
"button-song": "Пісня",
|
||||
"button-video": "Відео"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -151,7 +151,9 @@
|
||||
"label": "بصری تبدیلیاں",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "اپنی مرضی کا ونڈو عنوان",
|
||||
"prompt": {
|
||||
"label": "اپنی مرضی کا ونڈو عنوان درج کریں: (بند کرنے کے لیے خالی چھوڑ دیں)",
|
||||
"placeholder": "مثال: پیئر ڈیسک ٹاپ"
|
||||
}
|
||||
},
|
||||
@ -219,7 +221,8 @@
|
||||
"description": "شروغ سے تمام اشتہارات اور ٹریکنگ بلاک کردیں",
|
||||
"menu": {
|
||||
"blocker": "بلاکر"
|
||||
}
|
||||
},
|
||||
"name": "ایڈ بلاکر"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -237,7 +237,8 @@
|
||||
"submenu": {
|
||||
"percent": "{{ratio}}%"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enable-seekbar": "启用进度条主题"
|
||||
},
|
||||
"name": "专辑配色主题"
|
||||
},
|
||||
@ -462,8 +463,8 @@
|
||||
"label": "状态文本",
|
||||
"submenu": {
|
||||
"artist": "在听 {artist}",
|
||||
"title": "在听 {song title}",
|
||||
"pear-desktop": "在听 Pear Desktop"
|
||||
"pear-desktop": "在听 Pear Desktop",
|
||||
"title": "在听 {song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -10,41 +10,32 @@ const COLOR_KEY = '--ytmusic-album-color';
|
||||
const DARK_COLOR_KEY = '--ytmusic-album-color-dark';
|
||||
const RATIO_KEY = '--ytmusic-album-color-ratio';
|
||||
|
||||
export default createPlugin<
|
||||
unknown,
|
||||
unknown,
|
||||
{
|
||||
color?: ColorInstance;
|
||||
darkColor?: ColorInstance;
|
||||
type Config = {
|
||||
enabled: boolean;
|
||||
ratio: number;
|
||||
enableSeekbar: boolean;
|
||||
};
|
||||
|
||||
playerPage: HTMLElement | null;
|
||||
navBarBackground: HTMLElement | null;
|
||||
ytmusicPlayerBar: HTMLElement | null;
|
||||
playerBarBackground: HTMLElement | null;
|
||||
sidebarBig: HTMLElement | null;
|
||||
sidebarSmall: HTMLElement | null;
|
||||
ytmusicAppLayout: HTMLElement | null;
|
||||
type Renderer = {
|
||||
getMixedColor(
|
||||
color: string,
|
||||
key: string,
|
||||
alpha?: number,
|
||||
ratioMultiply?: number,
|
||||
): string;
|
||||
updateColor(alpha: number): void;
|
||||
onConfigChange(newConfig: Config): void;
|
||||
};
|
||||
|
||||
getMixedColor(
|
||||
color: string,
|
||||
key: string,
|
||||
alpha?: number,
|
||||
ratioMultiply?: number,
|
||||
): string;
|
||||
updateColor(alpha: number): void;
|
||||
},
|
||||
{
|
||||
enabled: boolean;
|
||||
ratio: number;
|
||||
}
|
||||
>({
|
||||
export default createPlugin({
|
||||
name: () => t('plugins.album-color-theme.name'),
|
||||
description: () => t('plugins.album-color-theme.description'),
|
||||
restartNeeded: false,
|
||||
config: {
|
||||
enabled: false,
|
||||
ratio: 0.5,
|
||||
},
|
||||
enableSeekbar: true,
|
||||
} satisfies Config as Config,
|
||||
stylesheets: [style],
|
||||
menu: async ({ getConfig, setConfig }) => {
|
||||
const ratioList = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1];
|
||||
@ -68,18 +59,28 @@ export default createPlugin<
|
||||
},
|
||||
})),
|
||||
},
|
||||
{
|
||||
label: t('plugins.album-color-theme.menu.enable-seekbar'),
|
||||
type: 'checkbox',
|
||||
checked: config.enableSeekbar,
|
||||
click(item) {
|
||||
setConfig({ enableSeekbar: item.checked });
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
renderer: {
|
||||
playerPage: null,
|
||||
navBarBackground: null,
|
||||
ytmusicPlayerBar: null,
|
||||
playerBarBackground: null,
|
||||
sidebarBig: null,
|
||||
sidebarSmall: null,
|
||||
ytmusicAppLayout: null,
|
||||
playerPage: null as HTMLElement | null,
|
||||
navBarBackground: null as HTMLElement | null,
|
||||
ytmusicPlayerBar: null as HTMLElement | null,
|
||||
playerBarBackground: null as HTMLElement | null,
|
||||
sidebarBig: null as HTMLElement | null,
|
||||
sidebarSmall: null as HTMLElement | null,
|
||||
ytmusicAppLayout: null as HTMLElement | null,
|
||||
color: null as ColorInstance | null,
|
||||
darkColor: null as ColorInstance | null,
|
||||
|
||||
async start({ getConfig }) {
|
||||
start() {
|
||||
this.playerPage = document.querySelector<HTMLElement>('#player-page');
|
||||
this.navBarBackground = document.querySelector<HTMLElement>(
|
||||
'#nav-bar-background',
|
||||
@ -94,14 +95,11 @@ export default createPlugin<
|
||||
'#mini-guide-background',
|
||||
);
|
||||
this.ytmusicAppLayout = document.querySelector<HTMLElement>('#layout');
|
||||
|
||||
const config = await getConfig();
|
||||
document.documentElement.style.setProperty(
|
||||
RATIO_KEY,
|
||||
`${~~(config.ratio * 100)}%`,
|
||||
);
|
||||
},
|
||||
onPlayerApiReady(playerApi) {
|
||||
async onPlayerApiReady(playerApi, { getConfig }) {
|
||||
const config = await getConfig();
|
||||
(this as Renderer).onConfigChange(config);
|
||||
|
||||
const fastAverageColor = new FastAverageColor();
|
||||
|
||||
document.addEventListener('videodatachange', async (event) => {
|
||||
@ -152,7 +150,7 @@ export default createPlugin<
|
||||
alpha = value;
|
||||
}
|
||||
}
|
||||
this.updateColor(alpha ?? 1);
|
||||
(this as Renderer).updateColor(alpha ?? 1);
|
||||
});
|
||||
},
|
||||
onConfigChange(config) {
|
||||
@ -160,8 +158,15 @@ export default createPlugin<
|
||||
RATIO_KEY,
|
||||
`${~~(config.ratio * 100)}%`,
|
||||
);
|
||||
if (config.enableSeekbar) document.body.classList.add('seekbar-theme');
|
||||
else document.body.classList.remove('seekbar-theme');
|
||||
},
|
||||
getMixedColor(color: string, key: string, alpha = 1, ratioMultiply) {
|
||||
getMixedColor(
|
||||
color: string,
|
||||
key: string,
|
||||
alpha = 1,
|
||||
ratioMultiply?: number,
|
||||
) {
|
||||
const keyColor = `rgba(var(${key}), ${alpha})`;
|
||||
|
||||
let colorRatio = `var(${RATIO_KEY}, 50%)`;
|
||||
@ -207,26 +212,39 @@ export default createPlugin<
|
||||
'--yt-spec-black-pure-alpha-80': 'rgba(0,0,0,0.8)',
|
||||
'--yt-spec-black-1-alpha-98': 'rgba(40,40,40,0.98)',
|
||||
'--yt-spec-black-1-alpha-95': 'rgba(40,40,40,0.95)',
|
||||
'--paper-toast-background-color': '#323232',
|
||||
'--ytmusic-search-background': '#030303',
|
||||
'--paper-slider-knob-color': '#f03',
|
||||
'--paper-dialog-background-color': '#212121',
|
||||
'--paper-progress-active-color-1': '#f03',
|
||||
'--paper-progress-active-color-2': '#ff2791',
|
||||
'--yt-spec-inverted-background': '#f3f3f3',
|
||||
'background': 'rgba(3, 3, 3)',
|
||||
'--ytmusic-background': 'rgba(3, 3, 3)',
|
||||
};
|
||||
|
||||
const colorKeyMap: Record<string, string> = {
|
||||
'background': DARK_COLOR_KEY,
|
||||
'--ytmusic-background': DARK_COLOR_KEY,
|
||||
};
|
||||
|
||||
const ratioMap: Record<string, number> = {
|
||||
'--paper-progress-active-color-1': 1.75,
|
||||
'--paper-progress-active-color-2': 1.75,
|
||||
'--yt-spec-inverted-background': 1.75,
|
||||
};
|
||||
|
||||
const getMixedColor = (this as Renderer).getMixedColor.bind(this);
|
||||
Object.entries(variableMap).map(([variable, color]) => {
|
||||
const key = colorKeyMap[variable] ?? COLOR_KEY;
|
||||
const ratio = ratioMap[variable] ?? undefined;
|
||||
|
||||
document.documentElement.style.setProperty(
|
||||
variable,
|
||||
this.getMixedColor(color, COLOR_KEY, alpha),
|
||||
getMixedColor(color, key, alpha, ratio),
|
||||
'important',
|
||||
);
|
||||
});
|
||||
|
||||
document.body.style.setProperty(
|
||||
'background',
|
||||
this.getMixedColor('rgba(3, 3, 3)', DARK_COLOR_KEY, alpha),
|
||||
'important',
|
||||
);
|
||||
document.documentElement.style.setProperty(
|
||||
'--ytmusic-background',
|
||||
// #030303
|
||||
this.getMixedColor('rgba(3, 3, 3)', DARK_COLOR_KEY, alpha),
|
||||
'important',
|
||||
);
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -81,3 +81,14 @@ ytmusic-browse-response[has-background]:not([disable-gradient]) .background-grad
|
||||
#background.immersive-background.style-scope.ytmusic-browse-response {
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
ytmusic-search-box[is-bauhaus-sidenav-enabled] {
|
||||
--ytmusic-search-background: var(--ytmusic-color-black3) !important;
|
||||
}
|
||||
|
||||
.seekbar-theme #progress-bar.ytmusic-player-bar {
|
||||
--paper-slider-active-color: linear-gradient(to right, var(--paper-progress-active-color-1) 80%, var(--paper-progress-active-color-2) 100%) !important;
|
||||
--paper-slider-knob-color: var(--paper-progress-active-color-1) !important;
|
||||
--paper-slider-knob-start-color: var(--paper-progress-active-color-2) !important;
|
||||
}
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ import {
|
||||
UniversalCache,
|
||||
Utils,
|
||||
YTNodes,
|
||||
Platform,
|
||||
} from '\u0079\u006f\u0075\u0074\u0075\u0062\u0065i.js';
|
||||
import is from 'electron-is';
|
||||
import filenamify from 'filenamify';
|
||||
@ -57,6 +58,22 @@ const ffmpeg = lazy(async () =>
|
||||
);
|
||||
const ffmpegMutex = new Mutex();
|
||||
|
||||
Platform.shim.eval = async (data: Types.BuildScriptResult, env: Record<string, Types.VMPrimative>) => {
|
||||
const properties = [];
|
||||
|
||||
if(env.n) {
|
||||
properties.push(`n: exportedVars.nFunction("${env.n}")`)
|
||||
}
|
||||
|
||||
if (env.sig) {
|
||||
properties.push(`sig: exportedVars.sigFunction("${env.sig}")`)
|
||||
}
|
||||
|
||||
const code = `${data.output}\nreturn { ${properties.join(', ')} }`;
|
||||
|
||||
return new Function(code)();
|
||||
}
|
||||
|
||||
let yt: Innertube;
|
||||
let win: BrowserWindow;
|
||||
let playingUrl: string;
|
||||
@ -131,7 +148,6 @@ export const onMainLoad = async ({
|
||||
|
||||
yt = await Innertube.create({
|
||||
cache: new UniversalCache(false),
|
||||
player_id: '0004de42',
|
||||
cookie: await getCookieFromWindow(win),
|
||||
generate_session_locally: true,
|
||||
fetch: getNetFetchAsFetch(),
|
||||
|
||||
Reference in New Issue
Block a user