fix: organise css, use local fonts

This commit is contained in:
ThaUnknown 2023-07-05 14:38:53 +02:00
parent 342dae0237
commit 22e4cc99b3
9 changed files with 297 additions and 235 deletions

View file

@ -14,7 +14,9 @@
"publish": "npm run web:build && electron-builder -p always"
},
"devDependencies": {
"@typescript-eslint/parser": "^5.60.0",
"@fontsource-variable/material-symbols-outlined": "^5.0.4",
"@fontsource-variable/nunito": "^5.0.5",
"@typescript-eslint/parser": "^5.61.0",
"anitomyscript": "github:ThaUnknown/anitomyscript#42290c4b3f256893be08a4e89051f448ff5e9d00",
"bottleneck": "^2.19.5",
"browser-event-target-emitter": "^1.0.0",

View file

@ -10,9 +10,15 @@ dependencies:
version: 2.5.3
devDependencies:
'@fontsource-variable/material-symbols-outlined':
specifier: ^5.0.4
version: 5.0.4
'@fontsource-variable/nunito':
specifier: ^5.0.5
version: 5.0.5
'@typescript-eslint/parser':
specifier: ^5.60.0
version: 5.60.0(eslint@8.43.0)(typescript@5.1.3)
specifier: ^5.61.0
version: 5.61.0(eslint@8.44.0)(typescript@5.1.6)
anitomyscript:
specifier: github:ThaUnknown/anitomyscript#42290c4b3f256893be08a4e89051f448ff5e9d00
version: github.com/ThaUnknown/anitomyscript/42290c4b3f256893be08a4e89051f448ff5e9d00
@ -54,13 +60,13 @@ devDependencies:
version: 4.6.5
eslint:
specifier: ^8.43.0
version: 8.43.0
version: 8.44.0
eslint-config-standard:
specifier: ^17.1.0
version: 17.1.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@16.0.0)(eslint-plugin-promise@6.1.1)(eslint@8.43.0)
version: 17.1.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@16.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.44.0)
eslint-plugin-svelte:
specifier: ^2.31.1
version: 2.31.1(eslint@8.43.0)(svelte@3.59.1)
version: 2.32.2(eslint@8.44.0)(svelte@3.59.1)
html-webpack-plugin:
specifier: ^5.5.1
version: 5.5.3(webpack@5.86.0)
@ -125,6 +131,11 @@ packages:
resolution: {integrity: sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==}
dev: true
/@aashutoshrathi/word-wrap@1.2.6:
resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
engines: {node: '>=0.10.0'}
dev: true
/@babel/runtime@7.22.5:
resolution: {integrity: sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==}
engines: {node: '>=6.9.0'}
@ -177,13 +188,13 @@ packages:
- supports-color
dev: true
/@eslint-community/eslint-utils@4.4.0(eslint@8.43.0):
/@eslint-community/eslint-utils@4.4.0(eslint@8.44.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
eslint: 8.43.0
eslint: 8.44.0
eslint-visitor-keys: 3.4.1
dev: true
@ -192,13 +203,13 @@ packages:
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
/@eslint/eslintrc@2.0.3:
resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==}
/@eslint/eslintrc@2.1.0:
resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
debug: 4.3.4
espree: 9.5.2
espree: 9.6.0
globals: 13.20.0
ignore: 5.2.4
import-fresh: 3.3.0
@ -209,11 +220,19 @@ packages:
- supports-color
dev: true
/@eslint/js@8.43.0:
resolution: {integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==}
/@eslint/js@8.44.0:
resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@fontsource-variable/material-symbols-outlined@5.0.4:
resolution: {integrity: sha512-H/H5kc4ZkHouN6LA4rILMrtc9xowZgIGUW8uQZ5nx5XfZDPpzk5Yh27OfggVfq/XpF5YbAmwfMl8xQkYPPSPdQ==}
dev: true
/@fontsource-variable/nunito@5.0.5:
resolution: {integrity: sha512-1VZqBsSzu8VTgIr2YhT5UqRMeQ3ghJhyM4niR/SUa01DpSA2YanPwcAw/alIAZHj2qHqbUGZqMc5FnMY1PMUSQ==}
dev: true
/@humanwhocodes/config-array@0.11.10:
resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==}
engines: {node: '>=10.10.0'}
@ -623,8 +642,8 @@ packages:
dev: true
optional: true
/@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==}
/@typescript-eslint/parser@5.61.0(eslint@8.44.0)(typescript@5.1.6):
resolution: {integrity: sha512-yGr4Sgyh8uO6fSi9hw3jAFXNBHbCtKKFMdX2IkT3ZqpKmtAq3lHS4ixB/COFuAIJpwl9/AqF7j72ZDWYKmIfvg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
@ -633,31 +652,31 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 5.60.0
'@typescript-eslint/types': 5.60.0
'@typescript-eslint/typescript-estree': 5.60.0(typescript@5.1.3)
'@typescript-eslint/scope-manager': 5.61.0
'@typescript-eslint/types': 5.61.0
'@typescript-eslint/typescript-estree': 5.61.0(typescript@5.1.6)
debug: 4.3.4
eslint: 8.43.0
typescript: 5.1.3
eslint: 8.44.0
typescript: 5.1.6
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/scope-manager@5.60.0:
resolution: {integrity: sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==}
/@typescript-eslint/scope-manager@5.61.0:
resolution: {integrity: sha512-W8VoMjoSg7f7nqAROEmTt6LoBpn81AegP7uKhhW5KzYlehs8VV0ZW0fIDVbcZRcaP3aPSW+JZFua+ysQN+m/Nw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.60.0
'@typescript-eslint/visitor-keys': 5.60.0
'@typescript-eslint/types': 5.61.0
'@typescript-eslint/visitor-keys': 5.61.0
dev: true
/@typescript-eslint/types@5.60.0:
resolution: {integrity: sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==}
/@typescript-eslint/types@5.61.0:
resolution: {integrity: sha512-ldyueo58KjngXpzloHUog/h9REmHl59G1b3a5Sng1GfBo14BkS3ZbMEb3693gnP1k//97lh7bKsp6/V/0v1veQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@typescript-eslint/typescript-estree@5.60.0(typescript@5.1.3):
resolution: {integrity: sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==}
/@typescript-eslint/typescript-estree@5.61.0(typescript@5.1.6):
resolution: {integrity: sha512-Fud90PxONnnLZ36oR5ClJBLTLfU4pIWBmnvGwTbEa2cXIqj70AEDEmOmpkFComjBZ/037ueKrOdHuYmSFVD7Rw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
@ -665,23 +684,23 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 5.60.0
'@typescript-eslint/visitor-keys': 5.60.0
'@typescript-eslint/types': 5.61.0
'@typescript-eslint/visitor-keys': 5.61.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.3
tsutils: 3.21.0(typescript@5.1.3)
typescript: 5.1.3
tsutils: 3.21.0(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/visitor-keys@5.60.0:
resolution: {integrity: sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==}
/@typescript-eslint/visitor-keys@5.61.0:
resolution: {integrity: sha512-50XQ5VdbWrX06mQXhy93WywSFZZGsv3EOjq+lqp6WC2t+j3mb6A9xYVdrRxafvK88vg9k9u+CT4l6D8PEatjKg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.60.0
'@typescript-eslint/types': 5.61.0
eslint-visitor-keys: 3.4.1
dev: true
@ -867,12 +886,12 @@ packages:
acorn: 8.8.2
dev: true
/acorn-jsx@5.3.2(acorn@8.8.2):
/acorn-jsx@5.3.2(acorn@8.9.0):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
acorn: 8.8.2
acorn: 8.9.0
dev: true
/acorn@8.8.2:
@ -881,6 +900,12 @@ packages:
hasBin: true
dev: true
/acorn@8.9.0:
resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: true
/addr-to-ip-port@2.0.0:
resolution: {integrity: sha512-9bYbtjamtdLHZSqVIUXhilOryNPiL+x+Q5J/Unpg4VY3ZIkK3fT52UoErj1NdUeVm3J1t2iBEAur4Ywbl/bahw==}
engines: {node: '>=12.20.0'}
@ -998,7 +1023,7 @@ packages:
minimatch: 3.1.2
read-config-file: 6.2.0
sanitize-filename: 1.6.3
semver: 7.5.3
semver: 7.5.1
tar: 6.1.15
temp-file: 3.4.0
transitivePeerDependencies:
@ -2357,7 +2382,7 @@ packages:
engines: {node: '>=10'}
dev: true
/eslint-config-standard@17.1.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@16.0.0)(eslint-plugin-promise@6.1.1)(eslint@8.43.0):
/eslint-config-standard@17.1.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@16.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.44.0):
resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==}
engines: {node: '>=12.0.0'}
peerDependencies:
@ -2366,10 +2391,10 @@ packages:
eslint-plugin-n: '^15.0.0 || ^16.0.0 '
eslint-plugin-promise: ^6.0.0
dependencies:
eslint: 8.43.0
eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)
eslint-plugin-n: 16.0.0(eslint@8.43.0)
eslint-plugin-promise: 6.1.1(eslint@8.43.0)
eslint: 8.44.0
eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.61.0)(eslint@8.44.0)
eslint-plugin-n: 16.0.1(eslint@8.44.0)
eslint-plugin-promise: 6.1.1(eslint@8.44.0)
dev: true
/eslint-import-resolver-node@0.3.7:
@ -2382,7 +2407,7 @@ packages:
- supports-color
dev: true
/eslint-module-utils@2.8.0(@typescript-eslint/parser@5.60.0)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0):
/eslint-module-utils@2.8.0(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint@8.44.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'}
peerDependencies:
@ -2403,26 +2428,26 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@5.1.6)
debug: 3.2.7
eslint: 8.43.0
eslint: 8.44.0
eslint-import-resolver-node: 0.3.7
transitivePeerDependencies:
- supports-color
dev: true
/eslint-plugin-es-x@6.2.1(eslint@8.43.0):
resolution: {integrity: sha512-uR34zUhZ9EBoiSD2DdV5kHLpydVEvwWqjteUr9sXRgJknwbKZJZhdJ7uFnaTtd+Nr/2G3ceJHnHXrFhJ67n3Tw==}
/eslint-plugin-es-x@7.1.0(eslint@8.44.0):
resolution: {integrity: sha512-AhiaF31syh4CCQ+C5ccJA0VG6+kJK8+5mXKKE7Qs1xcPRg02CDPOj3mWlQxuWS/AYtg7kxrDNgW9YW3vc0Q+Mw==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
eslint: '>=8'
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0)
'@eslint-community/regexpp': 4.5.1
eslint: 8.43.0
eslint: 8.44.0
dev: true
/eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.0)(eslint@8.43.0):
/eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.61.0)(eslint@8.44.0):
resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
engines: {node: '>=4'}
peerDependencies:
@ -2432,15 +2457,15 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@5.1.6)
array-includes: 3.1.6
array.prototype.flat: 1.3.1
array.prototype.flatmap: 1.3.1
debug: 3.2.7
doctrine: 2.1.0
eslint: 8.43.0
eslint: 8.44.0
eslint-import-resolver-node: 0.3.7
eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.60.0)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0)
eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint@8.44.0)
has: 1.0.3
is-core-module: 2.12.1
is-glob: 4.0.3
@ -2455,16 +2480,16 @@ packages:
- supports-color
dev: true
/eslint-plugin-n@16.0.0(eslint@8.43.0):
resolution: {integrity: sha512-akkZTE3hsHBrq6CwmGuYCzQREbVUrA855kzcHqe6i0FLBkeY7Y/6tThCVkjUnjhvRBAlc+8lILcSe5QvvDpeZQ==}
/eslint-plugin-n@16.0.1(eslint@8.44.0):
resolution: {integrity: sha512-CDmHegJN0OF3L5cz5tATH84RPQm9kG+Yx39wIqIwPR2C0uhBGMWfbbOtetR83PQjjidA5aXMu+LEFw1jaSwvTA==}
engines: {node: '>=16.0.0'}
peerDependencies:
eslint: '>=7.0.0'
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0)
builtins: 5.0.1
eslint: 8.43.0
eslint-plugin-es-x: 6.2.1(eslint@8.43.0)
eslint: 8.44.0
eslint-plugin-es-x: 7.1.0(eslint@8.44.0)
ignore: 5.2.4
is-core-module: 2.12.1
minimatch: 3.1.2
@ -2472,29 +2497,29 @@ packages:
semver: 7.5.3
dev: true
/eslint-plugin-promise@6.1.1(eslint@8.43.0):
/eslint-plugin-promise@6.1.1(eslint@8.44.0):
resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
dependencies:
eslint: 8.43.0
eslint: 8.44.0
dev: true
/eslint-plugin-svelte@2.31.1(eslint@8.43.0)(svelte@3.59.1):
resolution: {integrity: sha512-08v+DqzHiwIVEbi+266D7+BDhayp9OSqCwa/lHaZlZOlFY0vZLYs/h7SkkUPzA5fTVt8OUJBtvCxFiWEYOvvGg==}
/eslint-plugin-svelte@2.32.2(eslint@8.44.0)(svelte@3.59.1):
resolution: {integrity: sha512-Jgbop2fNZsoxxkklZAIbDNhwAPynvnCtUXLsEC6O2qax7N/pfe2cNqT0ZoBbubXKJitQQDEyVDQ1rZs4ZWcrTA==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0-0
svelte: ^3.37.0 || ^4.0.0-0
svelte: ^3.37.0 || ^4.0.0
peerDependenciesMeta:
svelte:
optional: true
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0)
'@jridgewell/sourcemap-codec': 1.4.15
debug: 4.3.4
eslint: 8.43.0
eslint: 8.44.0
esutils: 2.0.3
known-css-properties: 0.27.0
postcss: 8.4.24
@ -2503,7 +2528,7 @@ packages:
postcss-selector-parser: 6.0.13
semver: 7.5.3
svelte: 3.59.1
svelte-eslint-parser: 0.31.0(svelte@3.59.1)
svelte-eslint-parser: 0.32.0(svelte@3.59.1)
transitivePeerDependencies:
- supports-color
- ts-node
@ -2530,15 +2555,15 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/eslint@8.43.0:
resolution: {integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==}
/eslint@8.44.0:
resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0)
'@eslint-community/regexpp': 4.5.1
'@eslint/eslintrc': 2.0.3
'@eslint/js': 8.43.0
'@eslint/eslintrc': 2.1.0
'@eslint/js': 8.44.0
'@humanwhocodes/config-array': 0.11.10
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
@ -2550,7 +2575,7 @@ packages:
escape-string-regexp: 4.0.0
eslint-scope: 7.2.0
eslint-visitor-keys: 3.4.1
espree: 9.5.2
espree: 9.6.0
esquery: 1.5.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
@ -2570,7 +2595,7 @@ packages:
lodash.merge: 4.6.2
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.1
optionator: 0.9.3
strip-ansi: 6.0.1
strip-json-comments: 3.1.1
text-table: 0.2.0
@ -2578,12 +2603,12 @@ packages:
- supports-color
dev: true
/espree@9.5.2:
resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==}
/espree@9.6.0:
resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
acorn: 8.8.2
acorn-jsx: 5.3.2(acorn@8.8.2)
acorn: 8.9.0
acorn-jsx: 5.3.2(acorn@8.9.0)
eslint-visitor-keys: 3.4.1
dev: true
@ -4309,16 +4334,16 @@ packages:
is-wsl: 2.2.0
dev: true
/optionator@0.9.1:
resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
/optionator@0.9.3:
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
engines: {node: '>= 0.8.0'}
dependencies:
'@aashutoshrathi/word-wrap': 1.2.6
deep-is: 0.1.4
fast-levenshtein: 2.0.6
levn: 0.4.1
prelude-ls: 1.2.1
type-check: 0.4.0
word-wrap: 1.2.3
dev: true
/p-cancelable@2.1.1:
@ -5331,7 +5356,24 @@ packages:
dependencies:
eslint-scope: 7.2.0
eslint-visitor-keys: 3.4.1
espree: 9.5.2
espree: 9.6.0
postcss: 8.4.24
postcss-scss: 4.0.6(postcss@8.4.24)
svelte: 3.59.1
dev: true
/svelte-eslint-parser@0.32.0(svelte@3.59.1):
resolution: {integrity: sha512-Q8Nh3GHHoWZMv3Ej4zw+3+gyWPR8I5pPTJXEOvW+JOgwhGXqGKh7mOKNlVcEPtk+PCGiK9TPaRtvRkKoJR327A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
svelte: ^3.37.0 || ^4.0.0
peerDependenciesMeta:
svelte:
optional: true
dependencies:
eslint-scope: 7.2.0
eslint-visitor-keys: 3.4.1
espree: 9.6.0
postcss: 8.4.24
postcss-scss: 4.0.6(postcss@8.4.24)
svelte: 3.59.1
@ -5522,14 +5564,14 @@ packages:
resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==}
dev: true
/tsutils@3.21.0(typescript@5.1.3):
/tsutils@3.21.0(typescript@5.1.6):
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'}
peerDependencies:
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
dependencies:
tslib: 1.14.1
typescript: 5.1.3
typescript: 5.1.6
dev: true
/type-check@0.4.0:
@ -5566,8 +5608,8 @@ packages:
is-typed-array: 1.1.10
dev: true
/typescript@5.1.3:
resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==}
/typescript@5.1.6:
resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==}
engines: {node: '>=14.17'}
hasBin: true
dev: true
@ -5995,11 +6037,6 @@ packages:
resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
dev: true
/word-wrap@1.2.3:
resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
engines: {node: '>=0.10.0'}
dev: true
/wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}

View file

@ -1,3 +1,5 @@
// currently unused
import { EbmlIteratorDecoder, EbmlTagId } from 'ebml-iterator'
import { EventEmitter } from 'events'
import { inflate } from 'pako'

View file

@ -152,9 +152,9 @@ function createWindow () {
protocol.registerHttpProtocol('miru', (req, cb) => {
const token = req.url.slice(7)
if (development) {
mainWindow.loadURL(path.join(__dirname, '/index.html' + token))
mainWindow.loadURL(path.join(__dirname, '/app.html' + token))
} else {
mainWindow.loadURL('http://localhost:5000/' + token)
mainWindow.loadURL('http://localhost:5000/app.html' + token)
}
})
@ -173,13 +173,13 @@ function createWindow () {
if (!development) {
// Load production build
torrentLoad = webtorrentWindow.loadFile(path.join(__dirname, '/background.html'))
mainWindow.loadFile(path.join(__dirname, '/index.html'))
mainWindow.loadFile(path.join(__dirname, '/app.html'))
} else {
// Load vite dev server page
console.log('Development mode')
torrentLoad = webtorrentWindow.loadURL('http://localhost:5000/background.html')
webtorrentWindow.webContents.openDevTools()
mainWindow.loadURL('http://localhost:5000/index.html')
mainWindow.loadURL('http://localhost:5000/app.html')
mainWindow.webContents.openDevTools()
}

View file

@ -20,7 +20,6 @@
import RSSView from './views/RSSView.svelte'
import Menubar from './components/Menubar.svelte'
import Toasts from './components/Toasts.svelte'
import 'quartermoon/css/quartermoon-variables.css'
import CatBlock from './views/CatBlock.svelte'
setContext('view', view)
@ -44,135 +43,10 @@
</div>
<style>
:root {
--navbar-height: 28px;
--accent-color: #e5204c;
--dm-link-text-color: var(--dm-muted-text-color) !important;
--dm-link-text-color-hover: var(--dm-text-color) !important;
--base-html-font-size: 50%;
--base-html-font-size-1600: 50%;
--base-html-font-size-1920: 62.5%;
--tooltip-width: 17rem;
--card-border-width: 0;
--sidebar-border-width: 0;
--input-border-width: 0;
--sidebar-minimised: 7rem;
--sidebar-width: 7rem;
--dark-color-base-hue: 220deg !important;
--dark-color-base-saturation: 10% !important;
--dark-color-hsl: var(--dark-color-base-hue), var(--dark-color-base-saturation), 10% !important;
--dark-color-light: #25292F !important;
--dm-shadow: 0px 4px 7px rgba(0, 0, 0, 0.25);
--dm-input-border-color: none;
--gray-color-light: hsl(var(--gray-color-light-hsl));
--gray-color-light-hsl: var(--gray-color-base-hue), 10%, 28%;
--gray-color-base-hue: 216;
--secondary-color: #fff;
--secondary-color-light: #ddd;
}
:global(.material-symbols-outlined) {
font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 64;
}
:global(.filled) {
font-variation-settings: 'FILL' 1;
}
:global(.pointer) {
cursor: pointer;
}
:global(.h-10) {
height: 1rem !important;
}
:global(body) {
scroll-behavior: smooth;
overscroll-behavior: none;
user-select: none;
font-family: 'Nunito'
}
:global(.font-weight-very-bold){
font-weight: 900;
}
:global(.bg-black){
background: #000;
}
:global(img) {
-webkit-user-drag: none;
}
:global(.select-all) {
user-select: all;
}
:global(img[src='']) {
display: none;
}
:global(::-webkit-inner-spin-button) {
display: none;
}
:global(*:focus-visible){
outline: none;
box-shadow: var(--dm-button-primary-box-shadow-focus) !important;
}
:global(.modal:focus-visible){
box-shadow: none !important;
}
:global(.root) {
animation: 0.3s ease 0s 1 root-load-in;
}
.content-wrapper {
will-change: width;
top: 0 !important;
}
:global(.nav-hidden) > .content-wrapper {
left: 0 !important;
width: 100% !important;
}
@keyframes -global-root-load-in {
from {
bottom: -1.2rem;
transform: scale(0.95);
}
to {
bottom: 0;
transform: scale(1);
}
}
@keyframes -global-load {
from {
left: -15rem;
}
to {
left: 100%;
}
}
@keyframes -global-load-in {
from {
bottom: -1.2rem;
transform: scale(0.95);
}
to {
bottom: 0;
transform: scale(1);
}
}
:global(.skeloader) {
position: relative;
overflow: hidden;
}
:global(.skeloader::before) {
will-change: left;
content: '';
position: absolute;
height: 100%;
width: 15rem;
background: linear-gradient(to right, transparent 0%, #17191c 50%, transparent 100%);
animation: load 1s infinite cubic-bezier(0.4, 0, 0.2, 1);
}
.page-wrapper > .content-wrapper {
left: var(--sidebar-minimised);

153
src/renderer/css.css Normal file
View file

@ -0,0 +1,153 @@
:root {
--navbar-height: 28px;
--accent-color: #e5204c;
--dm-link-text-color: var(--dm-muted-text-color) !important;
--dm-link-text-color-hover: var(--dm-text-color) !important;
--base-html-font-size: 50%;
--base-html-font-size-1600: 50%;
--base-html-font-size-1920: 62.5%;
--tooltip-width: 17rem;
--card-border-width: 0;
--sidebar-border-width: 0;
--input-border-width: 0;
--sidebar-minimised: 7rem;
--sidebar-width: 7rem;
--dark-color-base-hue: 220deg !important;
--dark-color-base-saturation: 10% !important;
--dark-color-hsl: var(--dark-color-base-hue), var(--dark-color-base-saturation), 10% !important;
--dark-color-light: #25292F !important;
--dm-shadow: 0px 4px 7px rgba(0, 0, 0, 0.25);
--dm-input-border-color: none;
--gray-color-light: hsl(var(--gray-color-light-hsl));
--gray-color-light-hsl: var(--gray-color-base-hue), 10%, 28%;
--gray-color-base-hue: 216;
--secondary-color: #fff;
--secondary-color-light: #ddd;
}
.material-symbols-outlined {
font-family: "Material Symbols Outlined Variable";
font-weight: normal;
font-style: normal;
font-size: 24px;
line-height: 1;
letter-spacing: normal;
text-transform: none;
display: inline-block;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
font-feature-settings: "liga";
font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 64;
}
.filled {
font-variation-settings: 'FILL' 1;
}
.pointer {
cursor: pointer;
}
.h-10 {
height: 1rem !important;
}
body {
scroll-behavior: smooth;
overscroll-behavior: none;
user-select: none;
font-family: 'Nunito Variable'
}
.font-weight-very-bold {
font-weight: 900;
}
.bg-black {
background: #000;
}
img {
-webkit-user-drag: none;
}
.select-all {
user-select: all;
}
img[src=''] {
display: none;
}
::-webkit-inner-spin-button {
display: none;
}
*:focus-visible {
outline: none;
box-shadow: var(--dm-button-primary-box-shadow-focus) !important;
}
.modal:focus-visible {
box-shadow: none !important;
}
.root {
animation: 0.3s ease 0s 1 root-load-in;
}
.nav-hidden > .content-wrapper {
left: 0 !important;
width: 100% !important;
}
@keyframes root-load-in {
from {
bottom: -1.2rem;
transform: scale(0.95);
}
to {
bottom: 0;
transform: scale(1);
}
}
@keyframes load {
from {
left: -15rem;
}
to {
left: 100%;
}
}
@keyframes load-in {
from {
bottom: -1.2rem;
transform: scale(0.95);
}
to {
bottom: 0;
transform: scale(1);
}
}
.skeloader {
position: relative;
overflow: hidden;
}
.skeloader::before {
will-change: left;
content: '';
position: absolute;
height: 100%;
width: 15rem;
background: linear-gradient(to right, transparent 0%, #17191c 50%, transparent 100%);
animation: load 1s infinite cubic-bezier(0.4, 0, 0.2, 1);
}

View file

@ -1,7 +1,7 @@
import App from './App.svelte'
import 'quartermoon/css/quartermoon-variables.css'
import '@fontsource-variable/material-symbols-outlined/full.css'
import '@fontsource-variable/nunito'
import './css.css'
const app = new App({
target: document.body
})
export default app
export default new App({ target: document.body })

View file

@ -120,7 +120,6 @@
src = ''
currentTime = 0
targetTime = 0
tick().then(() => video?.play())
}
}
@ -149,9 +148,7 @@
src = file.url
client.send('current', file)
subs = new Subtitles(video, files, current, handleHeaders)
loadInterval = setInterval(() => {
if (!video.readyState) video.load()
}, 200)
video.load()
}
}

View file

@ -98,7 +98,7 @@ module.exports = [
]
}),
new HtmlWebpackPlugin({
filename: 'index.html',
filename: 'app.html',
inject: false,
templateContent: ({ htmlWebpackPlugin }) => /* html */`
<!DOCTYPE html>
@ -109,12 +109,9 @@ module.exports = [
<meta name="theme-color" content="#191c20">
<title>Miru</title>
<link rel="preconnect" href="https://www.google.com" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://www.youtube-nocookie.com">
<link rel="preconnect" href="https://graphql.anilist.co">
<link rel='icon' href='/logo.ico'>
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;500;600;700;800;900;1000&display=swap" rel="stylesheet">
${htmlWebpackPlugin.tags.headTags}
</head>