From 66d2fe9074f930f4be24dcfcb7b9e3e1f1b3b34a Mon Sep 17 00:00:00 2001 From: huzibaca Date: Tue, 26 Nov 2024 14:44:43 +0800 Subject: [PATCH] fix: add scroll bar and scroll to top button to the test page . fixer #2118 --- src/pages/test.tsx | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/pages/test.tsx b/src/pages/test.tsx index 905d7da3..59213498 100644 --- a/src/pages/test.tsx +++ b/src/pages/test.tsx @@ -1,4 +1,4 @@ -import { useEffect, useRef } from "react"; +import { useEffect, useRef, useState } from "react"; import { useVerge } from "@/hooks/use-verge"; import { Box, Button } from "@mui/material"; import Grid2 from "@mui/material/Grid2"; @@ -22,6 +22,7 @@ import { TestViewer, TestViewerRef } from "@/components/test/test-viewer"; import { TestItem } from "@/components/test/test-item"; import { emit } from "@tauri-apps/api/event"; import { nanoid } from "nanoid"; +import { ScrollTopButton } from "@/components/layout/scroll-top-button"; // test icons import apple from "@/assets/image/test/apple.svg?raw"; @@ -121,6 +122,19 @@ const TestPage = () => { }, [verge]); const viewerRef = useRef(null); + const [showScrollTop, setShowScrollTop] = useState(false); + const containerRef = useRef(null); + + const scrollToTop = () => { + containerRef.current?.scrollTo({ + top: 0, + behavior: "smooth", + }); + }; + + const handleScroll = (e: any) => { + setShowScrollTop(e.target.scrollTop > 100); + }; return ( { } > { + +