From ba961526a9972b409beeef4c41e0d1cc1659a694 Mon Sep 17 00:00:00 2001 From: "wkylin.w@gmail.com" Date: Mon, 6 Jan 2025 20:13:43 +0800 Subject: [PATCH] feat: compare --- src/assets/images/2-300x160.jpg | Bin 0 -> 9692 bytes src/assets/images/8-300x160.jpg | Bin 0 -> 10056 bytes src/assets/images/88-300x160.jpg | Bin 0 -> 10347 bytes src/components/stateless/CompareAll/index.jsx | 205 ++++++++++++++++++ .../stateless/ShinyText/index.module.less | 1 - src/pages/home/index.jsx | 17 +- 6 files changed, 220 insertions(+), 3 deletions(-) create mode 100644 src/assets/images/2-300x160.jpg create mode 100644 src/assets/images/8-300x160.jpg create mode 100644 src/assets/images/88-300x160.jpg create mode 100644 src/components/stateless/CompareAll/index.jsx diff --git a/src/assets/images/2-300x160.jpg b/src/assets/images/2-300x160.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a4d49f52e154cbfed5610c967a9bf11c2b97a3e5 GIT binary patch literal 9692 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 J?Mu8Y{SSE!GDrXb literal 0 HcmV?d00001 diff --git a/src/assets/images/88-300x160.jpg b/src/assets/images/88-300x160.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8b460ba85be39e5fa8603637930aac78a6c7ccc3 GIT binary patch literal 10347 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 { + const [sliderXPercent, setSliderXPercent] = useState(initialSliderPercentage) + const [isDragging, setIsDragging] = useState(false) + + const sliderRef = useRef(null) + + const [isMouseOver, setIsMouseOver] = useState(false) + + const autoplayRef = useRef(null) + + const startAutoplay = useCallback(() => { + if (!autoplay) return + + const startTime = Date.now() + const animate = () => { + const elapsedTime = Date.now() - startTime + const progress = (elapsedTime % (autoplayDuration * 2)) / autoplayDuration + const percentage = progress <= 1 ? progress * 100 : (2 - progress) * 100 + + setSliderXPercent(percentage) + autoplayRef.current = setTimeout(animate, 16) // ~60fps + } + + animate() + }, [autoplay, autoplayDuration]) + + const stopAutoplay = useCallback(() => { + if (autoplayRef.current) { + clearTimeout(autoplayRef.current) + autoplayRef.current = null + } + }, []) + + useEffect(() => { + startAutoplay() + return () => stopAutoplay() + }, [startAutoplay, stopAutoplay]) + + function mouseEnterHandler() { + setIsMouseOver(true) + stopAutoplay() + } + + function mouseLeaveHandler() { + setIsMouseOver(false) + if (slideMode === 'hover') { + setSliderXPercent(initialSliderPercentage) + } + if (slideMode === 'drag') { + setIsDragging(false) + } + startAutoplay() + } + + const handleStart = useCallback( + (clientX) => { + if (slideMode === 'drag') { + setIsDragging(true) + } + }, + [slideMode] + ) + + const handleEnd = useCallback(() => { + if (slideMode === 'drag') { + setIsDragging(false) + } + }, [slideMode]) + + const handleMove = useCallback( + (clientX) => { + if (!sliderRef.current) return + if (slideMode === 'hover' || (slideMode === 'drag' && isDragging)) { + const rect = sliderRef.current.getBoundingClientRect() + const x = clientX - rect.left + const percent = (x / rect.width) * 100 + requestAnimationFrame(() => { + setSliderXPercent(Math.max(0, Math.min(100, percent))) + }) + } + }, + [slideMode, isDragging] + ) + + const handleMouseDown = useCallback((e) => handleStart(e.clientX), [handleStart]) + const handleMouseUp = useCallback(() => handleEnd(), [handleEnd]) + const handleMouseMove = useCallback((e) => handleMove(e.clientX), [handleMove]) + + const handleTouchStart = useCallback( + (e) => { + if (!autoplay) { + handleStart(e.touches[0].clientX) + } + }, + [handleStart, autoplay] + ) + + const handleTouchEnd = useCallback(() => { + if (!autoplay) { + handleEnd() + } + }, [handleEnd, autoplay]) + + const handleTouchMove = useCallback( + (e) => { + if (!autoplay) { + handleMove(e.touches[0].clientX) + } + }, + [handleMove, autoplay] + ) + + return ( +
+ + +
+
+
+ {showHandlebar && ( +
+ +
+ )} + + +
+ + {firstImage ? ( + + first image + + ) : null} + +
+ + + {secondImage ? ( + + ) : null} + +
+ ) +} + +export default Compare diff --git a/src/components/stateless/ShinyText/index.module.less b/src/components/stateless/ShinyText/index.module.less index 2585b099..3389afe5 100644 --- a/src/components/stateless/ShinyText/index.module.less +++ b/src/components/stateless/ShinyText/index.module.less @@ -3,7 +3,6 @@ background: linear-gradient(120deg, rgb(0 0 0 / 0%) 40%, rgb(0 0 0 / 80%) 50%, #000 60%); background-size: 200% 100%; background-clip: text; - background-clip: text; display: inline-block; animation: shine 5s linear infinite; } diff --git a/src/pages/home/index.jsx b/src/pages/home/index.jsx index ab11f2b8..7dd60ebc 100644 --- a/src/pages/home/index.jsx +++ b/src/pages/home/index.jsx @@ -40,11 +40,14 @@ import { ReactSignature } from '@stateless/ReactSignature' // import AdvancedCodeBlock from '@stateless/AdvancedCodeBlock' import ShinyText from '@stateless/ShinyText' import BlurText from '@stateless/BlurText' - import Meteors from '@stateless/Meteors' +import CompareAll from '@stateless/CompareAll' + +import firstImage from '@assets/images/88-300x160.jpg' +import secondImage from '@assets/images/2-300x160.jpg' + import { oneApiChat, prettyObject, randomNum } from '@utils/aidFn' import { fireConfetti } from '@utils/confetti' - import styles from './index.module.less' const boxCount = Array.apply(null, Array(10)) @@ -239,6 +242,16 @@ const Home = () => { > +
+ +