diff --git a/src/components/EventsPage/CardComponents/PreviewCard.jsx b/src/components/EventsPage/CardComponents/PreviewCard.jsx index 03cf477..c284aeb 100644 --- a/src/components/EventsPage/CardComponents/PreviewCard.jsx +++ b/src/components/EventsPage/CardComponents/PreviewCard.jsx @@ -9,7 +9,7 @@ import { PreviewMoreInfoButton, PreviewMoreInfoButton2, } from './PreviewCard.style'; -import { useState } from 'react'; +import { useEffect, useState } from 'react'; function PreviewCard({ ImageURL, @@ -18,11 +18,13 @@ function PreviewCard({ handleRegisterEvent, loading, link = '', + registeredEvents, }) { const [isRegistered, setIsRegistered] = useState(false); - const words = PreviewDescription?.split(' ') || []; const truncatedDescription = - words.length > 30 ? words.slice(0, 50).join(' ') + '...' : PreviewDescription; + PreviewDescription.split(' ').length > 30 + ? PreviewDescription.split(' ').slice(0, 50).join(' ') + '...' + : PreviewDescription; function handleToast() { toast('You can register after you are verified!', { @@ -30,6 +32,11 @@ function PreviewCard({ }); } + useEffect(() => { + const registered = registeredEvents.filter((items) => items.eventID === id); + if (registered) setIsRegistered(true); + }); + function handleClick() { handleRegisterEvent(id); } @@ -53,7 +60,7 @@ function PreviewCard({ )} - {loading ? 'Registering...' : 'Register'} + {loading ? 'Registering...' : isRegistered ? 'Registered' : 'Register'} diff --git a/src/components/EventsPage/Carousel/PreviewCarousel.jsx b/src/components/EventsPage/Carousel/PreviewCarousel.jsx index 10dbbbb..0b76040 100644 --- a/src/components/EventsPage/Carousel/PreviewCarousel.jsx +++ b/src/components/EventsPage/Carousel/PreviewCarousel.jsx @@ -10,6 +10,7 @@ export const SliderEventsWrapper = ({ descriptionItems, handleRegisterEvent, loading, + registeredEvents, }) => { const [currentIndex, setCurrentIndex] = useState(0); @@ -35,6 +36,7 @@ export const SliderEventsWrapper = ({ mobileViewClassName='mySwiper2' onIndexChange={setCurrentIndex} isEventSection={false} + registeredEvents={registeredEvents} /> diff --git a/src/components/EventsPage/Event/Event.jsx b/src/components/EventsPage/Event/Event.jsx index e1b001a..d15bb1d 100644 --- a/src/components/EventsPage/Event/Event.jsx +++ b/src/components/EventsPage/Event/Event.jsx @@ -83,6 +83,7 @@ export const Events = ({ previewItems, descriptionItems }) => { descriptionItems={descriptionItems} loading={loading} handleRegisterEvent={handleEventRegister} + registeredEvents={registeredEvents} />