Finish up migration, currently not setup for foss version

This commit is contained in:
2025-09-28 14:33:13 +02:00
parent 0315241d76
commit 84b640ee5e
9 changed files with 140 additions and 125 deletions

View File

@@ -20,6 +20,16 @@ const style = {
'**/*.jsx' '**/*.jsx'
], ],
'rules': { 'rules': {
'sort-imports': [
'error',
{
"ignoreCase": false,
"ignoreDeclarationSort": false,
"ignoreMemberSort": false,
"memberSyntaxSortOrder": ["none", "all", "multiple", "single"],
"allowSeparatedGroups": false
}
],
// Formatting // Formatting
'@stylistic/array-bracket-newline': [ '@stylistic/array-bracket-newline': [
'error', 'error',
@@ -75,7 +85,7 @@ const style = {
], ],
'@stylistic/eol-last': [ '@stylistic/eol-last': [
'error', 'error',
'never' 'always'
], ],
'@stylistic/function-call-spacing': [ '@stylistic/function-call-spacing': [
'error', 'error',

View File

@@ -1,22 +1,25 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<link rel="icon" href="/favicon.ico"> <link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200"> <link rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200">
<!-- TODO: Update URL --> <!-- TODO: Update URL -->
<script src="https://js-cdn.music.apple.com/musickit/v3/musickit.js"></script> <script src="https://js-cdn.music.apple.com/musickit/v3/musickit.js"></script>
<script src="https://static.janishutz.com/libs/jquery/jquery.min.js"></script> <script src="https://static.janishutz.com/libs/jquery/jquery.min.js"></script>
<script src="https://id.janishutz.com/sdk/sdk.min.js"></script>
<!-- <script src="http://localhost:8080/sdk/sdk.min.js"></script> -->
<title>MusicPlayer</title> <title>MusicPlayer</title>
</head> </head>
<body> <body>
<noscript>This application requires JavaScript to work!</noscript>
<div id="app"></div> <div id="app"></div>
<script> <script>
localStorage.setItem('music-player-config', 'sse');// Or 'ws' localStorage.setItem('music-player-config', 'sse');// Or 'ws'
</script> </script>
<script type="module" src="/src/main.ts"></script> <script type="module" src="/src/main.ts"></script>
</body> </body>
</html> </html>

View File

@@ -9,6 +9,7 @@
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"@esbuild-plugins/node-modules-polyfill": "^0.2.2", "@esbuild-plugins/node-modules-polyfill": "^0.2.2",
"@janishutz/login-sdk-browser": "^1.1.0",
"@jridgewell/sourcemap-codec": "^1.4.15", "@jridgewell/sourcemap-codec": "^1.4.15",
"@melloware/coloris": "^0.24.0", "@melloware/coloris": "^0.24.0",
"@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-inject": "^5.0.5",
@@ -23,18 +24,18 @@
"vue-router": "^4.2.5" "vue-router": "^4.2.5"
}, },
"devDependencies": { "devDependencies": {
"@eslint/js": "^9.35.0", "@eslint/js": "^9.36.0",
"@stylistic/eslint-plugin": "^5.3.1", "@stylistic/eslint-plugin": "^5.4.0",
"@tsconfig/node20": "^20.1.2", "@tsconfig/node20": "^20.1.2",
"@types/jquery": "^3.5.33", "@types/jquery": "^3.5.33",
"@types/node": "^20.11.10", "@types/node": "^20.11.10",
"@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue": "^6.0.0",
"@vue/tsconfig": "^0.5.1", "@vue/tsconfig": "^0.5.1",
"eslint-plugin-vue": "^10.4.0", "eslint-plugin-vue": "^10.5.0",
"npm-run-all2": "^6.1.1", "npm-run-all2": "^6.1.1",
"sass-embedded": "^1.92.0", "sass-embedded": "^1.92.0",
"typescript": "~5.3.0", "typescript": "~5.3.0",
"typescript-eslint": "^8.43.0", "typescript-eslint": "^8.44.1",
"vite": "^7.1.4", "vite": "^7.1.4",
"vue-tsc": "^2.0.29" "vue-tsc": "^2.0.29"
} }
@@ -532,9 +533,9 @@
} }
}, },
"node_modules/@eslint-community/eslint-utils": { "node_modules/@eslint-community/eslint-utils": {
"version": "4.8.0", "version": "4.9.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.8.0.tgz", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
"integrity": "sha512-MJQFqrZgcW0UNYLGOuQpey/oTN59vyWwplvCGZztn1cKz9agZPPYpJB7h2OMmuu7VLqkvEjN8feFZJmxNF9D+Q==", "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -640,9 +641,9 @@
} }
}, },
"node_modules/@eslint/js": { "node_modules/@eslint/js": {
"version": "9.35.0", "version": "9.36.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.35.0.tgz", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz",
"integrity": "sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==", "integrity": "sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -1095,6 +1096,12 @@
"url": "https://opencollective.com/libvips" "url": "https://opencollective.com/libvips"
} }
}, },
"node_modules/@janishutz/login-sdk-browser": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@janishutz/login-sdk-browser/-/login-sdk-browser-1.1.0.tgz",
"integrity": "sha512-itXaLGkdQk2FM9nVXSIWatEPD7s3hmd9l2kd75y4MZk9GTezPoTYGG+TJbUvuVW/N8BXRfTh9qe3+64ZxUACnA==",
"license": "ISC"
},
"node_modules/@jridgewell/sourcemap-codec": { "node_modules/@jridgewell/sourcemap-codec": {
"version": "1.5.5", "version": "1.5.5",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
@@ -1778,14 +1785,14 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@stylistic/eslint-plugin": { "node_modules/@stylistic/eslint-plugin": {
"version": "5.3.1", "version": "5.4.0",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.3.1.tgz", "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.4.0.tgz",
"integrity": "sha512-Ykums1VYonM0TgkD0VteVq9mrlO2FhF48MDJnPyv3MktIB2ydtuhlO0AfWm7xnW1kyf5bjOqA6xc7JjviuVTxg==", "integrity": "sha512-UG8hdElzuBDzIbjG1QDwnYH0MQ73YLXDFHgZzB4Zh/YJfnw8XNsloVtytqzx0I2Qky9THSdpTmi8Vjn/pf/Lew==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.7.0", "@eslint-community/eslint-utils": "^4.9.0",
"@typescript-eslint/types": "^8.41.0", "@typescript-eslint/types": "^8.44.0",
"eslint-visitor-keys": "^4.2.1", "eslint-visitor-keys": "^4.2.1",
"espree": "^10.4.0", "espree": "^10.4.0",
"estraverse": "^5.3.0", "estraverse": "^5.3.0",
@@ -1859,17 +1866,17 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@typescript-eslint/eslint-plugin": { "node_modules/@typescript-eslint/eslint-plugin": {
"version": "8.43.0", "version": "8.44.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.44.1.tgz",
"integrity": "sha512-8tg+gt7ENL7KewsKMKDHXR1vm8tt9eMxjJBYINf6swonlWgkYn5NwyIgXpbbDxTNU5DgpDFfj95prcTq2clIQQ==", "integrity": "sha512-molgphGqOBT7t4YKCSkbasmu1tb1MgrZ2szGzHbclF7PNmOkSTQVHy+2jXOSnxvR3+Xe1yySHFZoqMpz3TfQsw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@eslint-community/regexpp": "^4.10.0", "@eslint-community/regexpp": "^4.10.0",
"@typescript-eslint/scope-manager": "8.43.0", "@typescript-eslint/scope-manager": "8.44.1",
"@typescript-eslint/type-utils": "8.43.0", "@typescript-eslint/type-utils": "8.44.1",
"@typescript-eslint/utils": "8.43.0", "@typescript-eslint/utils": "8.44.1",
"@typescript-eslint/visitor-keys": "8.43.0", "@typescript-eslint/visitor-keys": "8.44.1",
"graphemer": "^1.4.0", "graphemer": "^1.4.0",
"ignore": "^7.0.0", "ignore": "^7.0.0",
"natural-compare": "^1.4.0", "natural-compare": "^1.4.0",
@@ -1883,7 +1890,7 @@
"url": "https://opencollective.com/typescript-eslint" "url": "https://opencollective.com/typescript-eslint"
}, },
"peerDependencies": { "peerDependencies": {
"@typescript-eslint/parser": "^8.43.0", "@typescript-eslint/parser": "^8.44.1",
"eslint": "^8.57.0 || ^9.0.0", "eslint": "^8.57.0 || ^9.0.0",
"typescript": ">=4.8.4 <6.0.0" "typescript": ">=4.8.4 <6.0.0"
} }
@@ -1899,16 +1906,16 @@
} }
}, },
"node_modules/@typescript-eslint/parser": { "node_modules/@typescript-eslint/parser": {
"version": "8.43.0", "version": "8.44.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.44.1.tgz",
"integrity": "sha512-B7RIQiTsCBBmY+yW4+ILd6mF5h1FUwJsVvpqkrgpszYifetQ2Ke+Z4u6aZh0CblkUGIdR59iYVyXqqZGkZ3aBw==", "integrity": "sha512-EHrrEsyhOhxYt8MTg4zTF+DJMuNBzWwgvvOYNj/zm1vnaD/IC5zCXFehZv94Piqa2cRFfXrTFxIvO95L7Qc/cw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@typescript-eslint/scope-manager": "8.43.0", "@typescript-eslint/scope-manager": "8.44.1",
"@typescript-eslint/types": "8.43.0", "@typescript-eslint/types": "8.44.1",
"@typescript-eslint/typescript-estree": "8.43.0", "@typescript-eslint/typescript-estree": "8.44.1",
"@typescript-eslint/visitor-keys": "8.43.0", "@typescript-eslint/visitor-keys": "8.44.1",
"debug": "^4.3.4" "debug": "^4.3.4"
}, },
"engines": { "engines": {
@@ -1924,14 +1931,14 @@
} }
}, },
"node_modules/@typescript-eslint/project-service": { "node_modules/@typescript-eslint/project-service": {
"version": "8.43.0", "version": "8.44.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.44.1.tgz",
"integrity": "sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==", "integrity": "sha512-ycSa60eGg8GWAkVsKV4E6Nz33h+HjTXbsDT4FILyL8Obk5/mx4tbvCNsLf9zret3ipSumAOG89UcCs/KRaKYrA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@typescript-eslint/tsconfig-utils": "^8.43.0", "@typescript-eslint/tsconfig-utils": "^8.44.1",
"@typescript-eslint/types": "^8.43.0", "@typescript-eslint/types": "^8.44.1",
"debug": "^4.3.4" "debug": "^4.3.4"
}, },
"engines": { "engines": {
@@ -1946,14 +1953,14 @@
} }
}, },
"node_modules/@typescript-eslint/scope-manager": { "node_modules/@typescript-eslint/scope-manager": {
"version": "8.43.0", "version": "8.44.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.44.1.tgz",
"integrity": "sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==", "integrity": "sha512-NdhWHgmynpSvyhchGLXh+w12OMT308Gm25JoRIyTZqEbApiBiQHD/8xgb6LqCWCFcxFtWwaVdFsLPQI3jvhywg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@typescript-eslint/types": "8.43.0", "@typescript-eslint/types": "8.44.1",
"@typescript-eslint/visitor-keys": "8.43.0" "@typescript-eslint/visitor-keys": "8.44.1"
}, },
"engines": { "engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0" "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1964,9 +1971,9 @@
} }
}, },
"node_modules/@typescript-eslint/tsconfig-utils": { "node_modules/@typescript-eslint/tsconfig-utils": {
"version": "8.43.0", "version": "8.44.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.44.1.tgz",
"integrity": "sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==", "integrity": "sha512-B5OyACouEjuIvof3o86lRMvyDsFwZm+4fBOqFHccIctYgBjqR3qT39FBYGN87khcgf0ExpdCBeGKpKRhSFTjKQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -1981,15 +1988,15 @@
} }
}, },
"node_modules/@typescript-eslint/type-utils": { "node_modules/@typescript-eslint/type-utils": {
"version": "8.43.0", "version": "8.44.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.44.1.tgz",
"integrity": "sha512-qaH1uLBpBuBBuRf8c1mLJ6swOfzCXryhKND04Igr4pckzSEW9JX5Aw9AgW00kwfjWJF0kk0ps9ExKTfvXfw4Qg==", "integrity": "sha512-KdEerZqHWXsRNKjF9NYswNISnFzXfXNDfPxoTh7tqohU/PRIbwTmsjGK6V9/RTYWau7NZvfo52lgVk+sJh0K3g==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@typescript-eslint/types": "8.43.0", "@typescript-eslint/types": "8.44.1",
"@typescript-eslint/typescript-estree": "8.43.0", "@typescript-eslint/typescript-estree": "8.44.1",
"@typescript-eslint/utils": "8.43.0", "@typescript-eslint/utils": "8.44.1",
"debug": "^4.3.4", "debug": "^4.3.4",
"ts-api-utils": "^2.1.0" "ts-api-utils": "^2.1.0"
}, },
@@ -2006,9 +2013,9 @@
} }
}, },
"node_modules/@typescript-eslint/types": { "node_modules/@typescript-eslint/types": {
"version": "8.43.0", "version": "8.44.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.44.1.tgz",
"integrity": "sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==", "integrity": "sha512-Lk7uj7y9uQUOEguiDIDLYLJOrYHQa7oBiURYVFqIpGxclAFQ78f6VUOM8lI2XEuNOKNB7XuvM2+2cMXAoq4ALQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -2020,16 +2027,16 @@
} }
}, },
"node_modules/@typescript-eslint/typescript-estree": { "node_modules/@typescript-eslint/typescript-estree": {
"version": "8.43.0", "version": "8.44.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.44.1.tgz",
"integrity": "sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==", "integrity": "sha512-qnQJ+mVa7szevdEyvfItbO5Vo+GfZ4/GZWWDRRLjrxYPkhM+6zYB2vRYwCsoJLzqFCdZT4mEqyJoyzkunsZ96A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@typescript-eslint/project-service": "8.43.0", "@typescript-eslint/project-service": "8.44.1",
"@typescript-eslint/tsconfig-utils": "8.43.0", "@typescript-eslint/tsconfig-utils": "8.44.1",
"@typescript-eslint/types": "8.43.0", "@typescript-eslint/types": "8.44.1",
"@typescript-eslint/visitor-keys": "8.43.0", "@typescript-eslint/visitor-keys": "8.44.1",
"debug": "^4.3.4", "debug": "^4.3.4",
"fast-glob": "^3.3.2", "fast-glob": "^3.3.2",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
@@ -2075,16 +2082,16 @@
} }
}, },
"node_modules/@typescript-eslint/utils": { "node_modules/@typescript-eslint/utils": {
"version": "8.43.0", "version": "8.44.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.44.1.tgz",
"integrity": "sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==", "integrity": "sha512-DpX5Fp6edTlocMCwA+mHY8Mra+pPjRZ0TfHkXI8QFelIKcbADQz1LUPNtzOFUriBB2UYqw4Pi9+xV4w9ZczHFg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.7.0", "@eslint-community/eslint-utils": "^4.7.0",
"@typescript-eslint/scope-manager": "8.43.0", "@typescript-eslint/scope-manager": "8.44.1",
"@typescript-eslint/types": "8.43.0", "@typescript-eslint/types": "8.44.1",
"@typescript-eslint/typescript-estree": "8.43.0" "@typescript-eslint/typescript-estree": "8.44.1"
}, },
"engines": { "engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0" "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2099,13 +2106,13 @@
} }
}, },
"node_modules/@typescript-eslint/visitor-keys": { "node_modules/@typescript-eslint/visitor-keys": {
"version": "8.43.0", "version": "8.44.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.44.1.tgz",
"integrity": "sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==", "integrity": "sha512-576+u0QD+Jp3tZzvfRfxon0EA2lzcDt3lhUbsC6Lgzy9x2VR4E+JUiNyGHi5T8vk0TV+fpJ5GLG1JsJuWCaKhw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@typescript-eslint/types": "8.43.0", "@typescript-eslint/types": "8.44.1",
"eslint-visitor-keys": "^4.2.1" "eslint-visitor-keys": "^4.2.1"
}, },
"engines": { "engines": {
@@ -3380,9 +3387,9 @@
} }
}, },
"node_modules/eslint-plugin-vue": { "node_modules/eslint-plugin-vue": {
"version": "10.4.0", "version": "10.5.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.4.0.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.5.0.tgz",
"integrity": "sha512-K6tP0dW8FJVZLQxa2S7LcE1lLw3X8VvB3t887Q6CLrFVxHYBXGANbXvwNzYIu6Ughx1bSJ5BDT0YB3ybPT39lw==", "integrity": "sha512-7BZHsG3kC2vei8F2W8hnfDi9RK+cv5eKPMvzBdrl8Vuc0hR5odGQRli8VVzUkrmUHkxFEm4Iio1r5HOKslO0Aw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -3397,11 +3404,15 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0" "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}, },
"peerDependencies": { "peerDependencies": {
"@stylistic/eslint-plugin": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0",
"@typescript-eslint/parser": "^7.0.0 || ^8.0.0", "@typescript-eslint/parser": "^7.0.0 || ^8.0.0",
"eslint": "^8.57.0 || ^9.0.0", "eslint": "^8.57.0 || ^9.0.0",
"vue-eslint-parser": "^10.0.0" "vue-eslint-parser": "^10.0.0"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@stylistic/eslint-plugin": {
"optional": true
},
"@typescript-eslint/parser": { "@typescript-eslint/parser": {
"optional": true "optional": true
} }
@@ -6438,16 +6449,16 @@
} }
}, },
"node_modules/typescript-eslint": { "node_modules/typescript-eslint": {
"version": "8.43.0", "version": "8.44.1",
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.43.0.tgz", "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.44.1.tgz",
"integrity": "sha512-FyRGJKUGvcFekRRcBKFBlAhnp4Ng8rhe8tuvvkR9OiU0gfd4vyvTRQHEckO6VDlH57jbeUQem2IpqPq9kLJH+w==", "integrity": "sha512-0ws8uWGrUVTjEeN2OM4K1pLKHK/4NiNP/vz6ns+LjT/6sqpaYzIVFajZb1fj/IDwpsrrHb3Jy0Qm5u9CPcKaeg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@typescript-eslint/eslint-plugin": "8.43.0", "@typescript-eslint/eslint-plugin": "8.44.1",
"@typescript-eslint/parser": "8.43.0", "@typescript-eslint/parser": "8.44.1",
"@typescript-eslint/typescript-estree": "8.43.0", "@typescript-eslint/typescript-estree": "8.44.1",
"@typescript-eslint/utils": "8.43.0" "@typescript-eslint/utils": "8.44.1"
}, },
"engines": { "engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0" "node": "^18.18.0 || ^20.9.0 || >=21.1.0"

View File

@@ -13,6 +13,7 @@
}, },
"dependencies": { "dependencies": {
"@esbuild-plugins/node-modules-polyfill": "^0.2.2", "@esbuild-plugins/node-modules-polyfill": "^0.2.2",
"@janishutz/login-sdk-browser": "^1.1.0",
"@jridgewell/sourcemap-codec": "^1.4.15", "@jridgewell/sourcemap-codec": "^1.4.15",
"@melloware/coloris": "^0.24.0", "@melloware/coloris": "^0.24.0",
"@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-inject": "^5.0.5",
@@ -27,18 +28,18 @@
"vue-router": "^4.2.5" "vue-router": "^4.2.5"
}, },
"devDependencies": { "devDependencies": {
"@eslint/js": "^9.35.0", "@eslint/js": "^9.36.0",
"@stylistic/eslint-plugin": "^5.3.1", "@stylistic/eslint-plugin": "^5.4.0",
"@tsconfig/node20": "^20.1.2", "@tsconfig/node20": "^20.1.2",
"@types/jquery": "^3.5.33", "@types/jquery": "^3.5.33",
"@types/node": "^20.11.10", "@types/node": "^20.11.10",
"@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue": "^6.0.0",
"@vue/tsconfig": "^0.5.1", "@vue/tsconfig": "^0.5.1",
"eslint-plugin-vue": "^10.4.0", "eslint-plugin-vue": "^10.5.0",
"npm-run-all2": "^6.1.1", "npm-run-all2": "^6.1.1",
"sass-embedded": "^1.92.0", "sass-embedded": "^1.92.0",
"typescript": "~5.3.0", "typescript": "~5.3.0",
"typescript-eslint": "^8.43.0", "typescript-eslint": "^8.44.1",
"vite": "^7.1.4", "vite": "^7.1.4",
"vue-tsc": "^2.0.29" "vue-tsc": "^2.0.29"
} }

View File

@@ -13,12 +13,12 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import {
ref
} from 'vue';
import { import {
RouterView RouterView
} from 'vue-router'; } from 'vue-router';
import {
ref
} from 'vue';
const theme = ref( 'light_mode' ); const theme = ref( 'light_mode' );

View File

@@ -1,11 +1,13 @@
import App from './App.vue';
import { import {
createApp createApp
} from 'vue'; } from 'vue';
import { import {
createPinia createPinia
} from 'pinia'; } from 'pinia';
import App from './App.vue';
import router from './router'; import router from './router';
import sdk from '@janishutz/login-sdk-browser';
const app = createApp( App ); const app = createApp( App );
@@ -14,5 +16,11 @@ app.use( router );
// localStorage.setItem( 'url', 'http://localhost:8082' ); // localStorage.setItem( 'url', 'http://localhost:8082' );
localStorage.setItem( 'url', 'https://music-api.janishutz.com' ); localStorage.setItem( 'url', 'https://music-api.janishutz.com' );
sdk.setUp(
'jh-music',
String( localStorage.getItem( 'url' ) ),
'/app',
false // Set to false for deploy to actual backend
);
app.mount( '#app' ); app.mount( '#app' );

View File

@@ -6,10 +6,9 @@ import {
// FOSS-VERSION: To enable the UI to be used with the FOSS version, change "isUserAuth" to true, you will be "logged in" // FOSS-VERSION: To enable the UI to be used with the FOSS version, change "isUserAuth" to true, you will be "logged in"
export const useUserStore = defineStore( 'user', { export const useUserStore = defineStore( 'user', {
'state': () => ( { 'state': () => ( {
'isUserAuth': true, 'isUserAuth': false,
'hasSubscribed': false, 'hasSubscribed': false,
'isUsingKeyboard': false, 'isUsingKeyboard': false,
'username': '',
'isFOSSVersion': false 'isFOSSVersion': false
} ), } ),
'getters': { 'getters': {
@@ -23,9 +22,6 @@ export const useUserStore = defineStore( 'user', {
setSubscriptionStatus ( status: boolean ) { setSubscriptionStatus ( status: boolean ) {
this.hasSubscribed = status; this.hasSubscribed = status;
}, },
setUsername ( username: string ) {
this.username = username;
},
setKeyboardUsageStatus ( status: boolean ) { setKeyboardUsageStatus ( status: boolean ) {
this.isUsingKeyboard = status; this.isUsingKeyboard = status;
} }

View File

@@ -24,36 +24,24 @@
<script setup lang="ts"> <script setup lang="ts">
// TODO: Make possible to install and use without account, if using FOSS version // TODO: Make possible to install and use without account, if using FOSS version
import router from '@/router';
import { import {
RouterLink RouterLink
} from 'vue-router'; } from 'vue-router';
import {
useUserStore
} from '@/stores/userStore';
import notificationsModule from '@/components/notificationsModule.vue'; import notificationsModule from '@/components/notificationsModule.vue';
import { import {
ref ref
} from 'vue'; } from 'vue';
import router from '@/router';
import sdk from '@janishutz/login-sdk-browser';
import {
useUserStore
} from '@/stores/userStore';
const notifications = ref( notificationsModule ); const notifications = ref( notificationsModule );
const isTryingToSignIn = ref( true ); const isTryingToSignIn = ref( true );
interface JanishutzIDSDK {
'setLoginSDKURL': ( url: string ) => undefined;
'createSession': () => undefined;
'verifySession': () => Promise<JHIDSessionStatus>
}
interface JHIDSessionStatus {
'status': boolean;
'username': string;
}
let sdk: JanishutzIDSDK;
const login = () => { const login = () => {
sdk.createSession(); sdk.login();
}; };
const store = useUserStore(); const store = useUserStore();
@@ -62,11 +50,10 @@
router.push( localStorage.getItem( 'redirect' ) ?? '/app' ); router.push( localStorage.getItem( 'redirect' ) ?? '/app' );
localStorage.removeItem( 'redirect' ); localStorage.removeItem( 'redirect' );
} else { } else {
if ( typeof sdk !== 'undefined' ) { sdk.verifyFull()
sdk.verifySession().then( res => { .then( res => {
if ( res.status ) { if ( res ) {
store.isUserAuth = true; store.isUserAuth = true;
store.username = res.username;
if ( localStorage.getItem( 'close-tab' ) ) { if ( localStorage.getItem( 'close-tab' ) ) {
localStorage.removeItem( 'close-tab' ); localStorage.removeItem( 'close-tab' );
@@ -81,7 +68,6 @@
} }
} ); } );
} }
}
</script> </script>
<style scoped> <style scoped>

View File

@@ -19,7 +19,7 @@ import bodyParser from 'body-parser';
// ┌ ┐ // ┌ ┐
// │ Handle FOSS vs paid version │ // │ Handle FOSS vs paid version │
// └ ┘ // └ ┘
const isFossVersion = true; const isFossVersion = false;
import storeSDK from '@janishutz/store-sdk'; import storeSDK from '@janishutz/store-sdk';
import sdk from '@janishutz/login-sdk-server'; import sdk from '@janishutz/login-sdk-server';