mirror of
https://github.com/owntone/owntone-server.git
synced 2025-07-19 21:48:59 -04:00
[web] Lint source code
This commit is contained in:
parent
02625ff67a
commit
f62c5c06a8
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -15,7 +15,6 @@ export default [
|
||||
rules: {
|
||||
camelcase: 'off',
|
||||
'id-length': 'off',
|
||||
'max-lines': 'off',
|
||||
'max-lines-per-function': 'off',
|
||||
'max-statements': 'off',
|
||||
'no-bitwise': 'off',
|
||||
|
202
web-src/package-lock.json
generated
202
web-src/package-lock.json
generated
@ -19,7 +19,7 @@
|
||||
"reconnectingwebsocket": "^1.0.0",
|
||||
"spotify-web-api-js": "^1.5.2",
|
||||
"vue": "^3.5.14",
|
||||
"vue-i18n": "^11.1.3",
|
||||
"vue-i18n": "^11.1.4",
|
||||
"vue-router": "^4.5.1",
|
||||
"vue3-click-away": "^1.2.4",
|
||||
"vue3-lazyload": "^0.3.8",
|
||||
@ -789,13 +789,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@intlify/core-base": {
|
||||
"version": "11.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-11.1.3.tgz",
|
||||
"integrity": "sha512-cMuHunYO7LE80azTitcvEbs1KJmtd6g7I5pxlApV3Jo547zdO3h31/0uXpqHc+Y3RKt1wo2y68RGSx77Z1klyA==",
|
||||
"version": "11.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-11.1.4.tgz",
|
||||
"integrity": "sha512-VNIanL84HNBNAoJjPA2V8EykT5NtgNDquO2MsDQcSheo7EcCt4uvH14IHBEDKVoL6k38NNICLuRhtKOKqW2ylA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@intlify/message-compiler": "11.1.3",
|
||||
"@intlify/shared": "11.1.3"
|
||||
"@intlify/message-compiler": "11.1.4",
|
||||
"@intlify/shared": "11.1.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 16"
|
||||
@ -805,12 +805,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@intlify/message-compiler": {
|
||||
"version": "11.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-11.1.3.tgz",
|
||||
"integrity": "sha512-7rbqqpo2f5+tIcwZTAG/Ooy9C8NDVwfDkvSeDPWUPQW+Dyzfw2o9H103N5lKBxO7wxX9dgCDjQ8Umz73uYw3hw==",
|
||||
"version": "11.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-11.1.4.tgz",
|
||||
"integrity": "sha512-fQWJwTOBFNFGNr4I5k629hQxTGEKsDWhhTzr6Y4CN4OXJw/dLB/VbbQm5jlylqnv44RBZN5GSD+d1nWpNcAR5A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@intlify/shared": "11.1.3",
|
||||
"@intlify/shared": "11.1.4",
|
||||
"source-map-js": "^1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
@ -821,9 +821,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@intlify/shared": {
|
||||
"version": "11.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-11.1.3.tgz",
|
||||
"integrity": "sha512-pTFBgqa/99JRA2H1qfyqv97MKWJrYngXBA/I0elZcYxvJgcCw3mApAoPW3mJ7vx3j+Ti0FyKUFZ4hWxdjKaxvA==",
|
||||
"version": "11.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-11.1.4.tgz",
|
||||
"integrity": "sha512-zOW2L5+QnWRQgM/7WNSPxa6E0F3wR2/KEQV7P4s4AXzxzmg0MuzLNiixvkRJU5h0Xb3DnHic6zybKva28kabDw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 16"
|
||||
@ -1368,9 +1368,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz",
|
||||
"integrity": "sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.1.tgz",
|
||||
"integrity": "sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@ -1382,9 +1382,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-android-arm64": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.0.tgz",
|
||||
"integrity": "sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.1.tgz",
|
||||
"integrity": "sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -1396,9 +1396,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-darwin-arm64": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.0.tgz",
|
||||
"integrity": "sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.1.tgz",
|
||||
"integrity": "sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -1410,9 +1410,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-darwin-x64": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.0.tgz",
|
||||
"integrity": "sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.1.tgz",
|
||||
"integrity": "sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -1424,9 +1424,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-freebsd-arm64": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.0.tgz",
|
||||
"integrity": "sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.1.tgz",
|
||||
"integrity": "sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -1438,9 +1438,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-freebsd-x64": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.0.tgz",
|
||||
"integrity": "sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.1.tgz",
|
||||
"integrity": "sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -1452,9 +1452,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.0.tgz",
|
||||
"integrity": "sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.1.tgz",
|
||||
"integrity": "sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@ -1466,9 +1466,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.0.tgz",
|
||||
"integrity": "sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.1.tgz",
|
||||
"integrity": "sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@ -1480,9 +1480,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.0.tgz",
|
||||
"integrity": "sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.1.tgz",
|
||||
"integrity": "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -1494,9 +1494,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.0.tgz",
|
||||
"integrity": "sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz",
|
||||
"integrity": "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -1508,9 +1508,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.0.tgz",
|
||||
"integrity": "sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz",
|
||||
"integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
@ -1522,9 +1522,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.0.tgz",
|
||||
"integrity": "sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz",
|
||||
"integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@ -1536,9 +1536,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.0.tgz",
|
||||
"integrity": "sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz",
|
||||
"integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
@ -1550,9 +1550,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-riscv64-musl": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.0.tgz",
|
||||
"integrity": "sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz",
|
||||
"integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
@ -1564,9 +1564,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.0.tgz",
|
||||
"integrity": "sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz",
|
||||
"integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
@ -1578,9 +1578,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.0.tgz",
|
||||
"integrity": "sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz",
|
||||
"integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -1592,9 +1592,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-x64-musl": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.0.tgz",
|
||||
"integrity": "sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz",
|
||||
"integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -1606,9 +1606,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.0.tgz",
|
||||
"integrity": "sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz",
|
||||
"integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -1620,9 +1620,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.0.tgz",
|
||||
"integrity": "sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz",
|
||||
"integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
@ -1634,9 +1634,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.0.tgz",
|
||||
"integrity": "sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz",
|
||||
"integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -3724,9 +3724,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/rollup": {
|
||||
"version": "4.41.0",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.0.tgz",
|
||||
"integrity": "sha512-HqMFpUbWlf/tvcxBFNKnJyzc7Lk+XO3FGc3pbNBLqEbOz0gPLRgcrlS3UF4MfUrVlstOaP/q0kM6GVvi+LrLRg==",
|
||||
"version": "4.41.1",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.1.tgz",
|
||||
"integrity": "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -3740,26 +3740,26 @@
|
||||
"npm": ">=8.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rollup/rollup-android-arm-eabi": "4.41.0",
|
||||
"@rollup/rollup-android-arm64": "4.41.0",
|
||||
"@rollup/rollup-darwin-arm64": "4.41.0",
|
||||
"@rollup/rollup-darwin-x64": "4.41.0",
|
||||
"@rollup/rollup-freebsd-arm64": "4.41.0",
|
||||
"@rollup/rollup-freebsd-x64": "4.41.0",
|
||||
"@rollup/rollup-linux-arm-gnueabihf": "4.41.0",
|
||||
"@rollup/rollup-linux-arm-musleabihf": "4.41.0",
|
||||
"@rollup/rollup-linux-arm64-gnu": "4.41.0",
|
||||
"@rollup/rollup-linux-arm64-musl": "4.41.0",
|
||||
"@rollup/rollup-linux-loongarch64-gnu": "4.41.0",
|
||||
"@rollup/rollup-linux-powerpc64le-gnu": "4.41.0",
|
||||
"@rollup/rollup-linux-riscv64-gnu": "4.41.0",
|
||||
"@rollup/rollup-linux-riscv64-musl": "4.41.0",
|
||||
"@rollup/rollup-linux-s390x-gnu": "4.41.0",
|
||||
"@rollup/rollup-linux-x64-gnu": "4.41.0",
|
||||
"@rollup/rollup-linux-x64-musl": "4.41.0",
|
||||
"@rollup/rollup-win32-arm64-msvc": "4.41.0",
|
||||
"@rollup/rollup-win32-ia32-msvc": "4.41.0",
|
||||
"@rollup/rollup-win32-x64-msvc": "4.41.0",
|
||||
"@rollup/rollup-android-arm-eabi": "4.41.1",
|
||||
"@rollup/rollup-android-arm64": "4.41.1",
|
||||
"@rollup/rollup-darwin-arm64": "4.41.1",
|
||||
"@rollup/rollup-darwin-x64": "4.41.1",
|
||||
"@rollup/rollup-freebsd-arm64": "4.41.1",
|
||||
"@rollup/rollup-freebsd-x64": "4.41.1",
|
||||
"@rollup/rollup-linux-arm-gnueabihf": "4.41.1",
|
||||
"@rollup/rollup-linux-arm-musleabihf": "4.41.1",
|
||||
"@rollup/rollup-linux-arm64-gnu": "4.41.1",
|
||||
"@rollup/rollup-linux-arm64-musl": "4.41.1",
|
||||
"@rollup/rollup-linux-loongarch64-gnu": "4.41.1",
|
||||
"@rollup/rollup-linux-powerpc64le-gnu": "4.41.1",
|
||||
"@rollup/rollup-linux-riscv64-gnu": "4.41.1",
|
||||
"@rollup/rollup-linux-riscv64-musl": "4.41.1",
|
||||
"@rollup/rollup-linux-s390x-gnu": "4.41.1",
|
||||
"@rollup/rollup-linux-x64-gnu": "4.41.1",
|
||||
"@rollup/rollup-linux-x64-musl": "4.41.1",
|
||||
"@rollup/rollup-win32-arm64-msvc": "4.41.1",
|
||||
"@rollup/rollup-win32-ia32-msvc": "4.41.1",
|
||||
"@rollup/rollup-win32-x64-msvc": "4.41.1",
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
@ -4169,13 +4169,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vue-i18n": {
|
||||
"version": "11.1.3",
|
||||
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-11.1.3.tgz",
|
||||
"integrity": "sha512-Pcylh9z9S5+CJAqgbRZ3EKxFIBIrtY5YUppU722GIT65+Nukm0TCqiQegZnNLCZkXGthxe0cpqj0AoM51H+6Gw==",
|
||||
"version": "11.1.4",
|
||||
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-11.1.4.tgz",
|
||||
"integrity": "sha512-0B2Q4rTSzQigfIQnsgNMgWOekouT2lr3hiKG3k7q3fQykr968BRdIUDnIvHisq/f1FPKbBznHpvAyGg78eDAyg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@intlify/core-base": "11.1.3",
|
||||
"@intlify/shared": "11.1.3",
|
||||
"@intlify/core-base": "11.1.4",
|
||||
"@intlify/shared": "11.1.4",
|
||||
"@vue/devtools-api": "^6.5.0"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -23,7 +23,7 @@
|
||||
"reconnectingwebsocket": "^1.0.0",
|
||||
"spotify-web-api-js": "^1.5.2",
|
||||
"vue": "^3.5.14",
|
||||
"vue-i18n": "^11.1.3",
|
||||
"vue-i18n": "^11.1.4",
|
||||
"vue-router": "^4.5.1",
|
||||
"vue3-click-away": "^1.2.4",
|
||||
"vue3-lazyload": "^0.3.8",
|
||||
|
@ -79,17 +79,17 @@ export default {
|
||||
},
|
||||
created() {
|
||||
this.handlers = {
|
||||
update: [this.libraryStore.initialise],
|
||||
database: [this.libraryStore.initialise],
|
||||
player: [this.playerStore.initialise],
|
||||
lastfm: [this.servicesStore.initialiseLastfm],
|
||||
options: [this.playerStore.initialise],
|
||||
volume: [this.playerStore.initialise, this.outputsStore.initialise],
|
||||
outputs: [this.outputsStore.initialise],
|
||||
pairing: [this.remotesStore.initialise],
|
||||
player: [this.playerStore.initialise],
|
||||
queue: [this.queueStore.initialise],
|
||||
settings: [this.settingsStore.initialise],
|
||||
spotify: [this.servicesStore.initialiseSpotify],
|
||||
lastfm: [this.servicesStore.initialiseLastfm],
|
||||
pairing: [this.remotesStore.initialise]
|
||||
update: [this.libraryStore.initialise],
|
||||
volume: [this.playerStore.initialise, this.outputsStore.initialise]
|
||||
}
|
||||
this.connect()
|
||||
this.$router.beforeEach((to, from, next) => {
|
||||
@ -129,6 +129,34 @@ export default {
|
||||
})
|
||||
})
|
||||
},
|
||||
createWebsocket() {
|
||||
const protocol = window.location.protocol.replace('http', 'ws')
|
||||
const hostname =
|
||||
(import.meta.env.DEV &&
|
||||
URL.parse(import.meta.env.VITE_OWNTONE_URL)?.hostname) ||
|
||||
window.location.hostname
|
||||
const suffix =
|
||||
this.configurationStore.websocket_port || `${window.location.port}/ws`
|
||||
const url = `${protocol}${hostname}:${suffix}`
|
||||
return new ReconnectingWebSocket(url, 'notify', {
|
||||
maxReconnectInterval: 2000,
|
||||
reconnectInterval: 1000
|
||||
})
|
||||
},
|
||||
handleEvents(events = []) {
|
||||
events.forEach((event) => {
|
||||
const handlers = this.handlers[event] || []
|
||||
handlers.forEach((handler) => {
|
||||
if (!this.scheduledHandlers.has(handler)) {
|
||||
const timeoutId = setTimeout(() => {
|
||||
handler.call(this)
|
||||
this.scheduledHandlers.delete(handler)
|
||||
}, 50)
|
||||
this.scheduledHandlers.set(handler, timeoutId)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
openWebsocket() {
|
||||
const socket = this.createWebsocket()
|
||||
const events = [
|
||||
@ -161,34 +189,6 @@ export default {
|
||||
this.handleEvents(notifiedEvents)
|
||||
}
|
||||
},
|
||||
createWebsocket() {
|
||||
const protocol = window.location.protocol.replace('http', 'ws')
|
||||
const hostname =
|
||||
(import.meta.env.DEV &&
|
||||
URL.parse(import.meta.env.VITE_OWNTONE_URL)?.hostname) ||
|
||||
window.location.hostname
|
||||
const suffix =
|
||||
this.configurationStore.websocket_port || `${window.location.port}/ws`
|
||||
const url = `${protocol}${hostname}:${suffix}`
|
||||
return new ReconnectingWebSocket(url, 'notify', {
|
||||
maxReconnectInterval: 2000,
|
||||
reconnectInterval: 1000
|
||||
})
|
||||
},
|
||||
handleEvents(events = []) {
|
||||
events.forEach((event) => {
|
||||
const handlers = this.handlers[event] || []
|
||||
handlers.forEach((handler) => {
|
||||
if (!this.scheduledHandlers.has(handler)) {
|
||||
const timeoutId = setTimeout(() => {
|
||||
handler.call(this)
|
||||
this.scheduledHandlers.delete(handler)
|
||||
}, 50)
|
||||
this.scheduledHandlers.set(handler, timeoutId)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
updateClipping() {
|
||||
if (this.uiStore.showBurgerMenu || this.uiStore.showPlayerMenu) {
|
||||
document.querySelector('html').classList.add('is-clipped')
|
||||
|
@ -3,12 +3,12 @@ import api from '@/api'
|
||||
const BASE_URL = './api/outputs'
|
||||
|
||||
export default {
|
||||
toggle(id) {
|
||||
return api.put(`${BASE_URL}/${id}/toggle`)
|
||||
},
|
||||
state() {
|
||||
return api.get(BASE_URL)
|
||||
},
|
||||
toggle(id) {
|
||||
return api.put(`${BASE_URL}/${id}/toggle`)
|
||||
},
|
||||
update(id, output) {
|
||||
return api.put(`${BASE_URL}/${id}`, output)
|
||||
}
|
||||
|
@ -23,12 +23,12 @@ export default {
|
||||
computed: {
|
||||
source() {
|
||||
return {
|
||||
src: this.url || this.uri,
|
||||
lifecycle: {
|
||||
error: (el) => {
|
||||
el.src = this.uri
|
||||
}
|
||||
}
|
||||
},
|
||||
src: this.url || this.uri
|
||||
}
|
||||
},
|
||||
uri() {
|
||||
|
@ -50,7 +50,7 @@ export default {
|
||||
methods: {
|
||||
image(item) {
|
||||
if (this.settingsStore.showCoverArtworkInAlbumLists) {
|
||||
return { url: item.item.artwork_url, caption: item.item.name }
|
||||
return { caption: item.item.name, url: item.item.artwork_url }
|
||||
}
|
||||
return null
|
||||
},
|
||||
|
@ -44,7 +44,7 @@ export default {
|
||||
methods: {
|
||||
image(item) {
|
||||
if (this.settingsStore.showCoverArtworkInAlbumLists) {
|
||||
return { url: item.images?.[0]?.url ?? '', caption: item.name }
|
||||
return { caption: item.name, url: item.images?.[0]?.url ?? '' }
|
||||
}
|
||||
return null
|
||||
},
|
||||
|
@ -54,9 +54,9 @@ export default {
|
||||
props: {
|
||||
currentPosition: { required: true, type: Number },
|
||||
editing: Boolean,
|
||||
hideReadItems: Boolean,
|
||||
item: { required: true, type: Object },
|
||||
position: { required: true, type: Number },
|
||||
hideReadItems: Boolean
|
||||
position: { required: true, type: Number }
|
||||
},
|
||||
setup() {
|
||||
return { playerStore: usePlayerStore() }
|
||||
|
@ -29,8 +29,8 @@ export default {
|
||||
components: { ListItem, ModalDialogTrack },
|
||||
props: {
|
||||
expression: { default: '', type: String },
|
||||
items: { default: null, type: Object },
|
||||
icon: { default: null, type: String },
|
||||
items: { default: null, type: Object },
|
||||
load: { default: null, type: Function },
|
||||
loaded: { default: true, type: Boolean },
|
||||
showProgress: { default: false, type: Boolean },
|
||||
|
@ -50,12 +50,12 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
play() {
|
||||
addNextToQueue() {
|
||||
this.$emit('close')
|
||||
if (this.item.expression) {
|
||||
queue.playExpression(this.item.expression, false)
|
||||
queue.addExpression(this.item.expression, true)
|
||||
} else {
|
||||
queue.playUri(this.item.uris || this.item.uri, false)
|
||||
queue.addUri(this.item.uris || this.item.uri, true)
|
||||
}
|
||||
},
|
||||
addToQueue() {
|
||||
@ -66,12 +66,12 @@ export default {
|
||||
queue.addUri(this.item.uris || this.item.uri)
|
||||
}
|
||||
},
|
||||
addNextToQueue() {
|
||||
play() {
|
||||
this.$emit('close')
|
||||
if (this.item.expression) {
|
||||
queue.addExpression(this.item.expression, true)
|
||||
queue.playExpression(this.item.expression, false)
|
||||
} else {
|
||||
queue.addUri(this.item.uris || this.item.uri, true)
|
||||
queue.playUri(this.item.uris || this.item.uri, false)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -30,8 +30,8 @@ export default {
|
||||
const MIDDLE_POSITION = Math.floor(VISIBLE_VERSES / 2)
|
||||
return {
|
||||
MIDDLE_POSITION,
|
||||
playerStore: usePlayerStore(),
|
||||
VISIBLE_VERSES
|
||||
VISIBLE_VERSES,
|
||||
playerStore: usePlayerStore()
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@ -139,7 +139,7 @@ export default {
|
||||
const start = currentTime
|
||||
const end = start + totalDuration * (text.length / totalLength)
|
||||
currentTime = end
|
||||
return { text, start, end }
|
||||
return { end, start, text }
|
||||
})
|
||||
})
|
||||
return lyrics
|
||||
|
@ -69,14 +69,14 @@ export default {
|
||||
computed: {
|
||||
heading() {
|
||||
return {
|
||||
count: this.$t('data.tracks', { count: this.album.tracks.total }),
|
||||
handler: this.openArtist,
|
||||
subtitle: this.album.artists[0].name,
|
||||
title: this.album.name,
|
||||
actions: [
|
||||
{ handler: this.play, icon: 'shuffle', key: 'actions.shuffle' },
|
||||
{ handler: this.openDetails, icon: 'dots-horizontal' }
|
||||
]
|
||||
],
|
||||
count: this.$t('data.tracks', { count: this.album.tracks.total }),
|
||||
handler: this.openArtist,
|
||||
subtitle: this.album.artists[0].name,
|
||||
title: this.album.name
|
||||
}
|
||||
},
|
||||
tracks() {
|
||||
|
@ -62,8 +62,8 @@ export default {
|
||||
ContentWithHeading,
|
||||
ControlDropdown,
|
||||
ControlSwitch,
|
||||
ListIndexButtons,
|
||||
ListAlbums,
|
||||
ListIndexButtons,
|
||||
ListOptions,
|
||||
PaneTitle,
|
||||
TabsMusic
|
||||
|
@ -62,8 +62,8 @@ export default {
|
||||
ContentWithHeading,
|
||||
ControlDropdown,
|
||||
ControlSwitch,
|
||||
ListIndexButtons,
|
||||
ListArtists,
|
||||
ListIndexButtons,
|
||||
ListOptions,
|
||||
PaneTitle,
|
||||
TabsMusic
|
||||
|
@ -26,8 +26,8 @@ export default {
|
||||
name: 'PageAudiobookAlbums',
|
||||
components: {
|
||||
ContentWithHeading,
|
||||
ListIndexButtons,
|
||||
ListAlbums,
|
||||
ListIndexButtons,
|
||||
PaneTitle,
|
||||
TabsAudiobooks
|
||||
},
|
||||
|
@ -26,8 +26,8 @@ export default {
|
||||
name: 'PageAudiobookArtists',
|
||||
components: {
|
||||
ContentWithHeading,
|
||||
ListIndexButtons,
|
||||
ListArtists,
|
||||
ListIndexButtons,
|
||||
PaneTitle,
|
||||
TabsAudiobooks
|
||||
},
|
||||
|
@ -26,8 +26,8 @@ export default {
|
||||
name: 'PageAudiobooksGenres',
|
||||
components: {
|
||||
ContentWithHeading,
|
||||
ListIndexButtons,
|
||||
ListGenres,
|
||||
ListIndexButtons,
|
||||
PaneTitle,
|
||||
TabsAudiobooks
|
||||
},
|
||||
|
@ -26,8 +26,8 @@ export default {
|
||||
name: 'PageComposers',
|
||||
components: {
|
||||
ContentWithHeading,
|
||||
ListIndexButtons,
|
||||
ListComposers,
|
||||
ListIndexButtons,
|
||||
PaneTitle,
|
||||
TabsMusic
|
||||
},
|
||||
|
@ -42,8 +42,8 @@ export default {
|
||||
components: {
|
||||
ContentWithHeading,
|
||||
ControlButton,
|
||||
ListIndexButtons,
|
||||
ListAlbums,
|
||||
ListIndexButtons,
|
||||
ModalDialogGenre,
|
||||
PaneTitle
|
||||
},
|
||||
|
@ -127,6 +127,9 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openDetails() {
|
||||
this.showDetailsModal = true
|
||||
},
|
||||
openGenre() {
|
||||
this.showDetailsModal = false
|
||||
this.$router.push({
|
||||
@ -137,9 +140,6 @@ export default {
|
||||
},
|
||||
play() {
|
||||
queue.playExpression(this.expression, true)
|
||||
},
|
||||
openDetails() {
|
||||
this.showDetailsModal = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,8 +26,8 @@ export default {
|
||||
name: 'PageGenres',
|
||||
components: {
|
||||
ContentWithHeading,
|
||||
ListIndexButtons,
|
||||
ListGenres,
|
||||
ListIndexButtons,
|
||||
PaneTitle,
|
||||
TabsMusic
|
||||
},
|
||||
|
@ -69,8 +69,8 @@ export default {
|
||||
components: {
|
||||
ControlImage,
|
||||
ControlSlider,
|
||||
PaneLyrics,
|
||||
ModalDialogQueueItem
|
||||
ModalDialogQueueItem,
|
||||
PaneLyrics
|
||||
},
|
||||
setup() {
|
||||
return {
|
||||
|
@ -80,19 +80,19 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openDetails() {
|
||||
this.showDetailsModal = true
|
||||
},
|
||||
play() {
|
||||
queue.playUri(this.album.uri, false)
|
||||
},
|
||||
podcastDeleted() {
|
||||
this.$router.push({ name: 'podcasts' })
|
||||
},
|
||||
reloadTracks() {
|
||||
library.podcastEpisodes(this.album.id).then((tracks) => {
|
||||
this.tracks = new GroupedList(tracks)
|
||||
})
|
||||
},
|
||||
openDetails() {
|
||||
this.showDetailsModal = true
|
||||
},
|
||||
podcastDeleted() {
|
||||
this.$router.push({ name: 'podcasts' })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -131,9 +131,9 @@ export default {
|
||||
return {
|
||||
editing: false,
|
||||
selectedItem: {},
|
||||
showAddStreamDialog: false,
|
||||
showDetailsModal: false,
|
||||
showSaveModal: false,
|
||||
showAddStreamDialog: false
|
||||
showSaveModal: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -72,8 +72,8 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
results: new Map(),
|
||||
limit: {},
|
||||
results: new Map(),
|
||||
types: SEARCH_TYPES
|
||||
}
|
||||
},
|
||||
|
@ -103,18 +103,18 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
pairRemote() {
|
||||
remotes.pair(this.remotePin)
|
||||
},
|
||||
pairOutput(identifier) {
|
||||
outputs.update(identifier, { pin: this.outputPin })
|
||||
onOutputPinChange(pin) {
|
||||
this.outputPin = pin
|
||||
},
|
||||
onRemotePinChange(pin, disabled) {
|
||||
this.remotePin = pin
|
||||
this.remotePairingDisabled = disabled
|
||||
},
|
||||
onOutputPinChange(pin) {
|
||||
this.outputPin = pin
|
||||
pairOutput(identifier) {
|
||||
outputs.update(identifier, { pin: this.outputPin })
|
||||
},
|
||||
pairRemote() {
|
||||
remotes.pair(this.remotePin)
|
||||
},
|
||||
toggleOutput(identifier) {
|
||||
outputs.toggle(identifier)
|
||||
|
@ -23,6 +23,8 @@ export const useServicesStore = defineStore('ServicesStore', {
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
grantedSpotifyScopes: (state) =>
|
||||
state.spotify.webapi_granted_scope?.split(' ') ?? [],
|
||||
hasMissingSpotifyScopes: (state) => state.missingSpotifyScopes.length > 0,
|
||||
isAuthorizationRequired: (state) =>
|
||||
!state.isSpotifyActive || state.hasMissingSpotifyScopes,
|
||||
@ -30,8 +32,6 @@ export const useServicesStore = defineStore('ServicesStore', {
|
||||
isLastfmEnabled: (state) => state.lastfm.enabled,
|
||||
isSpotifyActive: (state) => state.spotify.webapi_token_valid,
|
||||
isSpotifyEnabled: (state) => state.spotify.spotify_installed,
|
||||
grantedSpotifyScopes: (state) =>
|
||||
state.spotify.webapi_granted_scope?.split(' ') ?? [],
|
||||
missingSpotifyScopes(state) {
|
||||
const scopes = new Set(state.grantedSpotifyScopes)
|
||||
return (
|
||||
|
@ -10,12 +10,12 @@ export const useUIStore = defineStore('UIStore', {
|
||||
this.showPlayerMenu = false
|
||||
this.showBurgerMenu = !this.showBurgerMenu
|
||||
},
|
||||
toggleHideReadItems() {
|
||||
this.hideReadItems = !this.hideReadItems
|
||||
},
|
||||
togglePlayerMenu() {
|
||||
this.showBurgerMenu = false
|
||||
this.showPlayerMenu = !this.showPlayerMenu
|
||||
},
|
||||
toggleHideReadItems() {
|
||||
this.hideReadItems = !this.hideReadItems
|
||||
}
|
||||
},
|
||||
state: () => ({
|
||||
|
Loading…
x
Reference in New Issue
Block a user