Skip to content

Commit

Permalink
Adjusted profile design
Browse files Browse the repository at this point in the history
  • Loading branch information
SupertigerDev committed Feb 7, 2025
1 parent 1da1b27 commit d78d67f
Show file tree
Hide file tree
Showing 3 changed files with 248 additions and 186 deletions.
68 changes: 42 additions & 26 deletions src/components/custom-scrollbar/CustomScrollbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
useMutationObserver,
useResizeObserver,
} from "@/common/useResizeObserver";
import { createEffect, createSignal, on, onCleanup } from "solid-js";
import { createEffect, createSignal, on, onCleanup, onMount } from "solid-js";
import { createContextProvider } from "@solid-primitives/context";

interface CustomScrollbarProps {
Expand All @@ -15,31 +15,45 @@ interface CustomScrollbarProps {
marginBottom?: number;
}

export const [CustomScrollbarProvider, useCustomScrollbar] =
createContextProvider(
() => {
const [isVisible, setIsVisible] = createSignal(false);
const [marginTop, setMarginTop] = createSignal(0);
const [marginBottom, setMarginBottom] = createSignal(0);

return {
marginTop,
marginBottom,
setMarginTop,
setMarginBottom,
isVisible,
setIsVisible,
};
},
{
marginTop: () => 0,
marginBottom: () => 0,
setMarginBottom: () => {},
setMarginTop: () => {},
isVisible: () => false,
setIsVisible: () => {},
}
);
const [CustomScrollbarProvider, _useCustomScrollbar] = createContextProvider(
() => {
const [isVisible, setIsVisible] = createSignal(false);
const [marginTop, setMarginTop] = createSignal(0);
const [marginBottom, setMarginBottom] = createSignal(0);
const [thumbColor, setThumbColor] = createSignal("var(--primary-color)");

return {
marginTop,
marginBottom,
setMarginTop,
setMarginBottom,
isVisible,
setIsVisible,
thumbColor,
setThumbColor,
};
},
{
marginTop: () => 0,
marginBottom: () => 0,
setMarginBottom: () => {},
setMarginTop: () => {},
isVisible: () => false,
setIsVisible: () => {},
thumbColor: () => "var(--primary-color)",
setThumbColor: () => {},
}
);

export { CustomScrollbarProvider };

export const useCustomScrollbar = () => {
const hook = _useCustomScrollbar();
onCleanup(() => {
hook.setThumbColor("var(--primary-color)");
});
return hook;
};

export const CustomScrollbar = (props: CustomScrollbarProps) => {
let scrollBarEl: HTMLDivElement | undefined;
Expand All @@ -51,6 +65,7 @@ export const CustomScrollbar = (props: CustomScrollbarProps) => {
setMarginTop,
isVisible,
setIsVisible,
thumbColor,
} = useCustomScrollbar();
setMarginBottom(props.marginBottom || 0);
setMarginTop(props.marginTop || 0);
Expand Down Expand Up @@ -179,6 +194,7 @@ export const CustomScrollbar = (props: CustomScrollbarProps) => {
style={{
height: `${thumbHeight()}px`,
top: `${thumbTop()}px`,
background: thumbColor(),
}}
/>
</div>
Expand Down
Loading

0 comments on commit d78d67f

Please sign in to comment.