diff --git a/apps/api/.pre-commit-config.yaml b/apps/api/.pre-commit-config.yaml index 03d28106..bf1a2c67 100644 --- a/apps/api/.pre-commit-config.yaml +++ b/apps/api/.pre-commit-config.yaml @@ -24,7 +24,7 @@ repos: - id: pyupgrade args: [--py311-plus] - repo: https://github.com/hhatto/autopep8 - rev: v2.3.1 + rev: v2.3.2 hooks: - id: autopep8 - repo: https://github.com/PyCQA/flake8 @@ -32,6 +32,6 @@ repos: hooks: - id: flake8 - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.14.0 + rev: v1.14.1 hooks: - id: mypy diff --git a/apps/web/package.json b/apps/web/package.json index 5a32525d..81c506c2 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -15,21 +15,20 @@ "format": "prettier --write ." }, "dependencies": { + "@tailwindcss/vite": "^4.0.0", "@yd/client": "workspace:*", "@yd/ui": "workspace:*" }, "devDependencies": { - "@sveltejs/adapter-auto": "^3.3.1", - "@sveltejs/kit": "^2.15.2", + "@sveltejs/adapter-auto": "^4.0.0", + "@sveltejs/kit": "^2.16.1", "@sveltejs/vite-plugin-svelte": "^5.0.3", "@yd/config": "workspace:*", - "autoprefixer": "^10.4.20", - "postcss": "^8.4.49", - "svelte": "^5.17.3", - "svelte-check": "^4.1.3", - "tailwindcss": "^3.4.17", + "svelte": "^5.19.2", + "svelte-check": "^4.1.4", + "tailwindcss": "^4.0.0", "tslib": "^2.8.1", "typescript": "^5.7.3", - "vite": "^6.0.9" + "vite": "^6.0.11" } } diff --git a/apps/web/postcss.config.js b/apps/web/postcss.config.js deleted file mode 100644 index 0f772168..00000000 --- a/apps/web/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -export default { - plugins: { - tailwindcss: {}, - autoprefixer: {} - } -}; diff --git a/apps/web/src/app.css b/apps/web/src/app.css index 276094a9..059a5a9f 100644 --- a/apps/web/src/app.css +++ b/apps/web/src/app.css @@ -1,13 +1,35 @@ -/* Write your global styles here, in PostCSS syntax */ -@tailwind base; -@tailwind components; -@tailwind utilities; - -@layer utilities { - .max-w-xxs { - max-width: 14rem; - } - .max-w-xxxs { - max-width: 10rem; +@import 'tailwindcss'; + +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-gray-200, currentColor); } } + +@variant dark (&:where(.dark, .dark *)); + +@theme { + --color-brand-50: var(--color-blue-50); + --color-brand-100: var(--color-blue-100); + --color-brand-200: var(--color-blue-200); + --color-brand-300: var(--color-blue-300); + --color-brand-400: var(--color-blue-400); + --color-brand-500: var(--color-blue-500); + --color-brand-600: var(--color-blue-600); + --color-brand-700: var(--color-blue-700); + --color-brand-800: var(--color-blue-800); + --color-brand-900: var(--color-blue-900); + --color-brand-950: var(--color-blue-950); +} + +@utility max-w-xxs { + max-width: 14rem; +} + +@utility max-w-xxxs { + max-width: 10rem; +} diff --git a/apps/web/src/lib/api.ts b/apps/web/src/lib/api.ts index 4bb56516..2ae46ab9 100644 --- a/apps/web/src/lib/api.ts +++ b/apps/web/src/lib/api.ts @@ -8,13 +8,8 @@ import { toast } from '@yd/ui'; // Set the base server address using the environment variable. client.setConfig({ baseUrl: env.serverAddress, - throwOnError: true -}); - -client.interceptors.request.use((request) => { - const token = sessionStorage.getItem(SESSION_ID_KEY) ?? ''; - request.headers.set('Authorization', `Bearer ${token}`); - return request; + throwOnError: true, + auth: () => sessionStorage.getItem(SESSION_ID_KEY) ?? '' }); // Key used to store session ID value in session storage. diff --git a/apps/web/src/lib/components/Logo.svelte b/apps/web/src/lib/components/Logo.svelte index 368dc652..0a07479d 100644 --- a/apps/web/src/lib/components/Logo.svelte +++ b/apps/web/src/lib/components/Logo.svelte @@ -2,6 +2,6 @@ import { RoutePathConstants } from '$lib/routes'; - + Logo diff --git a/apps/web/src/lib/components/NotFound.svelte b/apps/web/src/lib/components/NotFound.svelte index 03eccb67..083b1e7e 100644 --- a/apps/web/src/lib/components/NotFound.svelte +++ b/apps/web/src/lib/components/NotFound.svelte @@ -17,7 +17,7 @@

{title}

-

+

{subtitle}

diff --git a/apps/web/src/lib/components/ResultCard.svelte b/apps/web/src/lib/components/ResultCard.svelte index e7339da8..49716b72 100644 --- a/apps/web/src/lib/components/ResultCard.svelte +++ b/apps/web/src/lib/components/ResultCard.svelte @@ -49,7 +49,7 @@ downloads.add(result)} src={PlusIcon} - class="h-8 w-8 p-1 text-black hover:text-brand-600 dark:text-white dark:hover:text-brand-600" + class="hover:text-brand-600 dark:hover:text-brand-600 h-8 w-8 p-1 text-black hover:cursor-pointer dark:text-white" /> {:else} diff --git a/apps/web/src/lib/components/StatusBadge.svelte b/apps/web/src/lib/components/StatusBadge.svelte index 092470bc..a9879b34 100644 --- a/apps/web/src/lib/components/StatusBadge.svelte +++ b/apps/web/src/lib/components/StatusBadge.svelte @@ -50,7 +50,7 @@ {text} {#if status.progress} - + {/if} {/key} diff --git a/apps/web/src/lib/stores/downloads.ts b/apps/web/src/lib/stores/downloads.ts index 6be957d4..073c2363 100644 --- a/apps/web/src/lib/stores/downloads.ts +++ b/apps/web/src/lib/stores/downloads.ts @@ -99,7 +99,7 @@ function createDownloadsStore() { if (response.data) { const download = get(DOWNLOADS)[id]; const filename = `${download.video.title}.${download.options.format}`; - saveAs(response.data, filename); + saveAs(response.data as Blob, filename); } } catch (err) { handleError(id, 'Failed to get file for download.', err); diff --git a/apps/web/src/routes/downloads/+page.svelte b/apps/web/src/routes/downloads/+page.svelte index 271b7b16..3a91b77b 100644 --- a/apps/web/src/routes/downloads/+page.svelte +++ b/apps/web/src/routes/downloads/+page.svelte @@ -53,16 +53,16 @@

{#snippet cell({ column, row })} {#if column.key === 'info'} -