diff --git a/package.json b/package.json index 9670afa..9a1c37b 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,9 @@ { "name": "ui", - "version": "0.0.1", + "version": "6.0.0", "license": "BUSL-1.1", "private": true, + "packageManager": "pnpm@9.14.4", "scripts": { "dev": "vite dev --open", "build": "vite build", @@ -51,7 +52,7 @@ "@urql/exchange-request-policy": "^1.2.0", "@urql/exchange-retry": "^1.3.0", "@urql/svelte": "^4.2.1", - "abslink": "^1.0.9", + "abslink": "^1.0.16", "anitomyscript": "github:thaunknown/anitomyscript", "bottleneck": "^2.19.5", "clsx": "^2.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2aa406..192cab4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,8 +39,8 @@ importers: specifier: ^4.2.1 version: 4.2.1(@urql/core@5.1.0(graphql@16.10.0))(svelte@4.2.19) abslink: - specifier: ^1.0.9 - version: 1.0.9 + specifier: ^1.0.16 + version: 1.0.16 anitomyscript: specifier: github:thaunknown/anitomyscript version: https://codeload.github.com/thaunknown/anitomyscript/tar.gz/6214b582127f16b3e50fc12b9cdb2fcf650f7aa6 @@ -143,7 +143,7 @@ importers: version: 0.0.18(svelte@4.2.19) eslint-config-standard-universal: specifier: github:thaunknown/eslint-config-standard-universal - version: https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/c59c1aac83d47b039544bb37a280bfeaf5640418(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(jiti@1.21.6) + version: https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/88b9755b42d0fc7b7280ed2c9061954ed06ee7fb(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(jiti@1.21.6) globals: specifier: ^15.11.0 version: 15.11.0 @@ -152,7 +152,7 @@ importers: version: 1.8.10(@gql.tada/svelte-support@1.0.1(svelte@4.2.19)(typescript@5.7.2))(graphql@16.10.0)(typescript@5.7.2) hayase-extensions: specifier: github:hayase-app/extensions - version: https://codeload.github.com/hayase-app/extensions/tar.gz/edf2e76fd25e9ed24cde1be03f82ce5703758e7a + version: https://codeload.github.com/hayase-app/extensions/tar.gz/6cb67c6061b0fcd41b5f1f683e6c030129e79eae jassub: specifier: ^1.7.18 version: 1.7.18 @@ -781,8 +781,8 @@ packages: '@urql/core': ^5.0.0 svelte: ^3.0.0 || ^4.0.0 || ^5.0.0 - abslink@1.0.9: - resolution: {integrity: sha512-wNzGcz8J9HhJfzQPsSC6XFRrUII7vyE70sJ6jcYioj9JN2ZSSnIaLgDy9D2FcDds2r84WLHM4K7BH8yiVQriDQ==} + abslink@1.0.16: + resolution: {integrity: sha512-GnBVCPIkfvlnTV+9oOpw7/Ksh8mHzfKmJ7KBeLsPif8faqEqvkxkFvkPAzqy6DKTlmmZOKYsZx2UyWEJcgJ4VQ==} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -1206,8 +1206,8 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-config-standard-universal@https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/c59c1aac83d47b039544bb37a280bfeaf5640418: - resolution: {tarball: https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/c59c1aac83d47b039544bb37a280bfeaf5640418} + eslint-config-standard-universal@https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/88b9755b42d0fc7b7280ed2c9061954ed06ee7fb: + resolution: {tarball: https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/88b9755b42d0fc7b7280ed2c9061954ed06ee7fb} version: 1.0.4 eslint-import-resolver-node@0.3.9: @@ -1308,8 +1308,8 @@ packages: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} - esrap@1.4.5: - resolution: {integrity: sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g==} + esrap@1.4.6: + resolution: {integrity: sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==} esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} @@ -1504,8 +1504,8 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/edf2e76fd25e9ed24cde1be03f82ce5703758e7a: - resolution: {tarball: https://codeload.github.com/hayase-app/extensions/tar.gz/edf2e76fd25e9ed24cde1be03f82ce5703758e7a} + hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/6cb67c6061b0fcd41b5f1f683e6c030129e79eae: + resolution: {tarball: https://codeload.github.com/hayase-app/extensions/tar.gz/6cb67c6061b0fcd41b5f1f683e6c030129e79eae} version: 1.0.5 idb-keyval@6.2.1: @@ -2273,8 +2273,8 @@ packages: resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==} engines: {node: '>=16'} - svelte@5.25.5: - resolution: {integrity: sha512-ULi9rkVWQJyJYZSpy6SIgSTchWadyWG1QYAUx3JAXL2gXrnhdXtoB20KmXGSNdtNyquq3eYd/gkwAkLcL5PGWw==} + svelte@5.26.3: + resolution: {integrity: sha512-SgDfx70CmW8Rev9XRu5sN/3Paa/mSh3DGxDDEgtecdjbhLrmgK18McanP+gNE8HYGm8tXiXZN3Fn31NcqBML+Q==} engines: {node: '>=18'} tabbable@6.2.0: @@ -3120,7 +3120,7 @@ snapshots: svelte: 4.2.19 wonka: 6.3.4 - abslink@1.0.9: {} + abslink@1.0.16: {} acorn-jsx@5.3.2(acorn@8.14.0): dependencies: @@ -3644,7 +3644,7 @@ snapshots: eslint: 9.17.0(jiti@1.21.6) semver: 7.7.1 - eslint-config-standard-universal@https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/c59c1aac83d47b039544bb37a280bfeaf5640418(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(jiti@1.21.6): + eslint-config-standard-universal@https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/88b9755b42d0fc7b7280ed2c9061954ed06ee7fb(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(jiti@1.21.6): dependencies: '@stylistic/eslint-plugin': 4.2.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2) eslint: 9.17.0(jiti@1.21.6) @@ -3652,9 +3652,9 @@ snapshots: eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.17.0(jiti@1.21.6)) eslint-plugin-n: 17.15.0(eslint@9.17.0(jiti@1.21.6)) eslint-plugin-promise: 7.2.1(eslint@9.17.0(jiti@1.21.6)) - eslint-plugin-svelte: 3.1.0(eslint@9.17.0(jiti@1.21.6))(svelte@5.25.5) + eslint-plugin-svelte: 3.1.0(eslint@9.17.0(jiti@1.21.6))(svelte@5.26.3) globals: 16.0.0 - svelte: 5.25.5 + svelte: 5.26.3 typescript: 5.7.2 typescript-eslint: 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2) transitivePeerDependencies: @@ -3736,7 +3736,7 @@ snapshots: '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@1.21.6)) eslint: 9.17.0(jiti@1.21.6) - eslint-plugin-svelte@3.1.0(eslint@9.17.0(jiti@1.21.6))(svelte@5.25.5): + eslint-plugin-svelte@3.1.0(eslint@9.17.0(jiti@1.21.6))(svelte@5.26.3): dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@1.21.6)) '@jridgewell/sourcemap-codec': 1.5.0 @@ -3748,9 +3748,9 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.4.49) postcss-safe-parser: 7.0.1(postcss@8.4.49) semver: 7.7.1 - svelte-eslint-parser: 1.0.1(svelte@5.25.5) + svelte-eslint-parser: 1.0.1(svelte@5.26.3) optionalDependencies: - svelte: 5.25.5 + svelte: 5.26.3 transitivePeerDependencies: - ts-node @@ -3818,7 +3818,7 @@ snapshots: dependencies: estraverse: 5.3.0 - esrap@1.4.5: + esrap@1.4.6: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -4007,7 +4007,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/edf2e76fd25e9ed24cde1be03f82ce5703758e7a: {} + hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/6cb67c6061b0fcd41b5f1f683e6c030129e79eae: {} idb-keyval@6.2.1: {} @@ -4735,7 +4735,7 @@ snapshots: transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.0.1(svelte@5.25.5): + svelte-eslint-parser@1.0.1(svelte@5.26.3): dependencies: eslint-scope: 8.2.0 eslint-visitor-keys: 4.2.0 @@ -4744,7 +4744,7 @@ snapshots: postcss-scss: 4.0.9(postcss@8.4.49) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.25.5 + svelte: 5.26.3 svelte-hmr@0.16.0(svelte@4.2.19): dependencies: @@ -4788,7 +4788,7 @@ snapshots: magic-string: 0.30.12 periscopic: 3.1.0 - svelte@5.25.5: + svelte@5.26.3: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -4799,7 +4799,7 @@ snapshots: axobject-query: 4.1.0 clsx: 2.1.1 esm-env: 1.2.2 - esrap: 1.4.5 + esrap: 1.4.6 is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.12 diff --git a/src/app.d.ts b/src/app.d.ts index 72c8998..0587fbb 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -52,6 +52,17 @@ export interface TorrentInfo { eta: number } +export interface TorrentSettings { + torrentPersist: boolean + torrentDHT: boolean + torrentStreamedDownload: boolean + torrentSpeed: number + maxConns: number + torrentPort: number + dhtPort: number + torrentPeX: boolean +} + export interface Native { authAL: (url: string) => Promise restart: () => Promise @@ -83,8 +94,10 @@ export interface Native { chapters: (hash: string, id: number) => Promise> torrentStats: (hash: string) => Promise torrents: () => Promise + setDOH: (dns: string) => Promise + updateSettings: (settings: TorrentSettings) => Promise isApp: boolean - version: () => string + version: () => Promise } declare global { diff --git a/src/lib/components/ui/button/play.svelte b/src/lib/components/ui/button/play.svelte index 688d6f2..d7fbbd3 100644 --- a/src/lib/components/ui/button/play.svelte +++ b/src/lib/components/ui/button/play.svelte @@ -17,7 +17,6 @@ export let size: NonNullable<$$Props['size']> = 'xs' function play () { const episode = (progress(media) ?? 0) + 1 - // TODO: set rewatch state searchStore.set({ media, episode }) } diff --git a/src/lib/components/ui/player/mediahandler.svelte b/src/lib/components/ui/player/mediahandler.svelte index a00d2d7..9e6881a 100644 --- a/src/lib/components/ui/player/mediahandler.svelte +++ b/src/lib/components/ui/player/mediahandler.svelte @@ -4,7 +4,7 @@ import type { resolveFilesPoorly, ResolvedFile } from './resolver' import type { MediaInfo } from '$lib/components/ui/player/util' - import { banner, episodes, title } from '$lib/modules/anilist' + import { cover, episodes, title } from '$lib/modules/anilist' import { searchStore } from '$lib/components/SearchModal.svelte' export let mediaInfo: NonNullable>> @@ -16,8 +16,8 @@ media: file.metadata.media, session: { title: title(file.metadata.media), - description: 'N/A', // TODO - image: banner(file.metadata.media) ?? '' + description: 'Episode ' + file.metadata.episode, // TODO + image: cover(file.metadata.media) ?? '' } } } diff --git a/src/lib/components/ui/sidebar/sidebarlist.svelte b/src/lib/components/ui/sidebar/sidebarlist.svelte index 4e8216c..9121663 100644 --- a/src/lib/components/ui/sidebar/sidebarlist.svelte +++ b/src/lib/components/ui/sidebar/sidebarlist.svelte @@ -26,7 +26,7 @@