Merge pull request #1586 from Materialious/update/1.16.21
Update/1.16.21
This commit is contained in:
@@ -1 +1 @@
|
||||
Modernes Material-Design für Invidious
|
||||
Modernes Material-Design für YouTube und Invidious.
|
||||
|
||||
@@ -7,8 +7,8 @@ android {
|
||||
applicationId "us.materialio.app"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 237
|
||||
versionName "1.16.20"
|
||||
versionCode 238
|
||||
versionName "1.16.21"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
aaptOptions {
|
||||
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
||||
|
||||
@@ -79,7 +79,11 @@
|
||||
|
||||
|
||||
|
||||
<release version="1.16.20" date="2026-3-14">
|
||||
|
||||
<release version="1.16.21" date="2026-3-17">
|
||||
<url>https://github.com/Materialious/Materialious/releases/tag/1.16.21</url>
|
||||
</release>
|
||||
<release version="1.16.20" date="2026-3-14">
|
||||
<url>https://github.com/Materialious/Materialious/releases/tag/1.16.20</url>
|
||||
</release>
|
||||
<release version="1.16.19" date="2026-3-13">
|
||||
|
||||
Generated
+121
-115
@@ -1,78 +1,79 @@
|
||||
{
|
||||
"name": "Materialious",
|
||||
"version": "1.16.19",
|
||||
"version": "1.16.21",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "Materialious",
|
||||
"version": "1.16.19",
|
||||
"version": "1.16.21",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@capacitor-community/electron": "^5.0.0",
|
||||
"bgutils-js": "^3.2.0",
|
||||
"capacitor-nodejs": "https://github.com/hampoelz/capacitor-nodejs/releases/download/v1.0.0-beta.9/capacitor-nodejs.tgz",
|
||||
"chokidar": "~5.0.0",
|
||||
"electron-is-dev": "~2.0.0",
|
||||
"electron-serve": "~3.0.0",
|
||||
"electron-unhandled": "^4.0.1",
|
||||
"electron-updater": "^6.8.3",
|
||||
"electron-window-state": "^5.0.3",
|
||||
"jsdom": "^28.0.0",
|
||||
"jsdom": "^29.0.0",
|
||||
"jsonfile": "^6.2.0",
|
||||
"youtubei.js": "^16.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "^40.8.0",
|
||||
"electron": "^41.0.2",
|
||||
"electron-builder": "^26.0.12",
|
||||
"electron-rebuild": "^3.2.9",
|
||||
"typescript": "^5.9.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@acemir/cssom": {
|
||||
"version": "0.9.31",
|
||||
"resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.31.tgz",
|
||||
"integrity": "sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@asamuzakjp/css-color": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-4.1.2.tgz",
|
||||
"integrity": "sha512-NfBUvBaYgKIuq6E/RBLY1m0IohzNHAYyaJGuTK79Z23uNwmz2jl1mPsC5ZxCCxylinKhT1Amn5oNTlx1wN8cQg==",
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.0.1.tgz",
|
||||
"integrity": "sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@csstools/css-calc": "^3.0.0",
|
||||
"@csstools/css-color-parser": "^4.0.1",
|
||||
"@csstools/css-calc": "^3.1.1",
|
||||
"@csstools/css-color-parser": "^4.0.2",
|
||||
"@csstools/css-parser-algorithms": "^4.0.0",
|
||||
"@csstools/css-tokenizer": "^4.0.0",
|
||||
"lru-cache": "^11.2.5"
|
||||
"lru-cache": "^11.2.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@asamuzakjp/css-color/node_modules/lru-cache": {
|
||||
"version": "11.2.6",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz",
|
||||
"integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==",
|
||||
"version": "11.2.7",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz",
|
||||
"integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==",
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": "20 || >=22"
|
||||
}
|
||||
},
|
||||
"node_modules/@asamuzakjp/dom-selector": {
|
||||
"version": "6.8.1",
|
||||
"resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.8.1.tgz",
|
||||
"integrity": "sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==",
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.0.3.tgz",
|
||||
"integrity": "sha512-Q6mU0Z6bfj6YvnX2k9n0JxiIwrCFN59x/nWmYQnAqP000ruX/yV+5bp/GRcF5T8ncvfwJQ7fgfP74DlpKExILA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@asamuzakjp/nwsapi": "^2.3.9",
|
||||
"bidi-js": "^1.0.3",
|
||||
"css-tree": "^3.1.0",
|
||||
"css-tree": "^3.2.1",
|
||||
"is-potential-custom-element-name": "^1.0.1",
|
||||
"lru-cache": "^11.2.6"
|
||||
"lru-cache": "^11.2.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": {
|
||||
"version": "11.2.6",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz",
|
||||
"integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==",
|
||||
"version": "11.2.7",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz",
|
||||
"integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==",
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": "20 || >=22"
|
||||
@@ -197,9 +198,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@capacitor/cli/node_modules/tar": {
|
||||
"version": "7.5.7",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz",
|
||||
"integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==",
|
||||
"version": "7.5.11",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz",
|
||||
"integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==",
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
"@isaacs/fs-minipass": "^4.0.0",
|
||||
@@ -231,9 +232,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@csstools/color-helpers": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.1.tgz",
|
||||
"integrity": "sha512-NmXRccUJMk2AWA5A7e5a//3bCIMyOu2hAtdRYrhPPHjDxINuCwX1w6rnIZ4xjLcp0ayv6h8Pc3X0eJUGiAAXHQ==",
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz",
|
||||
"integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@@ -273,9 +274,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@csstools/css-color-parser": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.0.1.tgz",
|
||||
"integrity": "sha512-vYwO15eRBEkeF6xjAno/KQ61HacNhfQuuU/eGwH67DplL0zD5ZixUa563phQvUelA07yDczIXdtmYojCphKJcw==",
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.0.2.tgz",
|
||||
"integrity": "sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@@ -288,8 +289,8 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@csstools/color-helpers": "^6.0.1",
|
||||
"@csstools/css-calc": "^3.0.0"
|
||||
"@csstools/color-helpers": "^6.0.2",
|
||||
"@csstools/css-calc": "^3.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.19.0"
|
||||
@@ -322,9 +323,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@csstools/css-syntax-patches-for-csstree": {
|
||||
"version": "1.0.27",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.27.tgz",
|
||||
"integrity": "sha512-sxP33Jwg1bviSUXAV43cVYdmjt2TLnLXNqCWl9xmxHawWVjGz/kEbdkr7F9pxJNBN2Mh+dq0crgItbW6tQvyow==",
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.1.tgz",
|
||||
"integrity": "sha512-BvqN0AMWNAnLk9G8jnUT77D+mUbY/H2b3uDTvg2isJkHaOufUE2R3AOwxWo7VBQKT1lOdwdvorddo2B/lk64+w==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@@ -335,7 +336,15 @@
|
||||
"url": "https://opencollective.com/csstools"
|
||||
}
|
||||
],
|
||||
"license": "MIT-0"
|
||||
"license": "MIT-0",
|
||||
"peerDependencies": {
|
||||
"css-tree": "^3.2.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"css-tree": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@csstools/css-tokenizer": {
|
||||
"version": "4.0.0",
|
||||
@@ -926,9 +935,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron/rebuild/node_modules/tar": {
|
||||
"version": "7.5.9",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-7.5.9.tgz",
|
||||
"integrity": "sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg==",
|
||||
"version": "7.5.11",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz",
|
||||
"integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
@@ -1052,9 +1061,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@exodus/bytes": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.14.1.tgz",
|
||||
"integrity": "sha512-OhkBFWI6GcRMUroChZiopRiSp2iAMvEBK47NhJooDqz1RERO4QuZIZnjP63TXX8GAiLABkYmX+fuQsdJ1dd2QQ==",
|
||||
"version": "1.15.0",
|
||||
"resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz",
|
||||
"integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
@@ -1670,6 +1679,7 @@
|
||||
"version": "7.1.3",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
|
||||
"integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 14"
|
||||
@@ -1964,9 +1974,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/app-builder-lib/node_modules/tar": {
|
||||
"version": "7.5.9",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-7.5.9.tgz",
|
||||
"integrity": "sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg==",
|
||||
"version": "7.5.11",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz",
|
||||
"integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
@@ -2469,6 +2479,15 @@
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/capacitor-nodejs": {
|
||||
"version": "1.0.0-beta.9",
|
||||
"resolved": "https://github.com/hampoelz/capacitor-nodejs/releases/download/v1.0.0-beta.9/capacitor-nodejs.tgz",
|
||||
"integrity": "sha512-4EU/QBolfuyHiMtwd1nxZ4wsK243tGE4VttKvVBG+x1yQuK9EIlEf3lbRjFXfjrJMTZNCqaP6glmdfj9Zo7KVg==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"@capacitor/core": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
@@ -2754,42 +2773,18 @@
|
||||
}
|
||||
},
|
||||
"node_modules/css-tree": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz",
|
||||
"integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==",
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz",
|
||||
"integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"mdn-data": "2.12.2",
|
||||
"source-map-js": "^1.0.1"
|
||||
"mdn-data": "2.27.1",
|
||||
"source-map-js": "^1.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cssstyle": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-6.0.1.tgz",
|
||||
"integrity": "sha512-IoJs7La+oFp/AB033wBStxNOJt4+9hHMxsXUPANcoXL2b3W4DZKghlJ2cI/eyeRZIQ9ysvYEorVhjrcYctWbog==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@asamuzakjp/css-color": "^4.1.2",
|
||||
"@csstools/css-syntax-patches-for-csstree": "^1.0.26",
|
||||
"css-tree": "^3.1.0",
|
||||
"lru-cache": "^11.2.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/cssstyle/node_modules/lru-cache": {
|
||||
"version": "11.2.6",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz",
|
||||
"integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==",
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": "20 || >=22"
|
||||
}
|
||||
},
|
||||
"node_modules/data-urls": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz",
|
||||
@@ -3120,9 +3115,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/electron": {
|
||||
"version": "40.8.0",
|
||||
"resolved": "https://registry.npmjs.org/electron/-/electron-40.8.0.tgz",
|
||||
"integrity": "sha512-WoPq0Nr9Yx3g7T6VnJXdwa/rr2+VRyH3a+K+ezfMKBlf6WjxE/LmhMQabKbb6yjm9RbZhJBRcYyoLph421O2mQ==",
|
||||
"version": "41.0.2",
|
||||
"resolved": "https://registry.npmjs.org/electron/-/electron-41.0.2.tgz",
|
||||
"integrity": "sha512-raotm/aO8kOs1jD8SI8ssJ7EKciQOY295AOOprl1TxW7B0At8m5Ae7qNU1xdMxofiHMR8cNEGi9PKD3U+yT/mA==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
@@ -4145,6 +4140,7 @@
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
|
||||
"integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"agent-base": "^7.1.0",
|
||||
@@ -4172,6 +4168,7 @@
|
||||
"version": "7.0.6",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
|
||||
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"agent-base": "^7.1.2",
|
||||
@@ -4463,35 +4460,35 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/jsdom": {
|
||||
"version": "28.1.0",
|
||||
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-28.1.0.tgz",
|
||||
"integrity": "sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==",
|
||||
"version": "29.0.0",
|
||||
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.0.0.tgz",
|
||||
"integrity": "sha512-9FshNB6OepopZ08unmmGpsF7/qCjxGPbo3NbgfJAnPeHXnsODE9WWffXZtRFRFe0ntzaAOcSKNJFz8wiyvF1jQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@acemir/cssom": "^0.9.31",
|
||||
"@asamuzakjp/dom-selector": "^6.8.1",
|
||||
"@asamuzakjp/css-color": "^5.0.1",
|
||||
"@asamuzakjp/dom-selector": "^7.0.2",
|
||||
"@bramus/specificity": "^2.4.2",
|
||||
"@exodus/bytes": "^1.11.0",
|
||||
"cssstyle": "^6.0.1",
|
||||
"@csstools/css-syntax-patches-for-csstree": "^1.1.1",
|
||||
"@exodus/bytes": "^1.15.0",
|
||||
"css-tree": "^3.2.1",
|
||||
"data-urls": "^7.0.0",
|
||||
"decimal.js": "^10.6.0",
|
||||
"html-encoding-sniffer": "^6.0.0",
|
||||
"http-proxy-agent": "^7.0.2",
|
||||
"https-proxy-agent": "^7.0.6",
|
||||
"is-potential-custom-element-name": "^1.0.1",
|
||||
"lru-cache": "^11.2.7",
|
||||
"parse5": "^8.0.0",
|
||||
"saxes": "^6.0.0",
|
||||
"symbol-tree": "^3.2.4",
|
||||
"tough-cookie": "^6.0.0",
|
||||
"undici": "^7.21.0",
|
||||
"tough-cookie": "^6.0.1",
|
||||
"undici": "^7.24.3",
|
||||
"w3c-xmlserializer": "^5.0.0",
|
||||
"webidl-conversions": "^8.0.1",
|
||||
"whatwg-mimetype": "^5.0.0",
|
||||
"whatwg-url": "^16.0.0",
|
||||
"whatwg-url": "^16.0.1",
|
||||
"xml-name-validator": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
"node": "^20.19.0 || ^22.13.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"canvas": "^3.0.0"
|
||||
@@ -4502,6 +4499,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/jsdom/node_modules/lru-cache": {
|
||||
"version": "11.2.7",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz",
|
||||
"integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==",
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": "20 || >=22"
|
||||
}
|
||||
},
|
||||
"node_modules/json-buffer": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
||||
@@ -4768,9 +4774,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/mdn-data": {
|
||||
"version": "2.12.2",
|
||||
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz",
|
||||
"integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
|
||||
"version": "2.27.1",
|
||||
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz",
|
||||
"integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==",
|
||||
"license": "CC0-1.0"
|
||||
},
|
||||
"node_modules/meriyah": {
|
||||
@@ -6301,21 +6307,21 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tldts": {
|
||||
"version": "7.0.14",
|
||||
"resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.14.tgz",
|
||||
"integrity": "sha512-lMNHE4aSI3LlkMUMicTmAG3tkkitjOQGDTFboPJwAg2kJXKP1ryWEyqujktg5qhrFZOkk5YFzgkxg3jErE+i5w==",
|
||||
"version": "7.0.26",
|
||||
"resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.26.tgz",
|
||||
"integrity": "sha512-WiGwQjr0qYdNNG8KpMKlSvpxz652lqa3Rd+/hSaDcY4Uo6SKWZq2LAF+hsAhUewTtYhXlorBKgNF3Kk8hnjGoQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tldts-core": "^7.0.14"
|
||||
"tldts-core": "^7.0.26"
|
||||
},
|
||||
"bin": {
|
||||
"tldts": "bin/cli.js"
|
||||
}
|
||||
},
|
||||
"node_modules/tldts-core": {
|
||||
"version": "7.0.14",
|
||||
"resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.14.tgz",
|
||||
"integrity": "sha512-viZGNK6+NdluOJWwTO9olaugx0bkKhscIdriQQ+lNNhwitIKvb+SvhbYgnCz6j9p7dX3cJntt4agQAKMXLjJ5g==",
|
||||
"version": "7.0.26",
|
||||
"resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.26.tgz",
|
||||
"integrity": "sha512-5WJ2SqFsv4G2Dwi7ZFVRnz6b2H1od39QME1lc2y5Ew3eWiZMAeqOAfWpRP9jHvhUl881406QtZTODvjttJs+ew==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/tmp": {
|
||||
@@ -6339,9 +6345,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tough-cookie": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz",
|
||||
"integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==",
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz",
|
||||
"integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"tldts": "^7.0.5"
|
||||
@@ -6414,9 +6420,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "7.24.1",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.24.1.tgz",
|
||||
"integrity": "sha512-5xoBibbmnjlcR3jdqtY2Lnx7WbrD/tHlT01TmvqZUFVc9Q1w4+j5hbnapTqbcXITMH1ovjq/W7BkqBilHiVAaA==",
|
||||
"version": "7.24.4",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.24.4.tgz",
|
||||
"integrity": "sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=20.18.1"
|
||||
@@ -6551,9 +6557,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/whatwg-url": {
|
||||
"version": "16.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.0.tgz",
|
||||
"integrity": "sha512-9CcxtEKsf53UFwkSUZjG+9vydAsFO4lFHBpJUtjBcoJOCJpKnSJNwCw813zrYJHpCJ7sgfbtOe0V5Ku7Pa1XMQ==",
|
||||
"version": "16.0.1",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz",
|
||||
"integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@exodus/bytes": "^1.11.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "Materialious",
|
||||
"version": "1.16.20",
|
||||
"version": "1.16.21",
|
||||
"description": "Modern material design for YouTube and Invidious.",
|
||||
"author": {
|
||||
"name": "Ward Pearce",
|
||||
@@ -30,12 +30,12 @@
|
||||
"electron-unhandled": "^4.0.1",
|
||||
"electron-updater": "^6.8.3",
|
||||
"electron-window-state": "^5.0.3",
|
||||
"jsdom": "^28.0.0",
|
||||
"jsdom": "^29.0.0",
|
||||
"jsonfile": "^6.2.0",
|
||||
"youtubei.js": "^16.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "^40.8.0",
|
||||
"electron": "^41.0.2",
|
||||
"electron-builder": "^26.0.12",
|
||||
"electron-rebuild": "^3.2.9",
|
||||
"typescript": "^5.9.3"
|
||||
|
||||
Generated
+34
-35
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "materialious",
|
||||
"version": "1.16.20",
|
||||
"version": "1.16.21",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "materialious",
|
||||
"version": "1.16.20",
|
||||
"version": "1.16.21",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@capacitor-community/electron": "^5.0.1",
|
||||
@@ -23,7 +23,7 @@
|
||||
"@macfja/svelte-persistent-store": "^2.4.2",
|
||||
"altcha": "^2.3.0",
|
||||
"altcha-lib": "^1.4.1",
|
||||
"beercss": "^4.0.17",
|
||||
"beercss": "^4.0.19",
|
||||
"bgutils-js": "^3.2.0",
|
||||
"buffer": "^6.0.3",
|
||||
"capacitor-music-controls-plugin": "^6.1.0",
|
||||
@@ -41,7 +41,7 @@
|
||||
"iso-639-1": "^3.1.5",
|
||||
"jsdom": "^28.1.0",
|
||||
"libsodium-wrappers-sumo": "^0.8.2",
|
||||
"mariadb": "^3.5.1",
|
||||
"mariadb": "^3.5.2",
|
||||
"material-dynamic-colors": "^1.1.1",
|
||||
"media-captions": "^0.0.18",
|
||||
"melt": "^0.44.0",
|
||||
@@ -50,7 +50,7 @@
|
||||
"papaparse": "^5.5.3",
|
||||
"pg": "^8.20.0",
|
||||
"pg-hstore": "^2.3.4",
|
||||
"safe-regex2": "^5.0.0",
|
||||
"safe-regex2": "^5.1.0",
|
||||
"sequelize": "^6.37.8",
|
||||
"shaka-player": "^4.16.14",
|
||||
"sponsorblock-api": "^0.2.4",
|
||||
@@ -59,7 +59,7 @@
|
||||
"svelte-infinite-loading": "^1.4.0",
|
||||
"tldts": "^7.0.24",
|
||||
"trystero": "^0.22.0",
|
||||
"youtubei.js": "^16.0.1",
|
||||
"youtubei.js": "^17.0.1",
|
||||
"zod": "^4.3.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -86,7 +86,7 @@
|
||||
"patch-package": "^8.0.1",
|
||||
"prettier": "^3.6.2",
|
||||
"prettier-plugin-svelte": "^3.5.0",
|
||||
"svelte": "^5.53.6",
|
||||
"svelte": "^5.53.12",
|
||||
"svelte-check": "^4.4.4",
|
||||
"tslib": "^2.7.0",
|
||||
"typescript": "^5.9.3",
|
||||
@@ -6009,6 +6009,12 @@
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/geojson": {
|
||||
"version": "7946.0.16",
|
||||
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz",
|
||||
"integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/he": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/he/-/he-1.2.3.tgz",
|
||||
@@ -7554,9 +7560,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/beercss": {
|
||||
"version": "4.0.17",
|
||||
"resolved": "https://registry.npmjs.org/beercss/-/beercss-4.0.17.tgz",
|
||||
"integrity": "sha512-8MMpSZojhYzjy94DGLnkq+FFdnEGLifp183qDl7fVo9rPbXy1T5dnFVvDspd9Xl4oTeqg78rc+4/qIF4aXArtQ==",
|
||||
"version": "4.0.19",
|
||||
"resolved": "https://registry.npmjs.org/beercss/-/beercss-4.0.19.tgz",
|
||||
"integrity": "sha512-aFz2PcIrf4bLGvTA8zIMSJVTa1HAjeQ/6lNxBG+0CB1QdZbT6jYv0jtq4O8hckVhY2U7wiHGOFeqegzo4IraDA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"material-dynamic-colors": "^1.1.4"
|
||||
@@ -13059,29 +13065,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/mariadb": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/mariadb/-/mariadb-3.5.1.tgz",
|
||||
"integrity": "sha512-ObKf/e7jU8pmwa5wTs1UwhLMrQYRBDwXPndej2Dv/rvbqsokJYlymubsNtpakVfjI+hd0bG3U6tiuVunDYoLtA==",
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/mariadb/-/mariadb-3.5.2.tgz",
|
||||
"integrity": "sha512-9rztrI4nouxAY/82a+RlzzZ5ie2vxu2eYclkBvTy1ATXH1B9cnvZ0O71Pzsy/mlfDb5P3HhOg0JzQKkDRhctyA==",
|
||||
"license": "LGPL-2.1-or-later",
|
||||
"dependencies": {
|
||||
"@types/geojson": "^7946.0.16",
|
||||
"@types/node": ">=18",
|
||||
"denque": "^2.1.0",
|
||||
"iconv-lite": "^0.7.2",
|
||||
"lru-cache": "^10.4.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/geojson": ">=7946.0.0",
|
||||
"@types/node": ">=18"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/geojson": {
|
||||
"optional": true
|
||||
},
|
||||
"@types/node": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/mariadb/node_modules/iconv-lite": {
|
||||
@@ -16316,9 +16312,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/safe-regex2": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.0.0.tgz",
|
||||
"integrity": "sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.1.0.tgz",
|
||||
"integrity": "sha512-pNHAuBW7TrcleFHsxBr5QMi/Iyp0ENjUKz7GCcX1UO7cMh+NmVK6HxQckNL1tJp1XAJVjG6B8OKIPqodqj9rtw==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@@ -16332,6 +16328,9 @@
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ret": "~0.5.0"
|
||||
},
|
||||
"bin": {
|
||||
"safe-regex2": "bin/safe-regex2.js"
|
||||
}
|
||||
},
|
||||
"node_modules/safer-buffer": {
|
||||
@@ -17326,9 +17325,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/svelte": {
|
||||
"version": "5.53.6",
|
||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-5.53.6.tgz",
|
||||
"integrity": "sha512-lP5DGF3oDDI9fhHcSpaBiJEkFLuS16h92DhM1L5K1lFm0WjOmUh1i2sNkBBk8rkxJRpob0dBE75jRfUzGZUOGA==",
|
||||
"version": "5.53.12",
|
||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-5.53.12.tgz",
|
||||
"integrity": "sha512-4x/uk4rQe/d7RhfvS8wemTfNjQ0bJbKvamIzRBfTe2eHHjzBZ7PZicUQrC2ryj83xxEacfA1zHKd1ephD1tAxA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@jridgewell/remapping": "^2.3.4",
|
||||
@@ -17340,7 +17339,7 @@
|
||||
"aria-query": "5.3.1",
|
||||
"axobject-query": "^4.1.0",
|
||||
"clsx": "^2.1.1",
|
||||
"devalue": "^5.6.3",
|
||||
"devalue": "^5.6.4",
|
||||
"esm-env": "^1.2.1",
|
||||
"esrap": "^2.2.2",
|
||||
"is-reference": "^3.0.3",
|
||||
@@ -19574,9 +19573,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/youtubei.js": {
|
||||
"version": "16.0.1",
|
||||
"resolved": "https://registry.npmjs.org/youtubei.js/-/youtubei.js-16.0.1.tgz",
|
||||
"integrity": "sha512-3802bCAGkBc2/G5WUTc0l/bO5mPYJbQAHL04d9hE9PnrDHoBUT8MN721Yqt4RCNncAXdHcfee9VdJy3Fhq1r5g==",
|
||||
"version": "17.0.1",
|
||||
"resolved": "https://registry.npmjs.org/youtubei.js/-/youtubei.js-17.0.1.tgz",
|
||||
"integrity": "sha512-1lO4b8UqMDzE0oh2qEGzbBOd4UYRdxn/4PdpRM7BGTHxM6ddsEsKZTu90jp8V9FHVgC2h1UirQyqoqLiKwl+Zg==",
|
||||
"funding": [
|
||||
"https://github.com/sponsors/LuanRT"
|
||||
],
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "materialious",
|
||||
"version": "1.16.20",
|
||||
"version": "1.16.21",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "npm run patch:github && vite dev",
|
||||
@@ -39,7 +39,7 @@
|
||||
"patch-package": "^8.0.1",
|
||||
"prettier": "^3.6.2",
|
||||
"prettier-plugin-svelte": "^3.5.0",
|
||||
"svelte": "^5.53.6",
|
||||
"svelte": "^5.53.12",
|
||||
"svelte-check": "^4.4.4",
|
||||
"tslib": "^2.7.0",
|
||||
"typescript": "^5.9.3",
|
||||
@@ -62,7 +62,7 @@
|
||||
"@macfja/svelte-persistent-store": "^2.4.2",
|
||||
"altcha": "^2.3.0",
|
||||
"altcha-lib": "^1.4.1",
|
||||
"beercss": "^4.0.17",
|
||||
"beercss": "^4.0.19",
|
||||
"bgutils-js": "^3.2.0",
|
||||
"buffer": "^6.0.3",
|
||||
"capacitor-music-controls-plugin": "^6.1.0",
|
||||
@@ -80,7 +80,7 @@
|
||||
"iso-639-1": "^3.1.5",
|
||||
"jsdom": "^28.1.0",
|
||||
"libsodium-wrappers-sumo": "^0.8.2",
|
||||
"mariadb": "^3.5.1",
|
||||
"mariadb": "^3.5.2",
|
||||
"material-dynamic-colors": "^1.1.1",
|
||||
"media-captions": "^0.0.18",
|
||||
"melt": "^0.44.0",
|
||||
@@ -89,7 +89,7 @@
|
||||
"papaparse": "^5.5.3",
|
||||
"pg": "^8.20.0",
|
||||
"pg-hstore": "^2.3.4",
|
||||
"safe-regex2": "^5.0.0",
|
||||
"safe-regex2": "^5.1.0",
|
||||
"sequelize": "^6.37.8",
|
||||
"shaka-player": "^4.16.14",
|
||||
"sponsorblock-api": "^0.2.4",
|
||||
@@ -98,7 +98,7 @@
|
||||
"svelte-infinite-loading": "^1.4.0",
|
||||
"tldts": "^7.0.24",
|
||||
"trystero": "^0.22.0",
|
||||
"youtubei.js": "^16.0.1",
|
||||
"youtubei.js": "^17.0.1",
|
||||
"zod": "^4.3.6"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ export interface SearchOptions {
|
||||
sort_by?: 'relevance' | 'rating' | 'upload_date' | 'view_count';
|
||||
type?: 'video' | 'playlist' | 'channel' | 'all';
|
||||
duration?: 'short' | 'medium' | 'long';
|
||||
date?: 'hour' | 'today' | 'week' | 'month' | 'year';
|
||||
date?: 'today' | 'week' | 'month' | 'year';
|
||||
features?: string;
|
||||
page?: string;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ export async function getInnertube(): Promise<Innertube> {
|
||||
cache: new UniversalCache(true),
|
||||
location: get(interfaceRegionStore),
|
||||
user_agent: USER_AGENT,
|
||||
player_id: getPublicEnv('PLAYER_ID') ?? '9f4cc5e4'
|
||||
player_id: getPublicEnv('PLAYER_ID')
|
||||
});
|
||||
|
||||
return innertube;
|
||||
|
||||
@@ -33,9 +33,23 @@ export async function getSearchYTjs(
|
||||
): Promise<SearchResults> {
|
||||
const innertube = await getInnertube();
|
||||
|
||||
let duration: Types.Duration = 'all';
|
||||
|
||||
switch (options.duration) {
|
||||
case 'long':
|
||||
duration = 'over_twenty_mins';
|
||||
break;
|
||||
case 'medium':
|
||||
duration = 'three_to_twenty_mins';
|
||||
break;
|
||||
case 'short':
|
||||
duration = 'under_three_mins';
|
||||
break;
|
||||
}
|
||||
|
||||
const innerResults = await innertube.search(search, {
|
||||
sort_by: options.sort_by,
|
||||
duration: options.duration,
|
||||
prioritize: options.sort_by !== 'relevance' ? 'popularity' : 'relevance',
|
||||
duration: duration,
|
||||
features: [options.features] as Types.Feature[],
|
||||
upload_date: options.date
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { isAndroidTvStore } from '$lib/store';
|
||||
import { onMount } from 'svelte';
|
||||
import { onDestroy, onMount } from 'svelte';
|
||||
|
||||
let { children } = $props();
|
||||
|
||||
@@ -21,7 +21,11 @@
|
||||
onMount(() => {
|
||||
checkWidth();
|
||||
|
||||
addEventListener('resize', () => checkWidth());
|
||||
addEventListener('resize', checkWidth);
|
||||
});
|
||||
|
||||
onDestroy(() => {
|
||||
removeEventListener('resize', checkWidth);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
import Share from '../Share.svelte';
|
||||
import { deleteWatchHistoryItem, saveWatchHistory } from '$lib/api';
|
||||
import type { ThumbnailVideo } from '$lib/thumbnail';
|
||||
import { truncate } from '$lib/misc';
|
||||
|
||||
interface Props {
|
||||
video: ThumbnailVideo;
|
||||
@@ -323,7 +324,7 @@
|
||||
authorId={'authorId' in video ? video.authorId : ''}
|
||||
/>
|
||||
{/if}
|
||||
<div style="width: 82%;">
|
||||
<div class="author-details">
|
||||
<nav style="justify-content: space-between;width: 100%;">
|
||||
<div>
|
||||
{#if 'authorId' in video && video.authorId}
|
||||
@@ -332,10 +333,10 @@
|
||||
class:author={!sideways}
|
||||
href={resolve(`/channel/[authorId]`, { authorId: video.authorId })}
|
||||
data-sveltekit-preload-data="off"
|
||||
>{video.author}
|
||||
>{truncate(video.author, 20)}
|
||||
</a>
|
||||
{:else}
|
||||
<p>{video.author}</p>
|
||||
<p>{truncate(video.author, 20)}</p>
|
||||
{/if}
|
||||
|
||||
{#if 'promotedBy' in video && video.promotedBy === 'favourited'}
|
||||
@@ -349,13 +350,13 @@
|
||||
{/if}
|
||||
|
||||
{#if 'published' in video}
|
||||
<div>
|
||||
<span>
|
||||
{video.viewCountText ?? cleanNumber(video.viewCount ?? 0)}
|
||||
•
|
||||
{video.published && video.published !== 0
|
||||
? relativeTimestamp(video.published * 1000, false)
|
||||
: video.publishedText}
|
||||
</div>
|
||||
</span>
|
||||
{/if}
|
||||
</div>
|
||||
{#if !sideways}
|
||||
@@ -427,12 +428,20 @@
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.sideways-root .video-title span {
|
||||
.author-details span,
|
||||
.author-details p,
|
||||
.author-details a {
|
||||
display: block;
|
||||
white-space: normal;
|
||||
overflow: hidden;
|
||||
word-wrap: break-word;
|
||||
line-height: 1.2;
|
||||
|
||||
font-size: clamp(0.65rem, 2.5cqw + 0.3rem, 1.15rem);
|
||||
}
|
||||
|
||||
.author-details {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.video-title {
|
||||
@@ -473,6 +482,11 @@
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.sideways-root,
|
||||
.thumbnail-details {
|
||||
container-type: inline-size;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1800px) {
|
||||
.sideways-root .thumbnail {
|
||||
width: 100%;
|
||||
|
||||
@@ -204,9 +204,46 @@
|
||||
"deleteAccount": "Konto löschen",
|
||||
"clickXmoreTimesToDelete": "Klicke {{clicksTillDelete}} weitere(s) Mal(e) zum Löschen",
|
||||
"backendEngine": {
|
||||
"warning": "Erweiterte Einstellungen! Nur für erfahrene Nutzer. Ändere sie nicht, ausser du weisst, was du tust."
|
||||
"warning": "Erweiterte Einstellungen! Nur für erfahrene Nutzer. Ändere sie nicht, ausser du weisst, was du tust.",
|
||||
"cull": "Maximale Feed-Elemente",
|
||||
"cooldown": "Cooldown der stündlichen Kanalabfrage",
|
||||
"concurrent": "Maximale Anzahl der Kanäle, die vor der Feed-Rückgabe geparsed werden",
|
||||
"fallbacks": "Fallbacks",
|
||||
"importExport": "Automatischer Export/Import",
|
||||
"exportToInvidious": "Von Materialious nach Invidious exportieren",
|
||||
"importToMaterialious": "Von Invidious nach Materialious importieren",
|
||||
"importingToMaterialious": "Import zu Materialious gestartet",
|
||||
"importingToMaterialiousFinished": "Import zu Materialious abgeschlossen",
|
||||
"exportingToInvidious": "Export zu Invidious gestartet",
|
||||
"exportingToInvidiousFinished": "Export zu Invidious abgeschlossen"
|
||||
},
|
||||
"historyEnabled": "Wiedergabeverlauf speichern"
|
||||
"historyEnabled": "Wiedergabeverlauf speichern",
|
||||
"exportToJson": "Nach JSON exportieren",
|
||||
"filter": {
|
||||
"title": "Inhaltsfilter",
|
||||
"url": "Importiere Filter via URL",
|
||||
"autoUpdate": "Filter automatisch via URL aktualisieren",
|
||||
"contentType": "Inhaltstyp",
|
||||
"field": "Feld",
|
||||
"operator": "Operator",
|
||||
"optionPlaceholder": "Option auswählen",
|
||||
"value": "Wert",
|
||||
"addConditional": "Kondition hinzufügen",
|
||||
"addFilter": "Filter hinzufügen",
|
||||
"videoFiltered": "«{{videoTitle}}» von «{{authorName}}» gefiltert",
|
||||
"channelFiltered": "«{{authorName}}» gefiltert"
|
||||
},
|
||||
"export": {
|
||||
"title": "Export/Import",
|
||||
"importSub": "Abonnements importieren",
|
||||
"importSubSupported": "YouTube CSV/OPML/JSON, Invidious OPML/JSON, Feetube-Datenbank & NewPipe JSON werden unterstützt",
|
||||
"importing": "Abonnements werden importiert (dies wird einen Moment dauern)",
|
||||
"importingCompleted": "Abonnements erfolgreich importiert",
|
||||
"exportSub": "Abonnements exportieren",
|
||||
"exportToClipboard": "In die Zwischenablage exportieren",
|
||||
"exportToFile": "In eine Datei exportieren",
|
||||
"importFromFile": "Von einer Datei importieren"
|
||||
}
|
||||
},
|
||||
"subscribe": "Abonnieren",
|
||||
"recommendedVideos": "Vorgeschlagene Videos",
|
||||
@@ -236,7 +273,7 @@
|
||||
"unfavouriteChannel": "Kanal entfavorisieren",
|
||||
"skip": "Überspringen",
|
||||
"upcomingSegment": "Kommend ",
|
||||
"copy": "JSON kopieren",
|
||||
"copy": "In die Zwischenablage kopieren",
|
||||
"username": "Benutzername",
|
||||
"password": "Passwort",
|
||||
"captionStyle": "Untertitel-Stil",
|
||||
@@ -262,5 +299,21 @@
|
||||
"localFallbackInfo": "Wenn das Laden eines Videos von Invidious fehlschlägt, lädt Materialious es lokal.",
|
||||
"configureInstance": "Instanz konfigurieren",
|
||||
"done": "Fertig"
|
||||
},
|
||||
"markAs": {
|
||||
"watched": "Als gesehen markieren",
|
||||
"unwatched": "Als ungesehen markieren"
|
||||
},
|
||||
"hideAuthor": "Autor verstecken",
|
||||
"watchParty": {
|
||||
"start": "Wiedergabegruppe starten",
|
||||
"header": "Wiedergabegruppe",
|
||||
"createRoom": "Raum erstellen",
|
||||
"joinRoom": "Raum beitreten",
|
||||
"roomID": "Raum-ID",
|
||||
"shareRoom": "Raum teilen",
|
||||
"leaveRoom": "Raum verlassen",
|
||||
"userJoin": "Nutzer ist dem Raum beigetreten",
|
||||
"userLeft": "Nutzer hat den Raum verlassen"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,9 +101,46 @@
|
||||
"deleteAccount": "Konto lösche",
|
||||
"clickXmoreTimesToDelete": "Klick {{clicksTillDelete}} wiiteri Mal zum Lösche",
|
||||
"backendEngine": {
|
||||
"warning": "Erwiterti Iistellige! Nur für erfahreni Nutzer. Ändere sie nöd, usser du weisch, was du machsch."
|
||||
"warning": "Erwiterti Iistellige! Nur für erfahreni Nutzer. Ändere sie nöd, usser du weisch, was du machsch.",
|
||||
"cull": "Maximali Feed-Element",
|
||||
"cooldown": "Cooldown vo de stündliche Kanalabfrag",
|
||||
"concurrent": "Maximali Aazahl vo de Kanäl, wo vor de Feed-Rückgab parsed werded",
|
||||
"fallbacks": "Fallbacks",
|
||||
"importExport": "Automatische Export/Import",
|
||||
"exportToInvidious": "Vo Materialious nach Invidious exportiere",
|
||||
"importToMaterialious": "Vo Invidious nach Materialious importiere",
|
||||
"importingToMaterialious": "Import zu Materialious gstartet",
|
||||
"importingToMaterialiousFinished": "Import zu Materialious abgschlosse",
|
||||
"exportingToInvidious": "Export zu Invidious gstartet",
|
||||
"exportingToInvidiousFinished": "Export zu Invidious abgschlosse"
|
||||
},
|
||||
"historyEnabled": "Wiedergabeverlauf speichere"
|
||||
"historyEnabled": "Wiedergabeverlauf speichere",
|
||||
"exportToJson": "Nach JSON exportiere",
|
||||
"filter": {
|
||||
"title": "Inhaltsfilter",
|
||||
"url": "Importier Filter via URL",
|
||||
"autoUpdate": "Filter automatisch via URL aktualisiere",
|
||||
"contentType": "Inhaltstyp",
|
||||
"field": "Feld",
|
||||
"operator": "Operator",
|
||||
"optionPlaceholder": "Option uuswähle",
|
||||
"value": "Wert",
|
||||
"addConditional": "Kondition hinzuefüege",
|
||||
"addFilter": "Filter hinzuefüege",
|
||||
"videoFiltered": "«{{videoTitle}}» vo «{{authorName}}» gfilteret",
|
||||
"channelFiltered": "«{{authorName}}» gfilteret"
|
||||
},
|
||||
"export": {
|
||||
"title": "Export/Import",
|
||||
"importSub": "Abonnements importiere",
|
||||
"importSubSupported": "YouTube CSV/OPML/JSON, Invidious OPML/JSON, Feetube-Datebank & NewPipe JSON werded unterstützt",
|
||||
"importing": "Abonnements werded importiert (das wird en Moment duure)",
|
||||
"importingCompleted": "Abonnements erfolgriich importiert",
|
||||
"exportSub": "Abonnements exportiere",
|
||||
"exportToClipboard": "I d Zwüscheablaag exportiere",
|
||||
"exportToFile": "In e Datei exportiere",
|
||||
"importFromFile": "Vonere Datei importiere"
|
||||
}
|
||||
},
|
||||
"videos": "Videos",
|
||||
"cancel": "Abbreche",
|
||||
@@ -236,7 +273,7 @@
|
||||
"unfavouriteChannel": "Kanal entfavorisiere",
|
||||
"skip": "Überspringe",
|
||||
"upcomingSegment": "Kommend ",
|
||||
"copy": "JSON kopiere",
|
||||
"copy": "I d Zwüscheablaag kopiere",
|
||||
"username": "Benutzername",
|
||||
"password": "Passwort",
|
||||
"captionStyle": "Untertitel-Stil",
|
||||
@@ -262,5 +299,21 @@
|
||||
"localFallbackInfo": "Wenn s Lade vomene Video vo Invidious fehlschlaat, ladet Materialious es lokal.",
|
||||
"configureInstance": "Instanz konfiguriere",
|
||||
"done": "Fertig"
|
||||
},
|
||||
"markAs": {
|
||||
"watched": "Als gseh markiere",
|
||||
"unwatched": "Als ungseh markiere"
|
||||
},
|
||||
"hideAuthor": "Autor verstecke",
|
||||
"watchParty": {
|
||||
"start": "Wiedergabegruppe starte",
|
||||
"header": "Wiedergabegruppe",
|
||||
"createRoom": "Ruum erstelle",
|
||||
"joinRoom": "Ruum biitrete",
|
||||
"roomID": "Ruum-ID",
|
||||
"shareRoom": "Ruum teile",
|
||||
"leaveRoom": "Ruum verlaa",
|
||||
"userJoin": "Nutzer isch em Ruum biitrete",
|
||||
"userLeft": "Nutzer het de Ruum verlaa"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,7 +147,9 @@
|
||||
"optionPlaceholder": "Válassza ki a lehetőséget",
|
||||
"value": "Érték",
|
||||
"addConditional": "Feltétel hozzáadása",
|
||||
"addFilter": "Szűrő hozzáadása"
|
||||
"addFilter": "Szűrő hozzáadása",
|
||||
"videoFiltered": "„{{videoTitle}}” – „{{authorName}}” szűrve",
|
||||
"channelFiltered": "„{{authorName}}” szűrve"
|
||||
},
|
||||
"export": {
|
||||
"title": "Exportálás és importálás",
|
||||
@@ -308,5 +310,10 @@
|
||||
"leaveRoom": "Szoba elhagyása",
|
||||
"userJoin": "Felhasználó csatlakozott a szobához",
|
||||
"userLeft": "Felhasználó elhagyta a szobát"
|
||||
}
|
||||
},
|
||||
"markAs": {
|
||||
"watched": "Jelölés megtekintettként",
|
||||
"unwatched": "Jelölés nem megtekintettnek"
|
||||
},
|
||||
"hideAuthor": "Szerző elrejtése"
|
||||
}
|
||||
|
||||
@@ -233,7 +233,9 @@
|
||||
"optionPlaceholder": "オプションの選択",
|
||||
"value": "値",
|
||||
"addConditional": "条件を追加",
|
||||
"addFilter": "フィルターを追加"
|
||||
"addFilter": "フィルターを追加",
|
||||
"videoFiltered": "{{authorName}} の {{videoTitle}} をフィルターしました",
|
||||
"channelFiltered": "{{authorName}} をフィルターしました"
|
||||
},
|
||||
"export": {
|
||||
"title": "エクスポート/インポート",
|
||||
@@ -308,5 +310,10 @@
|
||||
"leaveRoom": "ルームから退出",
|
||||
"userJoin": "ユーザーがルームに参加しました",
|
||||
"userLeft": "ユーザーがルームから退出しました"
|
||||
}
|
||||
},
|
||||
"markAs": {
|
||||
"watched": "視聴済みにする",
|
||||
"unwatched": "未視聴にする"
|
||||
},
|
||||
"hideAuthor": "投稿者を非表示"
|
||||
}
|
||||
|
||||
@@ -32,9 +32,9 @@ export function relativeTimestamp(epochTime: number, includeTime: boolean = true
|
||||
if (isSameDay || isSameWeek) {
|
||||
return diffDuration.humanize(true);
|
||||
} else if (isThisYear) {
|
||||
return timestamp.format(`MMMM Do ${time}`);
|
||||
return timestamp.format(`MMM Do ${time}`);
|
||||
} else {
|
||||
return timestamp.format(`MMMM Do YYYY ${time}`);
|
||||
return timestamp.format(`MMM Do YYYY ${time}`);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
key: 'type'
|
||||
},
|
||||
{
|
||||
options: ['hour', 'today', 'week', 'month', 'year'],
|
||||
options: ['today', 'week', 'month', 'year'],
|
||||
title: $_('filters.uploadDate'),
|
||||
key: 'date'
|
||||
},
|
||||
|
||||
File diff suppressed because one or more lines are too long
+1
-1
@@ -3,7 +3,7 @@ import os
|
||||
import re
|
||||
from datetime import datetime
|
||||
|
||||
LATEST_VERSION = "1.16.20"
|
||||
LATEST_VERSION = "1.16.21"
|
||||
RELEASE_DATE = datetime.now().strftime("%Y-%-m-%d") # Format: YYYY-M-D
|
||||
|
||||
WORKING_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "materialious")
|
||||
|
||||
Reference in New Issue
Block a user