diff --git a/docs/SETTINGS.md b/docs/SETTINGS.md index 9d07cbf9..705cc6f4 100644 --- a/docs/SETTINGS.md +++ b/docs/SETTINGS.md @@ -27,7 +27,7 @@ Materialious allows you to customize various settings by overwriting the default + [Listen by default](#listen-by-default) + [Theatre mode by default](#theatre-mode-by-default) + [Autoplay next by default](#autoplay-next-by-default) - + [Dash](#dash) + + [Default video quality](#default-video-quality) * [Sponsorblock](#sponsorblock) + [Sponsor](#sponsor) + [Unpaid/Self Promotion](#unpaidself-promotion) @@ -144,6 +144,14 @@ Avoids loading images. ## Player +### Default video quality + +Determines the default quality for videos. + +```json +"defaultQuality": "1440" +``` + ### Autoplay video Controls whether videos autoplay. diff --git a/materialious/src/lib/externalSettings.ts b/materialious/src/lib/externalSettings.ts index 6c6707c6..5b5fb563 100644 --- a/materialious/src/lib/externalSettings.ts +++ b/materialious/src/lib/externalSettings.ts @@ -18,6 +18,7 @@ import { playerAutoPlayStore, playerAutoplayNextByDefaultStore, playerDefaultLanguage, + playerDefaultQualityStore, playerProxyVideosStore, playerSavePlaybackPositionStore, playerTheatreModeByDefaultStore, @@ -34,7 +35,11 @@ import { } from '$lib/store'; import { get, type Writable } from 'svelte/store'; -const persistedStores: { name: string, store: Writable, type: 'string' | 'boolean' | 'array'; }[] = [ +const persistedStores: { + name: string; + store: Writable; + type: 'string' | 'boolean' | 'array'; +}[] = [ { name: 'returnYTDislikesInstance', store: returnYTDislikesInstanceStore, @@ -189,6 +194,11 @@ const persistedStores: { name: string, store: Writable, type: 'string' | 'b name: 'defaultPage', store: interfaceDefaultPage, type: 'string' + }, + { + name: 'defaultQuality', + store: playerDefaultQualityStore, + type: 'string' } ]; @@ -197,7 +207,7 @@ function setStores(toSet: Record) { let userOverwritten: boolean = false; try { userOverwritten = localStorage.getItem(store.name) !== null; - } catch { } + } catch {} let paramValue = toSet[store.name]; if (typeof paramValue !== 'undefined' && !userOverwritten) {