mirror of
https://github.com/karl0ss/homepage.git
synced 2025-07-01 05:59:07 +01:00
fix hidden scrollbars
this was an adventure
This commit is contained in:
parent
f52c6f3b41
commit
de4ce73a9a
@ -163,13 +163,6 @@ function Home({ initialSettings }) {
|
|||||||
const { data: bookmarks } = useSWR("/api/bookmarks");
|
const { data: bookmarks } = useSWR("/api/bookmarks");
|
||||||
const { data: widgets } = useSWR("/api/widgets");
|
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(() => {
|
useEffect(() => {
|
||||||
if (settings.language) {
|
if (settings.language) {
|
||||||
i18n.changeLanguage(settings.language);
|
i18n.changeLanguage(settings.language);
|
||||||
@ -191,7 +184,6 @@ function Home({ initialSettings }) {
|
|||||||
{initialSettings.base && <base href={initialSettings.base} />}
|
{initialSettings.base && <base href={initialSettings.base} />}
|
||||||
{initialSettings.favicon && <link rel="icon" href={initialSettings.favicon} />}
|
{initialSettings.favicon && <link rel="icon" href={initialSettings.favicon} />}
|
||||||
</Head>
|
</Head>
|
||||||
<div className="fixed w-screen h-screen m-0 p-0 z-0 pointer-events-none" style={wrappedStyle} />
|
|
||||||
<div className="relative container m-auto flex flex-col justify-between z-10">
|
<div className="relative container m-auto flex flex-col justify-between z-10">
|
||||||
<div className="flex flex-row flex-wrap m-8 pb-4 mt-10 border-b-2 border-theme-800 dark:border-theme-200 justify-between">
|
<div className="flex flex-row flex-wrap m-8 pb-4 mt-10 border-b-2 border-theme-800 dark:border-theme-200 justify-between">
|
||||||
{widgets && (
|
{widgets && (
|
||||||
@ -244,11 +236,27 @@ function Home({ initialSettings }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default function Wrapper({ initialSettings, fallback }) {
|
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 (
|
return (
|
||||||
<div
|
<div
|
||||||
id="page_wrapper"
|
id="page_wrapper"
|
||||||
className={classNames(
|
className={classNames(
|
||||||
"relative w-full h-full",
|
"relative",
|
||||||
initialSettings.theme && initialSettings.theme,
|
initialSettings.theme && initialSettings.theme,
|
||||||
initialSettings.color && `theme-${initialSettings.color}`
|
initialSettings.color && `theme-${initialSettings.color}`
|
||||||
)}
|
)}
|
||||||
@ -256,6 +264,7 @@ export default function Wrapper({ initialSettings, fallback }) {
|
|||||||
<div
|
<div
|
||||||
id="page_container"
|
id="page_container"
|
||||||
className="fixed overflow-auto w-full h-full bg-theme-50 dark:bg-theme-800 transition-all"
|
className="fixed overflow-auto w-full h-full bg-theme-50 dark:bg-theme-800 transition-all"
|
||||||
|
style={wrappedStyle}
|
||||||
>
|
>
|
||||||
<Index initialSettings={initialSettings} fallback={fallback} />
|
<Index initialSettings={initialSettings} fallback={fallback} />
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,39 +20,35 @@ body {
|
|||||||
height: 100vh;
|
height: 100vh;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.light {
|
||||||
|
--bg-color: var(--color-50);
|
||||||
|
--scrollbar-thumb: rgb(var(--color-300));
|
||||||
|
--scrollbar-track: rgb(var(--color-200));
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark {
|
||||||
|
--bg-color: var(--color-800);
|
||||||
|
--scrollbar-thumb: rgb(var(--color-600));
|
||||||
|
--scrollbar-track: rgb(var(--color-700));
|
||||||
|
}
|
||||||
|
|
||||||
|
#page_container {
|
||||||
|
overflow: auto;
|
||||||
overflow: overlay;
|
overflow: overlay;
|
||||||
|
scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
|
||||||
}
|
}
|
||||||
|
|
||||||
.light #page_container {
|
::-webkit-scrollbar {
|
||||||
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;
|
width: 0.75em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.light ::-webkit-scrollbar-track {
|
::-webkit-scrollbar-track {
|
||||||
background-color: rgb(var(--color-200));
|
background-color: var(--scrollbar-track);
|
||||||
}
|
}
|
||||||
|
|
||||||
.light ::-webkit-scrollbar-thumb {
|
::-webkit-scrollbar-thumb {
|
||||||
background-color: rgb(var(--color-300));
|
background-color: var(--scrollbar-thumb);
|
||||||
border-radius: 0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark ::-webkit-scrollbar {
|
|
||||||
width: 0.75em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark ::-webkit-scrollbar-track {
|
|
||||||
background-color: rgb(var(--color-700));
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark ::-webkit-scrollbar-thumb {
|
|
||||||
background-color: rgb(var(--color-600));
|
|
||||||
border-radius: 0.25em;
|
border-radius: 0.25em;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user