calendar
This commit is contained in:
parent
01fef99fe7
commit
2fbc0c0875
|
|
@ -14,8 +14,8 @@ const Calendar = () => {
|
||||||
const [value, onChange] = useState(new Date());
|
const [value, onChange] = useState(new Date());
|
||||||
|
|
||||||
const [data, setData] = useState<any>();
|
const [data, setData] = useState<any>();
|
||||||
|
const [popup, setPopup] = useState<boolean>(false);
|
||||||
const ref = useRef<boolean>(false);
|
const ref = useRef<boolean>(false);
|
||||||
const popupRef = useRef<HTMLDivElement>(null);
|
|
||||||
|
|
||||||
const valueMemo = useMemo(() => ({ value, onChange }), [value, onChange]);
|
const valueMemo = useMemo(() => ({ value, onChange }), [value, onChange]);
|
||||||
const dataMemo = useMemo(() => ({ data, setData }), [data, setData]);
|
const dataMemo = useMemo(() => ({ data, setData }), [data, setData]);
|
||||||
|
|
@ -35,15 +35,17 @@ const Calendar = () => {
|
||||||
if (!ref.current) {
|
if (!ref.current) {
|
||||||
ref.current = true;
|
ref.current = true;
|
||||||
console.log(dataMemo.data);
|
console.log(dataMemo.data);
|
||||||
|
setPopup(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log(dataMemo.data);
|
|
||||||
api.get(dataMemo.data, dataMemo.setData);
|
api.get(dataMemo.data, dataMemo.setData);
|
||||||
|
setPopup(true);
|
||||||
}, [value]);
|
}, [value]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="calendar">
|
<div className="calendar">
|
||||||
<div className="calendar-popup" ref={popupRef}>
|
{popup ? (
|
||||||
|
<div className={popup ? 'calendar-popup calendar-popup-active' : 'calendar-popup'}>
|
||||||
{data ? (
|
{data ? (
|
||||||
// data.map((el: any, index: number) => (
|
// data.map((el: any, index: number) => (
|
||||||
// <div className="calendar-popup-item" key={uuiv4()}>
|
// <div className="calendar-popup-item" key={uuiv4()}>
|
||||||
|
|
@ -63,6 +65,7 @@ const Calendar = () => {
|
||||||
<Loader />
|
<Loader />
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
) : null}
|
||||||
<LazyLoadComponent useIntersectionObserver>
|
<LazyLoadComponent useIntersectionObserver>
|
||||||
<ReactCalendar value={value} onChange={valueMemo.onChange} />
|
<ReactCalendar value={value} onChange={valueMemo.onChange} />
|
||||||
</LazyLoadComponent>
|
</LazyLoadComponent>
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@
|
||||||
.calendar-popup {
|
.calendar-popup {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
bottom: -20%;
|
||||||
background: $main;
|
background: $main;
|
||||||
padding: 1.6rem;
|
padding: 1.6rem;
|
||||||
color: $white;
|
color: $white;
|
||||||
|
|
@ -119,6 +119,7 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0.8rem;
|
gap: 0.8rem;
|
||||||
border-radius: 0.8rem;
|
border-radius: 0.8rem;
|
||||||
|
display: none;
|
||||||
|
|
||||||
.calendar-popup-item {
|
.calendar-popup-item {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
@ -126,6 +127,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.calendar-popup-active {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 1024px) {
|
@media (max-width: 1024px) {
|
||||||
.calendar {
|
.calendar {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue