diff --git a/src/lang/en.ts b/src/lang/en.ts index 831b6010..76b07569 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -550,4 +550,5 @@ export const languageEnglish = { log: "Log", popularityLevelDesc: "Popularity increases with downloads, etc. to estimate, 3.7 popularity is about 1 downloads.", additionalParams: "Additional Parameters", + heightMode: "Height Mode", } \ No newline at end of file diff --git a/src/lib/Setting/Pages/AdvancedSettings.svelte b/src/lib/Setting/Pages/AdvancedSettings.svelte index 3008456e..e30e7313 100644 --- a/src/lib/Setting/Pages/AdvancedSettings.svelte +++ b/src/lib/Setting/Pages/AdvancedSettings.svelte @@ -43,6 +43,16 @@ High +{language.heightMode} + + Normal + Percent + VH + DVH + SVH + LVH + +
diff --git a/src/ts/storage/database.ts b/src/ts/storage/database.ts index 348db650..3935a5e1 100644 --- a/src/ts/storage/database.ts +++ b/src/ts/storage/database.ts @@ -376,7 +376,7 @@ export function setDatabase(data:Database){ data.modules ??= [] data.enabledModules ??= [] data.additionalParams ??= [] - data.heightMode ??= 0 + data.heightMode ??= 'normal' changeLanguage(data.language) DataBase.set(data) @@ -603,7 +603,7 @@ export interface Database{ sideMenuRerollButton?:boolean requestInfoInsideChat?:boolean additionalParams:[string, string][] - heightMode:number + heightMode:string } export interface customscript{ diff --git a/src/ts/storage/globalApi.ts b/src/ts/storage/globalApi.ts index 81003edb..ce4e4db3 100644 --- a/src/ts/storage/globalApi.ts +++ b/src/ts/storage/globalApi.ts @@ -475,6 +475,7 @@ export async function loadData() { updateColorScheme() updateTextTheme() updateAnimationSpeed() + updateHeightMode() if(db.botSettingAtStart){ botMakerMode.set(true) } @@ -1571,4 +1572,29 @@ export function trimNonLatin(data:string){ return data .replace(/[^\x00-\x7F]/g, "") .replace(/ +/g, ' ') .trim() +} + +export function updateHeightMode(){ + const db = get(DataBase) + const root = document.querySelector(':root') as HTMLElement; + switch(db.heightMode){ + case 'auto': + root.style.setProperty('--risu-height-size', '100%'); + break + case 'vh': + root.style.setProperty('--risu-height-size', '100vh'); + break + case 'dvh': + root.style.setProperty('--risu-height-size', '100dvh'); + break + case 'lvh': + root.style.setProperty('--risu-height-size', '100lvh'); + break + case 'svh': + root.style.setProperty('--risu-height-size', '100svh'); + break + case 'percent': + root.style.setProperty('--risu-height-size', '100%'); + break + } } \ No newline at end of file