closes #137, improve a11y

This commit is contained in:
Shiny Nematoda 2023-07-29 10:58:31 +00:00
parent 6133a796fc
commit acdadc6c89
9 changed files with 153 additions and 137 deletions

View file

@ -2,7 +2,7 @@
name: "Report a bug" name: "Report a bug"
about: "Is Hyperpipe not behaving as expected? Report a bug so that it can be fixed as soon as possible." about: "Is Hyperpipe not behaving as expected? Report a bug so that it can be fixed as soon as possible."
labels: labels:
- "Kind: Bug" - "Kind/Bug"
--- ---
## Browser ## Browser

View file

@ -2,7 +2,7 @@
name: "Suggest a new feature" name: "Suggest a new feature"
about: "Is there something missing that you want to see in Hyperpipe? Suggest a feature to have it come to an instance near you!" about: "Is there something missing that you want to see in Hyperpipe? Suggest a feature to have it come to an instance near you!"
labels: labels:
- "Kind: Enhancement" - "Kind/Enhancement"
--- ---
#### A. The Shortcoming #### A. The Shortcoming

220
package-lock.json generated
View file

@ -12,7 +12,7 @@
"dompurify": "^3.0.5", "dompurify": "^3.0.5",
"mux.js": "^6.3.0", "mux.js": "^6.3.0",
"peerjs": "^1.4.7", "peerjs": "^1.4.7",
"pinia": "^2.1.4", "pinia": "^2.1.6",
"shaka-player": "^4.3.8", "shaka-player": "^4.3.8",
"sortablejs": "^1.15.0", "sortablejs": "^1.15.0",
"vue": "^3.2.38" "vue": "^3.2.38"
@ -1711,9 +1711,9 @@
} }
}, },
"node_modules/@esbuild/android-arm": { "node_modules/@esbuild/android-arm": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz",
"integrity": "sha512-gCHjjQmA8L0soklKbLKA6pgsLk1byULuHe94lkZDzcO3/Ta+bbeewJioEn1Fr7kgy9NWNFy/C+MrBwC6I/WCug==", "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -1727,9 +1727,9 @@
} }
}, },
"node_modules/@esbuild/android-arm64": { "node_modules/@esbuild/android-arm64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz",
"integrity": "sha512-wsCqSPqLz+6Ov+OM4EthU43DyYVVyfn15S4j1bJzylDpc1r1jZFFfJQNfDuT8SlgwuqpmpJXK4uPlHGw6ve7eA==", "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -1743,9 +1743,9 @@
} }
}, },
"node_modules/@esbuild/android-x64": { "node_modules/@esbuild/android-x64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz",
"integrity": "sha512-ldsTXolyA3eTQ1//4DS+E15xl0H/3DTRJaRL0/0PgkqDsI0fV/FlOtD+h0u/AUJr+eOTlZv4aC9gvfppo3C4sw==", "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -1759,9 +1759,9 @@
} }
}, },
"node_modules/@esbuild/darwin-arm64": { "node_modules/@esbuild/darwin-arm64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz",
"integrity": "sha512-aBxruWCII+OtluORR/KvisEw0ALuw/qDQWvkoosA+c/ngC/Kwk0lLaZ+B++LLS481/VdydB2u6tYpWxUfnLAIw==", "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -1775,9 +1775,9 @@
} }
}, },
"node_modules/@esbuild/darwin-x64": { "node_modules/@esbuild/darwin-x64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz",
"integrity": "sha512-6w4Dbue280+rp3LnkgmriS1icOUZDyPuZo/9VsuMUTns7SYEiOaJ7Ca1cbhu9KVObAWfmdjUl4gwy9TIgiO5eA==", "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -1791,9 +1791,9 @@
} }
}, },
"node_modules/@esbuild/freebsd-arm64": { "node_modules/@esbuild/freebsd-arm64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz",
"integrity": "sha512-x35fCebhe9s979DGKbVAwXUOcTmCIE32AIqB9CB1GralMIvxdnMLAw5CnID17ipEw9/3MvDsusj/cspYt2ZLNQ==", "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -1807,9 +1807,9 @@
} }
}, },
"node_modules/@esbuild/freebsd-x64": { "node_modules/@esbuild/freebsd-x64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz",
"integrity": "sha512-YM98f+PeNXF3GbxIJlUsj+McUWG1irguBHkszCIwfr3BXtXZsXo0vqybjUDFfu9a8Wr7uUD/YSmHib+EeGAFlg==", "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -1823,9 +1823,9 @@
} }
}, },
"node_modules/@esbuild/linux-arm": { "node_modules/@esbuild/linux-arm": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz",
"integrity": "sha512-b5ABb+5Ha2C9JkeZXV+b+OruR1tJ33ePmv9ZwMeETSEKlmu/WJ45XTTG+l6a2KDsQtJJ66qo/hbSGBtk0XVLHw==", "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -1839,9 +1839,9 @@
} }
}, },
"node_modules/@esbuild/linux-arm64": { "node_modules/@esbuild/linux-arm64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz",
"integrity": "sha512-XIqhNUxJiuy+zsR77+H5Z2f7s4YRlriSJKtvx99nJuG5ATuJPjmZ9n0ANgnGlPCpXGSReFpgcJ7O3SMtzIFeiQ==", "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -1855,9 +1855,9 @@
} }
}, },
"node_modules/@esbuild/linux-ia32": { "node_modules/@esbuild/linux-ia32": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz",
"integrity": "sha512-no+pfEpwnRvIyH+txbBAWtjxPU9grslmTBfsmDndj7bnBmr55rOo/PfQmRfz7Qg9isswt1FP5hBbWb23fRWnow==", "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@ -1871,9 +1871,9 @@
} }
}, },
"node_modules/@esbuild/linux-loong64": { "node_modules/@esbuild/linux-loong64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz",
"integrity": "sha512-Zbnczs9ZXjmo0oZSS0zbNlJbcwKXa/fcNhYQjahDs4Xg18UumpXG/lwM2lcSvHS3mTrRyCYZvJbmzYc4laRI1g==", "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==",
"cpu": [ "cpu": [
"loong64" "loong64"
], ],
@ -1887,9 +1887,9 @@
} }
}, },
"node_modules/@esbuild/linux-mips64el": { "node_modules/@esbuild/linux-mips64el": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz",
"integrity": "sha512-YMF7hih1HVR/hQVa/ot4UVffc5ZlrzEb3k2ip0nZr1w6fnYypll9td2qcoMLvd3o8j3y6EbJM3MyIcXIVzXvQQ==", "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==",
"cpu": [ "cpu": [
"mips64el" "mips64el"
], ],
@ -1903,9 +1903,9 @@
} }
}, },
"node_modules/@esbuild/linux-ppc64": { "node_modules/@esbuild/linux-ppc64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz",
"integrity": "sha512-Wkz++LZ29lDwUyTSEnzDaaP5OveOgTU69q9IyIw9WqLRxM4BjTBjz9un4G6TOvehWpf/J3gYVFN96TjGHrbcNQ==", "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
@ -1919,9 +1919,9 @@
} }
}, },
"node_modules/@esbuild/linux-riscv64": { "node_modules/@esbuild/linux-riscv64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz",
"integrity": "sha512-LFMKZ30tk78/mUv1ygvIP+568bwf4oN6reG/uczXnz6SvFn4e2QUFpUpZY9iSJT6Qpgstrhef/nMykIXZtZWGQ==", "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
@ -1935,9 +1935,9 @@
} }
}, },
"node_modules/@esbuild/linux-s390x": { "node_modules/@esbuild/linux-s390x": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz",
"integrity": "sha512-3ZC0BgyYHYKfZo3AV2/66TD/I9tlSBaW7eWTEIkrQQKfJIifKMMttXl9FrAg+UT0SGYsCRLI35Gwdmm96vlOjg==", "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==",
"cpu": [ "cpu": [
"s390x" "s390x"
], ],
@ -1951,9 +1951,9 @@
} }
}, },
"node_modules/@esbuild/linux-x64": { "node_modules/@esbuild/linux-x64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz",
"integrity": "sha512-xu86B3647DihHJHv/wx3NCz2Dg1gjQ8bbf9cVYZzWKY+gsvxYmn/lnVlqDRazObc3UMwoHpUhNYaZset4X8IPA==", "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -1967,9 +1967,9 @@
} }
}, },
"node_modules/@esbuild/netbsd-x64": { "node_modules/@esbuild/netbsd-x64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz",
"integrity": "sha512-uVAgpimx9Ffw3xowtg/7qQPwHFx94yCje+DoBx+LNm2ePDpQXHrzE+Sb0Si2VBObYz+LcRps15cq+95YM7gkUw==", "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -1983,9 +1983,9 @@
} }
}, },
"node_modules/@esbuild/openbsd-x64": { "node_modules/@esbuild/openbsd-x64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz",
"integrity": "sha512-6OjCQM9wf7z8/MBi6BOWaTL2AS/SZudsZtBziXMtNI8r/U41AxS9x7jn0ATOwVy08OotwkPqGRMkpPR2wcTJXA==", "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -1999,9 +1999,9 @@
} }
}, },
"node_modules/@esbuild/sunos-x64": { "node_modules/@esbuild/sunos-x64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz",
"integrity": "sha512-ZoNkruFYJp9d1LbUYCh8awgQDvB9uOMZqlQ+gGEZR7v6C+N6u7vPr86c+Chih8niBR81Q/bHOSKGBK3brJyvkQ==", "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -2015,9 +2015,9 @@
} }
}, },
"node_modules/@esbuild/win32-arm64": { "node_modules/@esbuild/win32-arm64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz",
"integrity": "sha512-+j4anzQ9hrs+iqO+/wa8UE6TVkKua1pXUb0XWFOx0FiAj6R9INJ+WE//1/Xo6FG1vB5EpH3ko+XcgwiDXTxcdw==", "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -2031,9 +2031,9 @@
} }
}, },
"node_modules/@esbuild/win32-ia32": { "node_modules/@esbuild/win32-ia32": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz",
"integrity": "sha512-5PFPmq3sSKTp9cT9dzvI67WNfRZGvEVctcZa1KGjDDu4n3H8k59Inbk0du1fz0KrAbKKNpJbdFXQMDUz7BG4rQ==", "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@ -2047,9 +2047,9 @@
} }
}, },
"node_modules/@esbuild/win32-x64": { "node_modules/@esbuild/win32-x64": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz",
"integrity": "sha512-sCIVrrtcWN5Ua7jYXNG1xD199IalrbfV2+0k/2Zf2OyV2FtnQnMgdzgpRAbi4AWlKJj1jkX+M+fEGPQj6BQB4w==", "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -2196,9 +2196,9 @@
"dev": true "dev": true
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "20.4.4", "version": "20.4.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.4.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.5.tgz",
"integrity": "sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew==", "integrity": "sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==",
"dev": true "dev": true
}, },
"node_modules/@types/resolve": { "node_modules/@types/resolve": {
@ -2658,9 +2658,9 @@
"dev": true "dev": true
}, },
"node_modules/core-js-compat": { "node_modules/core-js-compat": {
"version": "3.31.1", "version": "3.32.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.1.tgz", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz",
"integrity": "sha512-wIDWd2s5/5aJSdpOJHfSibxNODxoGoWOBHt8JSPB41NOE94M7kuTPZCYLOlTtuoXTsBPKobpJ6T+y0SSy5L9SA==", "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"browserslist": "^4.21.9" "browserslist": "^4.21.9"
@ -2752,9 +2752,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.470", "version": "1.4.477",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.470.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.477.tgz",
"integrity": "sha512-zZM48Lmy2FKWgqyvsX9XK+J6FfP7aCDUFLmgooLJzA7v1agCs/sxSoBpTIwDLhmbhpx9yJIxj2INig/ncjJRqg==", "integrity": "sha512-shUVy6Eawp33dFBFIoYbIwLHrX0IZ857AlH9ug2o4rvbWmpaCUdBpQ5Zw39HRrfzAFm4APJE9V+E2A/WB0YqJw==",
"dev": true "dev": true
}, },
"node_modules/eme-encryption-scheme-polyfill": { "node_modules/eme-encryption-scheme-polyfill": {
@ -2847,9 +2847,9 @@
} }
}, },
"node_modules/esbuild": { "node_modules/esbuild": {
"version": "0.18.16", "version": "0.18.17",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.16.tgz", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz",
"integrity": "sha512-1xLsOXrDqwdHxyXb/x/SOyg59jpf/SH7YMvU5RNSU7z3TInaASNJWNFJ6iRvLvLETZMasF3d1DdZLg7sgRimRQ==", "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"bin": { "bin": {
@ -2859,28 +2859,28 @@
"node": ">=12" "node": ">=12"
}, },
"optionalDependencies": { "optionalDependencies": {
"@esbuild/android-arm": "0.18.16", "@esbuild/android-arm": "0.18.17",
"@esbuild/android-arm64": "0.18.16", "@esbuild/android-arm64": "0.18.17",
"@esbuild/android-x64": "0.18.16", "@esbuild/android-x64": "0.18.17",
"@esbuild/darwin-arm64": "0.18.16", "@esbuild/darwin-arm64": "0.18.17",
"@esbuild/darwin-x64": "0.18.16", "@esbuild/darwin-x64": "0.18.17",
"@esbuild/freebsd-arm64": "0.18.16", "@esbuild/freebsd-arm64": "0.18.17",
"@esbuild/freebsd-x64": "0.18.16", "@esbuild/freebsd-x64": "0.18.17",
"@esbuild/linux-arm": "0.18.16", "@esbuild/linux-arm": "0.18.17",
"@esbuild/linux-arm64": "0.18.16", "@esbuild/linux-arm64": "0.18.17",
"@esbuild/linux-ia32": "0.18.16", "@esbuild/linux-ia32": "0.18.17",
"@esbuild/linux-loong64": "0.18.16", "@esbuild/linux-loong64": "0.18.17",
"@esbuild/linux-mips64el": "0.18.16", "@esbuild/linux-mips64el": "0.18.17",
"@esbuild/linux-ppc64": "0.18.16", "@esbuild/linux-ppc64": "0.18.17",
"@esbuild/linux-riscv64": "0.18.16", "@esbuild/linux-riscv64": "0.18.17",
"@esbuild/linux-s390x": "0.18.16", "@esbuild/linux-s390x": "0.18.17",
"@esbuild/linux-x64": "0.18.16", "@esbuild/linux-x64": "0.18.17",
"@esbuild/netbsd-x64": "0.18.16", "@esbuild/netbsd-x64": "0.18.17",
"@esbuild/openbsd-x64": "0.18.16", "@esbuild/openbsd-x64": "0.18.17",
"@esbuild/sunos-x64": "0.18.16", "@esbuild/sunos-x64": "0.18.17",
"@esbuild/win32-arm64": "0.18.16", "@esbuild/win32-arm64": "0.18.17",
"@esbuild/win32-ia32": "0.18.16", "@esbuild/win32-ia32": "0.18.17",
"@esbuild/win32-x64": "0.18.16" "@esbuild/win32-x64": "0.18.17"
} }
}, },
"node_modules/escalade": { "node_modules/escalade": {
@ -3810,9 +3810,9 @@
} }
}, },
"node_modules/magic-string": { "node_modules/magic-string": {
"version": "0.30.1", "version": "0.30.2",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz",
"integrity": "sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==", "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==",
"dependencies": { "dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15" "@jridgewell/sourcemap-codec": "^1.4.15"
}, },
@ -4014,9 +4014,9 @@
} }
}, },
"node_modules/pinia": { "node_modules/pinia": {
"version": "2.1.4", "version": "2.1.6",
"resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.4.tgz", "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.6.tgz",
"integrity": "sha512-vYlnDu+Y/FXxv1ABo1vhjC+IbqvzUdiUC3sfDRrRyY2CQSrqqaa+iiHmqtARFxJVqWQMCJfXx1PBvFs9aJVLXQ==", "integrity": "sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==",
"dependencies": { "dependencies": {
"@vue/devtools-api": "^6.5.0", "@vue/devtools-api": "^6.5.0",
"vue-demi": ">=0.14.5" "vue-demi": ">=0.14.5"
@ -4287,9 +4287,9 @@
} }
}, },
"node_modules/rollup": { "node_modules/rollup": {
"version": "3.26.3", "version": "3.27.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.0.tgz",
"integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", "integrity": "sha512-aOltLCrYZ0FhJDm7fCqwTjIUEVjWjcydKBV/Zeid6Mn8BWgDCUBBWT5beM5ieForYNo/1ZHuGJdka26kvQ3Gzg==",
"dev": true, "dev": true,
"bin": { "bin": {
"rollup": "dist/bin/rollup" "rollup": "dist/bin/rollup"

View file

@ -14,7 +14,7 @@
"dompurify": "^3.0.5", "dompurify": "^3.0.5",
"mux.js": "^6.3.0", "mux.js": "^6.3.0",
"peerjs": "^1.4.7", "peerjs": "^1.4.7",
"pinia": "^2.1.4", "pinia": "^2.1.6",
"shaka-player": "^4.3.8", "shaka-player": "^4.3.8",
"sortablejs": "^1.15.0", "sortablejs": "^1.15.0",
"vue": "^3.2.38" "vue": "^3.2.38"

View file

@ -1,5 +1,5 @@
<script setup> <script setup>
import { ref, watch, computed, onMounted } from 'vue'; import { ref, watch, onMounted } from 'vue';
import Modal from './Modal.vue'; import Modal from './Modal.vue';

View file

@ -33,27 +33,24 @@ async function getCharts() {
id.value = json.options.all.find(i => i.title == json.options.default).id; id.value = json.options.all.find(i => i.title == json.options.default).id;
for (const country of json.options.all) { for (const country of json.options.all) {
const countryLocaleId = `countries.${country.id}`; const locId = `countries.${country.id}`,
cc = t(locId);
if (t(countryLocaleId) !== countryLocaleId) { if (cc !== locId) country.title = cc;
country.title = t(countryLocaleId);
}
} }
data.options = json.options.all.sort((a, b) => { data.options = [];
return a.title.localeCompare(b.title); for (const _ of Array(2)) data.options.push(json.options.all.shift());
}); data.options.push(
...json.options.all.sort((a, b) => a.title.localeCompare(b.title)),
);
data.songs = json.trending; data.songs = json.trending;
data.artists = json.artists; data.artists = json.artists;
} }
watch(id, () => { watch(id, getCharts);
getCharts(); onMounted(getCharts);
});
onMounted(() => {
getCharts();
});
</script> </script>
<template> <template>

View file

@ -38,25 +38,40 @@ function set(page) {
<div class="wrap"> <div class="wrap">
<span <span
role="menuitem"
tabindex="0"
class="nav-ico bi bi-house clickable" class="nav-ico bi bi-house clickable"
:data-active="nav.state.page == 'home'" :data-active="nav.state.page == 'home'"
@click="set('home')"></span> @click="set('home')"
@keydown.enter="set('home')"></span>
<span <span
role="menuitem"
tabindex="0"
class="nav-ico bi bi-compass clickable" class="nav-ico bi bi-compass clickable"
:data-active="nav.state.page == 'explore'" :data-active="nav.state.page == 'explore'"
@click="set('explore')"></span> @click="set('explore')"
@keydown.enter="set('explore')"></span>
<span <span
role="menuitem"
tabindex="0"
class="nav-ico bi bi-graph-up-arrow clickable" class="nav-ico bi bi-graph-up-arrow clickable"
:data-active="nav.state.page == 'charts'" :data-active="nav.state.page == 'charts'"
@click="set('charts')"></span> @click="set('charts')"
@keydown.enter="set('charts')"></span>
<span <span
role="menuitem"
tabindex="0"
class="nav-ico bi bi-collection clickable" class="nav-ico bi bi-collection clickable"
:data-active="nav.state.page == 'library'" :data-active="nav.state.page == 'library'"
@click="set('library')"></span> @click="set('library')"
@keydown.enter="set('library')"></span>
<span <span
role="button"
tabindex="0"
class="nav-ico bi bi-gear clickable" class="nav-ico bi bi-gear clickable"
:data-active="nav.state.page == 'prefs'" :data-active="nav.state.page == 'prefs'"
@click="set('prefs')"></span> @click="set('prefs')"
@keydown.enter="set('prefs')"></span>
</div> </div>
<div class="wrap"> <div class="wrap">

View file

@ -15,10 +15,10 @@ function search(e) {
<template> <template>
<button <button
aria-label="Search Button"
class="bi bi-search popup-wrap" class="bi bi-search popup-wrap"
@mouseenter="show = true" @mouseenter="show = true"
@mouseleave="show = false"> @mouseleave="show = false"
@keydown.enter="show = !show">
<Transition name="fade"> <Transition name="fade">
<div v-show="show" class="popup"> <div v-show="show" class="popup">
<input <input
@ -26,7 +26,7 @@ function search(e) {
aria-label="Search Input" aria-label="Search Input"
:placeholder="t('title.search') + '...'" :placeholder="t('title.search') + '...'"
@change="search" @change="search"
@keyup.enter="search" @keydown.enter="search"
:value="nav.state.search" /> :value="nav.state.search" />
</div> </div>
</Transition> </Transition>

View file

@ -108,7 +108,11 @@ onMounted(() => {
:title="title" :title="title"
@show="e => (showPl = e)" /> @show="e => (showPl = e)" />
<div class="song card flex pop" @click="openSong($event.target)"> <div
class="song card flex pop"
tabindex="0"
@click="openSong($event.target)"
@keydown.enter="openSong($event.target)">
<img class="pop-2 bg-img song-bg" loading="lazy" :src="art" alt /> <img class="pop-2 bg-img song-bg" loading="lazy" :src="art" alt />
<span class="flex content"> <span class="flex content">