diff --git a/src/pages/index.jsx b/src/pages/index.jsx index 687075b5f..2a1c6e7d4 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -163,13 +163,6 @@ function Home({ initialSettings }) { const { data: bookmarks } = useSWR("/api/bookmarks"); const { data: widgets } = useSWR("/api/widgets"); - const wrappedStyle = {}; - if (initialSettings && initialSettings.background) { - wrappedStyle.backgroundImage = `url(${initialSettings.background})`; - wrappedStyle.backgroundSize = "cover"; - wrappedStyle.opacity = initialSettings.backgroundOpacity ?? 1; - } - useEffect(() => { if (settings.language) { i18n.changeLanguage(settings.language); @@ -191,7 +184,6 @@ function Home({ initialSettings }) { {initialSettings.base && } {initialSettings.favicon && } -
{widgets && ( @@ -244,11 +236,27 @@ function Home({ initialSettings }) { } export default function Wrapper({ initialSettings, fallback }) { + const wrappedStyle = {}; + if (initialSettings && initialSettings.background) { + // wrappedStyle.backgroundImage = `url(${initialSettings.background})`; + // wrappedStyle.backgroundSize = "cover"; + const opacity = initialSettings.backgroundOpacity ?? 1; + const opacityValue = 1 - opacity; + wrappedStyle.backgroundImage = ` + linear-gradient( + rgb(var(--bg-color) / ${opacityValue}), + rgb(var(--bg-color) / ${opacityValue}) + ), + url(${initialSettings.background})`; + wrappedStyle.backgroundPosition = "center"; + wrappedStyle.backgroundSize = "cover"; + } + return (
diff --git a/src/styles/globals.css b/src/styles/globals.css index 34c973333..cc1c56e91 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -20,39 +20,35 @@ body { height: 100vh; margin: 0; padding: 0; - overflow: overlay; -} - -.light #page_container { - scrollbar-color: rgb(var(--color-300)) rgb(var(--color-200)); -} - -.dark #page_container { - scrollbar-color: rgb(var(--color-600)) rgb(var(--color-700)); } -.light ::-webkit-scrollbar { - width: 0.75em; +.light { + --bg-color: var(--color-50); + --scrollbar-thumb: rgb(var(--color-300)); + --scrollbar-track: rgb(var(--color-200)); } -.light ::-webkit-scrollbar-track { - background-color: rgb(var(--color-200)); +.dark { + --bg-color: var(--color-800); + --scrollbar-thumb: rgb(var(--color-600)); + --scrollbar-track: rgb(var(--color-700)); } -.light ::-webkit-scrollbar-thumb { - background-color: rgb(var(--color-300)); - border-radius: 0.25em; +#page_container { + overflow: auto; + overflow: overlay; + scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); } -.dark ::-webkit-scrollbar { +::-webkit-scrollbar { width: 0.75em; } -.dark ::-webkit-scrollbar-track { - background-color: rgb(var(--color-700)); +::-webkit-scrollbar-track { + background-color: var(--scrollbar-track); } -.dark ::-webkit-scrollbar-thumb { - background-color: rgb(var(--color-600)); +::-webkit-scrollbar-thumb { + background-color: var(--scrollbar-thumb); border-radius: 0.25em; }