|
|
@ -1,4 +1,4 @@ |
|
|
|
import React, { useState } from "react"; |
|
|
|
import React, { useState, useRef } from "react"; |
|
|
|
import ScrollContainer from "react-indiana-drag-scroll"; |
|
|
|
import ScrollContainer from "react-indiana-drag-scroll"; |
|
|
|
|
|
|
|
|
|
|
|
import "./index.scss"; |
|
|
|
import "./index.scss"; |
|
|
@ -9,15 +9,31 @@ import Month from "./Month.js"; |
|
|
|
|
|
|
|
|
|
|
|
const SelectYear = ({ items }) => { |
|
|
|
const SelectYear = ({ items }) => { |
|
|
|
const [selectedYear, setSelectedYear] = useState(null); |
|
|
|
const [selectedYear, setSelectedYear] = useState(null); |
|
|
|
|
|
|
|
const yearEl = useRef(null); |
|
|
|
|
|
|
|
const h = 40 |
|
|
|
|
|
|
|
const up = () => { |
|
|
|
|
|
|
|
if (yearEl.current) yearEl.current.scrollTop -= h; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
const down = () => { |
|
|
|
|
|
|
|
if (yearEl.current) yearEl.current.scrollTop += h; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
const scrollTo = (index)=>{ |
|
|
|
|
|
|
|
yearEl.current.scrollTop = (index-1)*h |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
return ( |
|
|
|
<section className="flex flex-row items-center mx-auto w-8/12 my-20"> |
|
|
|
<section className="flex flex-row items-center mx-auto w-8/12 my-20"> |
|
|
|
<div className="flex flex-col items-center"> |
|
|
|
<div className="flex flex-col items-center"> |
|
|
|
<img src={arrowUp} /> |
|
|
|
<img src={arrowUp} onClick={up} /> |
|
|
|
{console.log(window.scrollY)} |
|
|
|
|
|
|
|
<ScrollContainer ignoreElements={"#not-work-drag"} className=""> |
|
|
|
|
|
|
|
<div |
|
|
|
<div |
|
|
|
className="transition ease-in-out delay-500" id="not-work-drag" |
|
|
|
ignoreElements={"#not-work-drag"} |
|
|
|
|
|
|
|
className={`overflow-y-hidden transition-all ease-in-out delay-150 scroll-smooth h-[${3*h}px] mb-2`} |
|
|
|
|
|
|
|
ref={yearEl} |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
{/* <div |
|
|
|
|
|
|
|
className="transition ease-in-out delay-500" |
|
|
|
|
|
|
|
id="not-work-drag" |
|
|
|
style={{ |
|
|
|
style={{ |
|
|
|
height: "100%", |
|
|
|
height: "100%", |
|
|
|
position: "absolute", |
|
|
|
position: "absolute", |
|
|
@ -26,13 +42,16 @@ className="transition ease-in-out delay-500" id="not-work-drag" |
|
|
|
justifyContent: "space-between", |
|
|
|
justifyContent: "space-between", |
|
|
|
left: "12%", |
|
|
|
left: "12%", |
|
|
|
}} |
|
|
|
}} |
|
|
|
>
|
|
|
|
></div> */} |
|
|
|
</div> |
|
|
|
<div className="flex flex-col h-28 "> |
|
|
|
<div className="flex flex-col h-28 " style={{}}> |
|
|
|
|
|
|
|
{items.map((item, index) => ( |
|
|
|
{items.map((item, index) => ( |
|
|
|
<p |
|
|
|
<p |
|
|
|
|
|
|
|
id={item.id} |
|
|
|
|
|
|
|
// href={`#${item.id}`}
|
|
|
|
onClick={() => { |
|
|
|
onClick={() => { |
|
|
|
|
|
|
|
scrollTo(index) |
|
|
|
setSelectedYear(item); |
|
|
|
setSelectedYear(item); |
|
|
|
|
|
|
|
// if(index<items.length-2) setTimeout(up, 1);
|
|
|
|
}} |
|
|
|
}} |
|
|
|
key={index} |
|
|
|
key={index} |
|
|
|
className={`text-base my-2 cursor-pointer text-center transition ease-in-out delay-150 ${ |
|
|
|
className={`text-base my-2 cursor-pointer text-center transition ease-in-out delay-150 ${ |
|
|
@ -45,8 +64,8 @@ className="transition ease-in-out delay-500" id="not-work-drag" |
|
|
|
</p> |
|
|
|
</p> |
|
|
|
))} |
|
|
|
))} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</ScrollContainer> |
|
|
|
</div> |
|
|
|
<img src={arrowDown} /> |
|
|
|
<img src={arrowDown} onClick={down} /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div className="bg-[#06BACE] w-1.5 h-96 mx-4 rounded"></div> |
|
|
|
<div className="bg-[#06BACE] w-1.5 h-96 mx-4 rounded"></div> |
|
|
|
<div className={`flex flex-col items-center`}> |
|
|
|
<div className={`flex flex-col items-center`}> |
|
|
@ -61,24 +80,44 @@ export default SelectYear; |
|
|
|
SelectYear.defaultProps = { |
|
|
|
SelectYear.defaultProps = { |
|
|
|
items: [ |
|
|
|
items: [ |
|
|
|
{ |
|
|
|
{ |
|
|
|
year: "1400"}, |
|
|
|
id: 1, |
|
|
|
|
|
|
|
year: "1400", |
|
|
|
|
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
year: "1399"}, |
|
|
|
id: 2, |
|
|
|
|
|
|
|
year: "1399", |
|
|
|
|
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
year: "1398"}, |
|
|
|
id: 3, |
|
|
|
|
|
|
|
year: "1398", |
|
|
|
|
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
year: "1397"}, |
|
|
|
id: 4, |
|
|
|
|
|
|
|
year: "1397", |
|
|
|
|
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
year: "1396"}, |
|
|
|
id: 5, |
|
|
|
|
|
|
|
year: "1396", |
|
|
|
|
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
year: "1400"}, |
|
|
|
id: 6, |
|
|
|
|
|
|
|
year: "1400", |
|
|
|
|
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
year: "1399"}, |
|
|
|
id: 7, |
|
|
|
|
|
|
|
year: "1399", |
|
|
|
|
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
year: "1398"}, |
|
|
|
id: 8, |
|
|
|
|
|
|
|
year: "1398", |
|
|
|
|
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
year: "1397"}, |
|
|
|
id: 9, |
|
|
|
|
|
|
|
year: "1397", |
|
|
|
|
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
year: "1396"}, |
|
|
|
id: 10, |
|
|
|
|
|
|
|
year: "1396", |
|
|
|
|
|
|
|
}, |
|
|
|
], |
|
|
|
], |
|
|
|
}; |
|
|
|
}; |
|
|
|