diff --git a/.github/workflows/prod-android.yml b/.github/workflows/prod-android.yml index 6e2d71f5..32446517 100644 --- a/.github/workflows/prod-android.yml +++ b/.github/workflows/prod-android.yml @@ -28,13 +28,13 @@ jobs: node-version: latest - name: Install modules - run: cd ../ && npm install + run: cd ../ && npm ci - name: Build android nodejs packages - run: cd ../static/nodejsAndroid && npm install + run: cd ../static/nodejsAndroid && npm ci - name: Build package - run: cd ../ && npm run build + run: cd ../ && npm run build && npm prune --omit=dev - name: Sync package run: cd ../ && npx cap sync diff --git a/.github/workflows/prod-desktop.yml b/.github/workflows/prod-desktop.yml index 2c43d2cf..1ec03d21 100644 --- a/.github/workflows/prod-desktop.yml +++ b/.github/workflows/prod-desktop.yml @@ -42,10 +42,10 @@ jobs: node-version: ${{ matrix.node-version }} - name: Install modules - run: cd ./materialious && npm install + run: cd ./materialious && npm ci - name: Build package - run: cd ./materialious && npm run build + run: cd ./materialious && npm run build && npm prune --omit=dev - name: Sync electron package run: cd ./materialious && npx cap sync @capacitor-community/electron @@ -54,7 +54,7 @@ jobs: run: cd ./materialious/electron && python patch_capacitor_plugin.py - name: Install electron modules - run: cd ./materialious/electron && npm install + run: cd ./materialious/electron && npm ci - name: Set up environment variables run: echo "GH_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV diff --git a/.github/workflows/pull-android.yml b/.github/workflows/pull-android.yml index 63dbd5ba..527e127b 100644 --- a/.github/workflows/pull-android.yml +++ b/.github/workflows/pull-android.yml @@ -22,13 +22,13 @@ jobs: node-version: latest - name: Install modules - run: cd ../ && npm install + run: cd ../ && npm ci - name: Build android nodejs packages - run: cd ../static/nodejsAndroid && npm install + run: cd ../static/nodejsAndroid && npm ci - name: Build package - run: cd ../ && npm run build + run: cd ../ && npm run build && npm prune --omit=dev - name: Sync package run: cd ../ && npx cap sync diff --git a/.github/workflows/pull-desktop.yml b/.github/workflows/pull-desktop.yml index 6b2dfd7a..d37feac4 100644 --- a/.github/workflows/pull-desktop.yml +++ b/.github/workflows/pull-desktop.yml @@ -32,10 +32,10 @@ jobs: node-version: ${{ matrix.node-version }} - name: Install modules - run: cd ./materialious && npm install + run: cd ./materialious && npm ci - name: Build package - run: cd ./materialious && npm run build + run: cd ./materialious && npm run build && npm prune --omit=dev - name: Sync electron package run: cd ./materialious && npx cap sync @capacitor-community/electron @@ -44,7 +44,7 @@ jobs: run: cd ./materialious/electron && python patch_capacitor_plugin.py - name: Install electron modules - run: cd ./materialious/electron && npm install + run: cd ./materialious/electron && npm ci - name: Build desktop packages run: cd ./materialious/electron && npm run electron:make-no-publish diff --git a/.github/workflows/pull-web.yml b/.github/workflows/pull-web.yml index c9687972..295f6e8a 100644 --- a/.github/workflows/pull-web.yml +++ b/.github/workflows/pull-web.yml @@ -17,10 +17,10 @@ jobs: with: node-version: latest - name: Install modules - run: npm install + run: npm ci - name: Run svelte checks run: npm run check - name: Check linting run: npm run eslint - name: Attempt to build codebase - run: npm run build + run: npm run build && npm prune --omit=dev diff --git a/materialious/Dockerfile b/materialious/Dockerfile index 4e8e120b..35595a05 100644 --- a/materialious/Dockerfile +++ b/materialious/Dockerfile @@ -28,7 +28,11 @@ RUN echo "VITE_DEFAULT_INVIDIOUS_INSTANCE=VITE_DEFAULT_INVIDIOUS_INSTANCE_PLACEH echo "VITE_DEFAULT_RETURNYTDISLIKES_INSTANCE=VITE_DEFAULT_RETURNYTDISLIKES_INSTANCE_PLACEHOLDER" >> .env # Install dependencies and build the project -RUN npm install && npm run build + +RUN npm ci + +RUN npm run build +RUN npm prune --omit=dev FROM nginx:alpine diff --git a/materialious/electron/package-lock.json b/materialious/electron/package-lock.json index b2c15314..6a87e354 100644 --- a/materialious/electron/package-lock.json +++ b/materialious/electron/package-lock.json @@ -1,12 +1,12 @@ { "name": "Materialious", - "version": "1.15.0", + "version": "1.15.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "Materialious", - "version": "1.15.0", + "version": "1.15.1", "license": "MIT", "dependencies": { "@capacitor-community/electron": "^5.0.0", diff --git a/materialious/package-lock.json b/materialious/package-lock.json index 1942f5fb..a8752124 100644 --- a/materialious/package-lock.json +++ b/materialious/package-lock.json @@ -1,12 +1,12 @@ { "name": "materialious", - "version": "1.15.0", + "version": "1.15.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "materialious", - "version": "1.15.0", + "version": "1.15.1", "hasInstallScript": true, "dependencies": { "@capacitor-community/electron": "^5.0.1", diff --git a/materialious/src/lib/components/Question.svelte b/materialious/src/lib/components/Question.svelte index 7f37dde4..99fcf63b 100644 --- a/materialious/src/lib/components/Question.svelte +++ b/materialious/src/lib/components/Question.svelte @@ -27,19 +27,25 @@
{#each answers as answer (answer)}
-
selectAnswer(answer)} class:primary={selectedAnswer === answer.text} class:surface-container-highest={selectedAnswer !== answer.text} >
{answer.text}
-
+
{/each}
+ {#if info}

info {info}

{/if} + + diff --git a/materialious/src/lib/components/settings/Settings.svelte b/materialious/src/lib/components/settings/Settings.svelte index facadeb2..fa132d42 100644 --- a/materialious/src/lib/components/settings/Settings.svelte +++ b/materialious/src/lib/components/settings/Settings.svelte @@ -37,10 +37,6 @@ } ]); - let tabIds: string[] = $state([]); - - setTabIds(); - if (isUnrestrictedPlatform()) { tabs.splice(1, 0, { id: 'engine', @@ -50,12 +46,6 @@ }); } - function setTabIds() { - tabs.forEach((tab) => { - tabIds.push(tab.id); - }); - } - rawMasterKeyStore.subscribe((value) => { if (isOwnBackend()?.internalAuth && value) { tabs.splice(1, 0, { @@ -69,8 +59,6 @@ return tab.id !== 'account'; }); } - - setTabIds(); }); let dialogType = $state(''); @@ -129,25 +117,29 @@
diff --git a/materialious/src/routes/(app)/+page.ts b/materialious/src/routes/(app)/+page.ts index 1a74d6b2..37806716 100644 --- a/materialious/src/routes/(app)/+page.ts +++ b/materialious/src/routes/(app)/+page.ts @@ -2,7 +2,7 @@ import { goto } from '$app/navigation'; import { resolve } from '$app/paths'; import { getPopular } from '$lib/api/index'; import { isYTBackend } from '$lib/misc'; -import { feedCacheStore } from '$lib/store'; +import { feedCacheStore, invidiousInstanceStore } from '$lib/store'; import { error } from '@sveltejs/kit'; import { get } from 'svelte/store'; @@ -12,6 +12,12 @@ export async function load() { return; } + if (!get(invidiousInstanceStore)) { + return { + popularDisabled: true + }; + } + let popular = get(feedCacheStore).popular; let popularDisabled: boolean = false; diff --git a/materialious/src/routes/(app)/playlist/+page.ts b/materialious/src/routes/(app)/playlist/+page.ts index 7cd0b96b..81c0cc42 100644 --- a/materialious/src/routes/(app)/playlist/+page.ts +++ b/materialious/src/routes/(app)/playlist/+page.ts @@ -1,11 +1,10 @@ -import { goto } from '$app/navigation'; import { resolve } from '$app/paths'; -import { error } from '@sveltejs/kit'; +import { error, redirect } from '@sveltejs/kit'; export async function load({ url }) { const playlistId = url.searchParams.get('list'); if (playlistId) { - goto(resolve(`/playlist/[playlistId]`, { playlistId })); + throw redirect(302, resolve(`/playlist/[playlistId]`, { playlistId })); } else { error(404); } diff --git a/materialious/src/routes/(app)/setup/+page.svelte b/materialious/src/routes/(app)/setup/+page.svelte index 0d7384f8..c2928afc 100644 --- a/materialious/src/routes/(app)/setup/+page.svelte +++ b/materialious/src/routes/(app)/setup/+page.svelte @@ -15,7 +15,9 @@ let invidiousInstanceValid: boolean = $state(true); let invidiousInstance: string = $state(defaultInstance ?? ''); - async function setupCompleted() { + async function setupCompleted(event?: Event) { + event?.preventDefault(); + invidiousInstanceValid = await setInvidiousInstance(invidiousInstance); if (!invidiousInstanceValid) { @@ -54,11 +56,6 @@ work.

{:else} -

{$_('initalSetup.required')}

-
-
-
-

{$_('initalSetup.configureInstance')}

-
- link - - - {#if !invidiousInstanceValid && invidiousInstance !== ''} - {$_('invalidInstance')} - {/if} -
+
+ +
{/if} {/if} +
+