Add error handling for colorscheme

This commit is contained in:
kwaroran
2025-04-14 16:17:09 +09:00
parent 46c45238e5
commit cf039b86af

View File

@@ -115,39 +115,43 @@ export const ColorSchemeTypeStore = writable('dark' as 'dark'|'light')
export const colorSchemeList = Object.keys(colorShemes) as (keyof typeof colorShemes)[] export const colorSchemeList = Object.keys(colorShemes) as (keyof typeof colorShemes)[]
export function changeColorScheme(colorScheme: string){ export function changeColorScheme(colorScheme: string){
let db = getDatabase() try {
if(colorScheme !== 'custom'){ let db = getDatabase()
db.colorScheme = safeStructuredClone(colorShemes[colorScheme]) if(colorScheme !== 'custom'){
} db.colorScheme = safeStructuredClone(colorShemes[colorScheme])
db.colorSchemeName = colorScheme }
setDatabase(db) db.colorSchemeName = colorScheme
updateColorScheme() setDatabase(db)
updateColorScheme()
} catch (error) {}
} }
export function updateColorScheme(){ export function updateColorScheme(){
let db = getDatabase() try {
let db = getDatabase()
let colorScheme = db.colorScheme let colorScheme = db.colorScheme
if(colorScheme == null){ if(colorScheme == null){
colorScheme = safeStructuredClone(defaultColorScheme) colorScheme = safeStructuredClone(defaultColorScheme)
} }
if(get(isLite)){ if(get(isLite)){
colorScheme = safeStructuredClone(colorShemes.lite) colorScheme = safeStructuredClone(colorShemes.lite)
} }
//set css variables //set css variables
document.documentElement.style.setProperty("--risu-theme-bgcolor", colorScheme.bgcolor); document.documentElement.style.setProperty("--risu-theme-bgcolor", colorScheme.bgcolor);
document.documentElement.style.setProperty("--risu-theme-darkbg", colorScheme.darkbg); document.documentElement.style.setProperty("--risu-theme-darkbg", colorScheme.darkbg);
document.documentElement.style.setProperty("--risu-theme-borderc", colorScheme.borderc); document.documentElement.style.setProperty("--risu-theme-borderc", colorScheme.borderc);
document.documentElement.style.setProperty("--risu-theme-selected", colorScheme.selected); document.documentElement.style.setProperty("--risu-theme-selected", colorScheme.selected);
document.documentElement.style.setProperty("--risu-theme-draculared", colorScheme.draculared); document.documentElement.style.setProperty("--risu-theme-draculared", colorScheme.draculared);
document.documentElement.style.setProperty("--risu-theme-textcolor", colorScheme.textcolor); document.documentElement.style.setProperty("--risu-theme-textcolor", colorScheme.textcolor);
document.documentElement.style.setProperty("--risu-theme-textcolor2", colorScheme.textcolor2); document.documentElement.style.setProperty("--risu-theme-textcolor2", colorScheme.textcolor2);
document.documentElement.style.setProperty("--risu-theme-darkborderc", colorScheme.darkBorderc); document.documentElement.style.setProperty("--risu-theme-darkborderc", colorScheme.darkBorderc);
document.documentElement.style.setProperty("--risu-theme-darkbutton", colorScheme.darkbutton); document.documentElement.style.setProperty("--risu-theme-darkbutton", colorScheme.darkbutton);
ColorSchemeTypeStore.set(colorScheme.type) ColorSchemeTypeStore.set(colorScheme.type)
} catch (error) {}
} }
export function exportColorScheme(){ export function exportColorScheme(){