From 7d33a4324a60f3ebff0eb86322eedda2e05ffc0d Mon Sep 17 00:00:00 2001 From: Justin Xue <67207128+jxmoose@users.noreply.github.com> Date: Sat, 9 Nov 2024 20:13:08 -0800 Subject: [PATCH 1/6] Justinxue/bre 21 implement dynamic routing for event descriptions (#19) --- api/supabase/queries/events.ts | 14 ++ api/supabase/queries/facilities.ts | 15 ++ app/discover/[event_id]/page.tsx | 130 +++++++++++++++++ app/discover/[event_id]/styles.ts | 138 ++++++++++++++++++ app/{activeEvents => discover}/page.tsx | 3 +- app/{activeEvents => discover}/styles.ts | 0 .../EventListingCard/EventListingCard.tsx | 9 +- public/images/help.svg | 5 + public/images/location_pin.svg | 8 + public/images/star.svg | 5 + styles/colors.ts | 1 + 11 files changed, 326 insertions(+), 2 deletions(-) create mode 100644 api/supabase/queries/facilities.ts create mode 100644 app/discover/[event_id]/page.tsx create mode 100644 app/discover/[event_id]/styles.ts rename app/{activeEvents => discover}/page.tsx (95%) rename app/{activeEvents => discover}/styles.ts (100%) create mode 100644 public/images/help.svg create mode 100644 public/images/location_pin.svg create mode 100644 public/images/star.svg diff --git a/api/supabase/queries/events.ts b/api/supabase/queries/events.ts index adad031..c2dafef 100644 --- a/api/supabase/queries/events.ts +++ b/api/supabase/queries/events.ts @@ -52,3 +52,17 @@ export async function fetchAllActiveEvents() { return data; } + +// fetches an event by its event_id +export async function fetchEventById(event_id: string) { + const { data, error } = await supabase + .from('events') + .select('*') + .eq('event_id', event_id) + .single(); + if (error) { + throw new Error(error.message); + } + + return data; +} diff --git a/api/supabase/queries/facilities.ts b/api/supabase/queries/facilities.ts new file mode 100644 index 0000000..5a279c2 --- /dev/null +++ b/api/supabase/queries/facilities.ts @@ -0,0 +1,15 @@ +import supabase from '../createClient'; + +// fetches an event by its event_id +export async function fetchFacilityById(facility_id: string) { + const { data, error } = await supabase + .from('facilities') + .select('*') + .eq('facility_id', facility_id) + .single(); + if (error) { + throw new Error(error.message); + } + + return data; +} diff --git a/app/discover/[event_id]/page.tsx b/app/discover/[event_id]/page.tsx new file mode 100644 index 0000000..2546e86 --- /dev/null +++ b/app/discover/[event_id]/page.tsx @@ -0,0 +1,130 @@ +'use client'; + +import React, { useEffect, useState } from 'react'; +import { useRouter } from 'next/navigation'; +import { fetchEventById } from '@/api/supabase/queries/events'; +import { fetchFacilityById } from '@/api/supabase/queries/facilities'; +import Back from '@/public/images/back.svg'; +import LocationPin from '@/public/images/location_pin.svg'; +import COLORS from '@/styles/colors'; +import { SMALL } from '@/styles/text'; +import { Event, Facilities } from '@/types/schema'; +import { + About, + AboutText, + BackButton, + Body, + Bullet, + Container, + FacilityName, + HostWarningTitle, + Image, + IndividualTag, + InterestBlock, + InterestTitle, + Location, + Select, + ShowInterest, + SignUp, + TagDiv, + TextWithIcon, + Time, + Title, +} from './styles'; + +function InterestBlockGen(title: string, about: string, icon: string) { + return ( + + {' '} + - {' '} - Last Name *{' '} + Last Name * - {' '} - Phone Number *{' '} + Phone Number * - I want to get updated when there's an event that matches my + I want to get updated when there's an event that matches my interest! - - - - Continue - - - + + + Continue + + ); diff --git a/app/onboarding/preferences/page.tsx b/app/onboarding/preferences/page.tsx index 8f2e941..13a4107 100644 --- a/app/onboarding/preferences/page.tsx +++ b/app/onboarding/preferences/page.tsx @@ -14,6 +14,7 @@ import { InlineContainer, Input, Rectangle, + StyledLink, Title, } from '../styles'; @@ -78,11 +79,13 @@ export default function Onboarding() { onChange={handleChange} /> - - - Continue - - + + + + Continue + + + ); diff --git a/app/onboarding/review/page.tsx b/app/onboarding/review/page.tsx new file mode 100644 index 0000000..aeefcf9 --- /dev/null +++ b/app/onboarding/review/page.tsx @@ -0,0 +1,77 @@ +'use client'; + +import { useContext } from 'react'; +import Link from 'next/link'; +import { submitOnboardingData } from '@/api/supabase/queries/onboarding'; +import Back from '@/public/images/back.svg'; +import { SMALL } from '@/styles/text'; +import { OnboardingContext } from '@/utils/onboardingContext'; +import { Background, InlineContainer, Rectangle, StyledLink } from '../styles'; +import { + ConfirmButton, + Image, + Line, + ReviewContainer, + SmallText, + Title, +} from './styles'; + +export default function Review() { + const onboardingContext = useContext(OnboardingContext); + + if (!onboardingContext) return null; + + const { preferences, generalInfo } = onboardingContext; + + const submitData = async () => { + if (!generalInfo || !preferences) return; + await submitOnboardingData(generalInfo, preferences); + }; + + return ( + + +
+ +
+ + + Back icon + + + + Did we get everything? + First Name + {generalInfo.firstName} + Last Name + {generalInfo.lastName} + Phone Number + {generalInfo.phoneNumber} + + + + Facility Type + {preferences.facilityType} + Preferred Location + {preferences.location} + Audience + {preferences.audience} + Preferred Equipment + {preferences.preferredEquipment} + Type of Act + {preferences.typeOfAct} + Genre + {preferences.genre} + + + + + Confirm + + + + +
+
+ ); +} diff --git a/app/onboarding/review/styles.ts b/app/onboarding/review/styles.ts new file mode 100644 index 0000000..6128f5f --- /dev/null +++ b/app/onboarding/review/styles.ts @@ -0,0 +1,73 @@ +'use client'; + +import NextImage from 'next/image'; +import styled from 'styled-components'; +import COLORS from '@/styles/colors'; +import { Sans } from '@/styles/fonts'; + +export const Image = styled(NextImage)` + width: 20px; + height: 20px; + margin-top: 1rem; +`; + +export const Title = styled.h1` + font-size: 24px; + text-align: start; + color: ${COLORS.gray11}; + margin-top: 0; + font-weight: 500; + margin-bottom: 28px; +`; + +export const ReviewContainer = styled.main` + margin-top: 2rem; + margin-bottom: 2rem; + display: flex; + padding: 32px 32px 32px 32px; + flex-direction: column; + align-items: flex-start; + justify-content: flex-start; + background: ${COLORS.bread1}; + border-radius: 16px; + box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15); +`; + +export const SmallText = styled.text` + color: ${COLORS.gray11}; + font-size: 14px; + line-height: normal; + margin-bottom: 28px; +`; + +export const Line = styled.main` + width: 362px; + height: 2px; + color: black; + background: linear-gradient( + 90deg, + rgba(184, 184, 184, 0) 0%, + #b8b8b8 50%, + rgba(184, 184, 184, 0) 100% + ); + margin-bottom: 28px; +`; + +export const ConfirmButton = styled.button` + display: flex; + width: 100%; + padding: 12px; + justify-content: center; + align-items: center; + border-radius: 8px; + background: ${COLORS.gray12}; + border-style: solid; + border-color: ${COLORS.gray12}; + cursor: pointer; +`; + +export const ConfirmText = styled.text` + ${Sans.style} + color: white; + font-size: 14px; +`; diff --git a/app/onboarding/styles.ts b/app/onboarding/styles.ts index 8468a97..a83ecbe 100644 --- a/app/onboarding/styles.ts +++ b/app/onboarding/styles.ts @@ -111,4 +111,5 @@ export const ContinueText = styled.text` export const StyledLink = styled(Link)` text-decoration: none; + width: 100%; `; diff --git a/app/onboarding/yay/page.tsx b/app/onboarding/yay/page.tsx new file mode 100644 index 0000000..0eccdf8 --- /dev/null +++ b/app/onboarding/yay/page.tsx @@ -0,0 +1,33 @@ +/* eslint-disable react/no-unescaped-entities */ +import Rose from '@/public/images/rose.svg'; +import { SMALL } from '@/styles/text'; +import { Background } from '../styles'; +import { + ContinueButton, + Image, + InlineContainer, + ReviewContainer, + Title, +} from './styles'; + +export default function Onboarding() { + return ( + + Rose + + + You're all set! + + We recommend checking out some upcoming events in the Discover page. + If you’re interested in participating, please sign up! + + + + Continue + + + + + + ); +} diff --git a/app/onboarding/yay/styles.ts b/app/onboarding/yay/styles.ts new file mode 100644 index 0000000..61afe8d --- /dev/null +++ b/app/onboarding/yay/styles.ts @@ -0,0 +1,67 @@ +'use client'; + +import NextImage from 'next/image'; +import styled from 'styled-components'; +import COLORS from '@/styles/colors'; +import { Sans } from '@/styles/fonts'; + +export const Title = styled.h1` + font-size: 24px; + text-align: start; + color: ${COLORS.gray11}; + font-weight: 500; +`; + +export const InlineContainer = styled.main` + width: 25%; + flex-direction: column; + margin-top: 2%; + margin-bottom: 2%; + @media (max-width: 1200px) { + width: 30%; + } + @media (max-width: 768px) { + width: 80%; + } +`; + +export const Image = styled(NextImage)` + width: 85px; + height: 85px; + flex-shrink: 0; + position: relative; + top: 60px; + z-index: 1; +`; + +export const ReviewContainer = styled.main` + position: relative; + display: flex; + padding: 60px 32px 32px 32px; + flex-direction: column; + justify-content: center; + align-items: start; + gap: 20px; + border-radius: 16px; + background: ${COLORS.bread1}; + box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15); +`; + +export const ContinueButton = styled.button` + display: flex; + padding: 12px 16px; + justify-content: center; + align-items: center; + align-self: stretch; + border-radius: 99999px; + background: ${COLORS.gray12}; + border-style: solid; + border-color: ${COLORS.gray12}; + cursor: pointer; +`; + +export const ContinueText = styled.text` + ${Sans.style} + color: white; + font-size: 14px; +`; diff --git a/public/images/rose.svg b/public/images/rose.svg new file mode 100644 index 0000000..d512691 --- /dev/null +++ b/public/images/rose.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/utils/onboardingContext.tsx b/utils/onboardingContext.tsx index 3dc3363..a271320 100644 --- a/utils/onboardingContext.tsx +++ b/utils/onboardingContext.tsx @@ -1,16 +1,15 @@ 'use client'; import React, { createContext, ReactNode, useState } from 'react'; -import supabase from '@/api/supabase/createClient'; -interface GeneralInfo { +export interface GeneralInfo { firstName: string; lastName: string; phoneNumber: string; notifications: boolean; } -interface Preferences { +export interface Preferences { facilityType: string; location: string; audience: string; @@ -24,7 +23,7 @@ interface OnboardingContextType { setGeneralInfo: (info: GeneralInfo) => void; preferences: Preferences; setPreferences: (preferences: Preferences) => void; - submitOnboardingData: () => Promise; + // submitOnboardingData: () => Promise; } export const OnboardingContext = createContext< @@ -48,44 +47,6 @@ export const OnboardingProvider = ({ children }: { children: ReactNode }) => { genre: '', }); - const submitOnboardingData = async () => { - try { - const { data: volunteerData, error: volunteerError } = await supabase - .from('volunteers') - .insert([ - { - first_name: generalInfo.firstName, - last_name: generalInfo.lastName, - phone_number: generalInfo.phoneNumber, - }, - ]); - - if (volunteerError) throw volunteerError; - - const { data: preferencesData, error: preferencesError } = await supabase - .from('volunteer_preferences') - .insert([ - { - facility_type: preferences.facilityType, - city: preferences.location, - audience: preferences.audience, - instruments: preferences.preferredEquipment, - type_of_act: preferences.typeOfAct, - genre: preferences.genre, - }, - ]); - - if (preferencesError) throw preferencesError; - - console.log('Onboarding data submitted successfully:', { - volunteerData, - preferencesData, - }); - } catch (error) { - console.error('Error submitting onboarding data:', error); - } - }; - return ( { setGeneralInfo, preferences, setPreferences, - submitOnboardingData, }} > {children} From 5b845dcff2467e5176420e291d2766a4cc406136 Mon Sep 17 00:00:00 2001 From: aidenm1 <65800707+aidenm1@users.noreply.github.com> Date: Sun, 17 Nov 2024 21:47:08 -0800 Subject: [PATCH 3/6] feat: dynamic routing for each event on MyEvent page (#25) * Created EventListingCard & styled webpage * fixed ESLint error * created separate styling file for event card * created event display page * added menu icon, changed some styling * added location pin next to address * changed some styling and imports * fetching data using fetchAcceptedEventsByVolunteer instead of fetchAllEvents * implemented dynamic routing for each event and created event details page * resolved merge issues * added curve below event image --- api/supabase/queries/events.ts | 32 +- api/supabase/queries/facilities.ts | 15 + api/supabase/queries/volunteers.ts | 28 ++ app/events/[event_id]/page.tsx | 281 ++++++++++++++++++ app/events/[event_id]/styles.ts | 136 +++++++++ app/events/page.tsx | 26 +- app/events/{page.style.ts => styles.ts} | 2 +- assets/images/bp-logo.png | Bin 25532 -> 0 bytes components/MyEventCard/MyEventCard.tsx | 63 ++-- .../MyEventCard/{style.ts => styles.ts} | 13 +- public/images/black_loc_pin.svg | 6 + public/images/calendar_icon.svg | 5 + public/images/facility_contact_icon.svg | 10 + public/images/gray_loc_pin.svg | 8 + public/images/host_icon.svg | 3 + public/images/producer_icon.svg | 3 + public/images/volunteer_performer_icon.svg | 3 + public/images/white_back.svg | 6 + utils/formatTime.ts | 54 ++++ 19 files changed, 640 insertions(+), 54 deletions(-) create mode 100644 api/supabase/queries/volunteers.ts create mode 100644 app/events/[event_id]/page.tsx create mode 100644 app/events/[event_id]/styles.ts rename app/events/{page.style.ts => styles.ts} (94%) delete mode 100644 assets/images/bp-logo.png rename components/MyEventCard/{style.ts => styles.ts} (79%) create mode 100644 public/images/black_loc_pin.svg create mode 100644 public/images/calendar_icon.svg create mode 100644 public/images/facility_contact_icon.svg create mode 100644 public/images/gray_loc_pin.svg create mode 100644 public/images/host_icon.svg create mode 100644 public/images/producer_icon.svg create mode 100644 public/images/volunteer_performer_icon.svg create mode 100644 public/images/white_back.svg create mode 100644 utils/formatTime.ts diff --git a/api/supabase/queries/events.ts b/api/supabase/queries/events.ts index c2dafef..a3f9ab9 100644 --- a/api/supabase/queries/events.ts +++ b/api/supabase/queries/events.ts @@ -11,11 +11,11 @@ export async function fetchAllEvents() { return data; } -export async function fetchAcceptedEventsByVolunteer(volunteer_id: UUID) { +export async function fetchAcceptedEventsByVolunteer(user_id: UUID) { const { data, error } = await supabase .from('event_signups') .select('*') - .eq('user_id', volunteer_id) + .eq('user_id', user_id) .eq('is_accepted', true); if (error) { @@ -31,6 +31,7 @@ export async function fetchAcceptedEventsByVolunteer(volunteer_id: UUID) { const { data: events, error: eventsError } = await supabase .from('events') .select('*') + .eq('event_status', 'Active') .in('event_id', eventIDs); if (eventsError) { @@ -53,7 +54,6 @@ export async function fetchAllActiveEvents() { return data; } -// fetches an event by its event_id export async function fetchEventById(event_id: string) { const { data, error } = await supabase .from('events') @@ -66,3 +66,29 @@ export async function fetchEventById(event_id: string) { return data; } + +export async function fetchEventHostByID(event_id: UUID) { + const { data, error } = await supabase + .from('event_signups') + .select('*') + .eq('event_id', event_id) + .eq('role', 'HOST') + .eq('is_accepted', true) + .single(); + + if (error) { + throw new Error(error.message); + } + + const { data: host, error: hosterror } = await supabase + .from('volunteers') + .select('*') + .eq('user_id', data.user_id) + .single(); + + if (hosterror) { + throw new Error(hosterror.message); + } + + return host; +} diff --git a/api/supabase/queries/facilities.ts b/api/supabase/queries/facilities.ts index 5a279c2..813f044 100644 --- a/api/supabase/queries/facilities.ts +++ b/api/supabase/queries/facilities.ts @@ -1,3 +1,4 @@ +import { UUID } from 'crypto'; import supabase from '../createClient'; // fetches an event by its event_id @@ -13,3 +14,17 @@ export async function fetchFacilityById(facility_id: string) { return data; } + +export async function fetchFacilityContactByID(facility_id: UUID) { + const { data, error } = await supabase + .from('facility_contacts') + .select('*') + .eq('facility_id', facility_id) + .single(); + + if (error) { + throw new Error(error.message); + } + + return data; +} diff --git a/api/supabase/queries/volunteers.ts b/api/supabase/queries/volunteers.ts new file mode 100644 index 0000000..4228f69 --- /dev/null +++ b/api/supabase/queries/volunteers.ts @@ -0,0 +1,28 @@ +import { UUID } from 'crypto'; +import supabase from '../createClient'; + +export async function fetchPerformer(event_id: UUID) { + const { data, error } = await supabase + .from('event_signups') + .select('*') + .eq('event_id', event_id) + .eq('role', 'PERFORMER') + .eq('is_accepted', true) + .single(); + + if (error) { + throw new Error(error.message); + } + + const { data: performer, error: performererror } = await supabase + .from('volunteers') + .select('*') + .eq('user_id', data.user_id) + .single(); + + if (performererror) { + throw new Error(performererror.message); + } + + return performer; +} diff --git a/app/events/[event_id]/page.tsx b/app/events/[event_id]/page.tsx new file mode 100644 index 0000000..b22c80b --- /dev/null +++ b/app/events/[event_id]/page.tsx @@ -0,0 +1,281 @@ +'use client'; + +import { useEffect, useState } from 'react'; +import Link from 'next/link'; +import { UUID } from 'crypto'; +import { + fetchEventById, + fetchEventHostByID, +} from '@/api/supabase/queries/events'; +import { + fetchFacilityById, + fetchFacilityContactByID, +} from '@/api/supabase/queries/facilities'; +import { fetchPerformer } from '@/api/supabase/queries/volunteers'; +import LocPin from '@/public/images/black_loc_pin.svg'; +import BPLogo from '@/public/images/bp-logo.png'; +import Calendar from '@/public/images/calendar_icon.svg'; +import FacilityContactPin from '@/public/images/facility_contact_icon.svg'; +import HostPin from '@/public/images/host_icon.svg'; +import ProducerIcon from '@/public/images/producer_icon.svg'; +import PerformerPin from '@/public/images/volunteer_performer_icon.svg'; +import WhiteBack from '@/public/images/white_back.svg'; +import COLORS from '@/styles/colors'; +import { + Event, + Facilities, + FacilityContacts, + Volunteers, +} from '@/types/schema'; +import formatTime from '@/utils/formatTime'; +import * as styles from './styles'; + +export default function EventDisplay({ + params, +}: { + params: { event_id: UUID }; +}) { + const [event, setEvent] = useState(); + const [facility, setFacility] = useState(); + const [facility_contact, setFacilityContact] = useState(); + const [host_name, setHostName] = useState(); + const [host_phone_number, setHostPhoneNumber] = useState(); + const [performer, setPerformer] = useState(); + + useEffect(() => { + const getEvent = async () => { + const fetchedEvent: Event = await fetchEventById(params.event_id); + setEvent(fetchedEvent); + const fetchedFacility: Facilities = await fetchFacilityById( + fetchedEvent.facility_id, + ); + setFacility(fetchedFacility); + const fetchedFacilityContact: FacilityContacts = + await fetchFacilityContactByID(fetchedEvent.facility_id); + setFacilityContact(fetchedFacilityContact); + + if (fetchedEvent.needs_host) { + const host: Volunteers = await fetchEventHostByID(params.event_id); + setHostName(`${host.first_name} ${host.last_name}`); + setHostPhoneNumber(host.phone_number); + } else { + setHostName(fetchedFacility.host_name); + setHostPhoneNumber(fetchedFacility.host_contact); + } + + const fetchedPerformer: Volunteers = await fetchPerformer( + params.event_id, + ); + setPerformer(fetchedPerformer); + }; + getEvent(); + }, [params.event_id]); + + // Render once the event is fetched + if (!event || !facility || !facility_contact || !performer) { + return

; + } + + const time = formatTime( + new Date(event.start_date_time), + new Date(event.end_date_time), + true, + ); + const location = facility.street_address_1 + ', ' + facility.city; + + return ( + + + + + + + + + + + + Event Title Here + + + + + {time} + + + + + + + {facility.name} + + + {location} + + + + + + Notes + +
+ + Notes from the facility + + + Facility notes go here + +
+
+ + Notes from the producer + + + {event.notes} + +
+
+ + + Contacts + + + + + + {facility_contact.first_name} {facility_contact.last_name} + + + Facility Contact + + + {facility_contact.phone_number} + + + + + + + + {host_name} + + + Event Host + + {/* Should this be fixed, or should it changed based on needs_host? */} + + {host_phone_number} + + + + + + + + {performer.first_name} {performer.last_name} + + + Volunteer Performer + + {/* Should this be fixed, or should it changed based on needs_host? */} + + {performer.phone_number} + + + + + + + + Producer Name + + + Show Producer + + {/* Should this be fixed, or should it changed based on needs_host? */} + + Producer Number + + + + +
+
+ ); +} diff --git a/app/events/[event_id]/styles.ts b/app/events/[event_id]/styles.ts new file mode 100644 index 0000000..36315b2 --- /dev/null +++ b/app/events/[event_id]/styles.ts @@ -0,0 +1,136 @@ +'use client'; + +import NextImage from 'next/image'; +import styled from 'styled-components'; +import COLORS from '@/styles/colors'; +import { H4, H5, P, SMALL } from '@/styles/text'; + +export const BackImage = styled(NextImage)` + position: absolute; + top: 0; + left: 0; + width: 1.5rem; + height: 1.5rem; + margin: 1rem; +`; + +export const ImageWrapper = styled.div` + position: relative; + width: 100%; + height: auto; + display: flex; +`; + +export const EventImage = styled(NextImage)` + width: 100%; + height: auto; + max-height: 11.5rem; + object-fit: cover; +`; + +export const GradientOverlay = styled.div` + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient( + 0deg, + rgba(0, 0, 0, 0.35) 0%, + rgba(0, 0, 0, 0.35) 100% + ); +`; + +export const Page = styled.div` + flex-direction: column; + min-width: 100%; + min-height: 100svh; + overflow: hidden; + margin-bottom: 3.75rem; +`; + +export const Container = styled.div` + padding-left: 1.75rem; + padding-right: 1.75rem; + display: flex; + flex-direction: column; +`; + +export const Curve = styled.div` + z-index: 10; + margin: -1.5rem 0; + position: relative; + padding: 0.75rem 2rem 1rem 2rem; + display: flex; + flex-direction: column; + border-radius: 20px 20px 0 0; + background: ${COLORS.gray1}; +`; + +export const EventText = styled(H4)` + font-style: normal; + line-height: normal; + margin-top: 1.5rem; + margin-bottom: 0.5rem; +`; + +export const CalLocPin = styled(NextImage)` + width: 1.125rem; + height: auto; + margin-right: 0.5rem; + margin-bottom: 0.5rem; +`; + +export const DateLocation = styled.div` + display: flex; + align-items: flex-start; + justify-content: left; +`; + +export const ParaText = styled(P)` + font-style: normal; + line-height: normal; + align-items: flex-end; + justify-content: left; +`; + +export const LocationDetails = styled.div` + display: flex; + flex-direction: column; +`; + +export const SubHeadingText = styled(H5)` + padding-top: 2.5rem; + border-bottom: 1px solid ${COLORS.gray6}; + padding-bottom: 0.25rem; +`; + +export const AllNotesAndContactsContainer = styled.div` + display: flex; + flex-direction: column; + gap: 1.75rem; +`; +export const ContactPins = styled(NextImage)` + width: 2rem; + height: auto; +`; + +export const ContactContainer = styled.div` + display: flex; + align-items: center; + justify-content: left; + gap: 0.75rem; +`; + +export const ContactDetails = styled.div` + display: flex; + flex-direction: column; +`; + +export const ContactTypeText = styled(SMALL)` + font-style: italic; +`; + +export const PhoneNumberText = styled(P)` + padding-top: 0.125rem; +`; diff --git a/app/events/page.tsx b/app/events/page.tsx index e6972a5..4da40d0 100644 --- a/app/events/page.tsx +++ b/app/events/page.tsx @@ -1,11 +1,12 @@ 'use client'; import React, { useEffect, useState } from 'react'; +import Link from 'next/link'; +import { fetchAcceptedEventsByVolunteer } from '@/api/supabase/queries/events'; import MyEventCard from '@/components/MyEventCard/MyEventCard'; import Menu from '@/public/images/ic_baseline-menu.svg'; import { Event } from '@/types/schema'; -import { fetchAllEvents } from '../../api/supabase/queries/events'; -import * as styles from './page.style'; +import * as styles from './styles'; type GroupedEvents = { [monthYear: string]: Event[]; // Each key is a "Month Year" string, and the value is an array of Events @@ -15,14 +16,17 @@ export default function EventPage() { const [data, setData] = useState([]); useEffect(() => { - fetchAllEvents().then(eventsData => { - setData(eventsData ?? []); - }); + fetchAcceptedEventsByVolunteer('11d219d9-bf05-4a06-a23e-89fd566c7a04').then( + //placeholder user id + eventsData => { + setData(eventsData ?? []); + }, + ); }, []); const groupEventsByMonth = (events: Event[]) => { return events.reduce((acc: GroupedEvents, event) => { - const eventDate = new Date(event.start_date_time); // Assumes `date` field is in the event object + const eventDate = new Date(event.start_date_time); const monthYear = eventDate.toLocaleString('default', { month: 'long', year: 'numeric', @@ -57,7 +61,7 @@ export default function EventPage() { return ( - + Upcoming Events @@ -68,7 +72,13 @@ export default function EventPage() { {month} {events.map(event => ( - + + + ))} ))} diff --git a/app/events/page.style.ts b/app/events/styles.ts similarity index 94% rename from app/events/page.style.ts rename to app/events/styles.ts index 50b80e5..c4a89f8 100644 --- a/app/events/page.style.ts +++ b/app/events/styles.ts @@ -5,7 +5,7 @@ import styled from 'styled-components'; import COLORS from '@/styles/colors'; import { H3, H6 } from '@/styles/text'; -export const Image = styled(NextImage)` +export const MenuImage = styled(NextImage)` width: 1.5rem; height: 1.5rem; margin: 1rem; diff --git a/assets/images/bp-logo.png b/assets/images/bp-logo.png deleted file mode 100644 index d816f9ad288096ff92f860dc7beeacc2ebb8c003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25532 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 A`2YX_ diff --git a/components/MyEventCard/MyEventCard.tsx b/components/MyEventCard/MyEventCard.tsx index 010f078..42090c9 100644 --- a/components/MyEventCard/MyEventCard.tsx +++ b/components/MyEventCard/MyEventCard.tsx @@ -1,52 +1,34 @@ -import React from 'react'; -import BPLogo from '@/assets/images/bp-logo.png'; +import React, { useEffect, useState } from 'react'; +import { fetchFacilityById } from '@/api/supabase/queries/facilities'; +import BPLogo from '@/public/images/bp-logo.png'; +import LocPin from '@/public/images/gray_loc_pin.svg'; import COLORS from '@/styles/colors'; -import { Event } from '@/types/schema'; -import * as styles from './style'; +import { Event, Facilities } from '@/types/schema'; +import formatTime from '@/utils/formatTime'; +import * as styles from './styles'; export default function MyEventCard(eventData: Event) { - const eventStart = new Date(eventData.start_date_time); - const eventEnd = new Date(eventData.end_date_time); + const [facility, setFacility] = useState(); - // function to remove 00 from time if time is on the hour, ex: 4:00 PM -> 4 PM - const formatTime = (date: Date) => { - const minutes = date.getMinutes(); + useEffect(() => { + fetchFacilityById(eventData.facility_id).then(facilityData => { + setFacility(facilityData); + }); + }, [eventData.facility_id]); - return minutes === 0 - ? date.toLocaleTimeString([], { hour: 'numeric', hour12: true }) - : date.toLocaleTimeString([], { - hour: 'numeric', - minute: '2-digit', - hour12: true, - }); - }; - - const startTime = formatTime(eventStart); - const endTime = formatTime(eventEnd); - - const monthNames = [ - 'Jan', - 'Feb', - 'Mar', - 'Apr', - 'May', - 'Jun', - 'Jul', - 'Aug', - 'Sep', - 'Oct', - 'Nov', - 'Dec', - ]; - const monthText = monthNames[eventStart.getMonth()]; + const formattedTime = formatTime( + new Date(eventData.start_date_time), + new Date(eventData.end_date_time), + false, + ); return ( - +
- {monthText} {eventStart.getDate()}, {startTime} - {endTime} + {formattedTime} - placeholder + + {facility + ? `${facility.street_address_1}, ${facility.city}` + : 'Fetching location...'}
diff --git a/components/MyEventCard/style.ts b/components/MyEventCard/styles.ts similarity index 79% rename from components/MyEventCard/style.ts rename to components/MyEventCard/styles.ts index 777ba6b..3189194 100644 --- a/components/MyEventCard/style.ts +++ b/components/MyEventCard/styles.ts @@ -5,8 +5,7 @@ import styled from 'styled-components'; import { P, SMALLER } from '@/styles/text'; import COLORS from '../../styles/colors'; -export const BPImage = styled(NextImage)` - layout: responsive; +export const EventImage = styled(NextImage)` width: 20%; height: 90%; `; @@ -24,7 +23,6 @@ export const EventCardContainer = styled.main` display: flex; justify-content: flex-start; align-items: center; - box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15); gap: 1.5rem; `; @@ -42,4 +40,13 @@ export const LocationText = styled(SMALLER)` color: ${COLORS.gray10}; font-style: normal; line-height: normal; + display: flex; + align-items: center; +`; + +export const LPImage = styled(NextImage)` + width: 0.75rem; + height: 0.75rem; + margin-top: 0.25rem; + margin-right: 0.25rem; `; diff --git a/public/images/black_loc_pin.svg b/public/images/black_loc_pin.svg new file mode 100644 index 0000000..4e9cd42 --- /dev/null +++ b/public/images/black_loc_pin.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/images/calendar_icon.svg b/public/images/calendar_icon.svg new file mode 100644 index 0000000..78e5e27 --- /dev/null +++ b/public/images/calendar_icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/images/facility_contact_icon.svg b/public/images/facility_contact_icon.svg new file mode 100644 index 0000000..3dc7162 --- /dev/null +++ b/public/images/facility_contact_icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/images/gray_loc_pin.svg b/public/images/gray_loc_pin.svg new file mode 100644 index 0000000..2078cc5 --- /dev/null +++ b/public/images/gray_loc_pin.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/public/images/host_icon.svg b/public/images/host_icon.svg new file mode 100644 index 0000000..20030a6 --- /dev/null +++ b/public/images/host_icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/producer_icon.svg b/public/images/producer_icon.svg new file mode 100644 index 0000000..6af49f6 --- /dev/null +++ b/public/images/producer_icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/volunteer_performer_icon.svg b/public/images/volunteer_performer_icon.svg new file mode 100644 index 0000000..b581925 --- /dev/null +++ b/public/images/volunteer_performer_icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/white_back.svg b/public/images/white_back.svg new file mode 100644 index 0000000..c43784d --- /dev/null +++ b/public/images/white_back.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/utils/formatTime.ts b/utils/formatTime.ts new file mode 100644 index 0000000..87118ab --- /dev/null +++ b/utils/formatTime.ts @@ -0,0 +1,54 @@ +export default function formatTime( + eventStart: Date, + eventEnd: Date, + long: boolean, +) { + const formatMinutes = (date: Date) => { + const minutes = date.getMinutes(); + return minutes === 0 + ? date.toLocaleTimeString([], { hour: 'numeric', hour12: true }) + : date.toLocaleTimeString([], { + hour: 'numeric', + minute: '2-digit', + hour12: true, + }); + }; + + const startTime = formatMinutes(eventStart); + const endTime = formatMinutes(eventEnd); + + // Use a plain variable for month names instead of React state + const monthNames = long + ? [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + ] + : [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ]; + + const monthText = monthNames[eventStart.getMonth()]; + + return `${monthText} ${eventStart.getDate()}, ${startTime} - ${endTime}`; +} From d5df302e6c4eb64763cf8da0d47056276d53f4b8 Mon Sep 17 00:00:00 2001 From: Celine Ji-Won Choi <107969914+celinechoiii@users.noreply.github.com> Date: Mon, 18 Nov 2024 18:37:22 -0800 Subject: [PATCH 4/6] refactor/style: forgot password page, flow connection, fix styling (#29) * feat: routing for bug bash * style: hifi auth designs and global colors * style: forgot password page * style: wip midfi onboarding * style: checkbox styling --- app/(auth)/auth-styles.ts | 66 ++++++++++-------------- app/(auth)/forgotpassword/page.tsx | 61 ++++++++++++++++++++++ app/(auth)/signin/page.tsx | 36 +++++++------ app/(auth)/signup/page.tsx | 21 +++----- app/discover/[event_id]/page.tsx | 6 +-- app/discover/[event_id]/styles.ts | 18 +++++-- app/discover/page.tsx | 76 +++++++++++++++------------- app/discover/styles.ts | 6 ++- app/events/page.tsx | 52 ++++++++++--------- app/events/styles.ts | 4 +- app/onboarding/general/page.tsx | 39 +++++++------- app/onboarding/general/styles.ts | 20 ++++++-- app/onboarding/preferences/page.tsx | 41 +++++++-------- app/onboarding/review/page.tsx | 49 +++++++++--------- app/onboarding/review/styles.ts | 28 ++-------- app/onboarding/styles.ts | 54 +++++++++++--------- app/onboarding/yay/page.tsx | 16 ++++-- app/onboarding/yay/styles.ts | 27 ++++++---- components/MenuBar/MenuBar.tsx | 14 +++-- components/MenuBar/styles.ts | 1 + public/images/b&r-logo.png | Bin 0 -> 6623 bytes public/images/seniors.png | Bin 0 -> 178639 bytes styles/colors.ts | 16 +++++- 23 files changed, 366 insertions(+), 285 deletions(-) create mode 100644 app/(auth)/forgotpassword/page.tsx create mode 100644 public/images/b&r-logo.png create mode 100644 public/images/seniors.png diff --git a/app/(auth)/auth-styles.ts b/app/(auth)/auth-styles.ts index 8388fa6..5114126 100644 --- a/app/(auth)/auth-styles.ts +++ b/app/(auth)/auth-styles.ts @@ -1,8 +1,13 @@ +import Image from 'next/image'; import styled from 'styled-components'; import COLORS from '@/styles/colors'; import { Sans } from '@/styles/fonts'; import { H3, P } from '@/styles/text'; +interface TitleUnderlineProps { + width?: string; +} + export const Container = styled.div` font-family: ${Sans.style.fontFamily}, sans-serif; display: flex; @@ -10,8 +15,19 @@ export const Container = styled.div` align-items: center; justify-content: center; height: 100vh; - background-color: ${COLORS.gray2}; - padding: 1rem; + padding: 2rem; +`; + +export const TitleUnderline = styled.div` + margin-top: -0.25rem; + margin-bottom: 0.25rem; + width: ${props => props.width || '68px'}; + height: 4px; + background-color: ${COLORS.rose8}; +`; + +export const Logo = styled(Image)` + margin-bottom: 4rem; `; export const Header = styled(H3)` @@ -43,6 +59,7 @@ export const Form = styled.div` export const Label = styled(P)` font-family: ${Sans.style.fontFamily}; font-weight: 500; + margin-top: 1.25rem; margin-bottom: -0.2rem; `; @@ -52,55 +69,24 @@ export const Input = styled.input` border: 1px solid ${COLORS.gray4}; border-radius: 8px; width: 100%; - margin-bottom: 0.6rem; box-sizing: border-box; `; export const Button = styled.button` font-family: ${Sans.style.fontFamily}; - background-color: ${COLORS.gray12}; + background-color: ${COLORS.pomegranate}; color: white; font-size: 1rem; padding: 0.75rem; border: none; border-radius: 8px; cursor: pointer; - margin-top: 0.8rem; + margin-top: 1.5rem; width: 100%; `; -export const GoogleButton = styled(Button)` - background-color: ${COLORS.bread1}; - color: ${COLORS.gray12}; - font-size: 1rem; - // TODO: Update to COLORS.black if that gets added - border: 1px solid #000000; - margin-top: 0rem; -`; - -export const Separator = styled.div` - display: flex; - align-items: center; - text-align: center; - margin: 0.2rem; - - &::before, - &::after { - content: ''; - flex: 1; - border-bottom: 1px solid ${COLORS.gray5}; - } - - span { - margin: 0 0.5rem; - color: ${COLORS.gray7}; - } -`; - export const Link = styled.a` - font-family: ${Sans.style.fontFamily}; - // TODO: CHANGE COLOR TO BLUE ONCE COLORS.TS IS UPDATED - color: #3978ff; + color: ${COLORS.lilac9}; text-decoration: none; &:hover { @@ -108,10 +94,6 @@ export const Link = styled.a` } `; -export const SmallBuffer = styled.div` - height: 0.5rem; -`; - // TODO: Temporarily added to verify that supabase login functionality actually works export const LoginMessage = styled(P)<{ isError: boolean }>` font-family: ${Sans.style.fontFamily}; @@ -127,3 +109,7 @@ export const Footer = styled.div` width: 100%; padding: 0.5rem; `; + +export const Instructions = styled(P)` + padding-top: 1rem; +`; diff --git a/app/(auth)/forgotpassword/page.tsx b/app/(auth)/forgotpassword/page.tsx new file mode 100644 index 0000000..0c56c65 --- /dev/null +++ b/app/(auth)/forgotpassword/page.tsx @@ -0,0 +1,61 @@ +'use client'; + +import { useState } from 'react'; +import Image from 'next/image'; +import BRLogo from '@/public/images/b&r-logo.png'; +import Back from '@/public/images/back.svg'; +import { H5 } from '@/styles/text'; +import { + Button, + Card, + Container, + Footer, + Form, + Input, + Instructions, + Label, + Link, + Logo, + TitleUnderline, +} from '../auth-styles'; + +export default function SignIn() { + const [email, setEmail] = useState(''); + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const [password, setPassword] = useState(''); + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const [message, setMessage] = useState(''); + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const [isError, setIsError] = useState(false); + + return ( + + + +
+ + Back icon + +
Forgot Password?
+ + + We'll send you an email to reset your password. + + + setEmail(e.target.value)} + value={email} + /> + + +
+
+ Already have an account? Sign in! +
+
+ ); +} diff --git a/app/(auth)/signin/page.tsx b/app/(auth)/signin/page.tsx index e4e47ea..f9d66c4 100644 --- a/app/(auth)/signin/page.tsx +++ b/app/(auth)/signin/page.tsx @@ -1,31 +1,33 @@ 'use client'; import { useState } from 'react'; +import { useRouter } from 'next/navigation'; // Import useRouter import supabase from '@/api/supabase/createClient'; -import { H5 } from '@/styles/text'; +import BRLogo from '@/public/images/b&r-logo.png'; +import COLORS from '@/styles/colors'; +import { H5, SMALL } from '@/styles/text'; import { Button, Card, Container, Footer, Form, - GoogleButton, - Header, Input, Label, Link, - LoginMessage, - Separator, - SmallBuffer, + Logo, + TitleUnderline, } from '../auth-styles'; export default function SignIn() { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); + // eslint-disable-next-line @typescript-eslint/no-unused-vars const [message, setMessage] = useState(''); + // eslint-disable-next-line @typescript-eslint/no-unused-vars const [isError, setIsError] = useState(false); + const router = useRouter(); // Initialize useRouter - // handle sign in w/ supabase, borrowed from Immigration Justice PR const handleSignIn = async () => { setMessage(''); setIsError(false); @@ -34,25 +36,23 @@ export default function SignIn() { password, }); - // Ik this wasn't part of the sprint but I added so I could verify that supabase functionality is working if (error) { setMessage(`Login failed: ${error.message}`); setIsError(true); } else { setMessage('Login successful!'); setIsError(false); + router.push('/onboarding/general'); // Redirect on success } }; - // Front-end interface return ( -
Welcome Back!
- +
Login
- + @@ -72,15 +72,13 @@ export default function SignIn() { onChange={e => setPassword(e.target.value)} value={password} /> - - - or - - Continue with Google - {message && {message}} + {/* need to change this to a link */} + + Forgot Password? + +
-
Don’t have an account? Sign up!
diff --git a/app/(auth)/signup/page.tsx b/app/(auth)/signup/page.tsx index 3a9cfaa..8c546f5 100644 --- a/app/(auth)/signup/page.tsx +++ b/app/(auth)/signup/page.tsx @@ -2,6 +2,7 @@ import { useState } from 'react'; import supabase from '@/api/supabase/createClient'; +import BRLogo from '@/public/images/b&r-logo.png'; import { H5 } from '@/styles/text'; import { Button, @@ -9,21 +10,20 @@ import { Container, Footer, Form, - GoogleButton, - Header, Input, Label, Link, - LoginMessage, - Separator, - SmallBuffer, + Logo, + TitleUnderline, } from '../auth-styles'; export default function SignUp() { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [confirmedPassword, setConfirmedPassword] = useState(''); + // eslint-disable-next-line @typescript-eslint/no-unused-vars const [message, setMessage] = useState(''); + // eslint-disable-next-line @typescript-eslint/no-unused-vars const [isError, setIsError] = useState(false); const handleSignUp = async () => { @@ -54,12 +54,11 @@ export default function SignUp() { // Front-end interface return ( -
Welcome!
- +
Sign Up
- + @@ -90,14 +89,8 @@ export default function SignUp() { value={confirmedPassword} /> - - or - - Continue with Google - {message && {message}}
-
Already have an account? Sign in!
diff --git a/app/discover/[event_id]/page.tsx b/app/discover/[event_id]/page.tsx index 2546e86..30cb9b8 100644 --- a/app/discover/[event_id]/page.tsx +++ b/app/discover/[event_id]/page.tsx @@ -15,6 +15,7 @@ import { BackButton, Body, Bullet, + Checkbox, Container, FacilityName, HostWarningTitle, @@ -23,7 +24,6 @@ import { InterestBlock, InterestTitle, Location, - Select, ShowInterest, SignUp, TagDiv, @@ -36,7 +36,7 @@ function InterestBlockGen(title: string, about: string, icon: string) { return ( {' '} - - + + - + + - - I want to get updated when there's an event that matches my - interest! - + Notify me when an event matches my interest
- + diff --git a/app/onboarding/general/styles.ts b/app/onboarding/general/styles.ts index 8be712c..fa14f65 100644 --- a/app/onboarding/general/styles.ts +++ b/app/onboarding/general/styles.ts @@ -1,18 +1,28 @@ 'use client'; import styled from 'styled-components'; +import COLORS from '@/styles/colors'; export const UpdateContainer = styled.main` display: flex; flex-direction: row; align-items: flex-start; - margin-top: 0.5rem; + margin-top: 1.75rem; `; -export const Checkbox = styled.input` - width: 25px; - height: 25px; - border-style: solid; +export const Checkbox = styled.input.attrs({ type: 'checkbox' })` + width: 20px; + height: 20px; + border: 2px solid ${COLORS.rose10}; + border-radius: 4px; + appearance: none; + outline: none; + cursor: pointer; + + &:checked { + background-color: ${COLORS.rose10}; /* Optional: Red background when checked */ + border-color: ${COLORS.rose10}; /* Border stays red when checked */ + } `; export const UpdateText = styled.text` diff --git a/app/onboarding/preferences/page.tsx b/app/onboarding/preferences/page.tsx index 13a4107..e04e29a 100644 --- a/app/onboarding/preferences/page.tsx +++ b/app/onboarding/preferences/page.tsx @@ -6,13 +6,15 @@ import Back from '@/public/images/back.svg'; import { OnboardingContext } from '@/utils/onboardingContext'; import { Background, + Button, ButtonContainer, Container, - ContinueButton, ContinueText, Image, InlineContainer, Input, + Label, + ProgressBarContainer, Rectangle, StyledLink, Title, @@ -35,55 +37,54 @@ export default function Onboarding() { Back icon - -
- - -
- Help us tailor shows to you! - Facility Type + Help us tailor shows to you! + + + + + - Preferred Location + - Audience + - Preferred Equipment - - Type of Act + - Genre + + + - + diff --git a/app/onboarding/review/page.tsx b/app/onboarding/review/page.tsx index aeefcf9..5e08be8 100644 --- a/app/onboarding/review/page.tsx +++ b/app/onboarding/review/page.tsx @@ -6,15 +6,17 @@ import { submitOnboardingData } from '@/api/supabase/queries/onboarding'; import Back from '@/public/images/back.svg'; import { SMALL } from '@/styles/text'; import { OnboardingContext } from '@/utils/onboardingContext'; -import { Background, InlineContainer, Rectangle, StyledLink } from '../styles'; import { - ConfirmButton, - Image, - Line, - ReviewContainer, - SmallText, + Background, + Button, + InlineContainer, + Label, + ProgressBarContainer, + Rectangle, + StyledLink, Title, -} from './styles'; +} from '../styles'; +import { Image, Line, ReviewContainer, SmallText } from './styles'; export default function Review() { const onboardingContext = useContext(OnboardingContext); @@ -31,44 +33,43 @@ export default function Review() { return ( -
- -
- Back icon - Did we get everything? - First Name + Did we get everything? + + + + {generalInfo.firstName} - Last Name + {generalInfo.lastName} - Phone Number + {generalInfo.phoneNumber} - Facility Type + {preferences.facilityType} - Preferred Location + {preferences.location} - Audience + {preferences.audience} - Preferred Equipment + {preferences.preferredEquipment} - Type of Act + {preferences.typeOfAct} - Genre + {preferences.genre} - +
diff --git a/app/onboarding/review/styles.ts b/app/onboarding/review/styles.ts index 6128f5f..83b8d8a 100644 --- a/app/onboarding/review/styles.ts +++ b/app/onboarding/review/styles.ts @@ -11,15 +11,6 @@ export const Image = styled(NextImage)` margin-top: 1rem; `; -export const Title = styled.h1` - font-size: 24px; - text-align: start; - color: ${COLORS.gray11}; - margin-top: 0; - font-weight: 500; - margin-bottom: 28px; -`; - export const ReviewContainer = styled.main` margin-top: 2rem; margin-bottom: 2rem; @@ -37,11 +28,11 @@ export const SmallText = styled.text` color: ${COLORS.gray11}; font-size: 14px; line-height: normal; - margin-bottom: 28px; + margin-bottom: 0.1rem; `; export const Line = styled.main` - width: 362px; + width: 100%; height: 2px; color: black; background: linear-gradient( @@ -50,20 +41,7 @@ export const Line = styled.main` #b8b8b8 50%, rgba(184, 184, 184, 0) 100% ); - margin-bottom: 28px; -`; - -export const ConfirmButton = styled.button` - display: flex; - width: 100%; - padding: 12px; - justify-content: center; - align-items: center; - border-radius: 8px; - background: ${COLORS.gray12}; - border-style: solid; - border-color: ${COLORS.gray12}; - cursor: pointer; + margin-top: 1.5rem; `; export const ConfirmText = styled.text` diff --git a/app/onboarding/styles.ts b/app/onboarding/styles.ts index a83ecbe..fdf044e 100644 --- a/app/onboarding/styles.ts +++ b/app/onboarding/styles.ts @@ -4,6 +4,7 @@ import NextImage from 'next/image'; import Link from 'next/link'; import styled from 'styled-components'; import { Sans } from '@/styles/fonts'; +import { H5, P } from '@/styles/text'; import COLORS from '../../styles/colors'; export const Background = styled.main` @@ -13,7 +14,6 @@ export const Background = styled.main` display: flex; align-items: center; justify-content: center; - background-color: ${COLORS.gray2}; overflow: hidden; `; @@ -37,16 +37,19 @@ export const Image = styled(NextImage)` margin-bottom: -2px; `; -export const Rectangle = styled.main<{ +export const ProgressBarContainer = styled.div` + width: 100%; +`; + +export const Rectangle = styled.div<{ variant: 'light' | 'dark'; - widthPercentage: string; + width: string; }>` - width: ${({ widthPercentage }) => widthPercentage}; - height: 7px; + width: ${({ width }) => width}; + height: 2px; display: inline-block; background: ${({ variant }) => - variant === 'light' ? COLORS.gray8 : COLORS.gray10}; - border-radius: 2px; + variant === 'light' ? COLORS.gray4 : COLORS.gray12}; `; export const Container = styled.main` @@ -61,22 +64,24 @@ export const Container = styled.main` `; export const Input = styled.input` + font-family: ${Sans.style.fontFamily}; + padding: 0.5rem; + margin-top: 0.1875rem; + border: 1px solid ${COLORS.gray6}; + border-radius: 8px; width: 100%; - height: 25px; - border-color: ${COLORS.gray4}; - border-style: solid; - border-radius: 4px; - margin-bottom: 1.3rem; - margin-top: 0.25rem; - padding-left: 0.4rem; + box-sizing: border-box; `; -export const Title = styled.h1` - font-size: 28px; - text-align: start; - color: ${COLORS.gray11}; +export const Title = styled(H5)` margin-top: 0; - margin-bottom: 2rem; + margin-bottom: 0.5rem; +`; + +export const Label = styled(P)` + margin-top: 1.75rem; + color: ${COLORS.gray11}; + font-weight: 400; `; export const ButtonContainer = styled.div` @@ -85,18 +90,17 @@ export const ButtonContainer = styled.div` height: 80%; `; -export const ContinueButton = styled.button` - width: 5.5rem; - height: 2.25rem; - background-color: ${COLORS.gray11}; - border-color: ${COLORS.gray11}; +export const Button = styled.button` + width: 100%; + height: 2.5rem; + background-color: ${COLORS.pomegranate}; + border-color: ${COLORS.pomegranate}; border-style: solid; border-radius: 8px; display: inline-flex; padding: 8px 16px; justify-content: center; align-items: center; - gap: 10px; cursor: pointer; text-decoration: none; `; diff --git a/app/onboarding/yay/page.tsx b/app/onboarding/yay/page.tsx index 0eccdf8..0bb6500 100644 --- a/app/onboarding/yay/page.tsx +++ b/app/onboarding/yay/page.tsx @@ -1,4 +1,6 @@ -/* eslint-disable react/no-unescaped-entities */ +'use client'; + +import { useRouter } from 'next/navigation'; import Rose from '@/public/images/rose.svg'; import { SMALL } from '@/styles/text'; import { Background } from '../styles'; @@ -11,17 +13,23 @@ import { } from './styles'; export default function Onboarding() { + const router = useRouter(); // Initialize useRouter + + const handleContinue = () => { + router.push('/discover'); // Navigate to the Discover page + }; + return ( Rose - You're all set! + You're all set! We recommend checking out some upcoming events in the Discover page. - If you’re interested in participating, please sign up! + If you're interested in participating, please sign up! - + Continue diff --git a/app/onboarding/yay/styles.ts b/app/onboarding/yay/styles.ts index 61afe8d..6f95068 100644 --- a/app/onboarding/yay/styles.ts +++ b/app/onboarding/yay/styles.ts @@ -2,8 +2,7 @@ import NextImage from 'next/image'; import styled from 'styled-components'; -import COLORS from '@/styles/colors'; -import { Sans } from '@/styles/fonts'; +import COLORS from '../../../styles/colors'; export const Title = styled.h1` font-size: 24px; @@ -34,8 +33,19 @@ export const Image = styled(NextImage)` z-index: 1; `; -export const ReviewContainer = styled.main` +export const Circle = styled.main` + width: 85px; + height: 85px; + flex-shrink: 0; + background-color: #f7c1bd; + border-radius: 100%; position: relative; + top: 60px; + z-index: 1; +`; + +export const ReviewContainer = styled.main` + position: relative; /* This makes the Circle position relative to this container */ display: flex; padding: 60px 32px 32px 32px; flex-direction: column; @@ -43,25 +53,20 @@ export const ReviewContainer = styled.main` align-items: start; gap: 20px; border-radius: 16px; - background: ${COLORS.bread1}; + background: var(--bread-1, #fefdfc); box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15); `; export const ContinueButton = styled.button` display: flex; + margin-top: 0.75rem; padding: 12px 16px; justify-content: center; align-items: center; align-self: stretch; border-radius: 99999px; - background: ${COLORS.gray12}; + background: ${COLORS.pomegranate}; border-style: solid; border-color: ${COLORS.gray12}; cursor: pointer; `; - -export const ContinueText = styled.text` - ${Sans.style} - color: white; - font-size: 14px; -`; diff --git a/components/MenuBar/MenuBar.tsx b/components/MenuBar/MenuBar.tsx index 6931a60..44813d0 100644 --- a/components/MenuBar/MenuBar.tsx +++ b/components/MenuBar/MenuBar.tsx @@ -1,4 +1,5 @@ import React, { useState } from 'react'; +import { useRouter } from 'next/navigation'; import Availability from '@/public/images/availabilities.svg'; import Settings from '@/public/images/settings.svg'; import Events from '@/public/images/upcoming-events.svg'; @@ -14,12 +15,14 @@ import { const MenuBar: React.FC = () => { const [expanded, setExpanded] = useState(false); const [activeItem, setActiveItem] = useState(null); + const router = useRouter(); const toggleMenu = () => setExpanded(!expanded); // TODO: add navigation by passing in path prop - const handleClick = (item: string) => { + const handleClick = (item: string, path: string) => { setActiveItem(item); + router.push(path); }; return ( @@ -44,7 +47,7 @@ const MenuBar: React.FC = () => { <> handleClick('availabilities')} + onClick={() => handleClick('availabilities', 'discover')} > { Availabilities - handleClick('events')}> + handleClick('events', '/events')} + > Upcoming Events @@ -62,7 +68,7 @@ const MenuBar: React.FC = () => { handleClick('settings')} + onClick={() => handleClick('settings', '/discover')} > diff --git a/components/MenuBar/styles.ts b/components/MenuBar/styles.ts index 670e206..cf8e665 100644 --- a/components/MenuBar/styles.ts +++ b/components/MenuBar/styles.ts @@ -6,6 +6,7 @@ import { P } from '@/styles/text'; export const MenuContainer = styled.div<{ $expanded: boolean }>` height: 100vh; + z-index: 9999; background-color: ${({ $expanded }) => $expanded ? COLORS.pomegranate : 'transparent'}; display: flex; diff --git a/public/images/b&r-logo.png b/public/images/b&r-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..580266638928e0849d075f70e6b350d745f8be87 GIT binary patch literal 6623 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%0DVRqpBC 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

_pjIIu3);c?av{C{Q*_jgv=4d&sb$b@;1 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§ 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 Date: Fri, 22 Nov 2024 13:47:27 -0800 Subject: [PATCH 5/6] Feat: input dropdown added (#27) * feat: input dropdown added * Style: changed menu colors * refactor: added dropdownInput to schema * lint: types added * Style: reduced padding * Refactor: removed test page to show input dropdown * lint: added react-select to package lock, fixed types --- components/InputDropdown/InputDropdown.tsx | 116 ++++++ components/InputDropdown/styles.ts | 204 ++++++++++ package.json | 1 + pnpm-lock.yaml | 422 ++++++++++++++++++++- types/schema.d.ts | 5 + 5 files changed, 745 insertions(+), 3 deletions(-) create mode 100644 components/InputDropdown/InputDropdown.tsx create mode 100644 components/InputDropdown/styles.ts diff --git a/components/InputDropdown/InputDropdown.tsx b/components/InputDropdown/InputDropdown.tsx new file mode 100644 index 0000000..11ae787 --- /dev/null +++ b/components/InputDropdown/InputDropdown.tsx @@ -0,0 +1,116 @@ +'use client'; + +import { useCallback, useId, useMemo } from 'react'; +import Select, { + components, + MenuProps, + MultiValue, + SingleValue, +} from 'react-select'; +import COLORS from '@/styles/colors'; +import { P, SMALL } from '@/styles/text'; +import { DropdownOption } from '@/types/schema'; +import { + AnimatedWrapper, + DropdownStyles, + DropdownWrapper, + InputLabel, +} from './styles'; + +// for map: key is actual data stored, value is displayed +interface CommonProps { + options: Set | Map; + label: string; + placeholder?: string; + error?: string; + disabled?: boolean; + required?: boolean; +} + +interface MultiSelectProps extends CommonProps { + multi: true; + onChange?: (value: Set) => void; +} + +interface SingleSelectProps extends CommonProps { + multi?: false; + onChange?: (value: string | null) => void; +} + +type InputDropdownProps = SingleSelectProps | MultiSelectProps; + +// custom components +function NoOptionsMessage() { + return No matches found; +} + +function AnimatedMenu(props: MenuProps) { + return ( + + + + ); +} + +// main dropdown component +export default function InputDropdown({ + label, + options, + placeholder = '', + error = '', + disabled, + required, + onChange, + multi, +}: InputDropdownProps) { + const optionsArray = useMemo( + () => + options instanceof Set + ? Array.from(options).map(v => ({ label: v, value: v })) + : Array.from(options.entries()).map(([k, v]) => ({ + value: k, + label: v, + })), + [options], + ); + + const handleChange = useCallback( + (newValue: MultiValue | SingleValue) => { + if (multi && newValue instanceof Array) { + onChange?.(new Set(newValue.map(v => v.value))); + } else if (!multi && !(newValue instanceof Array)) { + onChange?.(newValue ? newValue.value : null); + } else { + throw new Error('An unexpected error occurred!'); + } + }, + [multi, onChange], + ); + + return ( + + +

{label}

+ {required && {'*'}} + + setEmail(e.target.value)} - value={email} - /> - - setPassword(e.target.value)} - value={password} - /> - {/* need to change this to a link */} - + + {/* Show error or success message */} + {message && ( + + {message} + + )} + + +
+ + setEmail(e.target.value)} + value={email} + aria-label="Email" + /> +
+ +
+ + setPassword(e.target.value)} + value={password} + aria-label="Password" + /> +
+
+ + {/* Forgot Password Link */} + Forgot Password? -
+ + + {/* Submit Button */} + + {/* Footer */}
Don’t have an account? Sign up!
diff --git a/app/(auth)/signup/page.tsx b/app/(auth)/signup/page.tsx index 8c546f5..c763eb0 100644 --- a/app/(auth)/signup/page.tsx +++ b/app/(auth)/signup/page.tsx @@ -1,29 +1,31 @@ 'use client'; import { useState } from 'react'; -import supabase from '@/api/supabase/createClient'; +import { useRouter } from 'next/navigation'; +import { handleSignUp as signUpUser } from '@/api/supabase/queries/auth'; import BRLogo from '@/public/images/b&r-logo.png'; import { H5 } from '@/styles/text'; import { Button, Card, Container, + Fields, Footer, Form, Input, Label, Link, + LoginMessage, Logo, TitleUnderline, } from '../auth-styles'; export default function SignUp() { + const router = useRouter(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [confirmedPassword, setConfirmedPassword] = useState(''); - // eslint-disable-next-line @typescript-eslint/no-unused-vars const [message, setMessage] = useState(''); - // eslint-disable-next-line @typescript-eslint/no-unused-vars const [isError, setIsError] = useState(false); const handleSignUp = async () => { @@ -36,18 +38,13 @@ export default function SignUp() { return; } - const { error } = await supabase.auth.signUp({ - email, - password, - }); + const { success, message } = await signUpUser(email, password); - // Ik this wasn't part of the sprint but I added so I could verify that supabase functionality is working - if (error) { - setMessage(`Sign-up failed: ${error.message}`); - setIsError(true); - } else { - setMessage('Sign-up successful!'); - setIsError(false); + setMessage(message); + setIsError(!success); + + if (success) { + router.push('/onboarding/general'); } }; @@ -59,36 +56,46 @@ export default function SignUp() {
Sign Up
- - setEmail(e.target.value)} - value={email} - /> - - setPassword(e.target.value)} - value={password} - /> - - setConfirmedPassword(e.target.value)} - value={confirmedPassword} - /> - + {message && {message}} + + +
+ + setEmail(e.target.value)} + value={email} + /> +
+
+ + setPassword(e.target.value)} + value={password} + /> +
+
+ + setConfirmedPassword(e.target.value)} + value={confirmedPassword} + /> +
+
+