From f744748a8541ea5a37f6214d975f0bbea94cbf75 Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Fri, 22 Sep 2023 17:02:15 +0800 Subject: [PATCH 1/5] Add click switch to Indicator --- src/assets/css/components/common/indicator.scss | 10 ++++++++-- src/assets/css/constants.scss | 1 + src/components/home/index.tsx | 11 ++++++++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/assets/css/components/common/indicator.scss b/src/assets/css/components/common/indicator.scss index 85981c8..efe8e76 100644 --- a/src/assets/css/components/common/indicator.scss +++ b/src/assets/css/components/common/indicator.scss @@ -9,6 +9,7 @@ .item { flex: auto; + cursor: pointer; .dot { width: 10px; @@ -19,10 +20,15 @@ color: constants.$font-secondary-color; style: solid; }; + transition: all .2s; + } + + :hover { + background-color: constants.$focus-color; } } - .active>* { - background-color: constants.$font-secondary-color; + .active > * { + background-color: constants.$font-secondary-color !important; } } \ No newline at end of file diff --git a/src/assets/css/constants.scss b/src/assets/css/constants.scss index 78451a4..2cacf14 100644 --- a/src/assets/css/constants.scss +++ b/src/assets/css/constants.scss @@ -2,3 +2,4 @@ $main-color: #00D4FF; $background-color: #F5F5F5; $font-main-color: #4D4D4D; $font-secondary-color: #9E9E9E; +$focus-color: #DDDDDD diff --git a/src/components/home/index.tsx b/src/components/home/index.tsx index 04edc5d..358ce98 100644 --- a/src/components/home/index.tsx +++ b/src/components/home/index.tsx @@ -126,6 +126,11 @@ const Home: React.FC = () => { } } + const handleIndicatorSwitch = (index: number) => { + setCurrentContent(index) + handleScrollToContent(index)() + } + const content = [ { backgroundColor: '#FBFBFB', @@ -153,7 +158,11 @@ const Home: React.FC = () => { ) From 420cb1378c06155debbb3d2d2006dc292ec2f452 Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Fri, 22 Sep 2023 18:19:40 +0800 Subject: [PATCH 2/5] Add scrollbar to HideScrollbar (in development) --- .../css/components/common/hide-scrollbar.scss | 63 ++++++++++++++++--- src/components/common/HideScrollbar.tsx | 23 ++++++- src/pages/MainFramework.tsx | 30 ++++++++- 3 files changed, 104 insertions(+), 12 deletions(-) diff --git a/src/assets/css/components/common/hide-scrollbar.scss b/src/assets/css/components/common/hide-scrollbar.scss index 9d8ffe5..544de0b 100644 --- a/src/assets/css/components/common/hide-scrollbar.scss +++ b/src/assets/css/components/common/hide-scrollbar.scss @@ -1,16 +1,61 @@ +@use '@/assets/css/constants' as constants; + .hide-scrollbar-mask { width: 100%; height: 100%; overflow: hidden; -} -.hide-scrollbar-selection { - position: relative; - overflow: scroll; - scrollbar-width: none; - -ms-overflow-style: none; -} + .hide-scrollbar-selection { + position: relative; + overflow: scroll; + scrollbar-width: none; + -ms-overflow-style: none; + } -.hide-scrollbar-selection::-webkit-scrollbar { - display: none; + ::-webkit-scrollbar { + display: none; + } + + .scrollbar { + position: absolute; + z-index: 1000; + opacity: .5; + + .box { + position: relative; + width: 100%; + height: 100%; + border-radius: 8px; + overflow: hidden; + + + .block { + position: absolute; + width: 100%; + height: 100%; + border-radius: 8px; + background-color: constants.$font-secondary-color; + transition: all .2s; + } + :hover { + background-color: constants.$font-main-color; + } + } + } + + .vertical-scrollbar { + padding: 12px 4px; + width: 16px; + height: 100%; + right: 0; + top: 0; + } + + .horizontal-scrollbar { + padding: 4px 12px; + width: 100%; + height: 16px; + left: 0; + bottom: 0; + } } \ No newline at end of file diff --git a/src/components/common/HideScrollbar.tsx b/src/components/common/HideScrollbar.tsx index 1fcdaa7..9afbc9d 100644 --- a/src/components/common/HideScrollbar.tsx +++ b/src/components/common/HideScrollbar.tsx @@ -47,6 +47,8 @@ const HideScrollbar = forwardRef((prop const lastTouchPosition = useRef<{ x: number; y: number }>({ x: -1, y: -1 }) const [verticalScrollbarWidth, setVerticalScrollbarWidth] = useState(0) const [horizontalScrollbarWidth, setHorizontalScrollbarWidth] = useState(0) + const [verticalScrollbarLength, setVerticalScrollbarLength] = useState(100) + const [horizontalScrollbarLength, setHorizontalScrollbarLength] = useState(100) const { isPreventScroll, @@ -308,12 +310,31 @@ const HideScrollbar = forwardRef((prop tabIndex={0} style={{ width: `calc(100vw + ${verticalScrollbarWidth}px)`, - height: `calc(100vh + ${horizontalScrollbarWidth}px` + height: `calc(100vh + ${horizontalScrollbarWidth}px)` }} {..._props} > {props.children} +