Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
71dd959
Made changes to the code, adding the color of the progress bar and ch…
Jikugodwill Feb 14, 2022
6fa4c35
lesson-page
ltran0817 Feb 14, 2022
1a9f0db
Made some changes with respect to the radio buttons
Jikugodwill Feb 15, 2022
a2c1353
change bg of popup
pextech Feb 16, 2022
8425ef8
nav-item
Ebube111 Feb 16, 2022
aeb6635
updated social links section
M-Rb3 Feb 17, 2022
d83cc88
updated select elements
M-Rb3 Feb 17, 2022
a0760f2
Merge pull request #120 from MinorityProgrammers/ft-courses-quizez-po…
pextech Feb 18, 2022
6c3e5c8
Merge pull request #117 from MinorityProgrammers/lesson-page
pextech Feb 18, 2022
f208eda
Merge pull request #123 from MinorityProgrammers/complete-setup
pextech Feb 18, 2022
d32286f
Merge pull request #122 from MinorityProgrammers/nav
pextech Feb 18, 2022
f193242
finished up
Ebube111 Feb 21, 2022
d25847b
merge changes
Ebube111 Feb 21, 2022
01ca83a
fixed conflic
pextech Feb 21, 2022
f4d84ac
Merge pull request #132 from MinorityProgrammers/new-incubator
pextech Feb 21, 2022
9c6afa9
changes
Ebube111 Feb 23, 2022
c79ce32
changes
Ebube111 Feb 24, 2022
8380bc8
temp
Ebube111 Feb 24, 2022
fe968e1
final changes
Ebube111 Feb 28, 2022
0703622
new changes
Ebube111 Feb 28, 2022
40b8892
changes
Ebube111 Feb 28, 2022
e16581a
changes
Ebube111 Feb 28, 2022
3bb3218
changes
Ebube111 Feb 28, 2022
d669788
changes
Ebube111 Feb 28, 2022
4973e21
resolved issues
Ebube111 Mar 1, 2022
34ed986
hopefully done
Ebube111 Mar 1, 2022
703e7b6
Merge pull request #145 from MinorityProgrammers/new-temp
pextech Mar 2, 2022
adeccc2
resolved changes
Ebube111 Mar 3, 2022
d64d04d
changes to incubator page
Ebube111 Mar 4, 2022
3af2161
merge changes
Ebube111 Mar 5, 2022
87fed9d
implemented latest suggestions
Ebube111 Mar 10, 2022
b158be3
changes
Ebube111 Mar 15, 2022
dfee327
event page
Ebube111 Mar 18, 2022
6b0c226
final change
Ebube111 Mar 22, 2022
0e159a6
conflicts
Ebube111 Mar 22, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,047 changes: 1,009 additions & 1,038 deletions components/Events/Event.js

Large diffs are not rendered by default.

153 changes: 73 additions & 80 deletions components/Events/EventCard.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/* eslint-disable max-len */
import React, { useState } from 'react';
import Link from 'next/link';
import Moment from 'moment';
import axios from 'axios';
import { successToast, errorToast } from '../../contexts/utils/toasts';
import React, { useState } from "react";
import Link from "next/link";
import Moment from "moment";
import axios from "axios";
import { successToast, errorToast } from "../../contexts/utils/toasts";

const EventCardFeatured = (props) => {
const {
Expand All @@ -22,20 +22,20 @@ const EventCardFeatured = (props) => {
const [, setLoading] = useState(false);
const [liked, setLiked] = useState(false);
const dateNow = Date.now();
const eventTime = new Date(props.item ? props.item.time : '').getTime();
const eventTime = new Date(props.item ? props.item.time : "").getTime();

const sId = userSavedEvents.map((se) => se.event_id?._id);
const sAtt = userSavedEvents.map((se) => se?.attending);

// Check saveEvents to change label
const checkSaveEvent = (val) => {
if (val === 'Register') {
if (val === "Register") {
for (let i = 0; i < userSavedEvents.length; i += 1) {
if (
userSavedEvents !== null
&& userSavedEvents[i].event_id?._id === props.item._id
&& (userSavedEvents[i].attending === 'yes'
|| userSavedEvents[i].attending === 'maybe')
userSavedEvents !== null &&
userSavedEvents[i].event_id?._id === props.item._id &&
(userSavedEvents[i].attending === "yes" ||
userSavedEvents[i].attending === "maybe")
) {
return (
<button type="button" className="button_register">
Expand All @@ -53,20 +53,20 @@ const EventCardFeatured = (props) => {
axios
.delete(`${process.env.BASE_URI}/saveEvent/${eventId}`, {
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${_token}`,
},
})
.then((/* res */) => {
successToast('You have already cancel your registration');
successToast("You have already cancel your registration");
setLoading(false);
getUserSavedEvents();
})
.catch((err) => {
console.log(err);
setLoading(false);
errorToast('Something went wrong, please contact us.');
errorToast("Something went wrong, please contact us.");
});
};

Expand All @@ -75,7 +75,7 @@ const EventCardFeatured = (props) => {
setClickRegister(true);
} else if (active === true && userData !== null) {
setLoading(true);
if (val === 'yes') {
if (val === "yes") {
axios
.post(
`${process.env.BASE_URI}/saveEvent`,
Expand All @@ -86,23 +86,23 @@ const EventCardFeatured = (props) => {
},
{
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${token}`,
},
},
}
)
.then((/* res */) => {
successToast('You are registered!');
successToast("You are registered!");
setLoading(false);
getUserSavedEvents();
})
.catch((err) => {
console.log(err);
setLoading(false);
errorToast('Something went wrong, please contact us.');
errorToast("Something went wrong, please contact us.");
});
} else if (val === 'maybe') {
} else if (val === "maybe") {
axios
.post(
`${process.env.BASE_URI}/saveEvent`,
Expand All @@ -113,21 +113,21 @@ const EventCardFeatured = (props) => {
},
{
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${token}`,
},
},
}
)
.then((/* res */) => {
setLoading(false);
successToast('Event saved!');
successToast("Event saved!");
getUserSavedEvents();
})
.catch((err) => {
console.log(err);
setLoading(false);
errorToast('Something went wrong, please contact us.');
errorToast("Something went wrong, please contact us.");
});
}
}
Expand All @@ -146,35 +146,33 @@ const EventCardFeatured = (props) => {
for (let i = 0; i < userSavedEvents.length; i += 1) {
if (userSavedEvents[i].event_id?._id === eventId) {
if (
userSavedEvents[i].attending === 'yes'
|| userSavedEvents[i].attending === 'maybe'
userSavedEvents[i].attending === "yes" ||
userSavedEvents[i].attending === "maybe"
) {
cancelEvent(e, userSavedEvents[i]._id, token);
return;
}
}
}
checkRegister('maybe');
checkRegister("maybe");
}
}
};

const checkAttend = () => {
if (
userSavedEvents.map((se) => se.event_id) !== null
&& (sId.includes(props.item._id) ? props.item._id : '')
&& (sAtt.includes('maybe') || sAtt.includes('yes'))
userSavedEvents.map((se) => se.event_id) !== null &&
(sId.includes(props.item._id) ? props.item._id : "") &&
(sAtt.includes("maybe") || sAtt.includes("yes"))
) {
return (
<>
<i className="fas fa-heart" />
{' '}
Saved
<i className="fas fa-heart" /> Saved
</>
);
}
if (userSavedEvents === null && dateNow > eventTime) {
return 'nothing';
return "nothing";
}

return null;
Expand All @@ -189,8 +187,8 @@ const EventCardFeatured = (props) => {
for (let i = 0; i < allsavedEvents.length; i += 1) {
if (allsavedEvents[i].event_id !== null) {
if (
allsavedEvents[i].attending === 'yes'
&& allsavedEvents[i].event_id._id === eventId
allsavedEvents[i].attending === "yes" &&
allsavedEvents[i].event_id._id === eventId
) {
count += 1;
}
Expand All @@ -201,29 +199,29 @@ const EventCardFeatured = (props) => {

const Capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);

Moment.locale('en');
Moment.locale("en");

let label;
const labelTitle = props.item ? props.item.catName.toLowerCase() : '';
if (labelTitle === 'lecture' || labelTitle === 'webinar') {
const labelTitle = props.item ? props.item.catName.toLowerCase() : "";
if (labelTitle === "lecture" || labelTitle === "webinar") {
label = (
<p className="eventcard_image-label eventcard_image-label-first">
{Capitalize(props.item.catName)}
</p>
);
} else if (labelTitle === 'workshop' || labelTitle === 'conference') {
} else if (labelTitle === "workshop" || labelTitle === "conference") {
label = (
<p className="eventcard_image-label eventcard_image-label-second">
{Capitalize(props.item.catName)}
</p>
);
} else if (labelTitle === 'hackathon') {
} else if (labelTitle === "hackathon") {
label = (
<p className="eventcard_image-label eventcard_image-label-third">
{Capitalize(props.item.catName)}
</p>
);
} else if (labelTitle === 'incubator' || labelTitle === 'accelerator') {
} else if (labelTitle === "incubator" || labelTitle === "accelerator") {
label = (
<p className="eventcard_image-label eventcard_image-label-fourth">
{Capitalize(props.item.catName)}
Expand All @@ -234,7 +232,7 @@ const EventCardFeatured = (props) => {
<div className="eventcard_container">
<div className="eventcard_image">
<img
src={props.item ? props.item.EventPicture : ''}
src={props.item ? props.item.EventPicture : ""}
className="tw-max-h-64"
alt=""
/>
Expand All @@ -244,96 +242,91 @@ const EventCardFeatured = (props) => {

<div className="eventcard_content">
<div className="eventcard_top">
<h2>{props.item ? props.item.eventName : 'event'}</h2>
<h2>{props.item ? props.item.eventName : "event"}</h2>
<p className="date">
{Moment(props.item ? props.item.time : '').format('LL')}
{Moment(props.item ? props.item.time : "").format("LL")}
</p>
{totalAttendees(props.item ? props.item._id : '') === 0 ? (
{totalAttendees(props.item ? props.item._id : "") === 0 ? (
<p className="attending">no attendee</p>
) : (
<p className="attending">
{totalAttendees(props.item ? props.item._id : '')}
{' '}
{totalAttendees(props.item ? props.item._id : '') > 2
? 'people'
: 'person'}
{' '}
{eventTime < dateNow ? 'attended' : 'attending'}
{totalAttendees(props.item ? props.item._id : "")}{" "}
{totalAttendees(props.item ? props.item._id : "") > 2
? "people"
: "person"}{" "}
{eventTime < dateNow ? "attended" : "attending"}
</p>
)}
</div>
<div className="eventcard_bottom">
{/* Check save events heart label */}
{eventTime < dateNow ? (
''
""
) : (
<p
className="save"
onClick={(e) => handleToggle(e, props.item ? props.item._id : '')}
onClick={(e) => handleToggle(e, props.item ? props.item._id : "")}
>
{userData !== null ? (
checkAttend()
) : (
<>
<i className="far fa-heart" />
{' '}
Save for later
<i className="far fa-heart" /> Save for later
</>
)}
{userData !== null && !checkAttend() ? (
<>
<i className="far fa-heart" />
{' '}
Save for later
<i className="far fa-heart" /> Save for later
</>
) : (
''
""
)}
</p>
)}
<button
type="button"
className="button_info"
onClick={() => props.handleMoreInfo(props.item ? props.item : '')}
onClick={() => {
console.log("clicked");
props.handleMoreInfo(props.item ? props.item : "");
}}
>
{' '}
<i className="fas fa-plus" />
{' '}
More Info
{" "}
Details <i className="fas fa-arrow-right ml-2" />
</button>
{/* Check save events Register label */}
{eventTime < dateNow ? (
{/* {eventTime < dateNow ? (
<button type="button" className="button_register">
<Link href={props.item ? props.item.actionLink : ''}>
<Link href={props.item ? props.item.actionLink : ""}>
<a target="_blank">Watch Webinar</a>
</Link>
</button>
) : (
<span>
{userData !== null ? (
checkSaveEvent('Register')
checkSaveEvent("Register")
) : (
<button
type="button"
className="button_register"
onClick={() => checkRegister('yes')}
onClick={() => checkRegister("yes")}
>
{props.item ? props.item.callToAction : ''}
{props.item ? props.item.callToAction : ""}
</button>
)}
{userData !== null && !checkSaveEvent('Register') ? (
{userData !== null && !checkSaveEvent("Register") ? (
<button
type="button"
className="button_register"
onClick={() => checkRegister('yes')}
onClick={() => checkRegister("yes")}
>
{props.item ? props.item.callToAction : ''}
{props.item ? props.item.callToAction : ""}
</button>
) : (
''
""
)}
</span>
)}
)} */}
</div>
</div>
</div>
Expand Down
Loading