diff --git a/src/components/node/NodeImageTinySlider/index.tsx b/src/components/node/NodeImageTinySlider/index.tsx index a906c1ed..6ca0e61a 100644 --- a/src/components/node/NodeImageTinySlider/index.tsx +++ b/src/components/node/NodeImageTinySlider/index.tsx @@ -1,8 +1,45 @@ -import React, { FC } from 'react'; +import React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react'; import styles from './styles.module.scss'; interface IProps {} -const NodeImageTinySlider: FC = () =>
Slider :3
; +const NodeImageTinySlider: FC = () => { + const sample = useRef(null); + const [clientWidth, setClientWidth] = useState(document.documentElement.clientWidth); + + const style = useMemo(() => { + if (!sample.current) return { display: 'none' }; + + const { width } = sample.current.getBoundingClientRect(); + const { clientWidth } = document.documentElement; + + return { + // width: clientWidth, + // transform: `translate(-${(clientWidth - width) / 2}px, 0)`, + }; + }, [sample.current, clientWidth]); + + const onResize = useCallback(() => setClientWidth(document.documentElement.clientWidth), []); + + useEffect(() => { + window.addEventListener('resize', onResize); + document.body.addEventListener('overflow', onResize); + document.body.addEventListener('overflowchanged', console.log); + + document.body.addEventListener('resize', console.log); + + return () => { + window.removeEventListener('resize', onResize); + window.removeEventListener('overflow', onResize); + }; + }, []); + + return ( +
+
+
+
+ ); +}; export { NodeImageTinySlider }; diff --git a/src/components/node/NodeImageTinySlider/styles.module.scss b/src/components/node/NodeImageTinySlider/styles.module.scss index 183dc118..f96e7258 100644 --- a/src/components/node/NodeImageTinySlider/styles.module.scss +++ b/src/components/node/NodeImageTinySlider/styles.module.scss @@ -1,11 +1,22 @@ .wrap { - //padding-bottom: $radius; - background-color: $red; + background: $red; +} +.sample { + width: 100%; + display: block; + height: 24px; + background: green; +} + +.slider { + background: blue; + height: 20px; width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; + box-sizing: border-box; } diff --git a/src/styles/global.scss b/src/styles/global.scss index 961fc74d..b856a237 100644 --- a/src/styles/global.scss +++ b/src/styles/global.scss @@ -2,6 +2,8 @@ html { min-height: 100vh; + box-sizing: border-box; + overflow: auto; } body {