From 31f8af05b4a5421a622216c0c993dfec98ad470a Mon Sep 17 00:00:00 2001 From: Sheriff Amzat Date: Sun, 15 Jan 2023 10:13:46 +0100 Subject: [PATCH 1/2] Modified the features page --- src/pages/Features-page/F4.png | Bin 0 -> 7397 bytes src/pages/Features-page/features.jsx | 91 +++++++++++++++------------ 2 files changed, 51 insertions(+), 40 deletions(-) create mode 100644 src/pages/Features-page/F4.png diff --git a/src/pages/Features-page/F4.png b/src/pages/Features-page/F4.png new file mode 100644 index 0000000000000000000000000000000000000000..2ed76580ab34ff69dca5ce5477ac59ba58357c0d GIT binary patch literal 7397 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 b|BBAiufCG2Lj&I10Dyt6sZO!hmD~RXt?zfE literal 0 HcmV?d00001 diff --git a/src/pages/Features-page/features.jsx b/src/pages/Features-page/features.jsx index be9a03da..8e03e743 100644 --- a/src/pages/Features-page/features.jsx +++ b/src/pages/Features-page/features.jsx @@ -5,84 +5,95 @@ import Footer from "../../components/footer/index"; import F1 from "../../pages/Features-page/F1.png"; import F2 from "../../pages/Features-page/F2.png"; import F3 from "../../pages/Features-page/F3.png"; +import F4 from "../../pages/Features-page/F4.png"; import Arrow from "../../pages/Features-page/arrow.png"; + function Features() { return (
-
-
+
+
+ mobile home +
+
- + Event Scheduling +
+
+

+ Event Scheduling +

+

+ CatchUp makes hanging out with friends as easy as possible—no more waiting for someone to call you back or trying to remember exactly when they're free. It's also great for groups who want to plan ahead and coordinate their schedules so they can spend more time together. +

+ +

Get Started

+ arrow{" "} +
-
+
+
+

Availability Preferences

-

- One of our most important feautures at catch up, is the - availability prefrences where your friends can notify you the host - of there availabilty for the event you scheduled. You would get a - notification in real time on our platform and in your mail. +

+ With this feature, you can specify a range of days on which you'll be available for a hangout and let those who have been invited choose the one that works best for them.

Get Started

arrow{" "}
+
+ Availability Preferences +
-
-
+
+
+ Sync Calendar +
+

Sync Calendar

-

- We have made it easier for our users to sync there google calendar - to our platform through the channel we have created , users can - set reminders on there google calendar and not miss out on events - from there friends. +

+ This is essential for staying organized. You can keep track of all events you create using our calendar sync feature.

+ className="hidden md:flex bg-[#0056D6] mt-5 text-white px-5 py-2 rounded flex flex-row items-center justify-between space-x-5">

Get Started

- {" "} + {" "}
-
- -
-
-
- -
-
+
+

- Event Scheduling + Get Notifications

-

- Catch up enables you to schedule event for your friends, you set - the preferred date and time, and send out invites to your friends, - which they are later notified of the event seamlessly. +

+ You'll never have to worry about forgetting an occasion or skipping a social gathering again. CatchUp will keep you informed.

+ className="hidden md:flex bg-[#0056D6] mt-5 text-white px-5 py-2 rounded flex flex-row items-center justify-between space-x-5">

Get Started

- arrow{" "} + {" "}
+
+ Sync Calendar +
-
+
); From 29ff8b6c552f0edffd680b756fc7bb7015df4342 Mon Sep 17 00:00:00 2001 From: Sheriff Amzat Date: Sun, 15 Jan 2023 12:35:20 +0100 Subject: [PATCH 2/2] Made accept invite page responsive --- src/pages/invitee/index.jsx | 115 ++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 63 deletions(-) diff --git a/src/pages/invitee/index.jsx b/src/pages/invitee/index.jsx index 65e9f0af..b632f256 100644 --- a/src/pages/invitee/index.jsx +++ b/src/pages/invitee/index.jsx @@ -9,19 +9,19 @@ import userServices from "../../services/userServices"; const EventInvite = () => { const [eventData, setEventData] = useState(null); - const preferredDate = eventData - ? eventData.host_prefered_time.replace("-", "") - : ""; - const preferredTime = eventData - ? moment(preferredDate, "DD-MM-YYYY HH:mm").format("YYYY-MM-DDTHH:mm") - : ""; + // const preferredDate = eventData + // ? eventData.host_prefered_time.replace("-", "") + // : ""; + // const preferredTime = eventData + // ? moment(preferredDate, "DD-MM-YYYY HH:mm").format("YYYY-MM-DDTHH:mm") + // : ""; const [inviteDetails, setInviteDetails] = useState({ fullname: "", email: "", preferred_date_time: "", }); - const [minDate, setMinDate] = useState(""); - const [maxDate, setMaxDate] = useState(""); + // const [minDate, setMinDate] = useState(""); + // const [maxDate, setMaxDate] = useState(""); const [agreedDate, setAgreedDate] = useState(""); const navigate = useNavigate(); const [declinedInvite, setDeclinedInvite] = useState(false); @@ -30,26 +30,26 @@ const EventInvite = () => { const emailRegex = /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; - const decidedEvent = eventData - ? moment(eventData.final_event_date).format("MMMM DD YYYY HH:mm") - : ""; - const currentDate = moment(Date.now()).format("YYYY-MM-DDTHH:mm"); - const hasPassed = eventData && moment(currentDate).isAfter(maxDate); + // const decidedEvent = eventData + // ? moment(eventData.final_event_date).format("MMMM DD YYYY HH:mm") + // : ""; + // const currentDate = moment(Date.now()).format("YYYY-MM-DDTHH:mm"); + // const hasPassed = eventData && moment(currentDate).isAfter(maxDate); useEffect(() => { - const startDate = eventData - ? moment(eventData?.start_date, "MM-DD-YYYY").format("YYYY-MM-DDTHH:mm") - : ""; - const endDate = eventData - ? moment(eventData?.end_date, "MM-DD-YYYY").format("YYYY-MM-DDTHH:mm") - : ""; + // const startDate = eventData + // ? moment(eventData?.start_date, "MM-DD-YYYY").format("YYYY-MM-DDTHH:mm") + // : ""; + // const endDate = eventData + // ? moment(eventData?.end_date, "MM-DD-YYYY").format("YYYY-MM-DDTHH:mm") + // : ""; setAgreedDate( moment(eventData?.final_event_date, "YYYY-MM-DDTHH:mm").format( "MM/DD/YYYY" ) ); - setMinDate(startDate); - setMaxDate(endDate); + // setMinDate(startDate); + // setMaxDate(endDate); }, [eventData]); const changeInviteDetails = (e) => { @@ -120,9 +120,9 @@ const EventInvite = () => { useEffect(() => { getEventDetails(); - if (hasPassed) { - navigate("/closed_event"); - } + // if (hasPassed) { + // navigate("/closed_event"); + // } // eslint-disable-next-line react-hooks/exhaustive-deps }, []); @@ -132,8 +132,8 @@ const EventInvite = () => {
-

Hello, there.

-

+

Hello, there.

+

You have been invited to {eventData ? eventData.event_type : ""}{" "} by @@ -162,61 +162,50 @@ const EventInvite = () => { "" )}

-
-
-
-

+
+
+
+

Event Summary

-

+

Dinner

-
- - {" "} +
+ - Location:{" "} - - {" "} -   + Location: + {eventData?.location} - - - {" "} + - Agreed Date:   + Agreed Date: {eventData?.final_event_date === null ? ( -   Not Available + Not Available ) : ( agreedDate )} - - - {" "} + Host Selected Time: - -   {eventData?.host_prefered_time} - {" "} + + {eventData?.host_prefered_time} + - - - {" "} + - - {" "} -   + {eventData?.event_description} - {" "} +
-
+
-
- +

{emailRegex.test(inviteDetails.email) || inviteDetails.email === "" @@ -253,7 +242,7 @@ const EventInvite = () => { autoComplete="true" />

- {eventData?.final_event_date ? ( + {/* {eventData?.final_event_date ? (

An event date has been chosen. Event to be hosted by{" "} {decidedEvent} @@ -278,18 +267,18 @@ const EventInvite = () => { required />

- )} + )} */}