From 68602dbffb845cd5ca4a9fcc058c835cbd2188cb Mon Sep 17 00:00:00 2001 From: ThomasOli Date: Sun, 8 Feb 2026 10:56:47 -0500 Subject: [PATCH 1/4] research --- .gitignore | 1 + src/styles/tailwind.css | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index fb3a957..90e388e 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,7 @@ next-env.d.ts .vscode courseconnect-c6a7b-firebase-adminsdk-dqqis-af57e2e045.json playwright-report +nul test-results playwright/.auth playwright.accounts.json \ No newline at end of file diff --git a/src/styles/tailwind.css b/src/styles/tailwind.css index b784596..f10a7d0 100644 --- a/src/styles/tailwind.css +++ b/src/styles/tailwind.css @@ -2,6 +2,10 @@ /* Tailwind v4 entry */ @import "tailwindcss"; +/* Explicit content sources for class detection */ +@source "../../src/**/*.{js,ts,jsx,tsx}"; +@source "../../components/**/*.{js,ts,jsx,tsx}"; + /* ---- Design tokens (Tailwind v4) --------------------------------------- */ @theme { /* ---------- Colors ---------- */ From 59dce919a9d2808e879fa63410e91a91e482ce21 Mon Sep 17 00:00:00 2001 From: ThomasOli Date: Sun, 8 Feb 2026 10:56:55 -0500 Subject: [PATCH 2/4] research page --- .claude/settings.local.json | 6 +- src/app/Research/page.tsx | 125 +-- src/app/Research/testdata.js | 67 -- src/app/applications/applicationSections.tsx | 100 ++- src/app/models/ResearchModel.ts | 75 +- src/components/PageLayout/PageLayout.tsx | 4 +- src/components/Research/ApplicationCard.tsx | 210 +++-- src/components/Research/EditResearchModal.tsx | 443 +++++++---- .../Research/FacultyResearchView.tsx | 264 ++++--- src/components/Research/Modal.tsx | 741 ++++++++++-------- src/components/Research/ProjectCard.tsx | 309 ++++---- .../Research/StudentResearchView.tsx | 347 ++++---- src/firebase/firebase_config.ts | 1 + src/hooks/useGetItems.ts | 5 +- 14 files changed, 1479 insertions(+), 1218 deletions(-) delete mode 100644 src/app/Research/testdata.js diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 81ec6bb..9f7f98c 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -3,7 +3,11 @@ "allow": [ "Bash(git merge:*)", "Bash(git rm:*)", - "Bash(git commit -m \"$\\(cat <<''EOF''\nMerge main into researchpage with Research page refactoring\n\n- Refactored Research page to use PageLayout component with SideNav/TopBar\n- Updated hooks to use useUserInfo instead of getAuth/useUserRole directly\n- Removed HeaderCard from FacultyResearchView and StudentResearchView\n- Layout now handled by PageLayout component for consistency\n\nCo-Authored-By: Claude Opus 4.5 \nEOF\n\\)\")" + "Bash(git commit -m \"$\\(cat <<''EOF''\nMerge main into researchpage with Research page refactoring\n\n- Refactored Research page to use PageLayout component with SideNav/TopBar\n- Updated hooks to use useUserInfo instead of getAuth/useUserRole directly\n- Removed HeaderCard from FacultyResearchView and StudentResearchView\n- Layout now handled by PageLayout component for consistency\n\nCo-Authored-By: Claude Opus 4.5 \nEOF\n\\)\")", + "Bash(npx next build:*)", + "Bash(ls -la \"c:\\\\Users\\\\Oling\\\\Documents\\\\courseconnect\\\\src\\\\app\\\\applications\"\" 2>&1 || echo \"Directory may not exist \")", + "Bash(npx tsc:*)", + "Bash(npm run build:*)" ] } } diff --git a/src/app/Research/page.tsx b/src/app/Research/page.tsx index 0f779b1..393c90f 100644 --- a/src/app/Research/page.tsx +++ b/src/app/Research/page.tsx @@ -7,55 +7,12 @@ import PageLayout from '@/components/PageLayout/PageLayout'; import firebase from '@/firebase/firebase_config'; import StudentResearchView from '@/components/Research/StudentResearchView'; import FacultyResearchView from '@/components/Research/FacultyResearchView'; +import { + ResearchListing, + normalizeResearchListing, +} from '@/app/models/ResearchModel'; -interface ResearchPageProps { - user: { - uid: string; - fullName: string; - bio: string; - }; -} - -interface ResearchListing { - id: string; - project_title: string; - department: string; - faculty_mentor: {}; - phd_student_mentor: string | {}; - terms_available: string; - student_level: string; - prerequisites: string; - credit: string; - stipend: string; - application_requirements: string; - application_deadline: string; - website: string; - project_description: string; -} - -interface ResearchApplication { - appid: string; - app_status: string; - terms_available: string; - date_applied: string; - degree: string; - department: string; - email: string; - first_name: string; - last_name: string; - gpa: string; - graduation_date: string; - phone_number: string; - qualifications: string; - resume: string; - uid: string; - weekly_hours: string; - project_title: string; - faculty_mentor: {}; - project_description: string; -} - -const ResearchPage: React.FC = () => { +const ResearchPage: React.FC = () => { const [user, role, loading, error] = useUserInfo(); const [department, setDepartment] = React.useState(''); @@ -64,9 +21,6 @@ const ResearchPage: React.FC = () => { const [researchListings, setResearchListings] = useState( [] ); - const [researchApplications, setResearchApplications] = useState< - ResearchApplication[] - >([]); const getResearchListings = useCallback(async () => { let collectionRef: firebase.firestore.Query = @@ -87,70 +41,16 @@ const ResearchPage: React.FC = () => { ...d.data(), }) ); - return { + return normalizeResearchListing({ docID: doc.id, applications: apps, ...doc.data(), - }; + }); }) ); setResearchListings(listings); }, [department, studentLevel]); - const getApplications = useCallback(async () => { - if (!user?.uid) return; - const snapshot = await firebase - .firestore() - .collectionGroup('applications') - .where('uid', '==', user.uid) - .get(); - const results = await Promise.all( - snapshot.docs.map(async (appDoc) => { - const appData = appDoc.data(); - - // navigate back up to the parent document - var listingRef = appDoc.ref.parent.parent; - let listingData: any = {}; - if (listingRef) { - const listingSnap = await listingRef.get(); - if (listingSnap.exists) { - listingData = listingSnap.data(); - } - } - - return { - appId: appDoc.id, - ...appData, - listingId: listingRef?.id ?? null, - listingData, - }; - }) - ); - - let applications: ResearchApplication[] = results.map((doc: any) => ({ - appid: doc.appId, - app_status: doc.app_status, - terms_available: doc.listingData.terms_available, - date_applied: doc.date, - degree: doc.degree, - department: doc.department, - email: doc.email, - first_name: doc.firstname, - last_name: doc.lastname, - gpa: doc.gpa, - graduation_date: doc.graduation_date, - phone_number: doc.phone_number, - qualifications: doc.qualifications, - resume: doc.resume, - uid: doc.uid, - weekly_hours: doc.weekly_hours, - faculty_mentor: doc.listingData.faculty_mentor, - project_title: doc.listingData.project_title, - project_description: doc.listingData.project_description, - })); - setResearchApplications(applications); - }, [user?.uid]); - const postNewResearchPosition = useCallback(async (formData: any) => { try { const docRef = await firebase @@ -166,9 +66,8 @@ const ResearchPage: React.FC = () => { useEffect(() => { if (user) { getResearchListings(); - getApplications(); } - }, [user, getResearchListings, getApplications]); + }, [user, getResearchListings]); if (error) { return

Error loading role

; @@ -185,11 +84,13 @@ const ResearchPage: React.FC = () => { return ( <> - + {(role === 'student_applying' || role === 'student_applied') && ( = () => { setStudentLevel={setStudentLevel} getResearchListings={getResearchListings} setResearchListings={setResearchListings} - getApplications={getApplications} termsAvailable={termsAvailable} setTermsAvailable={setTermsAvailable} - setResearchApplications={setResearchApplications} /> )} {role === 'faculty' && ( diff --git a/src/app/Research/testdata.js b/src/app/Research/testdata.js deleted file mode 100644 index 2421187..0000000 --- a/src/app/Research/testdata.js +++ /dev/null @@ -1,67 +0,0 @@ -export const testData = [ - { - project_title: 'Intelligent Natural Interaction Technology (INIT) Lab', - department: 'Computer and Information Sciences and Engineering', - faculty_mentor: 'Lisa Anthony', - phd_student_mentor: 'TBD based on project and availability', - terms_available: 'Fall, Spring, Summer', - student_level: - 'Freshman, Sophomore, Junior, Senior, 2-3 students per semester', - prerequisites: - 'Projects can be customized for background and interest of the student, pending lab needs at the time. Helpful skills (encouraged but not required) include: programming fundamentals, experimental design, data analysis, experience working with children, good people skills, attention to detail, organization, time management. High-achieving freshman encouraged to apply! Students considering graduate school strongly encouraged to apply!', - credit: '0-3 credits via EGN 4912', - stipend: - '1st semester, none unless selected for University Scholars; after trial period, $15/hour up to 10 hours per week', - application_requirements: - 'Resume, UF unofficial transcripts, faculty interview; email all application requirements to Lisa Anthony', - application_deadline: - 'applications are accepted on a rolling basis, but first come first served (recommend: Mar 15 or July 1 for Fall, Nov 15 for Spring, Mar 15 for Summer)', - website: 'http://init.cise.ufl.edu', - project_description: - 'Our lab focuses on advanced interaction technologies such as touch, gesture, voice, and mixed reality, in the context of human-AI interaction, education, healthcare, and serious games. Many of our projects emphasize children and/or families as a unique user group. Our projects advance human-computer interaction (HCI) research questions of how users want to interact with these natural modalities, and computer science research questions of how to build recognition algorithms that can understand user input in these ambiguous modalities. Top priorities currently: (a) designing intelligent chatbots for mobile health monitoring apps; (b) designing digital AI assistants to help novice users complete more expert tasks; and (c) designing human-centered interactive machine learning interfaces.', - }, - { - project_title: - 'dawdawdawdawdaIntelligent Natural Interaction Technology (INIT) Lab', - department: 'Computer and Information Sciences and Engineering', - faculty_mentor: 'Lisa Anthony', - phd_student_mentor: 'TBD based on project and availability', - terms_available: 'Fall, Spring, Summer', - student_level: - 'Freshman, Sophomore, Junior, Senior, 2-3 students per semester', - prerequisites: - 'Projects can be customized for background and interest of the student, pending lab needs at the time. Helpful skills (encouraged but not required) include: programming fundamentals, experimental design, data analysis, experience working with children, good people skills, attention to detail, organization, time management. High-achieving freshman encouraged to apply! Students considering graduate school strongly encouraged to apply!', - credit: '0-3 credits via EGN 4912', - stipend: - '1st semester, none unless selected for University Scholars; after trial period, $15/hour up to 10 hours per week', - application_requirements: - 'Resume, UF unofficial transcripts, faculty interview; email all application requirements to Lisa Anthony', - application_deadline: - 'applications are accepted on a rolling basis, but first come first served (recommend: Mar 15 or July 1 for Fall, Nov 15 for Spring, Mar 15 for Summer)', - website: 'http://init.cise.ufl.edu', - project_description: - 'Our lab focuses on advanced interaction technologies such as touch, gesture, voice, and mixed reality, in the context of human-AI interaction, education, healthcare, and serious games. Many of our projects emphasize children and/or families as a unique user group. Our projects advance human-computer interaction (HCI) research questions of how users want to interact with these natural modalities, and computer science research questions of how to build recognition algorithms that can understand user input in these ambiguous modalities. Top priorities currently: (a) designing intelligent chatbots for mobile health monitoring apps; (b) designing digital AI assistants to help novice users complete more expert tasks; and (c) designing human-centered interactive machine learning interfaces.', - }, - { - project_title: - 'dawdawdawdawdaIntelligent Natural Interaction Technology (INIT) Lab', - department: 'Computer and Information Sciences and Engineering', - faculty_mentor: 'Lisa Anthony', - phd_student_mentor: 'TBD based on project and availability', - terms_available: 'Fall, Spring, Summer', - student_level: - 'Freshman, Sophomore, Junior, Senior, 2-3 students per semester', - prerequisites: - 'Projects can be customized for background and interest of the student, pending lab needs at the time. Helpful skills (encouraged but not required) include: programming fundamentals, experimental design, data analysis, experience working with children, good people skills, attention to detail, organization, time management. High-achieving freshman encouraged to apply! Students considering graduate school strongly encouraged to apply!', - credit: '0-3 credits via EGN 4912', - stipend: - '1st semester, none unless selected for University Scholars; after trial period, $15/hour up to 10 hours per week', - application_requirements: - 'Resume, UF unofficial transcripts, faculty interview; email all application requirements to Lisa Anthony', - application_deadline: - 'applications are accepted on a rolling basis, but first come first served (recommend: Mar 15 or July 1 for Fall, Nov 15 for Spring, Mar 15 for Summer)', - website: 'http://init.cise.ufl.edu', - project_description: - 'Our lab focuses on advanced interaction technologies such as touch, gesture, voice, and mixed reality, in the context of human-AI interaction, education, healthcare, and serious games. Many of our projects emphasize children and/or families as a unique user group. Our projects advance human-computer interaction (HCI) research questions of how users want to interact with these natural modalities, and computer science research questions of how to build recognition algorithms that can understand user input in these ambiguous modalities. Top priorities currently: (a) designing intelligent chatbots for mobile health monitoring apps; (b) designing digital AI assistants to help novice users complete more expert tasks; and (c) designing human-centered interactive machine learning interfaces.', - }, -]; diff --git a/src/app/applications/applicationSections.tsx b/src/app/applications/applicationSections.tsx index 487bfce..d43d816 100644 --- a/src/app/applications/applicationSections.tsx +++ b/src/app/applications/applicationSections.tsx @@ -1,12 +1,108 @@ /* components/DashboardSections.tsx */ import { Role } from '@/types/User'; -import { useState } from 'react'; +import { useState, useEffect, useCallback } from 'react'; import { DashboardCard } from '@/components/DashboardCard/DashboardCard'; import { NavbarItem } from '@/types/navigation'; import SemesterSelect from '@/components/SemesterSelect/SemesterSelect'; import { useSemesterData } from '@/hooks/Courses/useSemesterData'; import { CoursesGrid } from '@/components/CoursesGrid/CoursesGrid'; import { type SemesterName } from '@/hooks/useSemesterOptions'; +import ApplicationCard from '@/components/Research/ApplicationCard'; +import firebase from '@/firebase/firebase_config'; +import { useAuth } from '@/firebase/auth/auth_context'; + +function ResearchApplicationsList() { + const { user } = useAuth(); + const [applications, setApplications] = useState([]); + const [loading, setLoading] = useState(true); + + const fetchApplications = useCallback(async () => { + if (!user?.uid) return; + setLoading(true); + try { + const snapshot = await firebase + .firestore() + .collectionGroup('applications') + .where('uid', '==', user.uid) + .get(); + + const results = await Promise.all( + snapshot.docs.map(async (appDoc) => { + const appData = appDoc.data(); + const listingRef = appDoc.ref.parent.parent; + let listingData: any = {}; + if (listingRef) { + const listingSnap = await listingRef.get(); + if (listingSnap.exists) { + listingData = listingSnap.data(); + } + } + return { + appId: appDoc.id, + ...appData, + listingData, + }; + }) + ); + + const mapped = results.map((doc: any) => ({ + appid: doc.appId, + app_status: doc.app_status, + terms_available: doc.listingData?.terms_available || 'N/A', + date_applied: doc.date || 'N/A', + department: doc.department || doc.listingData?.department || 'N/A', + faculty_mentor: doc.listingData?.faculty_mentor, + faculty_contact: doc.listingData?.faculty_contact, + project_title: doc.listingData?.project_title || 'N/A', + project_description: + doc.listingData?.project_description || 'No description provided', + degree: doc.degree || 'N/A', + })); + + setApplications(mapped); + } catch (error) { + console.error('Error fetching research applications:', error); + } finally { + setLoading(false); + } + }, [user?.uid]); + + useEffect(() => { + fetchApplications(); + }, [fetchApplications]); + + if (loading) { + return ( +

Loading research applications...

+ ); + } + + if (applications.length === 0) { + return

No research applications at this time.

; + } + + return ( +
+ {applications.map((item, index) => ( +
+ +
+ ))} +
+ ); +} + export default function ApplicationSections({ role, navItems, @@ -47,7 +143,7 @@ export default function ApplicationSections({

Research

-

No available applications at this time.

+
); diff --git a/src/app/models/ResearchModel.ts b/src/app/models/ResearchModel.ts index 8e734d3..c360d9b 100644 --- a/src/app/models/ResearchModel.ts +++ b/src/app/models/ResearchModel.ts @@ -1,17 +1,78 @@ export interface ResearchListing { id: string; + docID?: string; project_title: string; department: string; - faculty_mentor: string; - phd_student_mentor: string; + project_description: string; + application_deadline: string; + prerequisites: string; + + // New fields (target schema) + faculty_contact?: string; + phd_student_contact?: string; + nature_of_job?: string; + hours_per_week?: string; + compensation?: string; + image_url?: string; + + // Kept fields (still used in display) terms_available: string; student_level: string; - prerequisites: string; - credit: string; - stipend: string; application_requirements: string; - application_deadline: string; website: string; - project_description: string; + + // Legacy fields (kept optional for backward compatibility) + faculty_mentor?: { [email: string]: string } | string; + phd_student_mentor?: string | { [key: string]: string }; + credit?: string; + stipend?: string; + + // System fields + creator_id?: string; faculty_members?: string[]; + applications?: any[]; +} + +/** + * Normalizes a raw Firestore document into the new ResearchListing shape, + * deriving new fields from legacy fields when they are missing. + */ +export function normalizeResearchListing(raw: any): ResearchListing { + const listing = { ...raw }; + + // faculty_contact: derive from faculty_mentor if missing + if (!listing.faculty_contact && listing.faculty_mentor) { + if (typeof listing.faculty_mentor === 'object') { + listing.faculty_contact = Object.keys(listing.faculty_mentor)[0] || ''; + } else if (typeof listing.faculty_mentor === 'string') { + listing.faculty_contact = listing.faculty_mentor; + } + } + + // phd_student_contact: derive from phd_student_mentor if missing + if (!listing.phd_student_contact && listing.phd_student_mentor) { + if (typeof listing.phd_student_mentor === 'string') { + listing.phd_student_contact = listing.phd_student_mentor; + } else if (typeof listing.phd_student_mentor === 'object') { + listing.phd_student_contact = + Object.keys(listing.phd_student_mentor)[0] || ''; + } + } + + // compensation: derive from credit + stipend if missing + if (!listing.compensation) { + const parts: string[] = []; + if (listing.credit) parts.push(`${listing.credit} credits`); + if (listing.stipend) parts.push(`$${listing.stipend}`); + listing.compensation = parts.join(', ') || ''; + } + + // defaults for new fields + listing.nature_of_job = listing.nature_of_job || ''; + listing.hours_per_week = listing.hours_per_week || ''; + listing.image_url = listing.image_url || ''; + listing.faculty_contact = listing.faculty_contact || ''; + listing.phd_student_contact = listing.phd_student_contact || ''; + + return listing as ResearchListing; } diff --git a/src/components/PageLayout/PageLayout.tsx b/src/components/PageLayout/PageLayout.tsx index 051d593..f47bed5 100644 --- a/src/components/PageLayout/PageLayout.tsx +++ b/src/components/PageLayout/PageLayout.tsx @@ -16,8 +16,8 @@ const PageLayout: FC = ({ mainTitle, navItems, children }) => {
-
-

+
+

{mainTitle}

{children} diff --git a/src/components/Research/ApplicationCard.tsx b/src/components/Research/ApplicationCard.tsx index b90b0ae..03619c6 100644 --- a/src/components/Research/ApplicationCard.tsx +++ b/src/components/Research/ApplicationCard.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect, useRef } from 'react'; +import React, { useState } from 'react'; import { Card, CardContent, Typography, Button, Box } from '@mui/material'; interface ApplicationCardProps { @@ -6,7 +6,7 @@ interface ApplicationCardProps { uid?: string; project_title: string; department: string; - faculty_mentor: { name: string; email: string }; + faculty_mentor?: { [email: string]: string } | string; date_applied: string; terms_available: string; student_level: string; @@ -20,6 +20,8 @@ interface ApplicationCardProps { application_deadline?: string; website?: string; app_status: string; + faculty_contact?: string; + compensation?: string; onEdit?: () => void; onShowApplications?: () => void; } @@ -31,51 +33,38 @@ const ApplicationCard: React.FC = ({ department, date_applied, faculty_mentor, - terms_available, - student_level, - project_description, faculty_members = [], app_status, - phd_student_mentor, - prerequisites, - credit, - stipend, - application_requirements, - application_deadline, - website, + project_description, + faculty_contact, onEdit, onShowApplications, }) => { const [expanded, setExpanded] = useState(false); - const [needsExpansion, setNeedsExpansion] = useState(false); - const descriptionRef = useRef(null); const isFacultyInvolved = userRole === 'faculty' && faculty_members.includes(uid || ''); - useEffect(() => { - const checkTextOverflow = () => { - const element = descriptionRef.current; - if (!element) return; - - if (expanded) { - setNeedsExpansion(true); - return; - } - - const isOverflowing = element.scrollHeight > element.clientHeight; - setNeedsExpansion(isOverflowing); - }; + // Backward-compatible faculty display + const facultyDisplay = + faculty_contact || + (typeof faculty_mentor === 'object' && faculty_mentor + ? Object.values(faculty_mentor).join(', ') + : typeof faculty_mentor === 'string' + ? faculty_mentor + : 'N/A'); - checkTextOverflow(); - - window.addEventListener('resize', checkTextOverflow); - return () => window.removeEventListener('resize', checkTextOverflow); - }, [expanded, project_description]); + const sectionHeaderSx = { + color: '#5A41D8', + fontWeight: 'bold', + fontSize: '0.95rem', + mt: 2, + mb: 0.5, + }; return ( = ({ height: '100%', }} > - - + + {project_title} - + {department} - - - Status: - {' '} - - {app_status} - -
- - Date Applied: - {' '} - - {date_applied} - -
- - - Faculty Mentor: - {' '} - - {Object.entries(faculty_mentor ?? {}) - .map(([key, value]) => `${value}`) - .join(', ')} + + + + Status:{' '} + + {app_status} + -
- - Faculty Email: - {' '} - - {Object.entries(faculty_mentor ?? {}) - .map(([key, value]) => `${key}`) - .join(', ')} + + Date Applied: {date_applied} -
- - Research Description - - {project_description} + + Faculty Mentor: {facultyDisplay} + + Research Description + + {project_description} +
- - {needsExpansion ? ( - - ) : ( -
- )} + + + + {isFacultyInvolved && ( )} diff --git a/src/components/Research/EditResearchModal.tsx b/src/components/Research/EditResearchModal.tsx index 7e02e1b..63730cb 100644 --- a/src/components/Research/EditResearchModal.tsx +++ b/src/components/Research/EditResearchModal.tsx @@ -1,6 +1,6 @@ 'use client'; -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect, useRef } from 'react'; import { Dialog, DialogTitle, @@ -10,14 +10,32 @@ import { Button, Grid, Typography, + MenuItem, + IconButton, + Box, + CircularProgress, } from '@mui/material'; +import CloseIcon from '@mui/icons-material/Close'; +import ImageOutlinedIcon from '@mui/icons-material/ImageOutlined'; import firebase from '@/firebase/firebase_config'; +import { normalizeResearchListing } from '@/app/models/ResearchModel'; +import { getStorage, ref, uploadBytes, getDownloadURL } from 'firebase/storage'; +import { v4 as uuidv4 } from 'uuid'; + +const NATURE_OF_JOB_OPTIONS = [ + 'Research Assistant', + 'Lab Assistant', + 'Teaching Assistant', + 'Field Work', + 'Data Analysis', + 'Other', +]; interface EditResearchModalProps { open: boolean; onClose: () => void; - listingData: any; // The current listing's data (pre-filled) - onSubmitSuccess: () => void; // Callback to refresh the listings + listingData: any; + onSubmitSuccess: () => void; } const EditResearchModal: React.FC = ({ @@ -26,58 +44,90 @@ const EditResearchModal: React.FC = ({ listingData, onSubmitSuccess, }) => { - const [formData, setFormData] = useState({ ...listingData }); - const [facultyEmail, setFacultyEmail] = useState(''); - const [facultyName, setFacultyName] = useState(''); + const [formData, setFormData] = useState({}); + const [uploading, setUploading] = useState(false); + const [imageFileName, setImageFileName] = useState(''); + const fileInputRef = useRef(null); useEffect(() => { - setFormData({ ...listingData }); + const normalized = normalizeResearchListing(listingData); + setFormData(normalized); + if (normalized.image_url) { + setImageFileName('Current image'); + } }, [listingData]); - const handleChange = (e: React.ChangeEvent) => { + const handleChange = ( + e: React.ChangeEvent + ) => { const { name, value } = e.target; - setFormData((prev: typeof formData) => ({ ...prev, [name]: value })); + setFormData((prev: any) => ({ ...prev, [name]: value })); + }; + + const handleImageUpload = async (file: File) => { + setUploading(true); + try { + const storage = getStorage(); + const storageRef = ref( + storage, + `research-images/${uuidv4()}_${file.name}` + ); + await uploadBytes(storageRef, file); + const downloadURL = await getDownloadURL(storageRef); + setFormData((prev: any) => ({ ...prev, image_url: downloadURL })); + setImageFileName(file.name); + } catch (error) { + console.error('Error uploading image:', error); + } finally { + setUploading(false); + } }; - /** Adds a faculty mentor to the map. */ - const handleAddFacultyMentor = () => { - if (facultyEmail && facultyName) { - setFormData((prev) => ({ - ...prev, - faculty_mentor: { - ...prev.faculty_mentor, - [facultyEmail]: facultyName, - }, - })); - setFacultyEmail(''); - setFacultyName(''); + const handleFileDrop = (e: React.DragEvent) => { + e.preventDefault(); + const file = e.dataTransfer.files[0]; + if (file && file.type.startsWith('image/')) { + handleImageUpload(file); } }; - /** Removes a faculty mentor from the map. */ - const handleRemoveFacultyMentor = (email: string) => { - setFormData((prev) => { - const updatedMentors = { ...prev.faculty_mentor }; - delete updatedMentors[email]; - return { ...prev, faculty_mentor: updatedMentors }; - }); + const handleFileSelect = (e: React.ChangeEvent) => { + const file = e.target.files?.[0]; + if (file) { + handleImageUpload(file); + } }; const handleSubmit = async () => { try { const db = firebase.firestore(); - const querySnapshot = await db - .collection('research-listings') - .where('id', '==', listingData.id) - .get(); + const docID = listingData.docID || listingData.id; + const listingRef = db.collection('research-listings').doc(docID); + const doc = await listingRef.get(); - if (querySnapshot.empty) { + if (!doc.exists) { throw new Error('No matching listing found!'); } - const listingRef = querySnapshot.docs[0].ref; - await listingRef.update(formData); + const updateData = { + project_title: formData.project_title || '', + project_description: formData.project_description || '', + department: formData.department || '', + nature_of_job: formData.nature_of_job || '', + compensation: formData.compensation || '', + faculty_contact: formData.faculty_contact || '', + phd_student_contact: formData.phd_student_contact || '', + application_deadline: formData.application_deadline || '', + hours_per_week: formData.hours_per_week || '', + prerequisites: formData.prerequisites || '', + image_url: formData.image_url || '', + terms_available: formData.terms_available || '', + student_level: formData.student_level || '', + application_requirements: formData.application_requirements || '', + website: formData.website || '', + }; + await listingRef.update(updateData); alert('Research listing updated!'); onSubmitSuccess(); onClose(); @@ -88,181 +138,300 @@ const EditResearchModal: React.FC = ({ }; return ( - - Edit Research Listing - + + Edit Position + + + + + + - + {/* Title + Description */} + + + * Title + + + + + * Position Description + + - + {/* Department */} + + + * Department + - {/* Faculty Mentor */} + {/* Image Upload */} - Faculty Mentors + e.preventDefault()} + onClick={() => fileInputRef.current?.click()} + sx={{ + border: '2px dashed #ccc', + borderRadius: '12px', + p: 3, + textAlign: 'center', + cursor: 'pointer', + backgroundColor: '#fafafa', + '&:hover': { borderColor: '#5A41D8' }, + }} + > + {uploading ? ( + + ) : imageFileName ? ( + + {imageFileName} + + ) : ( + <> + + + Drop your image here, or{' '} + + browse + + + + )} + + + + + {/* Nature of Job, Compensation, Faculty Contact, PhD Student Contact */} + + + * Nature of Job + setFacultyEmail(e.target.value)} + name="nature_of_job" + select + value={formData.nature_of_job || ''} + onChange={handleChange} fullWidth - margin="dense" + size="small" + > + {NATURE_OF_JOB_OPTIONS.map((option) => ( + + {option} + + ))} + + + + + * Compensation + + + + + + * Faculty Contact + setFacultyName(e.target.value)} + name="faculty_contact" + placeholder="Ex. albertgator@ufl.edu" + value={formData.faculty_contact || ''} + onChange={handleChange} fullWidth - margin="dense" + size="small" /> - - - {formData.faculty_mentor && - Object.entries(formData.faculty_mentor).map(([email, name]) => ( - -
- - {name} ({email}) - - -
-
- ))} -
- - + + + PhD Student Contact + - + {/* Application Deadline, Hours per Week, Prerequisites */} + + + * Application Deadline + - - + + + * Hours per Week + - - + + + Prerequisites + - + {/* Terms Available, Student Level, Website, Application Requirements */} + + + Terms Available + - - + + + Student Level + - - + + + Website + - - + + + Application Requirements +
- - - +
diff --git a/src/components/Research/FacultyResearchView.tsx b/src/components/Research/FacultyResearchView.tsx index 99c2f9e..ef32e6a 100644 --- a/src/components/Research/FacultyResearchView.tsx +++ b/src/components/Research/FacultyResearchView.tsx @@ -4,14 +4,19 @@ import { Typography, Button, Grid, + Card, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, + FormControl, + Select, + MenuItem, } from '@mui/material'; +import AddIcon from '@mui/icons-material/Add'; +import FolderOutlinedIcon from '@mui/icons-material/FolderOutlined'; import ResearchModal from '@/components/Research/Modal'; -import ProjectCard from '@/components/Research/ProjectCard'; import FacultyApplicantsView from '@/components/Research/FacultyApplicantsView'; import { deleteDoc, doc } from 'firebase/firestore'; import firebase from '@/firebase/firebase_config'; @@ -32,37 +37,35 @@ const FacultyResearchView: React.FC = ({ getResearchListings, postNewResearchPosition, }) => { - const [studentView, showStudentView] = useState(true); + const [createModalOpen, setCreateModalOpen] = useState(false); const [editModalOpen, setEditModalOpen] = useState(false); const [editingForm, setEditingForm] = useState(null); const [selectedResearchId, setSelectedResearchId] = useState( null ); + const [selectedSemester, setSelectedSemester] = useState('Spring 2026'); + const [showAll, setShowAll] = useState(false); // State for delete confirmation modal const [deleteModalOpen, setDeleteModalOpen] = useState(false); const [deleteDocID, setDeleteDocID] = useState(null); - // Open delete confirmation modal const handleOpenDeleteModal = (docID: string) => { setDeleteDocID(docID); setDeleteModalOpen(true); }; - // Close delete confirmation modal const handleCloseDeleteModal = () => { setDeleteModalOpen(false); setDeleteDocID(null); }; - // Handle delete action const handleDelete = async () => { if (!deleteDocID) return; try { const db = firebase.firestore(); const docRef = doc(db, 'research-listings', deleteDocID); await deleteDoc(docRef); - console.log(`Listing with ID ${deleteDocID} deleted successfully.`); getResearchListings(); } catch (error) { console.error('Error deleting listing:', error); @@ -76,10 +79,8 @@ const FacultyResearchView: React.FC = ({ item.faculty_members?.includes(uid) ); - // Check if there are no positions when in my positions view - const hasNoPositions = studentView && myPositions.length === 0; + const displayedPositions = showAll ? myPositions : myPositions.slice(0, 6); - // Callback to go back to the research listings view const handleBackToListings = () => { setSelectedResearchId(null); }; @@ -98,76 +99,59 @@ const FacultyResearchView: React.FC = ({
) : ( <> - {/* Header section with buttons */} + {/* Header row */} - - - My Positions: + + + Research - + + - } + variant="contained" + sx={{ backgroundColor: '#5A41D8', color: '#FFFFFF', textTransform: 'none', borderRadius: '8px', - boxShadow: '0px 0px 8px #E5F0DC', fontWeight: 500, padding: '10px 24px', '&:hover': { backgroundColor: '#4A35B8', - boxShadow: '0px 0px 12px #E5F0DC', }, }} - /> + onClick={() => setCreateModalOpen(true)} + > + Create Position + - {hasNoPositions ? ( + {/* Position cards grid */} + {myPositions.length === 0 ? ( = ({
You haven't created any research positions yet. Get started - by creating your first position using the "Create New + by creating your first position using the "Create Position" button above. ) : ( - - {studentView - ? myPositions.map((item, index) => ( - - { - setSelectedResearchId(item.docID); - }} - onEdit={() => { - console.log('Opening edit modal'); - setEditingForm(item); - setEditModalOpen(true); - }} - onDelete={() => handleOpenDeleteModal(item.docID)} + <> + + {displayedPositions.map((item, index) => ( + + setSelectedResearchId(item.docID)} + > + - - )) - : researchListings.map((item, index) => ( - - { - setSelectedResearchId(item.docID); - }} - onEdit={() => { - console.log('Opening edit modal'); - setEditingForm(item); - setEditModalOpen(true); - }} - onDelete={() => handleOpenDeleteModal(item.docID)} - /> - - ))} - + + + {item.project_title} + + + {item.department} + + + + + + +
+ + ))} + + + {/* See More link */} + {myPositions.length > 6 && !showAll && ( + + + + )} + )} )} + {/* Create Position Modal */} + setCreateModalOpen(false)} + uid={uid} + onSubmitSuccess={getResearchListings} + firebaseQuery={postNewResearchPosition} + /> + {/* Delete Confirmation Modal */} = ({ + {/* Edit Modal */} {editingForm && ( void; onSubmitSuccess: () => void; - currentFormData: FormData; - buttonStyle?: SxProps; - buttonText: React.ReactNode; // Changed from string to ReactNode firebaseQuery: (formData: any) => Promise; uid: string; } -const ResearchModal: React.FC = ({ +const ResearchModal: React.FC = ({ + open, + onClose, onSubmitSuccess, - currentFormData, - buttonStyle, - buttonText, firebaseQuery, uid, }) => { - const [open, setOpen] = useState(false); - const [formData, setFormData] = useState(currentFormData); - const [facultyEmail, setFacultyEmail] = useState(''); - const [facultyName, setFacultyName] = useState(''); - - /** Opens the dialog (modal). */ - const handleOpen = () => { - setOpen(true); - }; - - /** Closes the dialog (modal). - * Note that we do NOT reset the form data here, - * so the draft remains if the user reopens the modal. - */ - const handleClose = () => { - setOpen(false); - }; + const [formData, setFormData] = useState({ ...INITIAL_FORM_DATA }); + const [errors, setErrors] = useState>>( + {} + ); + const [uploading, setUploading] = useState(false); + const [imageFileName, setImageFileName] = useState(''); + const fileInputRef = useRef(null); - /** Updates the corresponding form field in state. */ const handleChange = ( event: React.ChangeEvent ) => { const { name, value } = event.target; setFormData((prev) => ({ ...prev, [name]: value })); + if (errors[name as keyof FormData]) { + setErrors((prev) => ({ ...prev, [name]: '' })); + } }; - /** Adds a faculty mentor to the map. */ - const handleAddFacultyMentor = () => { - if (facultyEmail && facultyName) { - setFormData((prev) => ({ - ...prev, - faculty_mentor: { - ...prev.faculty_mentor, - [facultyEmail]: facultyName, - }, - })); - setFacultyEmail(''); - setFacultyName(''); + const handleImageUpload = async (file: File) => { + setUploading(true); + try { + const storage = getStorage(); + const storageRef = ref( + storage, + `research-images/${uuidv4()}_${file.name}` + ); + await uploadBytes(storageRef, file); + const downloadURL = await getDownloadURL(storageRef); + setFormData((prev) => ({ ...prev, image_url: downloadURL })); + setImageFileName(file.name); + } catch (error) { + console.error('Error uploading image:', error); + } finally { + setUploading(false); } }; - /** Removes a faculty mentor from the map. */ - const handleRemoveFacultyMentor = (email: string) => { - setFormData((prev) => { - const updatedMentors = { ...prev.faculty_mentor }; - delete updatedMentors[email]; - return { ...prev, faculty_mentor: updatedMentors }; - }); + const handleFileDrop = (e: React.DragEvent) => { + e.preventDefault(); + const file = e.dataTransfer.files[0]; + if (file && file.type.startsWith('image/')) { + handleImageUpload(file); + } + }; + + const handleFileSelect = (e: React.ChangeEvent) => { + const file = e.target.files?.[0]; + if (file) { + handleImageUpload(file); + } + }; + + const validate = (): boolean => { + const newErrors: Partial> = {}; + if (!formData.project_title.trim()) newErrors.project_title = 'Required'; + if (!formData.project_description.trim()) + newErrors.project_description = 'Required'; + if (!formData.department.trim()) newErrors.department = 'Required'; + if (!formData.nature_of_job) newErrors.nature_of_job = 'Required'; + if (!formData.compensation.trim()) newErrors.compensation = 'Required'; + if (!formData.faculty_contact.trim()) + newErrors.faculty_contact = 'Required'; + if (!formData.application_deadline.trim()) + newErrors.application_deadline = 'Required'; + if (!formData.hours_per_week.trim()) newErrors.hours_per_week = 'Required'; + setErrors(newErrors); + return Object.keys(newErrors).length === 0; + }; + + const handleDiscard = () => { + setFormData({ ...INITIAL_FORM_DATA }); + setErrors({}); + setImageFileName(''); + onClose(); + }; + + const handleSaveAndExit = () => { + // Save draft in state (form data persists until discard) + onClose(); }; - /** Submits the form and clears it, then closes the dialog. */ const handleSubmit = async () => { + if (!validate()) return; + const finalFormData = { ...formData, - faculty_mentor: formData.faculty_mentor, creator_id: uid, faculty_members: [uid], }; - console.log('Final Form Data:', finalFormData); - firebaseQuery(finalFormData); + await firebaseQuery(finalFormData); onSubmitSuccess(); - setFormData(currentFormData); - handleClose(); + setFormData({ ...INITIAL_FORM_DATA }); + setErrors({}); + setImageFileName(''); + onClose(); }; return ( -
- {/* Button to open the modal */} - - - - {buttonText} - - - {/* Project Title */} - - - - - {/* Department */} - - - + + + Create Position + + + + - {/* Faculty Mentor */} - - setFacultyEmail(e.target.value)} - fullWidth - /> - setFacultyName(e.target.value)} - fullWidth - /> - - - {Object.entries(formData.faculty_mentor).map( - ([email, name]) => ( - -
- - {name} ({email}) - - -
-
- ) - )} -
-
- - {/* PhD Student Mentor */} - - - - - {/* Terms Available */} - - - - {/* Student Level */} - - - - - {/* Prerequisites */} - - - - - {/* Credit */} - - - + + + {/* Row 1: Title + Position Description */} + + + * Title + + + + + + * Position Description + + + - {/* Stipend */} - - $ - ), // Add dollar sign - }} - fullWidth - /> - + {/* Row 2: Department */} + + + * Department + + + - {/* Website */} - - + e.preventDefault()} + onClick={() => fileInputRef.current?.click()} + sx={{ + border: '2px dashed #ccc', + borderRadius: '12px', + p: 3, + textAlign: 'center', + cursor: 'pointer', + backgroundColor: '#fafafa', + '&:hover': { borderColor: '#5A41D8' }, + }} + > + {uploading ? ( + + ) : imageFileName ? ( + + {imageFileName} + + ) : ( + <> + + + Drop your image here, or{' '} + + browse + + + + )} + - + + - {/* Application Requirements */} - - - + {/* Row 3: Nature of Job, Compensation, Faculty Contact, PhD Student Contact */} + + + * Nature of Job + + + {NATURE_OF_JOB_OPTIONS.map((option) => ( + + {option} + + ))} + + + + + * Compensation + + + + + + * Faculty Contact + + + + + + PhD Student Contact + + + - {/* Application Deadline */} - - Application Deadline - - { - setFormData((prev) => ({ - ...prev, - application_deadline: e.target.checked ? 'Rolling' : '', - })); - }} - /> - } - label="Rolling" - /> - + {/* Row 4: Application Deadline, Hours per Week, Prerequisites */} + + + * Application Deadline + + + + + + * Hours per Week + + + + + + Prerequisites + + + - {/* Project Description */} - - - + {/* Row 5: Terms Available, Student Level, Website, Application Requirements */} + + + Terms Available + + - - + + + Student Level + + + + + + Website + + + + + + Application Requirements + + + +
+
+ + + + - -
-
+ + + ); }; diff --git a/src/components/Research/ProjectCard.tsx b/src/components/Research/ProjectCard.tsx index 876578b..88db7c6 100644 --- a/src/components/Research/ProjectCard.tsx +++ b/src/components/Research/ProjectCard.tsx @@ -1,31 +1,13 @@ -import React, { useState, useEffect, useRef } from 'react'; -import { - Card, - CardContent, - Typography, - Button, - Box, - Grid, -} from '@mui/material'; +import React, { useState } from 'react'; +import { Card, CardContent, Typography, Button, Box } from '@mui/material'; import ModalApplicationForm from './ModalApplicationForm'; -import { - collection, - addDoc, - updateDoc, - doc, - where, - query, - documentId, - getDocs, -} from 'firebase/firestore'; -import firebase from '@/firebase/firebase_config'; interface ProjectCardProps { userRole: string; uid?: string; project_title: string; department: string; - faculty_mentor: {}; + faculty_mentor?: { [email: string]: string } | string; terms_available: string; student_level: string; project_description: string; @@ -38,6 +20,14 @@ interface ProjectCardProps { application_deadline?: string; website?: string; applications?: any[]; + // New fields + faculty_contact?: string; + phd_student_contact?: string; + compensation?: string; + nature_of_job?: string; + hours_per_week?: string; + image_url?: string; + // Callbacks onEdit?: () => void; onShowApplications?: () => void; onDelete?: () => void; @@ -59,57 +49,57 @@ const ProjectCard: React.FC = ({ prerequisites, credit, stipend, - application_requirements, application_deadline, - website, applications = [], + faculty_contact, + phd_student_contact, + compensation, onEdit, onShowApplications, onDelete, }) => { const [expanded, setExpanded] = useState(false); - const [needsExpansion, setNeedsExpansion] = useState(false); - const descriptionRef = useRef(null); const isFacultyInvolved = userRole === 'faculty' && faculty_members.includes(uid || ''); const [openModal, setOpenModal] = useState(false); - useEffect(() => { - const checkTextOverflow = () => { - const element = descriptionRef.current; - if (!element) return; + // Backward-compatible display helpers + const facultyDisplay = + faculty_contact || + (typeof faculty_mentor === 'object' && faculty_mentor + ? Object.values(faculty_mentor).join(', ') + : typeof faculty_mentor === 'string' + ? faculty_mentor + : 'N/A'); - if (expanded) { - setNeedsExpansion(true); - return; - } + const phdDisplay = + phd_student_contact || + (typeof phd_student_mentor === 'string' + ? phd_student_mentor + : typeof phd_student_mentor === 'object' && phd_student_mentor + ? Object.values(phd_student_mentor as Record).join(', ') + : 'N/A'); - const isOverflowing = element.scrollHeight > element.clientHeight; - setNeedsExpansion(isOverflowing); - }; - - checkTextOverflow(); - - window.addEventListener('resize', checkTextOverflow); - return () => window.removeEventListener('resize', checkTextOverflow); - }, [expanded, project_description]); + const compensationDisplay = + compensation || [credit, stipend].filter(Boolean).join(', ') || 'N/A'; const handleModalOpen = async () => { - // for (const application of applications) { - // if (application?.uid === uid) { - // alert('You have already applied to this project.'); - // return; - // } - // } - setOpenModal(true); }; + const sectionHeaderSx = { + color: '#5A41D8', + fontWeight: 'bold', + fontSize: '0.95rem', + mt: 2, + mb: 0.5, + }; + return ( <> = ({ height: '100%', }} > - - + + {/* Always visible: Title + Department */} + {project_title} - + {department} - - - Mentor Information - - - Faculty Mentor:{' '} - {Object.values(faculty_mentor).join(', ')} - - - PhD Student Mentor:{' '} - {typeof phd_student_mentor === 'string' - ? phd_student_mentor - : Object.entries(phd_student_mentor ?? {}) - .map(([k, v]) => (k === 'info' ? v : `${v}, ${k}`)) - .join(' ')} - - + {/* Research Description (always visible) */} + Research Description + + {project_description} + - - - Academic Information - - - Student Level: {student_level} - - - Terms Available: {terms_available} - - - Prerequisites: {prerequisites} - - - Credit: {credit} - - - Stipend: {stipend} - - + {/* Application Details (always visible) */} + Application Details + + Application Deadline:{' '} + {application_deadline || 'N/A'} + - - - Application Details - - - Application Requirements:{' '} - {application_requirements} - - - Application Deadline: {application_deadline} - - - Website:{' '} - {website && - !['n/a', 'na', 'none', 'no', ''].includes( - website.toLowerCase().trim() - ) ? ( - - {website} - - ) : ( - 'None provided' - )} - - + {/* Expanded content */} + {expanded && ( + <> + {/* Mentor Information */} + Mentor Information + + Faculty Mentor: {facultyDisplay} + + + PhD Student Mentor: {phdDisplay} + - - - Research Description - - - {project_description} - - + {/* Academic Information */} + Academic Information + + Student Level: {student_level || 'N/A'} + + + Terms Available: {terms_available || 'N/A'} + + + Prerequisites: {prerequisites || 'N/A'} + + + Compensation: {compensationDisplay} + + + )} - - {needsExpansion ? ( - - ) : ( -
- )} - {userRole === 'student_applying' || userRole === 'student_applied' ? ( + {/* Action buttons */} + + + + {(userRole === 'student_applying' || + userRole === 'student_applied') && ( - ) : isFacultyInvolved ? ( + )} + + {isFacultyInvolved && ( - ) : null} + )}
void; getResearchListings: () => void; setResearchListings: (listings: any[]) => void; - getApplications: () => void; - setResearchApplications: (Applications: any[]) => void; } const StudentResearchView: React.FC = ({ researchListings, - researchApplications, role, uid, department, setDepartment, + studentLevel, setStudentLevel, + termsAvailable, setTermsAvailable, getResearchListings, setResearchListings, - getApplications, }) => { - const [myApplications, showMyApplications] = useState(true); const [originalListings, setOriginalListings] = useState([]); const searchInputRef = useRef(null); @@ -52,12 +47,8 @@ const StudentResearchView: React.FC = ({ } }, [researchListings, originalListings.length]); - useEffect(() => { - getApplications(); - }, []); - const handleSearch = (searchText: string) => { - if (!searchText && department === '') { + if (!searchText && department === '' && termsAvailable === '') { setResearchListings([...originalListings]); return; } @@ -85,16 +76,15 @@ const StudentResearchView: React.FC = ({ item.project_description.toLowerCase().includes(searchLower); const mentorMatch = - item.faculty_mentor && - typeof item.faculty_mentor === 'string' && - item.faculty_mentor.toLowerCase().includes(searchLower); + item.faculty_contact && + typeof item.faculty_contact === 'string' && + item.faculty_contact.toLowerCase().includes(searchLower); return titleMatch || descriptionMatch || mentorMatch; }); - console.log('Filtered Listings: ', filteredListings); } - // Department filter with special handling for CISE + // Department filter if (department) { filteredListings = filteredListings.filter((item) => { const normalized = item.department?.toLowerCase().trim(); @@ -110,187 +100,184 @@ const StudentResearchView: React.FC = ({ return normalized === department.toLowerCase(); }); - - console.log('Filtered Listings by Department: ', filteredListings); } - setResearchListings(filteredListings); - }; - - const handleClearFilters = () => { - setDepartment(''); - setStudentLevel(''); - setTermsAvailable(''); - - if (searchInputRef.current) { - searchInputRef.current.value = ''; + // Terms Available filter + if (termsAvailable) { + filteredListings = filteredListings.filter((item) => + item.terms_available + ?.toLowerCase() + .includes(termsAvailable.toLowerCase()) + ); } - if (originalListings.length > 0) { - setResearchListings([...originalListings]); - } else { - getResearchListings(); - } + setResearchListings(filteredListings); }; const handleDepartmentChange = (value: string) => { setDepartment(value); - const searchText = searchInputRef.current?.value || ''; - handleSearch(searchText); + setTimeout(() => { + const searchText = searchInputRef.current?.value || ''; + handleSearch(searchText); + }, 0); + }; + + const handleTermsChange = (value: string) => { + setTermsAvailable(value); + setTimeout(() => { + const searchText = searchInputRef.current?.value || ''; + handleSearch(searchText); + }, 0); }; return ( - <> - - - + + { + if (e.target.value === '') { + handleSearch(''); + } + }} + onKeyDown={(e) => { + if (e.key === 'Enter') { + e.preventDefault(); + const searchText = (e.target as HTMLInputElement).value; + handleSearch(searchText); + } + }} + sx={{ flex: 1 }} + /> + { + const searchText = searchInputRef.current?.value || ''; + handleSearch(searchText); + }} + /> + - - {/* Only show search controls when viewing research listings (not applications) */} - {myApplications ? ( - + Department + + - + {/* Student Level filter */} + + Student Level + + - - Department - - - - ) : null} + {/* Terms Available filter */} + + Terms Available + + + - {/* Content Display */} - {myApplications ? ( - - {researchListings.map((item, index) => ( - - - - ))} - - ) : ( - - {researchApplications.map((item, index) => { - return ( - - - - ); - })} + {/* Research Listings */} + + {researchListings.map((item, index) => ( + + - )} - - + ))} + + ); }; diff --git a/src/firebase/firebase_config.ts b/src/firebase/firebase_config.ts index 7d4e84b..48c6bad 100644 --- a/src/firebase/firebase_config.ts +++ b/src/firebase/firebase_config.ts @@ -1,6 +1,7 @@ import firebase from 'firebase/compat/app'; import 'firebase/compat/auth'; import 'firebase/compat/firestore'; +import 'firebase/compat/storage'; // TODO: Add SDKs for Firebase products that you want to use // https://firebase.google.com/docs/web/setup#available-libraries diff --git a/src/hooks/useGetItems.ts b/src/hooks/useGetItems.ts index 243fac0..bc05b34 100644 --- a/src/hooks/useGetItems.ts +++ b/src/hooks/useGetItems.ts @@ -6,6 +6,7 @@ import CalendarTodayOutlinedIcon from '@mui/icons-material/CalendarTodayOutlined import BarChartOutlinedIcon from '@mui/icons-material/BarChartOutlined'; import CampaignOutlinedIcon from '@mui/icons-material/CampaignOutlined'; import FolderOutlinedIcon from '@mui/icons-material/FolderOutlined'; +import ScienceOutlinedIcon from '@mui/icons-material/ScienceOutlined'; import { NavbarItem } from '@/types/navigation'; import { SemesterName } from './useSemesterOptions'; import { useMemo } from 'react'; @@ -15,13 +16,14 @@ export const getNavItems = (userRole: Role): NavbarItem[] => { /* ─────────────────────────────── Student buckets ───────────────────────────── */ case 'Student': case 'student_applied': - case 'student_applying': // <- you had “student_applying” in code + case 'student_applying': // <- you had "student_applying" in code return [ { label: 'Applications', to: '/applications', icon: DescriptionOutlinedIcon, }, + { label: 'Research', to: '/Research', icon: ScienceOutlinedIcon }, { label: 'Status', to: '/status', icon: CheckBoxOutlinedIcon }, { label: 'Announcements', @@ -38,6 +40,7 @@ export const getNavItems = (userRole: Role): NavbarItem[] => { to: '/applications', icon: DescriptionOutlinedIcon, }, + { label: 'Research', to: '/Research', icon: ScienceOutlinedIcon }, { label: 'Courses', to: '/courses', icon: BookOutlinedIcon }, { label: 'Announcements', From 58e489a8333749764e2f202596a8087ed9679f03 Mon Sep 17 00:00:00 2001 From: ThomasOli Date: Sun, 8 Feb 2026 11:40:03 -0500 Subject: [PATCH 3/4] fix --- .claude/settings.local.json | 13 - .gitignore | 6 +- src/app/Research/page.tsx | 49 +- src/app/admin-applications/page.tsx | 31 +- src/app/faculty-stats/page.tsx | 235 +++--- src/app/models/ResearchModel.ts | 7 +- src/app/page.tsx | 2 +- src/component/ApplicantCard/ApplicantCard.jsx | 17 - src/component/ApplicantCard/style.css | 78 -- .../ApplicantCardApprove.tsx | 350 --------- src/component/ApplicantCardApprove/style.css | 91 --- .../ApplicantCardApprovedeny.tsx | 510 ------------ .../ApplicantCardApprovedeny/style.css | 117 --- .../ApplicantCardAssign.tsx | 731 ------------------ .../handleSendRenewEmail.ts | 38 - src/component/ApplicantCardAssign/style.css | 91 --- .../ApplicantCardDeny/ApplicantCardDeny.tsx | 348 --------- src/component/ApplicantCardDeny/style.css | 80 -- .../ApplicationStatusCard.jsx | 50 -- src/component/ApplicationStatusCard/style.css | 140 ---- .../ApplicationStatusCardAccepted.jsx | 54 -- .../ApplicationStatusCardAccepted/style.css | 156 ---- .../ApplicationStatusCardDenied.jsx | 50 -- .../ApplicationStatusCardDenied/style.css | 154 ---- .../ApplicationsCard/ApplicationsCard.jsx | 21 - src/component/ApplicationsCard/style.css | 42 - src/component/Bio/Bio.jsx | 27 - src/component/Bio/style.module.css | 66 -- src/component/BottomMenu/BottomMenu.tsx | 230 ------ src/component/Breadcrumb/Breadcrumb.jsx | 39 - src/component/Card/Card.jsx | 35 - src/component/Card/style.css | 55 -- src/component/ClassCard/ClassCard.jsx | 24 - src/component/ClassCard/style.css | 23 - src/component/CourseCard/CourseCard.jsx | 16 - src/component/CourseCard/style.css | 39 - src/component/CourseDetails/CourseDetails.tsx | 317 -------- src/component/CourseDetails/style.css | 43 -- src/component/CourseNavBar/CourseNavBar.jsx | 71 -- src/component/CourseNavBar/style.css | 46 -- src/component/CourseUnitInfo/CourseUnit.tsx | 93 --- .../Dashboard/AdminCourses/Course.tsx | 10 - .../Dashboard/AdminCourses/CourseGrid.tsx | 482 ------------ .../Dashboard/AdminCourses/Courses.tsx | 23 - src/component/Dashboard/Courses/Course.tsx | 7 - .../Dashboard/Courses/CourseGrid.tsx | 520 ------------- src/component/Dashboard/Courses/Courses.tsx | 18 - .../Dashboard/Courses/Create_Course.tsx | 319 -------- .../Dashboard/Profile/DeleteUserButton.tsx | 92 --- src/component/Dashboard/Profile/Profile.tsx | 26 - src/component/Dashboard/Welcome/Welcome.tsx | 366 --------- src/component/Dashboard/Welcome/style.css | 145 ---- .../Dashboard/Welcome/style.module.css | 128 --- src/component/DashboardCard/DashboardCard.jsx | 19 - src/component/DashboardCard/style.css | 43 -- src/component/Enrollment/Enrollment.tsx | 93 --- .../FacultyDetails/FacultyDetails.tsx | 230 ------ .../FormUtil/AddtlSemesterPrompt.tsx | 85 -- .../FormUtil/AvailabilityCheckbox.tsx | 70 -- src/component/FormUtil/DegreeSelect.tsx | 34 - src/component/FormUtil/DepartmentSelect.tsx | 47 -- src/component/FormUtil/GPASelect.tsx | 51 -- src/component/FormUtil/HourSelect.tsx | 37 - src/component/FormUtil/NationalitySelect.tsx | 246 ------ src/component/FormUtil/PositionSelect.tsx | 36 - src/component/FormUtil/ProficiencySelect.tsx | 42 - src/component/FormUtil/RoleSelect.tsx | 33 - src/component/FormUtil/SemesterCheckbox.tsx | 59 -- .../FormUtil/SemesterStatusSelect.tsx | 47 -- src/component/Header/Header.module.scss | 11 - src/component/Header/Header.tsx | 177 ----- src/component/Header/UserIcon.jsx | 79 -- src/component/HeaderCard/HeaderCard.tsx | 28 - src/component/HeaderCard/style.css | 60 -- src/component/JobCard/JobCard.tsx | 33 - src/component/JobCard/style.css | 0 src/component/LogInCard/LogInCard.tsx | 276 ------- src/component/LogInCard/style.css | 202 ----- src/component/Profile/Profile.jsx | 21 - src/component/Profile/style.css | 37 - .../SemesterSelection/SemesterSelection.tsx | 77 -- src/component/SemesterSelection/style.css | 0 .../SemesterTimeline/SemesterTimeline.tsx | 35 - src/component/SemesterTimeline/style.css | 61 -- src/component/SignIn/SignInForm.tsx | 116 --- src/component/SignIn/style.css | 149 ---- src/component/SignIn/styleguide.css | 4 - src/component/SignOut/SignOutButton.tsx | 17 - src/component/SignUp/SignUpForm.tsx | 264 ------- src/component/SignUpCard/SignUpCard.tsx | 440 ----------- src/component/SignUpCard/style.module.css | 448 ----------- .../SmallClassCard/SmallClassCard.jsx | 24 - src/component/SmallClassCard/style.css | 23 - src/component/SmallHeader/SmallHeader.tsx | 16 - src/component/SmallHeader/style.css | 37 - src/component/Spinner/Spinner.tsx | 12 - src/component/Spinner/style.css | 22 - .../ThemeInteraction/ThemeToggleButton.tsx | 32 - src/component/Timeline/Timeline.tsx | 44 -- src/component/Timeline/style.css | 60 -- src/component/TopNavBar/TopNavBar.jsx | 20 - src/component/TopNavBar/style.css | 56 -- .../TopNavBarSigned/TopNavBarSigned.jsx | 125 --- src/component/TopNavBarSigned/style.css | 84 -- src/component/UnderDevelopment.tsx | 27 - .../VerifyEmailCard/VerifyEmailCard.tsx | 73 -- src/component/VerifyEmailCard/style.css | 203 ----- .../LoginLowFiWireframe.module.css | 291 ------- .../LoginScreen/LoginLowFiWireframe.tsx | 102 --- .../LoginScreen/color-block-frame.svg | 123 --- .../Wireframes/LoginScreen/ece-logo.png | Bin 3746 -> 0 bytes .../Dashboard/Applications/AppStatus.tsx | 0 .../Dashboard/Applications/AppView.tsx | 0 .../Dashboard/Applications/Application.tsx | 0 .../Applications/ApplicationDialog.tsx | 0 .../Applications/ApplicationGrid.tsx | 0 .../Dashboard/Applications/Applications.tsx | 0 .../Dashboard/Applications/AssignView.tsx | 0 .../Dashboard/Applications/AssignViewOnly.tsx | 0 .../Dashboard/Applications/AssignmentGrid.tsx | 0 .../Dashboard/Applications/style.css | 0 .../Dashboard/Users/ApprovalGrid.tsx | 0 .../Dashboard/Users/FacultyStats.tsx | 0 .../Dashboard/Users/StatsGrid.tsx | 0 .../Dashboard/Users/User.tsx | 0 .../Dashboard/Users/UserGrid.tsx | 0 .../Dashboard/Users/Users.tsx | 0 .../EceLogoPng/CCLogo.svg | 0 .../EceLogoPng/EceLogoPng.jsx | 0 .../EceLogoPng/style.css | 0 src/components/Research/EditResearchModal.tsx | 172 +---- src/components/Research/Modal.tsx | 180 +---- .../Research/shared/ImageUploadField.tsx | 100 +++ .../Research/shared/researchModalUtils.ts | 106 +++ src/constants/research.ts | 131 ++++ src/constants/theme.ts | 144 ++++ src/hooks/old/useFetchTempPastCourses.ts | 89 --- src/hooks/old/usePastCourses.ts | 89 --- src/oldPages/Apply/inacessible.tsx | 62 -- src/oldPages/Apply/page.tsx | 623 --------------- src/oldPages/Apply/style.css | 115 --- src/oldPages/Course/[className]/page.tsx | 148 ---- src/oldPages/Course/[className]/style.css | 0 src/oldPages/Course/page.tsx | 227 ------ src/oldPages/Course/style.css | 74 -- src/oldPages/Statuse/page.tsx | 178 ----- src/oldPages/Statuse/style.css | 183 ----- src/oldPages/about/page.tsx | 92 --- src/oldPages/about/style.css | 280 ------- src/oldPages/about/style.module.css | 392 ---------- src/oldPages/about/uf admin 1.png | Bin 529000 -> 0 bytes src/oldPages/about/uf faculty 1.png | Bin 463670 -> 0 bytes src/oldPages/about/ufstudents.png | Bin 582788 -> 0 bytes src/oldPages/application/[className]/page.tsx | 384 --------- .../application/[className]/style.css | 24 - src/oldPages/application/page.tsx | 150 ---- src/oldPages/application/semesterselect.tsx | 110 --- src/oldPages/application/style.css | 39 - src/oldPages/dashboard/page.tsx | 39 - src/oldPages/signup/page.tsx | 59 -- src/oldPages/signup/style.css | 248 ------ src/services/firebase.ts | 13 + src/services/researchService.ts | 189 +++++ src/types/research.ts | 126 +++ src/utils/researchFilters.ts | 136 ++++ 165 files changed, 1179 insertions(+), 15525 deletions(-) delete mode 100644 .claude/settings.local.json delete mode 100644 src/component/ApplicantCard/ApplicantCard.jsx delete mode 100644 src/component/ApplicantCard/style.css delete mode 100644 src/component/ApplicantCardApprove/ApplicantCardApprove.tsx delete mode 100644 src/component/ApplicantCardApprove/style.css delete mode 100644 src/component/ApplicantCardApprovedeny/ApplicantCardApprovedeny.tsx delete mode 100644 src/component/ApplicantCardApprovedeny/style.css delete mode 100644 src/component/ApplicantCardAssign/ApplicantCardAssign.tsx delete mode 100644 src/component/ApplicantCardAssign/handleSendRenewEmail.ts delete mode 100644 src/component/ApplicantCardAssign/style.css delete mode 100644 src/component/ApplicantCardDeny/ApplicantCardDeny.tsx delete mode 100644 src/component/ApplicantCardDeny/style.css delete mode 100644 src/component/ApplicationStatusCard/ApplicationStatusCard.jsx delete mode 100644 src/component/ApplicationStatusCard/style.css delete mode 100644 src/component/ApplicationStatusCardAccepted/ApplicationStatusCardAccepted.jsx delete mode 100644 src/component/ApplicationStatusCardAccepted/style.css delete mode 100644 src/component/ApplicationStatusCardDenied/ApplicationStatusCardDenied.jsx delete mode 100644 src/component/ApplicationStatusCardDenied/style.css delete mode 100644 src/component/ApplicationsCard/ApplicationsCard.jsx delete mode 100644 src/component/ApplicationsCard/style.css delete mode 100644 src/component/Bio/Bio.jsx delete mode 100644 src/component/Bio/style.module.css delete mode 100644 src/component/BottomMenu/BottomMenu.tsx delete mode 100644 src/component/Breadcrumb/Breadcrumb.jsx delete mode 100644 src/component/Card/Card.jsx delete mode 100644 src/component/Card/style.css delete mode 100644 src/component/ClassCard/ClassCard.jsx delete mode 100644 src/component/ClassCard/style.css delete mode 100644 src/component/CourseCard/CourseCard.jsx delete mode 100644 src/component/CourseCard/style.css delete mode 100644 src/component/CourseDetails/CourseDetails.tsx delete mode 100644 src/component/CourseDetails/style.css delete mode 100644 src/component/CourseNavBar/CourseNavBar.jsx delete mode 100644 src/component/CourseNavBar/style.css delete mode 100644 src/component/CourseUnitInfo/CourseUnit.tsx delete mode 100644 src/component/Dashboard/AdminCourses/Course.tsx delete mode 100644 src/component/Dashboard/AdminCourses/CourseGrid.tsx delete mode 100644 src/component/Dashboard/AdminCourses/Courses.tsx delete mode 100644 src/component/Dashboard/Courses/Course.tsx delete mode 100644 src/component/Dashboard/Courses/CourseGrid.tsx delete mode 100644 src/component/Dashboard/Courses/Courses.tsx delete mode 100644 src/component/Dashboard/Courses/Create_Course.tsx delete mode 100644 src/component/Dashboard/Profile/DeleteUserButton.tsx delete mode 100644 src/component/Dashboard/Profile/Profile.tsx delete mode 100644 src/component/Dashboard/Welcome/Welcome.tsx delete mode 100644 src/component/Dashboard/Welcome/style.css delete mode 100644 src/component/Dashboard/Welcome/style.module.css delete mode 100644 src/component/DashboardCard/DashboardCard.jsx delete mode 100644 src/component/DashboardCard/style.css delete mode 100644 src/component/Enrollment/Enrollment.tsx delete mode 100644 src/component/FacultyDetails/FacultyDetails.tsx delete mode 100644 src/component/FormUtil/AddtlSemesterPrompt.tsx delete mode 100644 src/component/FormUtil/AvailabilityCheckbox.tsx delete mode 100644 src/component/FormUtil/DegreeSelect.tsx delete mode 100644 src/component/FormUtil/DepartmentSelect.tsx delete mode 100644 src/component/FormUtil/GPASelect.tsx delete mode 100644 src/component/FormUtil/HourSelect.tsx delete mode 100644 src/component/FormUtil/NationalitySelect.tsx delete mode 100644 src/component/FormUtil/PositionSelect.tsx delete mode 100644 src/component/FormUtil/ProficiencySelect.tsx delete mode 100644 src/component/FormUtil/RoleSelect.tsx delete mode 100644 src/component/FormUtil/SemesterCheckbox.tsx delete mode 100644 src/component/FormUtil/SemesterStatusSelect.tsx delete mode 100644 src/component/Header/Header.module.scss delete mode 100644 src/component/Header/Header.tsx delete mode 100644 src/component/Header/UserIcon.jsx delete mode 100644 src/component/HeaderCard/HeaderCard.tsx delete mode 100644 src/component/HeaderCard/style.css delete mode 100644 src/component/JobCard/JobCard.tsx delete mode 100644 src/component/JobCard/style.css delete mode 100644 src/component/LogInCard/LogInCard.tsx delete mode 100644 src/component/LogInCard/style.css delete mode 100644 src/component/Profile/Profile.jsx delete mode 100644 src/component/Profile/style.css delete mode 100644 src/component/SemesterSelection/SemesterSelection.tsx delete mode 100644 src/component/SemesterSelection/style.css delete mode 100644 src/component/SemesterTimeline/SemesterTimeline.tsx delete mode 100644 src/component/SemesterTimeline/style.css delete mode 100644 src/component/SignIn/SignInForm.tsx delete mode 100644 src/component/SignIn/style.css delete mode 100644 src/component/SignIn/styleguide.css delete mode 100644 src/component/SignOut/SignOutButton.tsx delete mode 100644 src/component/SignUp/SignUpForm.tsx delete mode 100644 src/component/SignUpCard/SignUpCard.tsx delete mode 100644 src/component/SignUpCard/style.module.css delete mode 100644 src/component/SmallClassCard/SmallClassCard.jsx delete mode 100644 src/component/SmallClassCard/style.css delete mode 100644 src/component/SmallHeader/SmallHeader.tsx delete mode 100644 src/component/SmallHeader/style.css delete mode 100644 src/component/Spinner/Spinner.tsx delete mode 100644 src/component/Spinner/style.css delete mode 100644 src/component/ThemeInteraction/ThemeToggleButton.tsx delete mode 100644 src/component/Timeline/Timeline.tsx delete mode 100644 src/component/Timeline/style.css delete mode 100644 src/component/TopNavBar/TopNavBar.jsx delete mode 100644 src/component/TopNavBar/style.css delete mode 100644 src/component/TopNavBarSigned/TopNavBarSigned.jsx delete mode 100644 src/component/TopNavBarSigned/style.css delete mode 100644 src/component/UnderDevelopment.tsx delete mode 100644 src/component/VerifyEmailCard/VerifyEmailCard.tsx delete mode 100644 src/component/VerifyEmailCard/style.css delete mode 100644 src/component/Wireframes/LoginScreen/LoginLowFiWireframe.module.css delete mode 100644 src/component/Wireframes/LoginScreen/LoginLowFiWireframe.tsx delete mode 100644 src/component/Wireframes/LoginScreen/color-block-frame.svg delete mode 100644 src/component/Wireframes/LoginScreen/ece-logo.png rename src/{component => components}/Dashboard/Applications/AppStatus.tsx (100%) rename src/{component => components}/Dashboard/Applications/AppView.tsx (100%) rename src/{component => components}/Dashboard/Applications/Application.tsx (100%) rename src/{component => components}/Dashboard/Applications/ApplicationDialog.tsx (100%) rename src/{component => components}/Dashboard/Applications/ApplicationGrid.tsx (100%) rename src/{component => components}/Dashboard/Applications/Applications.tsx (100%) rename src/{component => components}/Dashboard/Applications/AssignView.tsx (100%) rename src/{component => components}/Dashboard/Applications/AssignViewOnly.tsx (100%) rename src/{component => components}/Dashboard/Applications/AssignmentGrid.tsx (100%) rename src/{component => components}/Dashboard/Applications/style.css (100%) rename src/{component => components}/Dashboard/Users/ApprovalGrid.tsx (100%) rename src/{component => components}/Dashboard/Users/FacultyStats.tsx (100%) rename src/{component => components}/Dashboard/Users/StatsGrid.tsx (100%) rename src/{component => components}/Dashboard/Users/User.tsx (100%) rename src/{component => components}/Dashboard/Users/UserGrid.tsx (100%) rename src/{component => components}/Dashboard/Users/Users.tsx (100%) rename src/{component => components}/EceLogoPng/CCLogo.svg (100%) rename src/{component => components}/EceLogoPng/EceLogoPng.jsx (100%) rename src/{component => components}/EceLogoPng/style.css (100%) create mode 100644 src/components/Research/shared/ImageUploadField.tsx create mode 100644 src/components/Research/shared/researchModalUtils.ts create mode 100644 src/constants/research.ts create mode 100644 src/constants/theme.ts delete mode 100644 src/hooks/old/useFetchTempPastCourses.ts delete mode 100644 src/hooks/old/usePastCourses.ts delete mode 100644 src/oldPages/Apply/inacessible.tsx delete mode 100644 src/oldPages/Apply/page.tsx delete mode 100644 src/oldPages/Apply/style.css delete mode 100644 src/oldPages/Course/[className]/page.tsx delete mode 100644 src/oldPages/Course/[className]/style.css delete mode 100644 src/oldPages/Course/page.tsx delete mode 100644 src/oldPages/Course/style.css delete mode 100644 src/oldPages/Statuse/page.tsx delete mode 100644 src/oldPages/Statuse/style.css delete mode 100644 src/oldPages/about/page.tsx delete mode 100644 src/oldPages/about/style.css delete mode 100644 src/oldPages/about/style.module.css delete mode 100644 src/oldPages/about/uf admin 1.png delete mode 100644 src/oldPages/about/uf faculty 1.png delete mode 100644 src/oldPages/about/ufstudents.png delete mode 100644 src/oldPages/application/[className]/page.tsx delete mode 100644 src/oldPages/application/[className]/style.css delete mode 100644 src/oldPages/application/page.tsx delete mode 100644 src/oldPages/application/semesterselect.tsx delete mode 100644 src/oldPages/application/style.css delete mode 100644 src/oldPages/dashboard/page.tsx delete mode 100644 src/oldPages/signup/page.tsx delete mode 100644 src/oldPages/signup/style.css create mode 100644 src/services/firebase.ts create mode 100644 src/services/researchService.ts create mode 100644 src/types/research.ts create mode 100644 src/utils/researchFilters.ts diff --git a/.claude/settings.local.json b/.claude/settings.local.json deleted file mode 100644 index 9f7f98c..0000000 --- a/.claude/settings.local.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "permissions": { - "allow": [ - "Bash(git merge:*)", - "Bash(git rm:*)", - "Bash(git commit -m \"$\\(cat <<''EOF''\nMerge main into researchpage with Research page refactoring\n\n- Refactored Research page to use PageLayout component with SideNav/TopBar\n- Updated hooks to use useUserInfo instead of getAuth/useUserRole directly\n- Removed HeaderCard from FacultyResearchView and StudentResearchView\n- Layout now handled by PageLayout component for consistency\n\nCo-Authored-By: Claude Opus 4.5 \nEOF\n\\)\")", - "Bash(npx next build:*)", - "Bash(ls -la \"c:\\\\Users\\\\Oling\\\\Documents\\\\courseconnect\\\\src\\\\app\\\\applications\"\" 2>&1 || echo \"Directory may not exist \")", - "Bash(npx tsc:*)", - "Bash(npm run build:*)" - ] - } -} diff --git a/.gitignore b/.gitignore index 90e388e..48525f6 100644 --- a/.gitignore +++ b/.gitignore @@ -44,4 +44,8 @@ playwright-report nul test-results playwright/.auth -playwright.accounts.json \ No newline at end of file +playwright.accounts.json + +# Claude Code +.claude/ +CLAUDE.md \ No newline at end of file diff --git a/src/app/Research/page.tsx b/src/app/Research/page.tsx index 393c90f..8d0c6c9 100644 --- a/src/app/Research/page.tsx +++ b/src/app/Research/page.tsx @@ -4,13 +4,13 @@ import { Toaster } from 'react-hot-toast'; import { useUserInfo } from '@/hooks/User/useGetUserInfo'; import { getNavItems } from '@/hooks/useGetItems'; import PageLayout from '@/components/PageLayout/PageLayout'; -import firebase from '@/firebase/firebase_config'; import StudentResearchView from '@/components/Research/StudentResearchView'; import FacultyResearchView from '@/components/Research/FacultyResearchView'; +import { ResearchListing } from '@/app/models/ResearchModel'; import { - ResearchListing, - normalizeResearchListing, -} from '@/app/models/ResearchModel'; + fetchResearchListings, + createResearchListing, +} from '@/services/researchService'; const ResearchPage: React.FC = () => { const [user, role, loading, error] = useUserInfo(); @@ -23,41 +23,22 @@ const ResearchPage: React.FC = () => { ); const getResearchListings = useCallback(async () => { - let collectionRef: firebase.firestore.Query = - firebase.firestore().collection('research-listings'); - if (department) { - collectionRef = collectionRef.where('department', '==', department); - } - if (studentLevel) { - collectionRef = collectionRef.where('student_level', '==', studentLevel); + try { + const listings = await fetchResearchListings({ + department, + studentLevel, + }); + setResearchListings(listings); + } catch (error) { + console.error('Error fetching research listings:', error); + setResearchListings([]); } - let snapshot = await collectionRef.get(); - let listings: ResearchListing[] = await Promise.all( - snapshot.docs.map(async (doc: any) => { - const detailsSnap = await doc.ref.collection('applications').get(); - const apps = detailsSnap.docs.map( - (d: firebase.firestore.QueryDocumentSnapshot) => ({ - id: d.id, - ...d.data(), - }) - ); - return normalizeResearchListing({ - docID: doc.id, - applications: apps, - ...doc.data(), - }); - }) - ); - setResearchListings(listings); }, [department, studentLevel]); const postNewResearchPosition = useCallback(async (formData: any) => { try { - const docRef = await firebase - .firestore() - .collection('research-listings') - .add(formData); - console.log('Document written with ID: ', docRef.id); + const docId = await createResearchListing(formData); + console.log('Document written with ID: ', docId); } catch (e) { console.error('Error adding document: ', e); } diff --git a/src/app/admin-applications/page.tsx b/src/app/admin-applications/page.tsx index ff6dd49..3940823 100644 --- a/src/app/admin-applications/page.tsx +++ b/src/app/admin-applications/page.tsx @@ -6,8 +6,8 @@ import { Toaster, toast } from 'react-hot-toast'; import GetUserRole from '@/firebase/util/GetUserRole'; import 'firebase/firestore'; -import Applications from '@/component/Dashboard/Applications/Applications'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; +import Applications from '@/components/Dashboard/Applications/Applications'; +import HeaderCard from '@/components/HeaderCard/HeaderCard'; export default function AdminApplications() { let { user } = useAuth(); @@ -19,20 +19,21 @@ export default function AdminApplications() { return ( <> - - - - + + + + + - + ); } diff --git a/src/app/faculty-stats/page.tsx b/src/app/faculty-stats/page.tsx index f2ad004..591415a 100644 --- a/src/app/faculty-stats/page.tsx +++ b/src/app/faculty-stats/page.tsx @@ -15,8 +15,8 @@ import GetUserRole from '@/firebase/util/GetUserRole'; import 'firebase/firestore'; import firebase from '@/firebase/firebase_config'; import { read, utils, writeFile, readFile } from 'xlsx'; -import FacultyStats from '@/component/Dashboard/Users/FacultyStats'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; +import FacultyStats from '@/components/Dashboard/Users/FacultyStats'; +import HeaderCard from '@/components/HeaderCard/HeaderCard'; export default function User() { const { user } = useAuth(); @@ -107,140 +107,141 @@ export default function User() { if (role !== 'admin') return
Forbidden
; return ( <> - - - - (event.currentTarget.value = '')} - /> - - -
-
+
+
- - setOpen(false)} - > - + setOpen(false)} > - Clear Data - -
- - - Are you sure you want to clear all existing faculty - statistics? - - - - + - - -
-
+ + + + +
- +
); } diff --git a/src/app/models/ResearchModel.ts b/src/app/models/ResearchModel.ts index c360d9b..eb6dcc3 100644 --- a/src/app/models/ResearchModel.ts +++ b/src/app/models/ResearchModel.ts @@ -30,7 +30,12 @@ export interface ResearchListing { // System fields creator_id?: string; faculty_members?: string[]; - applications?: any[]; + applications?: Array<{ + id: string; + student_id: string; + app_status: 'Pending' | 'Approved' | 'Denied'; + [key: string]: any; + }>; } /** diff --git a/src/app/page.tsx b/src/app/page.tsx index d973948..f18f50c 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,4 +1,4 @@ -import { EceLogoPng } from '@/component/EceLogoPng/EceLogoPng'; +import { EceLogoPng } from '@/components/EceLogoPng/EceLogoPng'; import styles from './style.module.css'; import AuthSwitcher from './AuthSwitcher'; export const metadata = { diff --git a/src/component/ApplicantCard/ApplicantCard.jsx b/src/component/ApplicantCard/ApplicantCard.jsx deleted file mode 100644 index cf06c15..0000000 --- a/src/component/ApplicantCard/ApplicantCard.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react'; -import './style.css'; - -export const ApplicantCard = () => { - return ( -
-
Firstname Lastname
-
UFID: 12345678
-
-
-
-
Denied
-
-
-
- ); -}; diff --git a/src/component/ApplicantCard/style.css b/src/component/ApplicantCard/style.css deleted file mode 100644 index 02fde71..0000000 --- a/src/component/ApplicantCard/style.css +++ /dev/null @@ -1,78 +0,0 @@ -.applicant-card { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 107px; - position: relative; - width: 1372px; - } - - .applicant-card .text-wrapper { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 24px; - font-weight: 400; - left: 133px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 16px; - } - - .applicant-card .div { - color: #959595; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 16px; - font-weight: 400; - left: 133px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 45px; - white-space: nowrap; - } - - .applicant-card .ellipse { - background-color: #9d9d9d94; - border: 2px solid; - border-color: #4c4c4c; - border-radius: 35.5px; - height: 71px; - left: 32px; - position: absolute; - top: 17px; - width: 71px; - } - - .applicant-card .applicant-status { - height: 57px; - left: 1195px; - position: absolute; - top: 24px; - width: 159px; - } - - .applicant-card .overlap-group { - background-color: #d327271f; - border: 2px solid; - border-color: #d32727; - border-radius: 10px; - height: 57px; - position: relative; - width: 157px; - } - - .applicant-card .text-wrapper-2 { - color: #d32727; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 24px; - font-weight: 500; - left: -2px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 12px; - width: 157px; - } - \ No newline at end of file diff --git a/src/component/ApplicantCardApprove/ApplicantCardApprove.tsx b/src/component/ApplicantCardApprove/ApplicantCardApprove.tsx deleted file mode 100644 index 28f3c4a..0000000 --- a/src/component/ApplicantCardApprove/ApplicantCardApprove.tsx +++ /dev/null @@ -1,350 +0,0 @@ -import { FunctionComponent, useCallback } from 'react'; -import './style.css'; -import firebase from '@/firebase/firebase_config'; -import 'firebase/firestore'; -import Dialog from '@mui/material/Dialog'; -import DialogActions from '@mui/material/DialogActions'; -import DialogContent from '@mui/material/DialogContent'; -import DialogContentText from '@mui/material/DialogContentText'; -import DialogTitle from '@mui/material/DialogTitle'; -import Button from '@mui/material/Button'; - -import { query, where, collection, getDocs, getDoc } from 'firebase/firestore'; -interface ApplicantCardProps { - id: string; - uf_email: string; - firstname: string; - lastname: string; - number: string; - position: string; - semester: string; - availability: string; - department: string; - degree: string; - collegestatus: string; - qualifications: string; - resume: string; - plan: string; - gpa: string; - expanded: boolean; - onExpandToggle: any; - openReview: boolean; - setOpenReviewDialog: (value: boolean) => void; - currentStu: string; - setCurrentStu: (value: string) => void; - className: string; -} -const ApplicantCardApprove: FunctionComponent = ({ - id, - uf_email, - firstname, - lastname, - number, - position, - semester, - availability, - department, - degree, - collegestatus, - qualifications, - resume, - plan, - gpa, - expanded, - onExpandToggle, - openReview, - setOpenReviewDialog, - currentStu, - setCurrentStu, - - className, -}) => { - const db = firebase.firestore(); - const handleMoveReview = async (event: React.FormEvent) => { - event.preventDefault(); - - try { - const statusRef = db.collection('applications').doc(currentStu); - let doc = await getDoc(statusRef); - let coursesMap = doc.data().courses; - - coursesMap[className] = 'applied'; - await statusRef.update({ courses: coursesMap }); - console.log('Application moved successfully'); - window.location.reload(); - } catch (error) { - console.error('Error approving application:', error); - } - }; - - const handleCloseReview = () => { - setOpenReviewDialog(false); - }; - - const handleOpenReview = useCallback((event: any) => { - event?.stopPropagation(); - - setOpenReviewDialog(true); - setCurrentStu(id); - }, []); - - const renderReviewDialog = () => ( - - - Review Applicant - -
- - - Are you sure you want to reevaluate this applicant? - - - - - - -
-
- ); - const handleCardClick = () => { - onExpandToggle(); - }; - - return ( - <> - {renderReviewDialog()} -
- {!expanded && ( - <> -
-
-
- {firstname[0].toUpperCase() + lastname[0].toUpperCase()} -
-
-
Email: {uf_email}
-
- {firstname} {lastname} -
-
- -
-
-
Approved
-
-
- - )} - - {expanded && ( -
-
-
-
- {firstname[0].toUpperCase() + lastname[0].toUpperCase()} -
-
-
-
- {firstname} {lastname} -
- -
-
-
Approved
-
-
-
-
{uf_email}
-
{number}
-
-
-
- -
-
-
Applying for:
-
{position}
-
- -
-
Availability:
-
{availability.join(', ')}
-
- -

-
-
-
Department:
-
- {department} -
-
- -
-
Degree:
-
- {degree} -
-
- -
-
GPA:
-
- {gpa} -
-
-
- -
- Qualifications: -
-
- {qualifications} -
-
- Graduate Plan: -
-
- {plan} -
-
- Resume Link: -
- {resume ? ( - - {resume} - - ) : ( -
- Resume Missing -
- )} -
- -
- )} -
- - ); -}; - -export default ApplicantCardApprove; diff --git a/src/component/ApplicantCardApprove/style.css b/src/component/ApplicantCardApprove/style.css deleted file mode 100644 index 080aadc..0000000 --- a/src/component/ApplicantCardApprove/style.css +++ /dev/null @@ -1,91 +0,0 @@ -.applicantCardApprove1{ - position: relative; - margin: 0 28px 0 40px; - display: flex; - align-items: center; - text-align: left; - font-size: 24px; - color: #000; - - font-family: 'SF Pro Display' , Helvetica; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px rgba(0, 0, 0, 0.25); - justify-content: space-between; - cursor: pointer; - - } - - - - .ellipse { - - font-family: 'SF Pro Display' , Helvetica; - position: absolute; - height: 71px; - width: 71px; - margin: 17px 0 19px 32px; - border-radius: 50%; - background-color: rgba(158, 158, 158, 0.58); - border: 2px solid #4d4d4d; - box-sizing: border-box; - display: flex; - align-items: center; - justify-content: center; - } - .initial { - - font-family: 'SF Pro Display' , Helvetica; - color:#ffffff; - } - .name { - - font-family: 'SF Pro Display' , Helvetica; - margin: 17px 0 61px 133px; - } - .ufid { - - font-family: 'SF Pro Display' , Helvetica; - position: absolute; - margin: 46px 0 42px 133px; - font-size: 16px; - color: #9e9e9e; - } - - .thumbsContainer1{ - position: absolute; - right: 20px; - align-items: center; - margin: 24px 0 26px 0; - justify-content: center; - } - - - - .approved1 { - - font-family: 'SF Pro Display' , Helvetica; - font-size: 24px; - font-weight: 500; - color: #22884c; - text-align: left; - display: inline-block; - width: 80px; - } - - .applicantStatus3{ - - font-family: 'SF Pro Display' , Helvetica; - border-radius: 10px; - background-color:rgba(34, 136, 76, 0.12); - border: 2px solid #22884c; - box-sizing: border-box; - padding: 14px 55px 14px 30px; - - } - - - - - - /* Add any other styles as needed */ - diff --git a/src/component/ApplicantCardApprovedeny/ApplicantCardApprovedeny.tsx b/src/component/ApplicantCardApprovedeny/ApplicantCardApprovedeny.tsx deleted file mode 100644 index 0e9ab5b..0000000 --- a/src/component/ApplicantCardApprovedeny/ApplicantCardApprovedeny.tsx +++ /dev/null @@ -1,510 +0,0 @@ -// @ts-nocheck -import { FunctionComponent, useCallback } from 'react'; -import './style.css'; -import ThumbDownOffAltIcon from '@mui/icons-material/ThumbDownOffAlt'; -import ThumbUpOffAltIcon from '@mui/icons-material/ThumbUpOffAlt'; -import Dialog from '@mui/material/Dialog'; -import DialogActions from '@mui/material/DialogActions'; -import DialogContent from '@mui/material/DialogContent'; -import DialogContentText from '@mui/material/DialogContentText'; -import DialogTitle from '@mui/material/DialogTitle'; -import Button from '@mui/material/Button'; -import { wrap } from 'module'; -import firebase from '@/firebase/firebase_config'; -import 'firebase/firestore'; - -import { query, where, collection, getDocs, getDoc } from 'firebase/firestore'; -interface ApplicantCardProps { - id: string; - uf_email: string; - firstname: string; - lastname: string; - number: string; - position: string; - semester: string; - availability: string; - department: string; - degree: string; - collegestatus: string; - qualifications: string; - resume: string; - plan: string; - gpa: string; - expanded: boolean; - onExpandToggle: any; - openApprove: boolean; - openDeny: boolean; - setOpenApproveDialog: (value: boolean) => void; - setOpenDenyDialog: (value: boolean) => void; - currentStu: string; - setCurrentStu: (value: string) => void; - className: string; -} - -const ApplicantCardApprovedeny: FunctionComponent = ({ - id, - uf_email, - firstname, - lastname, - number, - position, - semester, - availability, - department, - degree, - collegestatus, - qualifications, - resume, - plan, - gpa, - expanded, - onExpandToggle, - openApprove, - openDeny, - setOpenApproveDialog, - setOpenDenyDialog, - currentStu, - - setCurrentStu, - className, -}) => { - const handleDenyEmail = async () => { - try { - const response = await fetch( - 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - type: 'applicationStatusDenied', - data: { - user: { - name: `${firstname ?? ''} ${lastname ?? ''}`.trim(), - email: uf_email, - }, - position: position, - classCode: className, - }, - }), - } - ); - - if (response.ok) { - const data = await response.json(); - console.log('Email sent successfully:', data); - } else { - throw new Error('Failed to send email'); - } - } catch (error) { - console.error('Error sending email:', error); - } - }; - - const db = firebase.firestore(); - - const handleApproveSubmit = async ( - event: React.FormEvent - ) => { - event.preventDefault(); - - try { - const statusRef = db.collection('applications').doc(currentStu); - let doc = await getDoc(statusRef); - let coursesMap = doc.data().courses; - - coursesMap[className] = 'accepted'; - await statusRef.update({ courses: coursesMap }); - console.log('Application approved successfully'); - window.location.reload(); - } catch (error) { - console.error('Error approving application:', error); - } - }; - - const handleDenySubmit = async (event: React.FormEvent) => { - event.preventDefault(); - try { - const statusRef = db.collection('applications').doc(currentStu); - let doc = await getDoc(statusRef); - let coursesMap = doc.data().courses; - - coursesMap[className] = 'denied'; - await statusRef.update({ courses: coursesMap }); - console.log('Application denied successfully'); - handleDenyEmail(); - window.location.reload(); - } catch (error) { - console.error('Error denying application:', error); - } - }; - - const handleCloseApprove = () => { - setOpenApproveDialog(false); - }; - - const handleCloseDeny = () => { - setOpenDenyDialog(false); - }; - - const onThumbUpClick = useCallback((event: any) => { - event?.stopPropagation(); - - setOpenApproveDialog(true); - setCurrentStu(id); - }, []); - - const onThumbDownIconClick = useCallback((event: any) => { - event?.stopPropagation(); - - setOpenDenyDialog(true); - setCurrentStu(id); - }, []); - - const renderApproveDialog = () => ( - - - {' '} - Approve Applicant - -
- - - Are you sure you want to approve this applicant? - - - - - - -
-
- ); - const renderDenyDialog = () => ( - - - Deny Applicant - -
- - - Are you sure you want to deny this applicant? - - - - - - -
-
- ); - - const handleCardClick = () => { - onExpandToggle(); // Call the callback function to update parent state - }; - - return ( - <> - {renderApproveDialog()} - {renderDenyDialog()} -
- {!expanded && ( - <> -
-
-
- {firstname[0].toUpperCase() + lastname[0].toUpperCase()} -
-
-
-
- {firstname} {lastname} -
-
{uf_email}
-
-
- -
- - - -
-
Review
-
-
- - )} - - {expanded && ( -
-
-
-
- {firstname[0].toUpperCase() + lastname[0].toUpperCase()} -
-
-
-
- {firstname} {lastname} -
- -
-
{uf_email}
-
{number}
-
-
- - -
-
Review
-
-
-
-
- -
-
-
Applying for:
-
{position}
-
- -
-
Available Hours Per Week:
-
{availability.join(', ')}
-
- -

-
-
-
Department:
-
- {department} -
-
- -
-
Degree:
-
- {degree} -
-
- -
-
GPA:
-
- {gpa} -
-
-
- -
- Qualifications: -
-
- {qualifications} -
- -
- Resume Link: -
- - {resume} - -
-
- )} -
- - ); -}; - -export default ApplicantCardApprovedeny; diff --git a/src/component/ApplicantCardApprovedeny/style.css b/src/component/ApplicantCardApprovedeny/style.css deleted file mode 100644 index dc8af1f..0000000 --- a/src/component/ApplicantCardApprovedeny/style.css +++ /dev/null @@ -1,117 +0,0 @@ -.applicantCardApprovedeny1 { - position: relative; - margin: 0 28px 0 40px; - display: flex; - align-items: center; - - text-align: left; - font-size: 24px; - color: #000; - - font-family: "SF Pro Display-Regular", Helvetica; - - border-radius: 20px; - box-shadow: 0px 2px 20px 4px rgba(0, 0, 0, 0.25); - justify-content: space-between; - cursor: pointer; -} - -.ellipse { - height: 71px; - width: 71px; - margin: 17px 0 19px 32px; - border-radius: 50%; - background-color: rgba(158, 158, 158, 0.58); - border: 2px solid #4d4d4d; - box-sizing: border-box; - display: flex; - align-items: center; - justify-content: center; -} -.initials { - - font-family: 'SF Pro Display' , Helvetica; - color:#ffffff; -} -.name { - margin: 17px 0px 0px 133px; - white-space: nowrap; - -} -.number{ - margin: 50px 0 42px 350px; - font-size: 16px; - font-family: "SF Pro Display-Regular", Helvetica; - color: #9e9e9e; - -} - -.email1 { - position: absolute; - margin: 50px 0 42px 133px; - font-size: 16px; - font-family: "SF Pro Display-Regular", Helvetica; - color: #9e9e9e; -} - -.thumbsContainer { - position: absolute; - right: 20px; - align-items: center; - display: flex; - justify-content: space-around; - margin: 24px 0 26px 0; -} - -.thumbsUpIcon { - color: green; - cursor: pointer; - margin-right: 23px; - font-size: 2rem; -} - -.thumbsDownIcon { - color: red; - cursor: pointer; - margin-right: 31px; - font-size: 2rem; -} - -.review23 { - - font-size: 24px; - font-weight: 500; - font-family: "SF Pro Display-Regular", Helvetica !important; - color: #f2a900; - text-align: left; - display: inline-block; - width: 80px; - - -} -.applicantStatus23 { - - border-radius: 10px; - background-color: rgba(242, 169, 0, 0.12); - border: 2px solid #f2a900; - box-sizing: border-box; - padding: 14px 39px; - cursor: pointer; - display: inline-block; -} - -.description{ - margin-bottom: 31px; -} -.label50{ - margin-bottom: 31px; -} -.availability1{ - font-family: "SF Pro Display-Regular", "Helvetica"; - font-size: 20px; - font-weight: 400; - margin-bottom: 31px; - color:#4c4c4c; -} - -/* Add any other styles as needed */ diff --git a/src/component/ApplicantCardAssign/ApplicantCardAssign.tsx b/src/component/ApplicantCardAssign/ApplicantCardAssign.tsx deleted file mode 100644 index c58e24d..0000000 --- a/src/component/ApplicantCardAssign/ApplicantCardAssign.tsx +++ /dev/null @@ -1,731 +0,0 @@ -import { FunctionComponent, useCallback, useEffect, useState } from 'react'; -import './style.css'; -import firebase from '@/firebase/firebase_config'; -import 'firebase/firestore'; -import Dialog from '@mui/material/Dialog'; -import DialogActions from '@mui/material/DialogActions'; -import DialogContent from '@mui/material/DialogContent'; -import DialogContentText from '@mui/material/DialogContentText'; -import DialogTitle from '@mui/material/DialogTitle'; -import Button from '@mui/material/Button'; -import { Toaster, toast } from 'react-hot-toast'; -import { - AppBar, - Container, - Stack, - Paper, - Fade, - Box, - TextField, - Typography, -} from '@mui/material'; -import FocusTrap from '@mui/material/Unstable_TrapFocus'; -import { query, where, collection, getDocs, getDoc } from 'firebase/firestore'; -interface ApplicantCardProps { - id: string; - uf_email: string; - firstname: string; - lastname: string; - number: string; - position: string; - semester: string; - availability: string; - department: string; - degree: string; - collegestatus: string; - qualifications: string; - resume: string; - plan: string; - gpa: string; - expanded: boolean; - onExpandToggle: any; - openReview: boolean; - setOpenReviewDialog: (value: boolean) => void; - openRenew: boolean; - setOpenRenewDialog: (value: boolean) => void; - currentStu: string; - setCurrentStu: (value: string) => void; - className: string; -} -const ApplicantCardAssign: FunctionComponent = ({ - id, - uf_email, - firstname, - lastname, - number, - position, - semester, - availability, - department, - degree, - collegestatus, - qualifications, - resume, - plan, - gpa, - expanded, - onExpandToggle, - openReview, - setOpenReviewDialog, - openRenew, - setOpenRenewDialog, - currentStu, - setCurrentStu, - - className, -}) => { - const db = firebase.firestore(); - const [viewMessage, setViewMessage] = useState(false); - const [subject, setSubject] = useState( - () => localStorage.getItem('renewalSubject') || '' - ); - const [content, setContent] = useState( - () => localStorage.getItem('renewalContent') || '' - ); - const [errors, setErrors] = useState({ - subject: false, - content: false, - }); - const handleMoveReview = async (event: React.FormEvent) => { - event.preventDefault(); - - try { - const statusRef = db.collection('applications').doc(currentStu); - let doc = await getDoc(statusRef); - let coursesMap = doc.data()?.courses; - - coursesMap[className] = 'applied'; - await statusRef.update({ courses: coursesMap }); - window.location.reload(); - } catch (error) { - console.error('Error approving application:', error); - } - }; - - useEffect(() => { - setErrors({ - subject: subject.trim() === '', - content: content.trim() === '', - }); - }, [subject, content]); - - const handleSendRenwalEmail = async ( - event: React.FormEvent - ) => { - event.preventDefault(); - - if (errors.subject || errors.content) { - if (errors.subject) toast.error('Please enter a valid email subject!'); - if (errors.content) - toast.error('Please enter a valid email content section!'); - return; - } - try { - const response = await fetch( - 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - type: 'renewTA', - data: { - userEmail: uf_email, - message: content, - subject: subject, - }, - }), - } - ); - if (response.ok) { - toast.success('Email sent successfully'); - handleCloseDialog(); - } else { - let err; - try { - const json = await response.json(); - err = JSON.stringify(json); - } catch { - // fallback to plain text - err = await response.text(); - } - console.error('Cloud Function returned 400:', err); - throw new Error('Failed to send email'); - } - } catch (error) { - console.error('Error sending email:', error); - } - handleCloseDialog(); - toast.success('Email sent successfully'); - }; - - const handleCloseDialog = () => { - setOpenReviewDialog(false); - setOpenRenewDialog(false); - setViewMessage(false); - }; - - useEffect(() => { - if (openRenew) { - const draftSubj = localStorage.getItem('renewalSubject') ?? ''; - const draftCont = localStorage.getItem('renewalContent') ?? ''; - setSubject(draftSubj); - setContent(draftCont); - } - }, [openRenew]); - - const handleRenewalSave = () => { - handleSave(); - setViewMessage(false); - }; - const handleOpenReview = useCallback((event: any) => { - event?.stopPropagation(); - - setOpenReviewDialog(true); - setCurrentStu(id); - }, []); - - const handleViewMessage = () => { - setViewMessage(true); - }; - const handleOpenRenew = useCallback((event: any) => { - event?.stopPropagation(); - - setOpenRenewDialog(true); - setCurrentStu(id); - }, []); - - const handleSave = () => { - localStorage.setItem('renewalSubject', subject); - localStorage.setItem('renewalContent', content); - }; - const renderRenewDialog = () => - !viewMessage ? ( - - -
Renew
-
- {firstname} {lastname} -
-
-
- - - Are you sure you want to send a renewal to {firstname} {lastname}? - - - - - - - - -
{' '} -
- ) : ( - - -
-
- Renew {firstname} {lastname} -
-
- - Are you sure you want to send a renewal to {firstname} {lastname}? - -
-
- setSubject(e.target.value)} - value={subject} - error={errors.subject} - helperText={errors.subject ? 'Subject cannot be empty' : ''} - /> - setContent(e.target.value)} - sx={{ - '& textarea:focus::placeholder': { - opacity: 0, - transition: 'opacity 0.2s', - }, - }} - error={errors.content} - helperText={errors.content ? 'Content cannot be empty' : ''} - multiline - rows={10} - id="standard-basic" - placeholder="Content" - value={content} - /> -
- - - -
- - - - - - - - - - -
-
-
-
-
- ); - - const renderReviewDialog = () => ( - - - Review Applicant - -
- - - Are you sure you want to reevaluate this applicant? - - - - - - -
-
- ); - const handleCardClick = () => { - onExpandToggle(); - }; - - return ( - <> - {renderReviewDialog()} - {renderRenewDialog()} -
- {!expanded && ( - <> -
-
-
- {firstname[0].toUpperCase() + lastname[0].toUpperCase()} -
-
-
Email: {uf_email}
-
- {firstname} {lastname} -
-
- -
-
-
Renew
-
-
- - )} - - {expanded && ( -
-
-
-
- {firstname[0].toUpperCase() + lastname[0].toUpperCase()} -
-
-
-
- {firstname} {lastname} -
- -
-
-
Renew
-
-
-
-
{uf_email}
-
{number}
-
-
-
- -
-
-
Applying for:
-
{position}
-
- -
-
Availability:
-
{availability.join(', ')}
-
- -

-
-
-
Department:
-
- {department} -
-
- -
-
Degree:
-
- {degree} -
-
- -
-
GPA:
-
- {gpa} -
-
-
- -
- Qualifications: -
-
- {qualifications} -
-
- Graduate Plan: -
-
- {plan} -
-
- Resume Link: -
- {resume ? ( - - {resume} - - ) : ( -
- Resume Missing -
- )} -
- -
- )} -
- - ); -}; - -export default ApplicantCardAssign; diff --git a/src/component/ApplicantCardAssign/handleSendRenewEmail.ts b/src/component/ApplicantCardAssign/handleSendRenewEmail.ts deleted file mode 100644 index 220f265..0000000 --- a/src/component/ApplicantCardAssign/handleSendRenewEmail.ts +++ /dev/null @@ -1,38 +0,0 @@ -// export function handleSendRenewEmail = async (firstName: string, lastName: string, email:string, position: string, classCode: string) => { -// try { - -// // Send email using fetched application data -// const response = await fetch( -// 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', -// { -// method: 'POST', -// headers: { -// 'Content-Type': 'application/json', -// }, -// body: JSON.stringify({ -// type: 'renewTA', -// data: { -// user: { -// name: `${firstName?? ''} ${ -// lastName ?? '' -// }`.trim(), -// email: email, -// }, -// position: position, -// classCode: classCode, -// }, -// }), -// } -// ); - -// if (response.ok) { -// const data = await response.json(); -// console.log('Email sent successfully:', data); -// } else { -// throw new Error('Failed to send email'); -// } - -// } catch (error) { -// console.error('Error sending email:', error); -// } -// }; diff --git a/src/component/ApplicantCardAssign/style.css b/src/component/ApplicantCardAssign/style.css deleted file mode 100644 index 0ab5496..0000000 --- a/src/component/ApplicantCardAssign/style.css +++ /dev/null @@ -1,91 +0,0 @@ -.applicantCardApprove1{ - position: relative; - margin: 0 28px 0 40px; - display: flex; - align-items: center; - text-align: left; - font-size: 24px; - color: #000; - - font-family: 'SF Pro Display' , Helvetica; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px rgba(0, 0, 0, 0.25); - justify-content: space-between; - cursor: pointer; - - } - - - - .ellipse { - - font-family: 'SF Pro Display' , Helvetica; - position: absolute; - height: 71px; - width: 71px; - margin: 17px 0 19px 32px; - border-radius: 50%; - background-color: rgba(158, 158, 158, 0.58); - border: 2px solid #4d4d4d; - box-sizing: border-box; - display: flex; - align-items: center; - justify-content: center; - } - .initial { - - font-family: 'SF Pro Display' , Helvetica; - color:#ffffff; - } - .name { - - font-family: 'SF Pro Display' , Helvetica; - margin: 17px 0 61px 133px; - } - .ufid { - - font-family: 'SF Pro Display' , Helvetica; - position: absolute; - margin: 46px 0 42px 133px; - font-size: 16px; - color: #9e9e9e; - } - - .thumbsContainer1{ - position: absolute; - right: 20px; - align-items: center; - margin: 24px 0 26px 0; - justify-content: center; - } - - - - .approved2 { - - font-family: 'SF Pro Display' , Helvetica; - font-size: 24px; - font-weight: 500; - color: #0038FF; - text-align: left; - display: inline-block; - width: 80px; - } - - .applicantStatus2{ - - font-family: 'SF Pro Display' , Helvetica; - border-radius: 10px; - background-color:#D1E2FF; - border: 2px solid #0038FF; - box-sizing: border-box; - padding: 14px 25px 14px 35px; - - } - - - - - - /* Add any other styles as needed */ - diff --git a/src/component/ApplicantCardDeny/ApplicantCardDeny.tsx b/src/component/ApplicantCardDeny/ApplicantCardDeny.tsx deleted file mode 100644 index 60c7757..0000000 --- a/src/component/ApplicantCardDeny/ApplicantCardDeny.tsx +++ /dev/null @@ -1,348 +0,0 @@ -import { FunctionComponent, useCallback } from 'react'; -import './style.css'; - -import firebase from '@/firebase/firebase_config'; -import 'firebase/firestore'; -import Dialog from '@mui/material/Dialog'; -import DialogActions from '@mui/material/DialogActions'; -import DialogContent from '@mui/material/DialogContent'; -import DialogContentText from '@mui/material/DialogContentText'; -import DialogTitle from '@mui/material/DialogTitle'; -import Button from '@mui/material/Button'; - -import { query, where, collection, getDocs, getDoc } from 'firebase/firestore'; -interface ApplicantCardProps { - id: string; - uf_email: string; - firstname: string; - lastname: string; - number: string; - position: string; - semester: string; - availability: string; - department: string; - degree: string; - collegestatus: string; - qualifications: string; - resume: string; - plan: string; - gpa: string; - expanded: boolean; - onExpandToggle: any; - openReview: boolean; - setOpenReviewDialog: (value: boolean) => void; - currentStu: string; - setCurrentStu: (value: string) => void; - className: string; -} - -const ApplicantCardDeny: FunctionComponent = ({ - id, - uf_email, - firstname, - lastname, - number, - position, - semester, - availability, - department, - degree, - collegestatus, - qualifications, - resume, - plan, - gpa, - expanded, - onExpandToggle, - openReview, - setOpenReviewDialog, - currentStu, - setCurrentStu, - className, -}) => { - const db = firebase.firestore(); - const handleMoveReview = async (event: React.FormEvent) => { - event.preventDefault(); - - try { - const statusRef = db.collection('applications').doc(currentStu); - let doc = await getDoc(statusRef); - let coursesMap = doc.data().courses; - - coursesMap[className] = 'applied'; - await statusRef.update({ courses: coursesMap }); - console.log('Application moved successfully'); - window.location.reload(); - } catch (error) { - console.error('Error approving application:', error); - } - }; - - const handleCloseReview = () => { - setOpenReviewDialog(false); - }; - - const handleOpenReview = useCallback((event: any) => { - event?.stopPropagation(); - setOpenReviewDialog(true); - setCurrentStu(id); - }, []); - - const renderReviewDialog = () => ( - - - Review Applicant - -
- - - Are you sure you want to reevaluate this applicant? - - - - - - -
-
- ); - const handleCardClick = () => { - onExpandToggle(); - }; - - return ( - <> - {renderReviewDialog()} -
- {!expanded && ( - <> -
-
-
- {firstname[0].toUpperCase() + lastname[0].toUpperCase()} -
-
-
Email: {uf_email}
-
- {firstname} {lastname} -
-
- -
-
-
Denied
-
-
- - )} - {expanded && ( -
-
-
-
- {firstname[0].toUpperCase() + lastname[0].toUpperCase()} -
-
-
-
- {firstname} {lastname} -
- -
-
-
Denied
-
-
-
-
{uf_email}
-
{number}
-
-
-
- -
-
-
Applying for:
-
{position}
-
- -
-
Availability:
-
{availability.join(', ')}
-
- -

-
-
-
Department:
-
- {department} -
-
- -
-
Degree:
-
- {degree} -
-
- -
-
GPA:
-
- {gpa} -
-
-
- -
- Qualifications: -
-
- {qualifications} -
-
- Graduate Plan: -
-
- {plan} -
-
- Resume Link: -
- {resume ? ( - - {resume} - - ) : ( -
- Resume Missing -
- )} -
- -
- )} -
- - ); -}; - -export default ApplicantCardDeny; diff --git a/src/component/ApplicantCardDeny/style.css b/src/component/ApplicantCardDeny/style.css deleted file mode 100644 index 9350500..0000000 --- a/src/component/ApplicantCardDeny/style.css +++ /dev/null @@ -1,80 +0,0 @@ -.applicantCardDeny1 { - position: relative; - margin: 0 28px 0 40px; - display: flex; - align-items: center; - text-align: left; - font-size: 24px; - color: #000; - font-family: 'SF Pro Display' , Helvetica; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px rgba(0, 0, 0, 0.25); - justify-content: space-between; - cursor: pointer; - } - - - .ellipse { - font-family: 'SF Pro Display' , Helvetica; - position: absolute; - height: 71px; - width: 71px; - margin: 17px 0 19px 32px; - border-radius: 50%; - background-color: rgba(158, 158, 158, 0.58); - border: 2px solid #4d4d4d; - box-sizing: border-box; - display: flex; - align-items: center; - justify-content: center; - - } - .initials { - font-family: 'SF Pro Display' , Helvetica; - color:#ffffff; - font-weight: 400; - font-family: 'SF Pro Display'; - } - .name { - font-family: 'SF Pro Display' , Helvetica; - margin: 17px 0 61px 133px; - white-space: nowrap; - } - .ufid { - font-family: 'SF Pro Display' , Helvetica; - position: absolute; - margin: 50px 0 42px 133px; - font-size: 16px; - color: #9e9e9e; - } - - .thumbsContainer4 { - position: absolute; - right: 20px; - align-items: center; - - margin: 24px 0 26px 0; - } - - - .deny { - font-family: 'SF Pro Display' , Helvetica; - font-size: 24px; - font-weight: 500; - color: #d32727; - text-align: left; - display: inline-block; - width: 80px; - } - .applicantStatus { - font-family: 'SF Pro Display' , Helvetica; - border-radius: 10px; - background-color: rgba(211, 39, 39, 0.12); - border: 2px solid #d32727; - box-sizing: border-box; - padding: 14px 39px 14px 43px; - - } - - /* Add any other styles as needed */ - diff --git a/src/component/ApplicationStatusCard/ApplicationStatusCard.jsx b/src/component/ApplicationStatusCard/ApplicationStatusCard.jsx deleted file mode 100644 index 3aead49..0000000 --- a/src/component/ApplicationStatusCard/ApplicationStatusCard.jsx +++ /dev/null @@ -1,50 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; -import './style.css'; - -export const ApplicationStatusCard = ({ text, course, className }) => { - return ( -
-
-
-
Application
-
-
-
{text}
-
-
-
-
- {course} -
-
-
-
-
-
-
Status:
-
-
-
-
Application Under Review
-
-
-
- ); -}; - -ApplicationStatusCard.propTypes = { - text: PropTypes.string.isRequired, // Ensuring text is always required - course: PropTypes.string.isRequired, // Ensuring course is always required - className: PropTypes.string, // Optional className for custom styling -}; - -ApplicationStatusCard.defaultProps = { - className: '', // Default to an empty string if no class is provided -}; diff --git a/src/component/ApplicationStatusCard/style.css b/src/component/ApplicationStatusCard/style.css deleted file mode 100644 index 223189e..0000000 --- a/src/component/ApplicationStatusCard/style.css +++ /dev/null @@ -1,140 +0,0 @@ -.status-card2 { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 222px; - position: relative; - width: 716px; - margin-bottom: 18.75px; -} - -.status-card2 .overlap { - height: 186px; - left: 34px; - position: absolute; - top: 12px; - width: 204px; -} - -.status-card2 .inner-content { - height: 38px; - left: 0; - position: absolute; - top: 0; - width: 159px; -} - -.status-card2 .text-wrapper-6 { - color: black; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 32px; - font-weight: 500; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.status-card2 .coarse-assistant-wrapper { - height: 29px; - left: 0; - position: absolute; - top: 54px; - width: 172px; -} - -.status-card2 .text-wrapper-7 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 21px; - font-weight: 400; - left: 20; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 10px; -} - -.status-card2 .overlap-2 { - - color: black; - height: 100px; - left: 100px; - position: absolute; - top: 0; - width: 104px; -} - -.status-card2 .div-wrapper { - - color: black; - height: 19px; - left: 0; - position: absolute; - top: 88px; -} - -.status-card2 .text-wrapper-8 { - color: black; - font-size: 16px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.status-card2 .rectangle { - background-color: #9d9d9d; - height: 2px; - left: 100px; - position: absolute; - top: 92px; - transform: rotate(90deg); - width: 186px; -} - -.status-card2 .inner-content-2 { - height: 29px; - left: 354px; - position: absolute; - top: 66px; - width: 197px; -} - -.status-card2 .application-button { - height: 43px; - left: 454px; - position: absolute; - top: 60px; - width: 226px; - margin-top: 10px; -} - -.status-card2 .overlap-group-2 { - background-color: #f2a9001f; - border: 1px solid; - border-color: #f2a900; - border-radius: 10px; - height: 43px; - position: relative; - width: 224px; -} - -.status-card2 .text-wrapper-10 { - color: #f2a900; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 15px; - font-weight: 500; - left: 20px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 11px; - width: 182px; -} \ No newline at end of file diff --git a/src/component/ApplicationStatusCardAccepted/ApplicationStatusCardAccepted.jsx b/src/component/ApplicationStatusCardAccepted/ApplicationStatusCardAccepted.jsx deleted file mode 100644 index 283792d..0000000 --- a/src/component/ApplicationStatusCardAccepted/ApplicationStatusCardAccepted.jsx +++ /dev/null @@ -1,54 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; -import './style.css'; - -export const ApplicationStatusCardAccepted = ({ text, course, className }) => { - return ( -
-
-
-
Application
-
-
-
{text}
-
-
-
-
- {course} -
-
-
-
-
-
-
Status:
- -
- Please check your email to begin the onboarding process. -
-
-
-
-
Application Accepted!
-
-
-
- ); -}; - -ApplicationStatusCardAccepted.propTypes = { - text: PropTypes.string, - course: PropTypes.string, - className: PropTypes.string, -}; - -ApplicationStatusCardAccepted.defaultProps = { - className: '', // Default to an empty string if no class is provided -}; diff --git a/src/component/ApplicationStatusCardAccepted/style.css b/src/component/ApplicationStatusCardAccepted/style.css deleted file mode 100644 index deb11d7..0000000 --- a/src/component/ApplicationStatusCardAccepted/style.css +++ /dev/null @@ -1,156 +0,0 @@ -.status-card3 { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 222px; - position: relative; - width: 716px; - margin-bottom: 18.75px; - -} - -.status-card3 .overlap { - height: 186px; - left: 34px; - position: absolute; - top: 12px; - width: 204px; -} - -.status-card3 .inner-content { - height: 38px; - left: 0; - position: absolute; - top: 0; - width: 159px; -} - -.status-card3 .text-wrapper-6 { - color: black; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 32px; - font-weight: 500; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.status-card3 .coarse-assistant-wrapper { - height: 29px; - left: 0; - position: absolute; - top: 54px; - width: 172px; -} - -.status-card3 .text-wrapper-7 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 21px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 10px; -} - -.status-card3 .overlap-2 { - - color: black; - height: 100px; - left: 100px; - position: absolute; - top: 0; - width: 104px; -} - -.status-card3 .div-wrapper { - - color: black; - height: 19px; - left: 0; - position: absolute; - top: 88px; -} - -.status-card3 .text-wrapper-8 { - color: black; - font-size: 16px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.status-card3 .rectangle { - background-color: #9d9d9d; - height: 2px; - left: 100px; - position: absolute; - top: 92px; - transform: rotate(90deg); - width: 186px; -} - -.status-card3 .inner-content-2 { - height: 29px; - left: 354px; - - position: absolute; - top: 50px; - width: 197px; -} - -.status-card3 .text-wrapper-9 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 19px; - font-weight: 400; - left: 10px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 80px; - width: 300px; -} - -.status-card3 .application-button { - height: 43px; - left: 434px; - position: absolute; - top: 40px; - width: 226px; - margin-top: 10px; -} - -.status-card3 .overlap-group-34 { - background-color: #00f2301f; - border: 1px solid; - border-color: #00f230; - border-radius: 10px; - height: 43px; - position: relative; - width: 224px; -} - -.status-card3 .text-wrapper-19 { - color: #00a674; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 15px; - font-weight: 500; - left: 20px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 11px; - width: 182px; -} - diff --git a/src/component/ApplicationStatusCardDenied/ApplicationStatusCardDenied.jsx b/src/component/ApplicationStatusCardDenied/ApplicationStatusCardDenied.jsx deleted file mode 100644 index a96b1fd..0000000 --- a/src/component/ApplicationStatusCardDenied/ApplicationStatusCardDenied.jsx +++ /dev/null @@ -1,50 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; -import './style.css'; - -export const ApplicationStatusCardDenied = ({ text, course, className }) => { - return ( -
-
-
-
Application
-
-
-
{text}
-
-
-
-
- {course} -
-
-
-
-
-
-
Status:
-
-
-
-
Application Denied
-
-
-
- ); -}; - -ApplicationStatusCardDenied.propTypes = { - text: PropTypes.string, - course: PropTypes.string, - className: PropTypes.string, -}; - -ApplicationStatusCardDenied.defaultProps = { - className: '', // Default to an empty string if no class is provided -}; diff --git a/src/component/ApplicationStatusCardDenied/style.css b/src/component/ApplicationStatusCardDenied/style.css deleted file mode 100644 index a407146..0000000 --- a/src/component/ApplicationStatusCardDenied/style.css +++ /dev/null @@ -1,154 +0,0 @@ -.status-card { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 252px; - position: relative; - width: 716px; - margin-bottom: 18.75px; -} - -.status-card .overlap { - height: 186px; - left: 34px; - position: absolute; - top: 12px; - width: 204px; -} - -.status-card .inner-content { - height: 38px; - left: 0; - position: absolute; - top: 0; - width: 159px; -} - -.status-card .text-wrapper-6 { - color: black; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 32px; - font-weight: 500; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.status-card .coarse-assistant-wrapper { - height: 29px; - left: 0; - position: absolute; - top: 54px; - width: 172px; -} - -.status-card .text-wrapper-7 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 21px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 10px; -} - -.status-card .overlap-2 { - - color: black; - height: 100px; - left: 100px; - position: absolute; - top: 0; - width: 104px; -} - -.status-card .div-wrapper { - - color: black; - height: 19px; - left: 0; - position: absolute; - top: 88px; -} - -.text-wrapper-8 { - color: black; - font-size: 16px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.status-card .rectangle { - background-color: #9d9d9d; - height: 2px; - left: 90px; - position: absolute; - top: 112px; - transform: rotate(90deg); - width: 206px; -} - -.status-card .inner-content-2 { - height: 29px; - left: 354px; - position: absolute; - top: 66px; - width: 197px; -} - -.status-card .text-wrapper-9 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 19px; - font-weight: 400; - left: 10px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 80px; - width: 300px; -} - -.status-card .application-button { - height: 43px; - left: 454px; - position: absolute; - top: 60px; - width: 226px; - margin-top: 10px; -} - -.status-card .overlap-group-2 { - background-color: #f200491f; - border: 1px solid; - border-color: #f20049; - border-radius: 10px; - height: 43px; - position: relative; - width: 224px; -} - -.status-card .text-wrapper-10 { - color: #f20049; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 15px; - font-weight: 500; - left: 25px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 11px; - width: 182px; -} - diff --git a/src/component/ApplicationsCard/ApplicationsCard.jsx b/src/component/ApplicationsCard/ApplicationsCard.jsx deleted file mode 100644 index 1cef5ad..0000000 --- a/src/component/ApplicationsCard/ApplicationsCard.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react'; -import './style.css'; -import PropTypes from 'prop-types'; - -export const ApplicationsCard = ({ - className, - applications = 'https://c.animaapp.com/vYQBTcnO/img/apply-1@2x.png', -}) => { - return ( -
-
- Applications -
Applications
-
-
- ); -}; - -ApplicationsCard.propTypes = { - applications: PropTypes.string, -}; diff --git a/src/component/ApplicationsCard/style.css b/src/component/ApplicationsCard/style.css deleted file mode 100644 index 3c004b6..0000000 --- a/src/component/ApplicationsCard/style.css +++ /dev/null @@ -1,42 +0,0 @@ -.applications { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 183px; - width: 187px; - } - - .applications .inner-content-3 { - height: 143px; - left: 10px; - position: relative; - top: 8px; - width: 88px; - } - - .applications .text-wrapper-6{ - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 20px; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 5px; - white-space: nowrap; - margin-left: 30px; - } - - .applications .img-3 { - height: 74px; - left: 40px; - position: absolute; - top: 59px; - width: 86px; - } - - - - - - diff --git a/src/component/Bio/Bio.jsx b/src/component/Bio/Bio.jsx deleted file mode 100644 index 3cd2556..0000000 --- a/src/component/Bio/Bio.jsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; -import styles from './style.module.css'; - -export const Bio = ({ user, className }) => { - return ( -
-
- {user.displayName && ( -
- {user.displayName != undefined - ? user.displayName - .split(' ') - .map((part) => - part[0] != undefined ? part[0].toUpperCase() : '' - ) - .join('') - : ''} -
- )} -
-
-
{user.displayName}
-
{user.email}
-
-
- ); -}; diff --git a/src/component/Bio/style.module.css b/src/component/Bio/style.module.css deleted file mode 100644 index ae1dae5..0000000 --- a/src/component/Bio/style.module.css +++ /dev/null @@ -1,66 +0,0 @@ -.fullnameandbio { - height: 295px; - position: relative; - width: 408px; - display: flex; - align-items: center; - flex-direction: column; -} - -.fullnameandbio .ellipse { - background-color: #9d9d9d; - border: 5px solid; - border-color: #ffffff; - border-radius: 100px; - height: 200px; - left: 26%; - position: absolute; - top: 0; - width: 200px; - display: flex; - align-items: center; - justify-content: center; -} -.fullnameandbio .initial { - color:#ffffff; - font-size: 100px; -} -.fullnameandbio .textwrapper { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 48px; - font-weight: 400; - margin: auto; - text-align: center; - letter-spacing: 0; - line-height: normal; - position: relative; - top: 200px; - white-space: nowrap; -} - -.fullnameandbio .div { - color: #6c6c6c; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 24px; - font-weight: 400; - text-align: center; - letter-spacing: 0; - line-height: normal; - position: relative; - top: 200px; -} - -.fullnameandbio .textwrapper2 { - color: #6c6c6c; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 14px; - font-weight: 400; - left: 308px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 190px; -} - - diff --git a/src/component/BottomMenu/BottomMenu.tsx b/src/component/BottomMenu/BottomMenu.tsx deleted file mode 100644 index 2bffb59..0000000 --- a/src/component/BottomMenu/BottomMenu.tsx +++ /dev/null @@ -1,230 +0,0 @@ -import * as React from 'react'; -import Box from '@mui/material/Box'; -import BottomNavigation from '@mui/material/BottomNavigation'; -import BottomNavigationAction from '@mui/material/BottomNavigationAction'; -import Paper from '@mui/material/Paper'; -// icons -import GroupIcon from '@mui/icons-material/Group'; // users -import MenuBookIcon from '@mui/icons-material/MenuBook'; // courses -import CollectionsBookmarkIcon from '@mui/icons-material/CollectionsBookmark'; // applications -import EditNoteIcon from '@mui/icons-material/EditNote'; // application -import AccountBoxIcon from '@mui/icons-material/AccountBox'; // profile - -/* Depending on whether or not the signed-in user is a student, faculty, or admin, - the bottom menu will be displaying different things. - - For a student: - - application (if applying or applied) or courses (if accepted) - - For a faculty member: - - applications - - courses - - For an admin: - - users - - courses - - applications - - For all: - - profile, with some kind of embedded settings - */ - -export type BottomMenuProps = { - user_role: string; - onComponentChange: (componentName: string) => void; -}; - -export default function BottomMenu(props: BottomMenuProps) { - const { user_role, onComponentChange } = props; - - const [value, setValue] = React.useState(''); - const ref = React.useRef(null); - - const handleChange = (event: React.SyntheticEvent, newValue: string) => { - setValue(newValue); - onComponentChange(newValue); - }; - - switch (user_role) { - case 'admin': - return ( - <> - - - - } - /> - } - /> - } - /> - } - /> - - - - - ); - case 'faculty': - return ( - <> - - - - } - /> - } - /> - } - /> - - - - - ); - case 'student_applying': - return ( - <> - - - - } - /> - } - /> - - - - - ); - case 'student_applied': - case 'student_accepted': - case 'student_denied': - return ( - <> - - - - } - /> - } - /> - - - - - ); - case 'student_assigned': - return ( - <> - - - - } - /> - } - /> - - - - - ); - default: - return ( - <> - - - - } - /> - - - - - ); - } -} diff --git a/src/component/Breadcrumb/Breadcrumb.jsx b/src/component/Breadcrumb/Breadcrumb.jsx deleted file mode 100644 index 0d594a7..0000000 --- a/src/component/Breadcrumb/Breadcrumb.jsx +++ /dev/null @@ -1,39 +0,0 @@ -import { usePathname } from 'next/navigation'; -import { Breadcrumbs } from '@mui/material'; -import Link from '@mui/material/Link'; -import Typography from '@mui/material/Typography'; - -export default function Breadcrumb() { - const pathname = usePathname(); - const pathSegments = pathname.split('/').filter(Boolean); - const breadcrumbs = pathSegments.slice(0, -1).map((segment) => { - const rawLabel = segment.split('%')[0]; - const label = rawLabel.charAt(0).toUpperCase() + rawLabel.slice(1); - return { - href: `/${segment}`, - label, - }; - }); - - const lastItem = pathSegments[pathSegments.length - 1].split('%')[0]; - return ( - - - Home - - {breadcrumbs.map((crumb) => ( - - {crumb.label} - - ))} - {lastItem && ( - {lastItem} - )} - - ); -} diff --git a/src/component/Card/Card.jsx b/src/component/Card/Card.jsx deleted file mode 100644 index 1b19943..0000000 --- a/src/component/Card/Card.jsx +++ /dev/null @@ -1,35 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; -import './style.css'; - -export const Card = ({ - className = '', - text = 'As a student, Course Connect provides you with the opportunity to apply for TA, PI, or grader positions. Submit your application through our intuitive interface and keep track of its status. You'll receive notifications when you are assigned to a course, ensuring that you stay informed every step of the way. Once assigned, you can easily access and view your course(s) as an employee, making it convenient to manage your responsibilities.', - rectangleClassName, - imgLink, - text1 = 'Student', -}) => { - return ( -
-
-

{text}

-
{text1}
-
- -
- ); -}; - -Card.propTypes = { - className: PropTypes.string, - text: PropTypes.string, - text1: PropTypes.string, -}; diff --git a/src/component/Card/style.css b/src/component/Card/style.css deleted file mode 100644 index c1a67d9..0000000 --- a/src/component/Card/style.css +++ /dev/null @@ -1,55 +0,0 @@ -.card { - background-color: #ffffff; - border: 3px solid; - border-color: #000000; - border-radius: 27px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 585px; - position: relative; - width: 398px; -} - -.card .inner-content { - height: 303px; - left: 25px; - position: absolute; - top: 182px; - width: 354px; -} - -.card .as-a-student-course { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - left: 2px; - letter-spacing: 0.3px; - line-height: 21px; - position: absolute; - top: 106px; - width: 348px; -} - -.card .student { - color: #000000; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 32px; - font-weight: 700; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 50px; - width: 244px; -} - -.rectangle { - left: 20px; - top: 12px; - width: 350px; - height: 200px; - position: absolute; -} - - - diff --git a/src/component/ClassCard/ClassCard.jsx b/src/component/ClassCard/ClassCard.jsx deleted file mode 100644 index f3c5d9d..0000000 --- a/src/component/ClassCard/ClassCard.jsx +++ /dev/null @@ -1,24 +0,0 @@ -// components/ClassCard.js -import React from 'react'; -import Link from 'next/link'; -import './style.css'; - -const ClassCard = ({ className, courseName, courseId, courseTitle }) => { - return ( - -
-
-
{courseName}
-
-
- - ); -}; - -export default ClassCard; diff --git a/src/component/ClassCard/style.css b/src/component/ClassCard/style.css deleted file mode 100644 index f76949f..0000000 --- a/src/component/ClassCard/style.css +++ /dev/null @@ -1,23 +0,0 @@ -.class-card { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 107px; - position: relative; - width: 252px; - } - - .class-card .text-wrapper { - color: #000000; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 32px; - font-weight: 700; - left: 3px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 34px; - width: 246px; - } - \ No newline at end of file diff --git a/src/component/CourseCard/CourseCard.jsx b/src/component/CourseCard/CourseCard.jsx deleted file mode 100644 index e1adf91..0000000 --- a/src/component/CourseCard/CourseCard.jsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import './style.css'; - -export const CourseCard = ({ - className, - course = 'https://c.animaapp.com/lmfJ7wLf/img/apply@2x.png', -}) => { - return ( -
-
-
Courses
- Apply -
-
- ); -}; diff --git a/src/component/CourseCard/style.css b/src/component/CourseCard/style.css deleted file mode 100644 index 324a6dd..0000000 --- a/src/component/CourseCard/style.css +++ /dev/null @@ -1,39 +0,0 @@ -.course { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 183px; - width: 187px; -} - - - - .course .inner-content { - height: 143px; - left: 34px; - position: relative; - top: 8px; - width: 114px; - } - - .course .img { - height: 74px; - left: 13px; - position: absolute; - top: 69px; - width: 86px; - } - - .course .text-wrapper-6 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 32px; - font-weight: 400; - left: 3px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; - } - \ No newline at end of file diff --git a/src/component/CourseDetails/CourseDetails.tsx b/src/component/CourseDetails/CourseDetails.tsx deleted file mode 100644 index 7eff921..0000000 --- a/src/component/CourseDetails/CourseDetails.tsx +++ /dev/null @@ -1,317 +0,0 @@ -'use client'; - -import React from 'react'; -import { - Box, - Typography, - Card, - CardContent, - Grid, - Paper, - Button, - Container, -} from '@mui/material'; -import LocationOnIcon from '@mui/icons-material/LocationOn'; -import './style.css'; -import Link from 'next/link'; -import EnrollmentInfo from '../Enrollment/Enrollment'; -import MailOutlineIcon from '@mui/icons-material/MailOutline'; -import PersonOutlineOutlinedIcon from '@mui/icons-material/PersonOutlineOutlined'; - -interface CourseDetailsProps { - courseName: string; - semester: string; - instructor: string; - email: string; - studentsEnrolled: number; - maxStudents: number; - credits: number; - courseCode: string; - department: string; - TAs: { name: string; email: string }[]; - title: string; - schedule: { day: string; time: string; location: string }[]; -} - -const CourseDetails: React.FC = ({ - courseName, - semester, - instructor, - email, - studentsEnrolled, - maxStudents, - credits, - courseCode, - department, - TAs, - title, - schedule, -}) => { - const cardStyle = { - boxShadow: '0 4px 8px rgba(0, 0, 0, 0.2)', - height: '85%', // Ensure cards stretch to fill height - }; - - // Helper function to format instructor name safely - const formatInstructorName = (name: string) => { - const parts = name.split(','); - if (parts.length === 2) { - return `${parts[1].trim()} ${parts[0].trim()}`; - } - return name; // Return as is if format is unexpected - }; - - return ( - - {/* Header Section */} - - - - {`${courseName} - ${title}`} - - - {semester} - - - - - - - - - Min-Max Credits - - - {credits} - - - - - - - - - Course Code - - - - {courseCode} - - - - - - - - - Department - - - {department} - - - - - - - - - - - {/* Instructor and Email Cards */} - - - - - - - - Instructor - - - - {formatInstructorName(instructor)} - - - - - - - - - - - Email - - - {email} - - - - - {/* Enrollment Info */} - - - - - - - - - {/* TAs and Schedule */} - - {/* TAs Section */} - - - {TAs.length > 0 ? 'TAs:' : 'No TAs assigned'} - - -
- {TAs.map((ta, index) => ( - - - - - - - - - TA Name - - - - {ta.name} - - - - - - - - - - - - Email - - - - {ta.email != 'undef' ? ta.email : 'Missing'} - - - - - - - ))} -
-
-
-
- - {/* Schedule Section */} - - - Time and Location: - - {Array.isArray(schedule) ? ( - schedule.map((item, index) => ( - - - {item.day} | {item.time} - - - - - {item.location} - - - - )) - ) : ( - - None Listed{' '} - - )} - {} - - -
- {/* Close Button */} - - - - - -
- ); -}; - -export default CourseDetails; diff --git a/src/component/CourseDetails/style.css b/src/component/CourseDetails/style.css deleted file mode 100644 index 2576d05..0000000 --- a/src/component/CourseDetails/style.css +++ /dev/null @@ -1,43 +0,0 @@ -.course-details { - padding: 20px; - margin: 25px 50px; - border-radius: 50px; - -} - -.instructor, -.students-enrolled, -.course-info, -.tas, -.schedule { - margin-bottom: 20px; -} -.text-highlight { - color: #000; /* Change to desired text color */ - font-family: SF Pro Display; - font-weight: 400; - line-height: 36px; - word-wrap: break-word; -} - -.enrollment-bar { - background-color: lightgray; - border-radius: 5px; - height: 10px; - width: 100%; -} - -.enrollment-percentage { - height: 100%; - border-radius: 5px; -} - -.schedule-item { - display: flex; - align-items: center; - margin-bottom: 16px; -} - -.schedule-item .MuiSvgIcon-root { - margin-right: 8px; -} diff --git a/src/component/CourseNavBar/CourseNavBar.jsx b/src/component/CourseNavBar/CourseNavBar.jsx deleted file mode 100644 index 719eaf3..0000000 --- a/src/component/CourseNavBar/CourseNavBar.jsx +++ /dev/null @@ -1,71 +0,0 @@ -// CourseNavBar.js -import React, { useState } from 'react'; -import './style.css'; - -const CourseNavBar = (props) => { - const [selectedItem, setSelectedItem] = useState('Review'); - - const handleClick = (item) => { - setSelectedItem(item); - props.handleClick(item); - }; - - return ( -
-
handleClick('Review')} - > -
- Needs Review -
-
-
handleClick('Approved')} - > -
- Approved -
-
-
handleClick('Denied')} - > -
- Denied -
-
-
handleClick('Assigned')} - > -
- Assigned -
-
-
- ); -}; - -export default CourseNavBar; diff --git a/src/component/CourseNavBar/style.css b/src/component/CourseNavBar/style.css deleted file mode 100644 index 7867352..0000000 --- a/src/component/CourseNavBar/style.css +++ /dev/null @@ -1,46 +0,0 @@ -/* CourseNavBar.css */ - - -.courseNavBar { - display: flex; - justify-content: space-around; - align-items: center; - height: 46px; - /* Adjust the height as needed */ - width: 100%; - border-radius: 32px; - border: 2px solid #000000; - box-sizing: border-box; - -} - - -.courseNavBarItem { - position: relative; - border-radius: 32px; - width: 90%; - height: 40px; - object-fit: cover; - transition: background-color 0.3s ease; - margin-left: 2px; -} - -.courseNavBarItem:hover { - cursor: pointer; -} - -.courseNavBarItem.selected { - background-color: #562eba; - -} - -.oval-button { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - text-align: center; - font-size: 14px; - color: #000; - font-family: "SF Pro Display", Helvetica; -} diff --git a/src/component/CourseUnitInfo/CourseUnit.tsx b/src/component/CourseUnitInfo/CourseUnit.tsx deleted file mode 100644 index 966f367..0000000 --- a/src/component/CourseUnitInfo/CourseUnit.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import * as React from 'react'; -import CircularProgress, { - CircularProgressProps, -} from '@mui/material/CircularProgress'; -import Typography from '@mui/material/Typography'; -import Box from '@mui/material/Box'; -import LinearProgress from '@mui/material/LinearProgress'; - -interface EnrollmentInfoProps extends CircularProgressProps { - current: number; - total: number; -} - -const CourseUnitInfo: React.FC = (props) => { - const { current, total, ...circularProgressProps } = props; - const percentage = (current / total) * 100; - const units = current.toString().padStart(2, '0'); - return ( - - - Course Units - - - - {units} - - - CU - - - of {total} CU - - - - - - - - {`${Math.round(percentage)}%`} - - - {'accumulated'} - - - - - - - Course Units Accumulated - - - {units} CU - - - - - ); -}; - -export default CourseUnitInfo; diff --git a/src/component/Dashboard/AdminCourses/Course.tsx b/src/component/Dashboard/AdminCourses/Course.tsx deleted file mode 100644 index b3cb658..0000000 --- a/src/component/Dashboard/AdminCourses/Course.tsx +++ /dev/null @@ -1,10 +0,0 @@ -// individual user -// this could be a modal which pops up when a user is clicked on in the table -// same principle for application & courses in their respective tables -export default function Course() { - return ( - <> -

individual user

- - ); -} diff --git a/src/component/Dashboard/AdminCourses/CourseGrid.tsx b/src/component/Dashboard/AdminCourses/CourseGrid.tsx deleted file mode 100644 index 5ce2bf9..0000000 --- a/src/component/Dashboard/AdminCourses/CourseGrid.tsx +++ /dev/null @@ -1,482 +0,0 @@ -'use client'; -import * as React from 'react'; -import Box from '@mui/material/Box'; -import EditIcon from '@mui/icons-material/Edit'; -import DeleteIcon from '@mui/icons-material/DeleteOutlined'; -import SaveIcon from '@mui/icons-material/Save'; -import CancelIcon from '@mui/icons-material/Close'; -import { - GridRowModesModel, - GridRowsProp, - GridRowModes, - GridToolbarContainer, - GridToolbarExport, - GridToolbarFilterButton, - GridToolbarColumnsButton, - DataGrid, - GridColDef, - GridActionsCellItem, - GridEventListener, - GridRowId, - GridRowModel, - GridRowEditStopReasons, - useGridApiContext, - gridClasses, -} from '@mui/x-data-grid'; -import { - Dialog, - DialogActions, - DialogContent, - DialogContentText, - DialogTitle, - TextField, -} from '@mui/material'; -import { deleteUserHTTPRequest } from '@/firebase/auth/auth_delete_user'; -import firebase from '@/firebase/firebase_config'; -import 'firebase/firestore'; -import { LinearProgress, Button } from '@mui/material'; -import { alpha, styled } from '@mui/material/styles'; - -interface User { - id: string; - firstname: string; - lastname: string; - email: string; - password: string; - department: string; - role: string; - ufid: string; - isNew?: boolean; - mode?: 'edit' | 'view' | undefined; -} - -interface EditToolbarProps { - setUserData: (newRows: (oldRows: GridRowsProp) => GridRowsProp) => void; - setRowModesModel: ( - newModel: (oldModel: GridRowModesModel) => GridRowModesModel - ) => void; -} - -function EditToolbar(props: EditToolbarProps) { - const { setUserData, setRowModesModel } = props; - - // Add state to control the dialog open status - const [open, setOpen] = React.useState(false); - - return ( - - {/* Include your Dialog component here and pass the open state and setOpen function as props */} - - - - - ); -} - -interface UserGridProps { - userRole: string; -} - -export default function UserGrid(props: UserGridProps) { - const { userRole } = props; - const [userData, setUserData] = React.useState([]); - const [open, setOpen] = React.useState(false); - const [delDia, setDelDia] = React.useState(false); - const [delId, setDelId] = React.useState(); - - React.useEffect(() => { - const usersRef = firebase.firestore().collection('users'); - usersRef.get().then((querySnapshot) => { - const data = querySnapshot.docs.map( - (doc) => - ({ - id: doc.id, - ...doc.data(), - } as User) - ); - setUserData(data); - }); - }, []); - const handleDeleteDiagClose = () => { - setDelDia(false); - }; - const [rowModesModel, setRowModesModel] = React.useState( - {} - ); - - const handleRowEditStop: GridEventListener<'rowEditStop'> = ( - params, - event - ) => { - if (params.reason === GridRowEditStopReasons.rowFocusOut) { - event.defaultMuiPrevented = true; - } - }; - - const handleEditClick = (id: GridRowId) => () => { - setRowModesModel({ ...rowModesModel, [id]: { mode: GridRowModes.Edit } }); - }; - - const handleSaveClick = (id: GridRowId) => () => { - const updatedRow = userData.find((row) => row.id === id); - if (updatedRow) { - firebase - .firestore() - .collection('users') - .doc(id.toString()) - .update(updatedRow) - .then(() => { - setRowModesModel({ - ...rowModesModel, - [id]: { mode: GridRowModes.View }, - }); - }) - .catch((error) => { - console.error('Error updating document: ', error); - }); - } else { - console.error('No matching user data found for id: ', id); - } - }; - const handleDel = (id: GridRowId) => () => { - setDelId(id); - setDelDia(true); - }; - const handleDeleteClick = (id: GridRowId) => { - firebase - .firestore() - .collection('users') - .doc(id.toString()) - .delete() - .then(() => { - deleteUserHTTPRequest(id.toString()); - setUserData(userData.filter((row) => row.id !== id)); - }) - .catch((error) => { - console.error('Error removing document: ', error); - }); - }; - - const handleSubmit = (e) => { - e.preventDefault(); - handleDeleteClick(delId); - setDelDia(false); - }; - function CustomToolbar() { - const apiRef = useGridApiContext(); - - return ( - - - - ); - } - - const handleCancelClick = (id: GridRowId) => () => { - const editedRow = userData.find((row) => row.id === id); - if (editedRow!.isNew) { - firebase - .firestore() - .collection('users') - .doc(id.toString()) - .delete() - .then(() => { - setUserData(userData.filter((row) => row.id !== id)); - }) - .catch((error) => { - console.error('Error removing document: ', error); - }); - } else { - setRowModesModel({ - ...rowModesModel, - [id]: { mode: GridRowModes.View, ignoreModifications: true }, - }); - } - }; - - const processRowUpdate = (newRow: GridRowModel) => { - const updatedRow = { ...(newRow as User), isNew: false }; - if (updatedRow) { - if (updatedRow.isNew) { - return firebase - .firestore() - .collection('users') - .add(updatedRow) - .then(() => { - setUserData( - userData.map((row) => (row.id === newRow.id ? updatedRow : row)) - ); - return updatedRow; - }) - .catch((error) => { - console.error('Error adding document: ', error); - throw error; - }); - } else { - return firebase - .firestore() - .collection('users') - .doc(updatedRow.id) - .update(updatedRow) - .then(() => { - setUserData( - userData.map((row) => (row.id === newRow.id ? updatedRow : row)) - ); - return updatedRow; - }) - .catch((error) => { - console.error('Error updating document: ', error); - throw error; - }); - } - } else { - return Promise.reject( - new Error('No matching user data found for id: ' + newRow.id) - ); - } - }; - - const handleRowModesModelChange = (newRowModesModel: GridRowModesModel) => { - setRowModesModel(newRowModesModel); - }; - - const columns: GridColDef[] = [ - { - field: 'actions', - type: 'actions', - headerName: 'Actions', - width: 200, - cellClassName: 'actions', - getActions: ({ id }) => { - const isInEditMode = rowModesModel[id]?.mode === GridRowModes.Edit; - - if (isInEditMode) { - return [ - } - label="Save" - sx={{ - color: '#562EBA', - }} - onClick={handleSaveClick(id)} - />, - } - label="Cancel" - className="textPrimary" - onClick={handleCancelClick(id)} - color="inherit" - />, - ]; - } - - return [ - , - - , - ]; - }, - }, - { - field: 'firstname', - headerName: 'First Name', - width: 150, - editable: true, - }, - { field: 'lastname', headerName: 'Last Name', width: 150, editable: true }, - { field: 'email', headerName: 'Email', width: 250, editable: true }, - { field: 'password', headerName: 'Password', width: 200, editable: true }, - { - field: 'department', - headerName: 'Department', - width: 130, - editable: true, - }, - { field: 'role', headerName: 'Role', width: 150, editable: true }, - { field: 'id', headerName: 'User ID', width: 290, editable: true }, - ]; - const ODD_OPACITY = 0.2; - - const StripedDataGrid = styled(DataGrid)(({ theme }) => ({ - [`& .${gridClasses.row}.even`]: { - backgroundColor: '#562EBA1F', - '&:hover, &.Mui-hovered': { - backgroundColor: alpha(theme.palette.primary.main, ODD_OPACITY), - '@media (hover: none)': { - backgroundColor: 'transparent', - }, - }, - '&.Mui-selected': { - backgroundColor: alpha( - theme.palette.primary.main, - ODD_OPACITY + theme.palette.action.selectedOpacity - ), - '&:hover, &.Mui-hovered': { - backgroundColor: alpha( - theme.palette.primary.main, - ODD_OPACITY + - theme.palette.action.selectedOpacity + - theme.palette.action.hoverOpacity - ), - // Reset on touch devices, it doesn't add specificity - '@media (hover: none)': { - backgroundColor: alpha( - theme.palette.primary.main, - ODD_OPACITY + theme.palette.action.selectedOpacity - ), - }, - }, - }, - }, - })); - return ( - - - - Delete User - -
handleSubmit(e)}> - - - Are you sure you want to delete this user? - - - - - - - -
-
- - params.indexRelativeToCurrentPage % 2 === 0 ? 'even' : 'odd' - } - sx={{ borderRadius: '16px' }} - /> -
- ); -} diff --git a/src/component/Dashboard/AdminCourses/Courses.tsx b/src/component/Dashboard/AdminCourses/Courses.tsx deleted file mode 100644 index c435a34..0000000 --- a/src/component/Dashboard/AdminCourses/Courses.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import Container from '@mui/material/Container'; -import CourseGrid from '../Courses/CourseGrid'; - -interface UsersProps { - userRole: string; - semester: string; - processing: boolean; -} - -export default function Users(props: UsersProps) { - const { userRole, semester, processing } = props; - return ( - <> - - - - - ); -} diff --git a/src/component/Dashboard/Courses/Course.tsx b/src/component/Dashboard/Courses/Course.tsx deleted file mode 100644 index b789dc0..0000000 --- a/src/component/Dashboard/Courses/Course.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export default function Course() { - return ( - <> -

Course (individual)

- - ); -} diff --git a/src/component/Dashboard/Courses/CourseGrid.tsx b/src/component/Dashboard/Courses/CourseGrid.tsx deleted file mode 100644 index 63a10cc..0000000 --- a/src/component/Dashboard/Courses/CourseGrid.tsx +++ /dev/null @@ -1,520 +0,0 @@ -'use client'; -import * as React from 'react'; -import { useState } from 'react'; -import Box from '@mui/material/Box'; -import EditIcon from '@mui/icons-material/Edit'; -import DeleteIcon from '@mui/icons-material/DeleteOutlined'; -import ZoomInIcon from '@mui/icons-material/ZoomIn'; -import SaveIcon from '@mui/icons-material/Save'; -import CancelIcon from '@mui/icons-material/Close'; -import Snackbar from '@mui/material/Snackbar'; -import MuiAlert, { AlertProps } from '@mui/material/Alert'; -import { - GridRowModesModel, - GridRowsProp, - GridRowModes, - GridToolbarContainer, - GridToolbarExport, - GridToolbarFilterButton, - GridToolbarColumnsButton, - DataGrid, - GridColDef, - GridActionsCellItem, - GridEventListener, - GridRowId, - GridRowModel, - GridRowEditStopReasons, - gridClasses, -} from '@mui/x-data-grid'; -import firebase from '@/firebase/firebase_config'; -import 'firebase/firestore'; -import { useAuth } from '@/firebase/auth/auth_context'; -import { - Dialog, - DialogContent, - DialogTitle, - LinearProgress, -} from '@mui/material'; -import UnderDevelopment from '@/component/UnderDevelopment'; -import { styled } from '@mui/material/styles'; -import { isE2EMode } from '@/utils/featureFlags'; - -interface Course { - id: string; - code: string; - title: string; - credits: string; - num_enrolled: string; - enrollment_cap: string; - professor_names: string[]; - professor_emails: string[]; - helper_names: string[]; - helper_emails: string[]; - isNew?: boolean; - mode?: 'edit' | 'view' | undefined; -} - -interface CourseGridProps { - userRole: string; - semester: string; - processing: boolean; -} - -export default function CourseGrid(props: CourseGridProps) { - const { userRole, semester, processing } = props; - const { user } = useAuth(); - const e2e = isE2EMode(); - const [success, setSuccess] = React.useState(false); - - const [loading, setLoading] = useState(false); - const [courseData, setCourseData] = React.useState([]); - const userEmail = user?.email; - - React.useEffect(() => { - console.log('SEM ' + semester); - if (e2e) { - setCourseData([]); - return; - } - const coursesRef = firebase - .firestore() - .collection('courses') - .where('semester', '==', semester); - if (userRole === 'admin') { - coursesRef.get().then((querySnapshot) => { - const data = querySnapshot.docs.map( - (doc) => - ({ - id: doc.id, - ...doc.data(), - } as Course) - ); - setCourseData(data); - }); - } else if (userRole === 'faculty') { - coursesRef - .where('professor_emails', 'array-contains', userEmail) - .get() - .then((querySnapshot) => { - const data = querySnapshot.docs.map( - (doc) => - ({ - id: doc.id, - ...doc.data(), - } as Course) - ); - setCourseData(data); - }); - } else if (userRole === 'student_assigned') { - coursesRef - .where('helper_emails', 'array-contains', userEmail) - .get() - .then((querySnapshot) => { - const data = querySnapshot.docs.map( - (doc) => - ({ - id: doc.id, - ...doc.data(), - } as Course) - ); - setCourseData(data); - }); - } - }, [userRole, userEmail, semester, processing, e2e]); - - const [open, setOpen] = React.useState(false); - const [selectedCourseGrid, setSelectedCourseGrid] = - React.useState(null); - - const handleClickOpenGrid = (id: GridRowId) => { - setSelectedCourseGrid(id); - setOpen(true); - }; - const handleClose = () => setOpen(false); - - interface EditToolbarProps { - setCourseData: (newRows: (oldRows: GridRowsProp) => GridRowsProp) => void; - setRowModesModel: ( - newModel: (oldModel: GridRowModesModel) => GridRowModesModel - ) => void; - } - - function EditToolbar(props: EditToolbarProps) { - const { setCourseData, setRowModesModel } = props; - const [open, setOpen] = React.useState(false); - if (userRole === 'faculty' || userRole === 'student_assigned') { - return ( - - - - - - ); - } - return ( - - - - - - ); - } - - const [rowModesModel, setRowModesModel] = React.useState( - {} - ); - - const handleRowEditStop: GridEventListener<'rowEditStop'> = ( - params, - event - ) => { - if (params.reason === GridRowEditStopReasons.rowFocusOut) - event.defaultMuiPrevented = true; - }; - - const handleEditClick = (id: GridRowId) => () => { - setLoading(true); - setRowModesModel({ ...rowModesModel, [id]: { mode: GridRowModes.Edit } }); - setLoading(false); - }; - const handleSaveClick = (id: GridRowId) => () => { - setLoading(true); - const updatedRow = courseData.find((row) => row.id === id); - if (updatedRow) { - firebase - .firestore() - .collection('courses') - .doc(id.toString()) - .update(updatedRow) - .then(() => { - setRowModesModel({ - ...rowModesModel, - [id]: { mode: GridRowModes.View }, - }); - setLoading(false); - }) - .catch((error) => { - setLoading(false); - console.error('Error updating document: ', error); - }); - } else { - setLoading(false); - console.error('No matching course data found for id: ', id); - } - }; - const handleDeleteClick = (id: GridRowId) => () => { - setLoading(true); - firebase - .firestore() - .collection('courses') - .doc(id.toString()) - .delete() - .then(() => { - setCourseData(courseData.filter((row) => row.id !== id)); - setLoading(false); - }) - .catch((error) => { - setLoading(false); - console.error('Error removing document: ', error); - }); - }; - const handleCancelClick = (id: GridRowId) => () => { - setLoading(true); - const editedRow = courseData.find((row) => row.id === id); - if (editedRow!.isNew) { - firebase - .firestore() - .collection('courses') - .doc(id.toString()) - .delete() - .then(() => { - setCourseData(courseData.filter((row) => row.id !== id)); - setLoading(false); - }) - .catch((error) => { - setLoading(false); - console.error('Error removing document: ', error); - }); - } else { - setRowModesModel({ - ...rowModesModel, - [id]: { mode: GridRowModes.View, ignoreModifications: true }, - }); - setLoading(false); - } - }; - - const processRowUpdate = (newRow: GridRowModel, oldRow: GridRowModel) => { - setLoading(true); - const professorEmailsArray = - typeof newRow.professor_emails === 'string' && newRow.professor_emails - ? newRow.professor_emails.split(',').map((p_email) => p_email.trim()) - : oldRow.professor_emails; - const professorNamesArray = - typeof newRow.professor_names === 'string' && newRow.professor_names - ? newRow.professor_names.split(',').map((p_name) => p_name.trim()) - : oldRow.professor_names; - const helperEmailsArray = - typeof newRow.helper_emails === 'string' && newRow.helper_emails - ? newRow.helper_emails.split(',').map((h_email) => h_email.trim()) - : oldRow.helper_emails; - const helperNamesArray = - typeof newRow.helper_names === 'string' && newRow.helper_names - ? newRow.helper_names.split(',').map((h_name) => h_name.trim()) - : oldRow.helper_names; - const updatedRow = { - ...(newRow as Course), - professor_emails: professorEmailsArray, - professor_names: professorNamesArray, - helper_emails: helperEmailsArray, - helper_names: helperNamesArray, - isNew: false, - }; - if (updatedRow) { - if (updatedRow.isNew) { - return firebase - .firestore() - .collection('courses') - .add(updatedRow) - .then(() => { - setCourseData( - courseData.map((row) => (row.id === newRow.id ? updatedRow : row)) - ); - setLoading(false); - return updatedRow; - }) - .catch((error) => { - setLoading(false); - console.error('Error adding document: ', error); - throw error; - }); - } else { - return firebase - .firestore() - .collection('courses') - .doc(updatedRow.id) - .update(updatedRow) - .then(() => { - setCourseData( - courseData.map((row) => (row.id === newRow.id ? updatedRow : row)) - ); - setLoading(false); - return updatedRow; - }) - .catch((error) => { - setLoading(false); - console.error('Error updating document: ', error); - throw error; - }); - } - } else { - setLoading(false); - return Promise.reject( - new Error('No matching course data found for id: ' + newRow.id) - ); - } - }; - const handleRowModesModelChange = (newRowModesModel: GridRowModesModel) => - setRowModesModel(newRowModesModel); - - let columns: GridColDef[] = [ - { field: 'code', headerName: 'Course Code', width: 130, editable: true }, - { field: 'title', headerName: 'Course Title', width: 200, editable: true }, - { field: 'credits', headerName: 'Credits', width: 100, editable: true }, - { field: 'enrolled', headerName: 'Enrolled', width: 100, editable: true }, - { - field: 'enrollment_cap', - headerName: 'Capacity', - width: 100, - editable: true, - }, - { - field: 'professor_names', - headerName: 'Professor Name', - width: 190, - editable: true, - }, - { - field: 'professor_emails', - headerName: 'Professor Email', - width: 170, - editable: true, - }, - { field: 'semester', headerName: 'Semester', width: 130, editable: true }, - { - field: 'actions', - type: 'actions', - headerName: 'Actions', - width: 130, - cellClassName: 'actions', - getActions: ({ id }) => { - const isInEditMode = rowModesModel[id]?.mode === GridRowModes.Edit; - if (isInEditMode) { - return [ - } - label="Save" - sx={{ color: 'primary.main' }} - onClick={handleSaveClick(id)} - />, - } - label="Cancel" - className="textPrimary" - onClick={handleCancelClick(id)} - color="inherit" - />, - ]; - } - return [ - } - label="View" - onClick={(event) => handleClickOpenGrid(id)} - color="primary" - />, - } - label="Edit" - className="textPrimary" - onClick={handleEditClick(id)} - color="inherit" - />, - } - label="Delete" - onClick={handleDeleteClick(id)} - color="inherit" - />, - ]; - }, - }, - ]; - - // ✅ UI-Only Styling Changes - const StripedDataGrid = styled(DataGrid)(({ theme }) => ({ - border: 'none', - borderRadius: '16px', - fontFamily: 'Inter, sans-serif', - fontSize: '0.95rem', - - '& .MuiDataGrid-columnHeaders': { - backgroundColor: '#D8C6F8', - color: '#1C003D', - fontWeight: 700, - borderBottom: 'none', - }, - - '& .MuiDataGrid-columnHeaderTitle': { - fontWeight: 700, - }, - '& .MuiDataGrid-columnHeader:first-of-type': { - paddingLeft: '20px', // ✅ adds spacing before first column header - }, - '& .MuiDataGrid-cell:first-of-type': { - paddingLeft: '25px', // ✅ adds spacing before first column cell - }, - - [`& .${gridClasses.row}.even`]: { - backgroundColor: '#FFFFFF', - }, - [`& .${gridClasses.row}.odd`]: { - backgroundColor: '#EEEEEE', - }, - - '& .MuiDataGrid-row:hover': { - backgroundColor: '#EFE6FF', - }, - - '& .MuiDataGrid-cell': { - borderBottom: '1px solid #ECE4FA', - }, - - '& .MuiDataGrid-footerContainer': { - borderTop: 'none', - }, - - '& .MuiTablePagination-root': { - color: '#5D3FC4', - fontWeight: 500, - }, - })); - - const Alert = React.forwardRef(function Alert( - props, - ref - ) { - return ; - }); - - const handleSuccess = ( - event?: React.SyntheticEvent | Event, - reason?: string - ) => { - if (reason === 'clickaway') return; - setSuccess(false); - }; - - return ( - <> - - - Created course successfully! - - - - - {loading ? : null} - - - console.error('Error processing row update: ', error) - } - slots={{ toolbar: EditToolbar }} - slotProps={{ toolbar: { setCourseData, setRowModesModel } }} - initialState={{ - pagination: { paginationModel: { pageSize: 25 } }, - }} - getRowClassName={(params) => - params.indexRelativeToCurrentPage % 2 === 0 ? 'even' : 'odd' - } - /> - - - {'Course Data'} - - {selectedCourseGrid && ( -
-

Class Number: {selectedCourseGrid}

- -
- )} -
-
-
- - ); -} diff --git a/src/component/Dashboard/Courses/Courses.tsx b/src/component/Dashboard/Courses/Courses.tsx deleted file mode 100644 index dd62d81..0000000 --- a/src/component/Dashboard/Courses/Courses.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import Container from '@mui/material/Container'; -import CourseGrid from './CourseGrid'; - -interface CoursesProps { - userRole: string; -} - -export default function Courses(props: CoursesProps) { - const { userRole } = props; - return ( - <> - -

Courses

- -
- - ); -} diff --git a/src/component/Dashboard/Courses/Create_Course.tsx b/src/component/Dashboard/Courses/Create_Course.tsx deleted file mode 100644 index be0dfc3..0000000 --- a/src/component/Dashboard/Courses/Create_Course.tsx +++ /dev/null @@ -1,319 +0,0 @@ -import * as React from 'react'; -import Button from '@mui/material/Button'; -import TextField from '@mui/material/TextField'; -import Dialog from '@mui/material/Dialog'; -import DialogActions from '@mui/material/DialogActions'; -import DialogContent from '@mui/material/DialogContent'; -import DialogContentText from '@mui/material/DialogContentText'; -import DialogTitle from '@mui/material/DialogTitle'; -import AddIcon from '@mui/icons-material/Add'; -import { GridRowsProp } from '@mui/x-data-grid'; -import { useState } from 'react'; -import toast, { Toaster } from 'react-hot-toast'; -import LinearProgress from '@mui/material/LinearProgress'; -import { CircularProgress } from '@mui/material'; -import Snackbar from '@mui/material/Snackbar'; -import MuiAlert, { AlertProps } from '@mui/material/Alert'; -interface CreateCourseDialogProps { - open: boolean; - setOpen: (value: boolean) => void; - setSuccess: (value: boolean) => void; - setCourseData: (newRows: (oldRows: GridRowsProp) => GridRowsProp) => void; -} - -const CreateCourseDialog: React.FC = ({ - open, - setOpen, - setSuccess, - setCourseData, -}) => { - const handleClickOpen = () => { - setOpen(true); - }; - - const handleClose = () => { - setOpen(false); - }; - const Alert = React.forwardRef(function Alert( - props, - ref - ) { - return ; - }); - const [loading, setLoading] = useState(false); - const handleSubmit = async (event: React.FormEvent) => { - setLoading(true); - - console.log(loading); - - event.preventDefault(); - // extract the form data from the current event - const formData = new FormData(event.currentTarget); - - const professorsNameString = formData.get('professor-names') as string; - const professorNameList = professorsNameString - .split(',') - .map((professorName) => professorName.trim()); - - const professorsEmailString = formData.get('professor-emails') as string; - const professorEmailList = professorsEmailString - .split(',') - .map((professorEmail) => professorEmail.trim()); - - // extract the specific user data from the form data into a parsable object - const courseData = { - code: formData.get('course-code') as string, - title: formData.get('course-title') as string, - id: formData.get('class-number') as string, - professor_names: professorNameList as string[], - professor_emails: professorEmailList as string[], - helper_names: [] as string[], - helper_emails: [] as string[], - credits: formData.get('course-credits') as string, - enrollment_cap: formData.get('enrollment-cap') as string, - num_enrolled: formData.get('num-enrolled') as string, - }; - - var testRegex = /^[a-zA-Z0-9]+$/; - var numberRegex = /^[0-9]+$/; - if (!testRegex.test(courseData.code)) { - toast.error( - 'Course code should only consist of number or letters (no spaces)!' - ); - return; - } else if (courseData.code === '') { - toast.error('Please enter a course code!'); - return; - } else if (courseData.title == '') { - toast.error('Please enter a course title!'); - return; - } else if (courseData.id.length != 5 || !numberRegex.test(courseData.id)) { - toast.error('Please enter a valid class number!'); - return; - } else if (courseData.professor_names.length == 0) { - toast.error('Please enter professor names!'); - return; - } else if (courseData.professor_emails.length == 0) { - toast.error('Please enter professor emails!'); - return; - } else if (courseData.credits === '') { - toast.error('Please enter the credit amount!'); - return; - } - - // console.log(courseData); // FOR DEBUGGING ONLY! - - if (courseData.enrollment_cap === '') { - courseData.enrollment_cap = '-1'; - } - - if (courseData.num_enrolled === '') { - courseData.num_enrolled = '-1'; - } - - // console.log(courseData); // FOR DEBUGGING ONLY! - - // use fetch to send the user data to the server - // this goes to a cloud function which creates a document based on - // the data from the form, identified by the user's firebase auth uid - const response = await fetch( - 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/processCreateCourseForm', - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(courseData), - } - ); - - if (response.ok) { - console.log('SUCCESS: Course data sent to server successfully'); - // Update the course data with the new row - setCourseData((oldRows) => [...oldRows, courseData]); - setSuccess(true); - // close the dialog - handleClose(); - setLoading(false); - } else { - console.log('ERROR: Course data failed to send to server'); - toast.error('Course data failed to send to server!'); - setLoading(false); - } - }; - - return ( -
- - - Create a Course -
- - - To create a course manually, please enter the course information - in the form below. - - - The alphanumeric code of the course. -
- Example: COP3502 - - } - /> - - The full title of the course. -
- Example: Programming Fundamentals 1 - - } - /> - - The 5-digit class number of the course. -
- Example: 12345 - - } - /> - - The full name(s) of the course's professor(s), separated - by commas if there are multiple. -
- 1 professor example: Alberta Gator -
2 professors example: Alberta Gator, Albert Gator - - } - /> - - The email(s) of the course's professor(s), separated by - commas if there are multiple. -
- 1 professor example: alberta@ufl.edu -
2 professors example: alberta@ufl.edu, albert@ufl.edu - - } - /> - - The amount of credits this course is worth. -
- Example: 3 - - } - /> - - The maximum number of students who can enroll in this course. -
- Example: 150 -
- *NOTE*: THIS FIELD IS OPTIONAL. If left blank, it will default - to -1. - - } - /> - - The current number of students enrolled in this course. -
- Example: 75 -
- *NOTE*: THIS FIELD IS OPTIONAL. If left blank, it will default - to -1. - - } - /> -
- - {loading ? : null} - - - -
-
-
- ); -}; - -export default CreateCourseDialog; diff --git a/src/component/Dashboard/Profile/DeleteUserButton.tsx b/src/component/Dashboard/Profile/DeleteUserButton.tsx deleted file mode 100644 index 8cf55c9..0000000 --- a/src/component/Dashboard/Profile/DeleteUserButton.tsx +++ /dev/null @@ -1,92 +0,0 @@ -import * as React from 'react'; -import Button from '@mui/material/Button'; -import TextField from '@mui/material/TextField'; -import Dialog from '@mui/material/Dialog'; -import DialogActions from '@mui/material/DialogActions'; -import DialogContent from '@mui/material/DialogContent'; -import DialogContentText from '@mui/material/DialogContentText'; -import DialogTitle from '@mui/material/DialogTitle'; -import PersonRemoveIcon from '@mui/icons-material/PersonRemove'; -import { HandleDeleteUser } from '@/firebase/auth/auth_delete_prompt'; - -interface CreateCourseDialogProps { - open: boolean; - setOpen: (value: boolean) => void; -} - -const DeleteUserDialog: React.FC = ({ - open, - setOpen, -}) => { - const handleClickOpen = () => { - setOpen(true); - }; - - const handleClose = () => { - setOpen(false); - }; - - const handleSubmit = async (event: React.FormEvent) => { - event.preventDefault(); - // extract the form data from the current event - const formData = new FormData(event.currentTarget); - - // extract the specific user data from the form data into a parsable object - const userData = { - email: formData.get('email-reverify') as string, - password: formData.get('password-reverify') as string, - }; - - // pass this into the delete user function which reverifies the user - // and then deletes the user from auth and the database - HandleDeleteUser(userData.email, userData.password); - }; - - return ( -
- - - Create a Course -
- - - To create a course manually, please enter the course information - in the form below. - - - - - - - - -
-
-
- ); -}; - -export default DeleteUserDialog; diff --git a/src/component/Dashboard/Profile/Profile.tsx b/src/component/Dashboard/Profile/Profile.tsx deleted file mode 100644 index a1fa854..0000000 --- a/src/component/Dashboard/Profile/Profile.tsx +++ /dev/null @@ -1,26 +0,0 @@ -'use client'; -import React from 'react'; -import Container from '@mui/material/Container'; -import UnderDevelopment from '@/component/UnderDevelopment'; -import DeleteUserButton from './DeleteUserButton'; - -interface ProfileProps { - userRole: string; - user: any; -} - -export default function Profile(props: ProfileProps) { - const { userRole, user } = props; - // Add state to control the dialog open status - const [open, setOpen] = React.useState(false); - - return ( - <> - -

Profile

- - -
- - ); -} diff --git a/src/component/Dashboard/Welcome/Welcome.tsx b/src/component/Dashboard/Welcome/Welcome.tsx deleted file mode 100644 index 820d5c1..0000000 --- a/src/component/Dashboard/Welcome/Welcome.tsx +++ /dev/null @@ -1,366 +0,0 @@ -import { Toaster } from 'react-hot-toast'; -import { EceLogoPng } from '@/component/EceLogoPng/EceLogoPng'; -import { DashboardCard } from '@/components/DashboardCard/DashboardCard'; -import { Bio } from '@/components/Bio/Bio'; -import { TopNavBarSigned } from '@/component/TopNavBarSigned/TopNavBarSigned'; -import styles from './style.module.css'; -import { VerifyEmailCard } from '@/component/VerifyEmailCard/VerifyEmailCard'; -import Link from 'next/link'; - -interface DashboardProps { - user: any; - userRole: string; - emailVerified: any; -} - -export default function DashboardWelcome(props: DashboardProps) { - const { userRole, user, emailVerified } = props; - return ( - <> - -
-
- {!emailVerified && userRole != 'admin' && ( -
-
-
-
-
- Gradients -
-
-
- - - -
Home
-
-
- {' '} - -
-
-
-
- )} - - {(userRole == 'student_applying' || userRole == 'Student') && - emailVerified && ( -
-
-
-
-
- Gradients -
-
-
- - - -
Home
-
-
- - - - - - - - - -
-
- )} - {userRole == 'unapproved' && emailVerified && ( -
-
-
-
-
- Gradients -
-
-
- - - -
Home
-
- -
-
-
- Waiting on Admin Approval -
-
- Thank you for signing up for Course Connect as a faculty - member. Your account request is currently pending approval - by the administrator. You will receive an email notification - once your account has been approved or denied. -
-
-
-
- //
- )} - - {(userRole == 'student_applied' || - userRole == 'student_accepted' || - userRole == 'student_denied') && - emailVerified && ( -
-
-
-
-
- Gradients -
-
-
- - - -
Home
-
-
- - - - - - - - - - - - -
-
- )} - - {userRole == 'faculty' && emailVerified && ( -
-
-
-
-
- Gradients -
-
-
- - - -
Home
-
-
- - - - - - - - - - - - - - - -
-
- )} - - {userRole == 'admin' && ( -
-
-
-
-
- Gradients -
-
-
- - - -
Home
-
-
- - - - - - - - - - - - - -
-
- )} -
-
- - ); -} diff --git a/src/component/Dashboard/Welcome/style.css b/src/component/Dashboard/Welcome/style.css deleted file mode 100644 index 79ac377..0000000 --- a/src/component/Dashboard/Welcome/style.css +++ /dev/null @@ -1,145 +0,0 @@ -.student-landing-page { - background-color: #FFFFFF; - display: flex; - flex-direction: row; - justify-content: center; - width: 100%; -} -.student-landing-page .overlap-wrapper { - background-color: #FFFFFF; - height: 1024px; - width: 100%; -} -.student-landing-page .overlap { - background-color: #F9F9F9; - height: 1024px; - position: relative; - width: 100%; - display:flex; - - -} -.student-landing-page .overlap-2 { - height: 545px; - left: 0; - position: absolute; - top: 0; - width: 100%; - -} -.student-landing-page .color-block-frame { - height: 350px; - left: 0; - overflow: hidden; - position: absolute; - top: 0; - width: 100%; -} -.student-landing-page .overlap-group-2 { - height: 458px; - left: -5px; - position: relative; - width: 100%; -} -.student-landing-page .color-block { - background-color: #001776; - height: 458px; - left: 5px; - position: absolute; - top: 0; - width: 100%; -} -.student-landing-page .GRADIENTS { - height: 350px; - left: 5px; - position: absolute; - top: 0; - width: 100%; -} -.student-landing-page .glass-card { - -webkit-backdrop-filter: blur(200px) brightness(100%); - backdrop-filter: blur(200px) brightness(100%); - background-blend-mode: luminosity; - background-color: #00000024; - height: 458px; - left: 0; - position: absolute; - top: 0; - width: 101%; -} -.student-landing-page .ece-logo-png-2 { - left: 27px !important; - position: absolute !important; - top: 23px !important; -} -.student-landing-page .full-name-and-bio-instance { - left: 38% !important; - position: absolute !important; - top: 250px !important; -} -.student-landing-page .top-nav-bar-signed-in { - left: 80% !important; - position: absolute !important; - top: 27px !important; -} -.student-landing-page .text-wrapper-8 { - color: #FFFFFF; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 50px; - font-weight: 500; - left: 45%; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 114px; - width: 133px; -} -.student-landing-page .profile-instance { - left: 52% !important; - position: absolute !important; - top: 640px !important; -} -.student-landing-page .apply-instance { - left: 38% !important; - position: absolute !important; - top: 640px !important; -} -.student-landing-page .profile-instance2 { - left: 58% !important; - position: absolute !important; - top: 640px !important; -} -.student-landing-page .apply-instance2 { - left: 44% !important; - position: absolute !important; - top: 640px !important; -} -.student-landing-page .status-instance { - left: 30% !important; - position: absolute !important; - top: 640px !important; -} -.student-landing-page .applications-instance { - left: 30% !important; - position: absolute !important; - top: 640px !important; -} -.student-landing-page .course-instance { - left: 44% !important; - position: absolute !important; - top: 640px !important; -} - - -.profileinstance5{ - position: absolute !important; - top: 640px !important; -} - - - - - - - - diff --git a/src/component/Dashboard/Welcome/style.module.css b/src/component/Dashboard/Welcome/style.module.css deleted file mode 100644 index a1193c2..0000000 --- a/src/component/Dashboard/Welcome/style.module.css +++ /dev/null @@ -1,128 +0,0 @@ -.studentlandingpage { - display: flex; - flex-direction: row; - justify-content: center; - position: absolute; - width: 100%; - height: 100%; -} - -.studentlandingpage .overlapwrapper { - width: 100%; -} - -.studentlandingpage .overlap { - position: absolute; - width: 100%; - -} - -.studentlandingpage .overlap2 { - - height: 545px; - left: 0; - position: absolute; - top: 0; - width: 100%; -} - -.studentlandingpage .colorblockframe { - height: 350px; - left: 0; - overflow: hidden; - position: absolute; - top: 0; - width: 100%; -} - -.studentlandingpage .overlapgroup2 { - height: 458px; - left: -5px; - position: absolute; - width: 100%; -} - -.studentlandingpage .colorblock { - background-color: #001776; - height: 458px; - left: 5px; - position: absolute; - top: 0; - width: 100%; -} - -.studentlandingpage .GRADIENTS { - height: 350px; - left: 5px; - position: absolute; - top: 0; - width: 100%; -} - -.studentlandingpage .glasscard { - -webkit-backdrop-filter: blur(200px) brightness(100%); - backdrop-filter: blur(200px) brightness(100%); - background-blend-mode: luminosity; - height: 458px; - left: 0; - position: absolute; - top: 0; - width: 101%; -} - -.studentlandingpage .ecelogopng2 { - left: 27px !important; - position: absolute !important; - top: 23px !important; -} - -.studentlandingpage .fullnameandbioinstance { - left: 50%; - top: 250px !important; - position: absolute; - transform: translateY(-50%); - transform: translateX(-50%); -} - -.studentlandingpage .topnavbarsignedin { - right: 70px; - top: 27px !important; - position: absolute; - -} - -.studentlandingpage .textwrapper8 { - color: #ffffff; - font-family: 'SF Pro Display-Medium', Helvetica; - font-size: 50px; - font-weight: 500; - letter-spacing: 0; - line-height: normal; - position: absolute; - left: 50%; - transform: translateY(-50%); - transform: translateX(-50%); - top: 150px; -} - -.container { - display: flex; - flex-direction: row; - position: absolute; - left: 50%; - gap: 50px; - top: 700px; - transform: translate(-50%, -50%); - -} - - -@media (max-width: 570px) { - .ecelogopng2 { - display: none; - } - .container{ - flex-direction: column; - margin-top: 380px; - } -} \ No newline at end of file diff --git a/src/component/DashboardCard/DashboardCard.jsx b/src/component/DashboardCard/DashboardCard.jsx deleted file mode 100644 index 61f921a..0000000 --- a/src/component/DashboardCard/DashboardCard.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; -import './style.css'; -export const DashboardCard = ({ className, image, text }) => { - return ( -
-
- Card -
{text}
-
-
- ); -}; - -DashboardCard.propTypes = { - image: PropTypes.string, - text: PropTypes.string, - clickable: PropTypes.bool, -}; diff --git a/src/component/DashboardCard/style.css b/src/component/DashboardCard/style.css deleted file mode 100644 index 729c7c1..0000000 --- a/src/component/DashboardCard/style.css +++ /dev/null @@ -1,43 +0,0 @@ - -.dashboardcard { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 183px; - width: 187px; - display: flex; - align-items: center; - justify-content: center; - position: relative; - margin-bottom: 50px; -} - -.dashboardcard .innercontent2 { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - text-align: center; - width: 100%; - height: 100%; - position: relative; -} - -.dashboardcard .text-wrapper-6 { - position: absolute; - top: 20px; /* Adjust this value to position the text */ - width: 100%; - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 20px; - font-weight: 400; - text-align: center; - z-index: 1; /* Ensure the text is above the image */ -} - -.dashboardcard .img2 { - height: 74px; - width: 86px; - position: absolute; - top: 70px; -} diff --git a/src/component/Enrollment/Enrollment.tsx b/src/component/Enrollment/Enrollment.tsx deleted file mode 100644 index df7ef4c..0000000 --- a/src/component/Enrollment/Enrollment.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import * as React from 'react'; -import CircularProgress, { - CircularProgressProps, -} from '@mui/material/CircularProgress'; -import Typography from '@mui/material/Typography'; -import Box from '@mui/material/Box'; -import LinearProgress from '@mui/material/LinearProgress'; - -interface EnrollmentInfoProps extends CircularProgressProps { - students: number; - capacity: number; -} - -const EnrollmentInfo: React.FC = (props) => { - const { students, capacity, ...circularProgressProps } = props; - const percentage = capacity === 0 ? 0 : (students / capacity) * 100; - - return ( - - - Students Enrolled - - - - {students} - - - students - - - of {capacity} cap - - - - - = 100 ? 100 : percentage} - size={250} - thickness={4} - {...circularProgressProps} - sx={{ color: '#562EBA' }} - /> - - - {`${Math.round(percentage)}%`} - - - {'Student Enrolled'} - - - - - - - Students enrolled - - - {students} students - - - = 100 ? 100 : percentage} - sx={{ height: '8px', borderRadius: '4px', color: '#562EBA' }} - /> - - ); -}; - -export default EnrollmentInfo; diff --git a/src/component/FacultyDetails/FacultyDetails.tsx b/src/component/FacultyDetails/FacultyDetails.tsx deleted file mode 100644 index c845710..0000000 --- a/src/component/FacultyDetails/FacultyDetails.tsx +++ /dev/null @@ -1,230 +0,0 @@ -'use client'; - -import React, { Component, ReactNode, useState } from 'react'; -import { - Box, - Typography, - Card, - CardContent, - Grid, - Paper, - Button, - Container, -} from '@mui/material'; -import LocationOnIcon from '@mui/icons-material/LocationOn'; -import Link from 'next/link'; -import MailOutlineIcon from '@mui/icons-material/MailOutline'; -import PersonOutlineOutlinedIcon from '@mui/icons-material/PersonOutlineOutlined'; -import CourseUnitInfo from '../CourseUnitInfo/CourseUnit'; -import { FacultyStats } from '@/types/User'; -import useFetchTempPastCourses from '@/hooks/old/useFetchTempPastCourses'; -import { Timeline } from '../Timeline/Timeline'; -import SmallClassCard from '../SmallClassCard/SmallClassCard'; - -interface FacultyDetailsProps { - instructor: string; - research_level: string; -} - -const getColors = (research_level: string) => { - if (research_level === 'Low') { - return { - color: '#D32727', - background: '#d327271f', // 8-digit hex (the "1f" part is alpha) - }; - } else if (research_level === 'Mid') { - return { - color: '#f2a900', - background: 'rgba(242, 169, 0, 0.12)', - }; - } else if (research_level === 'High') { - // defaults to 'High' or anything else - return { - color: '#22884C', - background: 'rgba(34, 136, 76, 0.12)', - }; - } else { - return; - } -}; - -const FacultyDetails: React.FC = ({ - // id, // Firestore document ID - // accumulatedUnits, - // assignedUnits, - // averageUnits, - // creditDeficit, - // creditExcess, - // email, - // firstname, - // labCourse, - // lastname, - // researchActivity, - // classesTaught, - // ufid, - instructor, - research_level, -}) => { - const [selectedYear, setSelectedYear] = useState(0); - - const currentYear = new Date().getFullYear(); - const year = currentYear - selectedYear; - - const semesterArray = [`Spring ${year}`, `Summer ${year}`, `Fall ${year}`]; - const researchColors = getColors(research_level); - - const cardStyle = { - boxShadow: '0 4px 8px rgba(0, 0, 0, 0.2)', - height: '85%', - }; - - const { pastCourses, loadingPast, error } = useFetchTempPastCourses( - semesterArray, - instructor - ); - // // Helper function to format instructor name safely - // const formatInstructorName = (name: string) => { - // const parts = name.split(','); - // if (parts.length === 2) { - // return `${parts[1].trim()} ${parts[0].trim()}`; - // } - // return name; // Return as is if format is unexpected - // }; - - return ( - - - - - - {`${instructor.split(',')[1]} ${ - instructor.split(',')[0] - }`} - {/* {email} - UFID: {ufid} */} - - - - - - {/* */} - - - - - Credit Deficit - {/* - {creditDeficit} CU - */} - - - - - Credit Excess - {/* - {creditExcess} CU - */} - - - - - - - - Total Classes Taught - - {/* {classesTaught} Classes */} - - - - - - - - Average Credit Units - - {/* {averageUnits} CU */} - - - - - - - - - - - - - Research Activity Level - - {research_level} - - - - - - - Lab Course - {/* {lab} */} - - - - - - - Classes Taught (last 3 years) - - - {loadingPast ? ( -
Loading past courses...
- ) : pastCourses.length !== 0 ? ( -
- {pastCourses.map((course, index) => ( -
- -
- ))} -
- ) : ( -
No past courses available.
- )} - - - -
- ); -}; - -export default FacultyDetails; diff --git a/src/component/FormUtil/AddtlSemesterPrompt.tsx b/src/component/FormUtil/AddtlSemesterPrompt.tsx deleted file mode 100644 index d94cfd3..0000000 --- a/src/component/FormUtil/AddtlSemesterPrompt.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import * as React from 'react'; -import Radio from '@mui/material/Radio'; -import RadioGroup from '@mui/material/RadioGroup'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import FormControl from '@mui/material/FormControl'; -import FormLabel from '@mui/material/FormLabel'; - -export interface AdditionalSemesterPromptProps { - semester: string; - onValueChange: (value: string) => void; -} - -export default function AdditionalSemesterPrompt({ - semester, - onValueChange, -}: AdditionalSemesterPromptProps) { - const [value, setValue] = React.useState(''); - const handleChange = (event: React.ChangeEvent) => { - setValue((event.target as HTMLInputElement).value); - }; - - React.useEffect(() => { - onValueChange(value); // call the passed in prop function - }, [value, onValueChange]); - - if (semester === 'Undergraduate') { - return ( - - - Graduate School Plans - - - } - label="I do not plan on going to graduate school." - /> - } - label="Yes; I plan on immediately continuing to graduate school at UF." - /> - } - label="Yes; I plan on immediately continuing to graduate school, but not at UF." - /> - - - ); - } else if (semester === 'Graduate') { - return ( - - - Fee Waiver Status - - - } - label="Yes, I will need a fee waiver in order to be a peer instructor." - /> - } - label="No, I will not need a fee waiver in order to be a peer instructor." - /> - - - ); - } - return <>; -} diff --git a/src/component/FormUtil/AvailabilityCheckbox.tsx b/src/component/FormUtil/AvailabilityCheckbox.tsx deleted file mode 100644 index 1165951..0000000 --- a/src/component/FormUtil/AvailabilityCheckbox.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import * as React from 'react'; -import Box from '@mui/material/Box'; -import FormControl from '@mui/material/FormControl'; -import FormGroup from '@mui/material/FormGroup'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import Checkbox from '@mui/material/Checkbox'; - -interface CheckboxProps { - name: string; -} - -export default function AvailabilityCheckbox({ name }: CheckboxProps) { - const [state, setState] = React.useState({ - seven: false, - fourteen: false, - twenty: false, - }); - - const handleChange = (event: React.ChangeEvent) => { - // Extract the original name from the event target name by removing the prefix - const originalName = event.target.name.replace(`${name}_`, ''); - - setState({ - ...state, - [originalName]: event.target.checked, - }); - }; - - const { seven, fourteen, twenty } = state; - const error = [seven, fourteen, twenty].filter((v) => v).length !== 2; - - return ( - - - - - } - label="7 hrs/week" - /> - - } - label="14 hrs/week" - /> - - } - label="20 hrs/week" - /> - - - - ); -} diff --git a/src/component/FormUtil/DegreeSelect.tsx b/src/component/FormUtil/DegreeSelect.tsx deleted file mode 100644 index a3dea09..0000000 --- a/src/component/FormUtil/DegreeSelect.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import * as React from 'react'; -import Radio from '@mui/material/Radio'; -import RadioGroup from '@mui/material/RadioGroup'; -import FormHelperText from '@mui/material/FormHelperText'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import FormControl from '@mui/material/FormControl'; -import FormLabel from '@mui/material/FormLabel'; - -export default function DegreeSelect() { - const [value, setValue] = React.useState(''); - - const handleChange = (event: React.ChangeEvent) => { - setValue((event.target as HTMLInputElement).value); - }; - - return ( - - - Degree - - - } label="BS" /> - } label="MS" /> - } label="PhD" /> - - - ); -} diff --git a/src/component/FormUtil/DepartmentSelect.tsx b/src/component/FormUtil/DepartmentSelect.tsx deleted file mode 100644 index 0e766fe..0000000 --- a/src/component/FormUtil/DepartmentSelect.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import * as React from 'react'; -import Box from '@mui/material/Box'; -import InputLabel from '@mui/material/InputLabel'; -import MenuItem from '@mui/material/MenuItem'; -import FormControl from '@mui/material/FormControl'; -import Select, { SelectChangeEvent } from '@mui/material/Select'; - -export default function DepartmentSelect() { - const [department, setDepartment] = React.useState(''); - - const handleChange = (event: SelectChangeEvent) => { - setDepartment(event.target.value as string); - }; - - // InputLabel props: https://mui.com/material-ui/api/input-label/#props - // for example, "required" - - return ( - - - - Department - - - - - ); -} diff --git a/src/component/FormUtil/GPASelect.tsx b/src/component/FormUtil/GPASelect.tsx deleted file mode 100644 index d5a41f0..0000000 --- a/src/component/FormUtil/GPASelect.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import * as React from 'react'; -import Box from '@mui/material/Box'; -import InputLabel from '@mui/material/InputLabel'; -import MenuItem from '@mui/material/MenuItem'; -import FormControl from '@mui/material/FormControl'; -import FormHelperText from '@mui/material/FormHelperText'; -import Select, { SelectChangeEvent } from '@mui/material/Select'; - -export default function GPA_Select() { - const [gpa, setGPA] = React.useState(''); - - const handleChange = (event: SelectChangeEvent) => { - setGPA(event.target.value as string); - }; - - // InputLabel props: https://mui.com/material-ui/api/input-label/#props - // for example, "required" - - return ( - - - - GPA - - - - Select your GPA on a 4.0 scale. Please visit{' '} - - ONE.UF - {' '} - to confirm. - - - - ); -} diff --git a/src/component/FormUtil/HourSelect.tsx b/src/component/FormUtil/HourSelect.tsx deleted file mode 100644 index b18d22a..0000000 --- a/src/component/FormUtil/HourSelect.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import * as React from 'react'; -import Radio from '@mui/material/Radio'; -import RadioGroup from '@mui/material/RadioGroup'; -import FormHelperText from '@mui/material/FormHelperText'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import FormControl from '@mui/material/FormControl'; -import FormLabel from '@mui/material/FormLabel'; - -export default function HourSelect() { - const [value, setValue] = React.useState(''); - - const handleChange = (event: React.ChangeEvent) => { - setValue((event.target as HTMLInputElement).value); - }; - - return ( - - - Hours - - - } label="7" /> - } label="14" /> - } label="20" /> - - - Please select the number of hours per week they will work. - - - ); -} diff --git a/src/component/FormUtil/NationalitySelect.tsx b/src/component/FormUtil/NationalitySelect.tsx deleted file mode 100644 index 4ad8ac0..0000000 --- a/src/component/FormUtil/NationalitySelect.tsx +++ /dev/null @@ -1,246 +0,0 @@ -import * as React from 'react'; -import TextField from '@mui/material/TextField'; -import Autocomplete from '@mui/material/Autocomplete'; -import Chip from '@mui/material/Chip'; - -// important autocomplete warning fix -// https://stackoverflow.com/questions/75818761/material-ui-autocomplete-warning-a-props-object-containing-a-key-prop-is-be - -interface NationalitySelectProps { - onNationalityChange: (value: string | null) => void; -} - -export default function NationalitySelect({ - onNationalityChange, -}: NationalitySelectProps) { - const [value, setValue] = React.useState(null); - const [inputValue, setInputValue] = React.useState(''); - - return ( - { - setValue(newValue); - onNationalityChange(newValue); - }} - inputValue={inputValue} - onInputChange={(event, newInputValue) => { - setInputValue(newInputValue); - }} - id="nationality-select" - options={nationalities} - renderInput={(params) => ( - - )} - renderOption={(props, option) => { - return ( -
  • - {option} -
  • - ); - }} - renderTags={(tagValue, getTagProps) => { - return tagValue.map((option, index) => ( - - )); - }} - /> - ); -} - -// list of nationalities from https://gist.github.com/didats/8154290 -const nationalities = [ - 'Afghan', - 'Albanian', - 'Algerian', - 'American', - 'Andorran', - 'Angolan', - 'Antiguans', - 'Argentinean', - 'Armenian', - 'Australian', - 'Austrian', - 'Azerbaijani', - 'Bahamian', - 'Bahraini', - 'Bangladeshi', - 'Barbadian', - 'Barbudans', - 'Batswana', - 'Belarusian', - 'Belgian', - 'Belizean', - 'Beninese', - 'Bhutanese', - 'Bolivian', - 'Bosnian', - 'Brazilian', - 'British', - 'Bruneian', - 'Bulgarian', - 'Burkinabe', - 'Burmese', - 'Burundian', - 'Cambodian', - 'Cameroonian', - 'Canadian', - 'Cape Verdean', - 'Central African', - 'Chadian', - 'Chilean', - 'Chinese', - 'Colombian', - 'Comoran', - 'Congolese', - 'Costa Rican', - 'Croatian', - 'Cuban', - 'Cypriot', - 'Czech', - 'Danish', - 'Djibouti', - 'Dominican', - 'Dutch', - 'East Timorese', - 'Ecuadorean', - 'Egyptian', - 'Emirian', - 'Equatorial Guinean', - 'Eritrean', - 'Estonian', - 'Ethiopian', - 'Fijian', - 'Filipino', - 'Finnish', - 'French', - 'Gabonese', - 'Gambian', - 'Georgian', - 'German', - 'Ghanaian', - 'Greek', - 'Grenadian', - 'Guatemalan', - 'Guinea-Bissauan', - 'Guinean', - 'Guyanese', - 'Haitian', - 'Herzegovinian', - 'Honduran', - 'Hungarian', - 'Icelander', - 'Indian', - 'Indonesian', - 'Iranian', - 'Iraqi', - 'Irish', - 'Israeli', - 'Italian', - 'Ivorian', - 'Jamaican', - 'Japanese', - 'Jordanian', - 'Kazakhstani', - 'Kenyan', - 'Kittian and Nevisian', - 'Kuwaiti', - 'Kyrgyz', - 'Laotian', - 'Latvian', - 'Lebanese', - 'Liberian', - 'Libyan', - 'Liechtensteiner', - 'Lithuanian', - 'Luxembourger', - 'Macedonian', - 'Malagasy', - 'Malawian', - 'Malaysian', - 'Maldivan', - 'Malian', - 'Maltese', - 'Marshallese', - 'Mauritanian', - 'Mauritian', - 'Mexican', - 'Micronesian', - 'Moldovan', - 'Monacan', - 'Mongolian', - 'Moroccan', - 'Mosotho', - 'Motswana', - 'Mozambican', - 'Namibian', - 'Nauruan', - 'Nepalese', - 'New Zealander', - 'Ni-Vanuatu', - 'Nicaraguan', - 'Nigerien', - 'North Korean', - 'Northern Irish', - 'Norwegian', - 'Omani', - 'Pakistani', - 'Palauan', - 'Panamanian', - 'Papua New Guinean', - 'Paraguayan', - 'Peruvian', - 'Polish', - 'Portuguese', - 'Qatari', - 'Romanian', - 'Russian', - 'Rwandan', - 'Saint Lucian', - 'Salvadoran', - 'Samoan', - 'San Marinese', - 'Sao Tomean', - 'Saudi', - 'Scottish', - 'Senegalese', - 'Serbian', - 'Seychellois', - 'Sierra Leonean', - 'Singaporean', - 'Slovakian', - 'Slovenian', - 'Solomon Islander', - 'Somali', - 'South African', - 'South Korean', - 'Spanish', - 'Sri Lankan', - 'Sudanese', - 'Surinamer', - 'Swazi', - 'Swedish', - 'Swiss', - 'Syrian', - 'Taiwanese', - 'Tajik', - 'Tanzanian', - 'Thai', - 'Togolese', - 'Tongan', - 'Trinidadian or Tobagonian', - 'Tunisian', - 'Turkish', - 'Tuvaluan', - 'Ugandan', - 'Ukrainian', - 'Uruguayan', - 'Uzbekistani', - 'Venezuelan', - 'Vietnamese', - 'Welsh', - 'Yemenite', - 'Zambian', - 'Zimbabwean', -]; diff --git a/src/component/FormUtil/PositionSelect.tsx b/src/component/FormUtil/PositionSelect.tsx deleted file mode 100644 index 5fe97e7..0000000 --- a/src/component/FormUtil/PositionSelect.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import * as React from 'react'; -import Radio from '@mui/material/Radio'; -import RadioGroup from '@mui/material/RadioGroup'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import FormControl from '@mui/material/FormControl'; - -export default function PositionSelect() { - const [value, setValue] = React.useState(''); - - const handleChange = (event: React.ChangeEvent) => { - setValue((event.target as HTMLInputElement).value); - }; - - return ( - - - } - label="Teaching Assistant (TA)" - /> - } - label="Undergraduate Peer Instructor (UPI)" - /> - } label="Grader" /> - - - ); -} diff --git a/src/component/FormUtil/ProficiencySelect.tsx b/src/component/FormUtil/ProficiencySelect.tsx deleted file mode 100644 index 0b130d2..0000000 --- a/src/component/FormUtil/ProficiencySelect.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import * as React from 'react'; -import Box from '@mui/material/Box'; -import InputLabel from '@mui/material/InputLabel'; -import MenuItem from '@mui/material/MenuItem'; -import FormControl from '@mui/material/FormControl'; -import Select, { SelectChangeEvent } from '@mui/material/Select'; - -export default function ProficiencySelect() { - const [proficiency, setProficiency] = React.useState(''); - - const handleChange = (event: SelectChangeEvent) => { - setProficiency(event.target.value as string); - }; - - // InputLabel props: https://mui.com/material-ui/api/input-label/#props - // for example, "required" - - return ( - - - - English Proficiency - - - - - ); -} diff --git a/src/component/FormUtil/RoleSelect.tsx b/src/component/FormUtil/RoleSelect.tsx deleted file mode 100644 index 60bcfd2..0000000 --- a/src/component/FormUtil/RoleSelect.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import * as React from 'react'; -import Radio from '@mui/material/Radio'; -import RadioGroup from '@mui/material/RadioGroup'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import FormControl from '@mui/material/FormControl'; -import FormLabel from '@mui/material/FormLabel'; - -export default function RoleSelect() { - const [value, setValue] = React.useState(''); - - const handleChange = (event: React.ChangeEvent) => { - setValue((event.target as HTMLInputElement).value); - }; - - return ( - - - } - label="Student" - /> - } label="Faculty" /> - - - ); -} diff --git a/src/component/FormUtil/SemesterCheckbox.tsx b/src/component/FormUtil/SemesterCheckbox.tsx deleted file mode 100644 index 435cfcf..0000000 --- a/src/component/FormUtil/SemesterCheckbox.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import * as React from 'react'; -import Box from '@mui/material/Box'; -import FormControl from '@mui/material/FormControl'; -import FormGroup from '@mui/material/FormGroup'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import Checkbox from '@mui/material/Checkbox'; - -interface CheckboxProps { - name: string; -} - -export default function SemesterCheckbox({ name }: CheckboxProps) { - const [state, setState] = React.useState({ - fall_2024: false, - spring_2025: false, - }); - - const handleChange = (event: React.ChangeEvent) => { - // Extract the original name from the event target name by removing the prefix - const originalName = event.target.name.replace(`${name}_`, ''); - - setState({ - ...state, - [originalName]: event.target.checked, - }); - }; - - const { fall_2024, spring_2025 } = state; - const error = [fall_2024, spring_2025].filter((v) => v).length !== 2; - - return ( - - - - - } - label="Fall 2024" - /> - - } - label="Spring 2025" - /> - - - - ); -} diff --git a/src/component/FormUtil/SemesterStatusSelect.tsx b/src/component/FormUtil/SemesterStatusSelect.tsx deleted file mode 100644 index c26af65..0000000 --- a/src/component/FormUtil/SemesterStatusSelect.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import * as React from 'react'; -import Radio from '@mui/material/Radio'; -import RadioGroup from '@mui/material/RadioGroup'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import FormControl from '@mui/material/FormControl'; -import FormLabel from '@mui/material/FormLabel'; -import { AdditionalSemesterPromptProps } from './AddtlSemesterPrompt'; - -interface SemesterStatusSelectProps { - component: React.ComponentType; - onValueChange: (value: string) => void; -} - -export default function SemesterStatusSelect(props: SemesterStatusSelectProps) { - const [value, setValue] = React.useState(''); - - const handleChange = (event: React.ChangeEvent) => { - setValue((event.target as HTMLInputElement).value); - }; - - return ( - - - Upcoming Semester Status - - - } - label="Undergraduate" - /> - } - label="Graduate" - /> - - - - ); -} diff --git a/src/component/Header/Header.module.scss b/src/component/Header/Header.module.scss deleted file mode 100644 index 64671db..0000000 --- a/src/component/Header/Header.module.scss +++ /dev/null @@ -1,11 +0,0 @@ -@media (max-width: 600px) { - .rightIcons { - padding-left: 0px - } -} - -@media (min-width: 601px) { - .rightIcons { - padding-left: 60px - } -} \ No newline at end of file diff --git a/src/component/Header/Header.tsx b/src/component/Header/Header.tsx deleted file mode 100644 index e551dc3..0000000 --- a/src/component/Header/Header.tsx +++ /dev/null @@ -1,177 +0,0 @@ -import * as React from 'react'; -import AppBar from '@mui/material/AppBar'; -import Box from '@mui/material/Box'; -import Toolbar from '@mui/material/Toolbar'; -import IconButton from '@mui/material/IconButton'; -import Typography from '@mui/material/Typography'; -import Link from '@mui/material/Link'; -import Menu from '@mui/material/Menu'; -import MenuIcon from '@mui/icons-material/Menu'; -import Container from '@mui/material/Container'; -import Button from '@mui/material/Button'; -import Tooltip from '@mui/material/Tooltip'; -import MenuItem from '@mui/material/MenuItem'; -import ThemeToggleButton from '../ThemeInteraction/ThemeToggleButton'; -import scss from './Header.module.scss'; -import UserIcon from './UserIcon'; -import handleSignOut from '@/firebase/auth/auth_signout'; - -import { useAuth } from '@/firebase/auth/auth_context'; -// user information reference: https://firebase.google.com/docs/auth/web/manage-users - -const pages = ['about', 'features']; -const pageLabels = { - about: 'About', - features: 'Features', -}; - -export type HeaderProps = { - ColorModeContext: React.Context<{ toggleColorMode: () => void }>; -}; - -const Header = (props: HeaderProps) => { - const { ColorModeContext } = props; - const { user } = useAuth(); - const [anchorElNav, setAnchorElNav] = React.useState( - null - ); - const [anchorElUser, setAnchorElUser] = React.useState( - null - ); - - const handleOpenNavMenu = (event: React.MouseEvent) => { - setAnchorElNav(event.currentTarget); - }; - const handleOpenUserMenu = (event: React.MouseEvent) => { - setAnchorElUser(event.currentTarget); - }; - - const handleCloseNavMenu = () => { - setAnchorElNav(null); - }; - - const handleCloseUserMenu = () => { - setAnchorElUser(null); - }; - - return ( - - - - - CourseConnect - - - - - - - - {pages.map((page) => ( - - - {pageLabels[page as keyof typeof pageLabels]} - - - ))} - - - - - {pages.map((page) => ( - - ))} - - - - - - - - - - - - - user ? handleSignOut() : (window.location.href = '/') - } - > - - {user ? 'Logout' : 'Login'} - - - - - - - - - ); -}; -export default Header; diff --git a/src/component/Header/UserIcon.jsx b/src/component/Header/UserIcon.jsx deleted file mode 100644 index 92da87d..0000000 --- a/src/component/Header/UserIcon.jsx +++ /dev/null @@ -1,79 +0,0 @@ -// icons -import PersonIcon from '@mui/icons-material/Person'; // not signed in -import EngineeringIcon from '@mui/icons-material/Engineering'; // admin -import BadgeIcon from '@mui/icons-material/Badge'; // faculty -import SchoolIcon from '@mui/icons-material/School'; // student -import Avatar from '@mui/material/Avatar'; // avatar component to be exported - -import React, { useEffect } from 'react'; -import { useAuth } from '@/firebase/auth/auth_context'; -import firebase from '@/firebase/firebase_config'; -import { useDocument } from 'react-firebase-hooks/firestore'; - -function chooseIcon(role) { - switch (role) { - case 'admin': - return ( - - - - ); - case 'faculty': - return ( - - - - ); - case 'student_applying': - case 'student_applied': - case 'student_accepted': - case 'student_assigned': - case 'student_denied': - return ( - - - - ); - default: - return ( - - - - ); - } -} - -function UserAvatar({ userId }) { - const { user } = useAuth(); - const db = firebase.firestore(); - const userRef = db.collection('users').doc(userId); - const [userSnapshot, loading, error] = useDocument(userRef); - const userData = userSnapshot?.data(); - const role = userData?.role; - - useEffect(() => { - if (user && user.uid && !loading && !error) { - userRef.get(); - } - }, [user, userRef, loading, error]); - - if (error) { - return

    Error: {error.message}

    ; - } - - return <>{chooseIcon(role)}; -} - -export default function UserIcon() { - const { user } = useAuth(); - - if (!user) { - return ( - - - - ); - } - - return ; -} diff --git a/src/component/HeaderCard/HeaderCard.tsx b/src/component/HeaderCard/HeaderCard.tsx deleted file mode 100644 index 80de740..0000000 --- a/src/component/HeaderCard/HeaderCard.tsx +++ /dev/null @@ -1,28 +0,0 @@ -// components/HeaderCard/HeaderCard.tsx -import React, { FC } from 'react'; -import { EceLogoPng } from '@/component/EceLogoPng/EceLogoPng'; -import { TopNavBarSigned } from '@/component/TopNavBarSigned/TopNavBarSigned'; -import './style.css'; -import Breadcrumb from '../Breadcrumb/Breadcrumb'; - -interface HeaderCardProps { - text: string; -} - -const HeaderCard = ({ text }: HeaderCardProps) => { - return ( -
    - -
    - -
    -
    - ); -}; - -export default HeaderCard; diff --git a/src/component/HeaderCard/style.css b/src/component/HeaderCard/style.css deleted file mode 100644 index 46bb93a..0000000 --- a/src/component/HeaderCard/style.css +++ /dev/null @@ -1,60 +0,0 @@ -/* components/HeaderCard/style.css */ -.header { - position: relative; - height: 300px; - background: linear-gradient( - 90deg, - #21207a 0%, - #34218f 10%, - #33228e 20%, - #1b5c93 30%, - #159ca5 35%, - #19a0a7 38%, - #2196a7 41%, - #306e9c 46%, - #35228f 60%, - #34218f 70%, - #241b75 80%, - #231d7b 90%, - #21207a 100% - ); - display: flex; - - padding: 1.5rem 1rem; - color: #fff; - -} -.header .ece-logo-png-2 { - position:absolute; - margin-left: 10px; - } - - .header .top-nav-bar-signed-in { - position: absolute; - right: 85px; - - } - -.header .text-wrapper-10 { - color: #ffffff; - font-family: 'SF Pro Display-Medium', Helvetica; - font-size: 50px; - font-weight: 500; - letter-spacing: 0; - line-height: normal; - position: absolute; - left: 50%; - transform: translateY(-50%); - transform: translateX(-50%); - top: 120px; -} -.header .crumbs{ - position:absolute; - top:360px; - left:50px; -} -@media (max-width: 570px) { - .ece-logo-png-2 { - display: none; - } -} \ No newline at end of file diff --git a/src/component/JobCard/JobCard.tsx b/src/component/JobCard/JobCard.tsx deleted file mode 100644 index 8880ca0..0000000 --- a/src/component/JobCard/JobCard.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import React from 'react'; -import './style.css'; -import { Paper } from '@mui/material'; - -interface JobProps { - title: string; - department: string; - faculty: string; - terms: string[]; - level: string[]; - occupancy: number; - description: string; - mentor: string; - prereq: string; - credits: string; - stipend: string; - requirements: string; - deadline: string; - website: string; - contact: string; -} -export const JobCard = (props: JobProps) => { - return ( - -
    {props.title}
    -
    {props.department}
    -
    -
    {props.department}
    - -
    {props.description}
    -
    - ); -}; diff --git a/src/component/JobCard/style.css b/src/component/JobCard/style.css deleted file mode 100644 index e69de29..0000000 diff --git a/src/component/LogInCard/LogInCard.tsx b/src/component/LogInCard/LogInCard.tsx deleted file mode 100644 index 19b25f5..0000000 --- a/src/component/LogInCard/LogInCard.tsx +++ /dev/null @@ -1,276 +0,0 @@ -'use client'; -import { getAuth, sendPasswordResetEmail } from 'firebase/auth'; - -import React from 'react'; -import Dialog from '@mui/material/Dialog'; -import Button from '@mui/material/Button'; -import DialogActions from '@mui/material/DialogActions'; -import DialogContent from '@mui/material/DialogContent'; -import Divider from '@mui/material/Divider'; -import DialogContentText from '@mui/material/DialogContentText'; -import DialogTitle from '@mui/material/DialogTitle'; -import handleSignIn from '../../firebase/auth/auth_signin_password'; -import { useState } from 'react'; -import './style.css'; -import MuiAlert, { AlertProps } from '@mui/material/Alert'; -import { TextField } from '@mui/material'; -import Link from 'next/link'; -import FormControl from '@mui/material/FormControl'; -import { toast } from 'react-hot-toast'; - -import 'firebase/firestore'; -export const LogInCard = ({ - className, - setSignup, -}: { - className: any; - setSignup: (val: boolean) => void; -}) => { - var res; - const [loading, setLoading] = useState(false); - const [success, setSuccess] = useState(false); - const [email, setEmail] = useState(''); - const [emailVal, setEmailVal] = useState(''); - const [password, setPassword] = useState(''); - const [open, setOpen] = React.useState(false); - const handleClose = () => { - setOpen(false); - }; - - const handleForgotPassword = (e: any) => { - //handleSignOut(); - e.preventDefault(); - const auth = getAuth(); - sendPasswordResetEmail(auth, emailVal) - .then(() => { - // Password reset email sent! - // .. - toast.success('Password reset email sent!'); - }) - .catch((error) => { - const errorCode = error.code; - const errorMessage = error.message; - // .. - console.log(error); - }); - setOpen(false); - }; - const Alert = React.forwardRef(function Alert( - props, - ref - ) { - return ; - }); - const handleSubmit = async (event: any) => { - setLoading(true); - event.preventDefault(); - res = await handleSignIn(email, password); - // Loading bar toggle - if (!res) { - setLoading(false); - } else { - setSuccess(true); - } - }; - return ( -
    - - - Reset Password - -
    handleForgotPassword(e)}> - - - Please enter the email associated with your account. This allows - us to send you a link where you can reset the account password. - -
    -
    - - - setEmailVal(val.target.value)} - required - fullWidth - id="email" - label="Email" - autoFocus - /> - -
    - - - - - -
    -
    -
    { - void handleSubmit(e); - }} - > -
    Log In
    - - -
    -
    Email
    -
    -
    - ) => { - setEmail(event.target.value); - }} - id="email" - name="email" - autoComplete="email" - autoFocus - /> -
    -
    -
    -
    -
    Password
    -
    -
    - ) => { - setPassword(event.target.value); - }} - autoComplete="current-password" - /> -
    -
    -
    - -
    - -
    -
    - -
    - -
    - Don't have an account? -
    - -
    - -
    - ); -}; diff --git a/src/component/LogInCard/style.css b/src/component/LogInCard/style.css deleted file mode 100644 index 4baf3f3..0000000 --- a/src/component/LogInCard/style.css +++ /dev/null @@ -1,202 +0,0 @@ -.log-in-card { - background-color: #ffffff; - border-radius: 40px; - box-shadow: 0px 4px 35px #00000014; - height: 537px; - position: relative; - width: 539px; -} - -.log-in-card .input { - display: block; - width: 100%; - padding: 0.5rem 0.8rem 0.5rem 0.8rem; - margin: 0.9vw 0; - border: 0; - border-radius: 5px; - font-size: 20px; - outline: none; - -} - -.log-in-card .welcome-to-course { - color: transparent; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 24px; - font-weight: 400; - left: 44px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 43px; -} - -.log-in-card .text-wrapper { - color: #000000; -} - -.log-in-card .span { - color: #562eba; - font-family: "SF Pro Display-Bold", Helvetica; - font-weight: 700; -} - -.log-in-card .div { - color: #000000; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 55px; - font-weight: 500; - left: 44px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 30px; - white-space: nowrap; - -} - -.log-in-card .email-address-input { - height: 91px; - left: 44px; - position: absolute; - top: 150px; - width: 453px; -} - -.log-in-card .text-wrapper-2 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 18px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.log-in-card .overlap-group-wrapper { - height: 57px; - left: 0; - position: absolute; - top: 34px; - width: 453px; -} - -.log-in-card .overlap-group { - background-color: #ffffff; - border-radius: 40px; - height: 57px; - position: relative; - width: 451px; -} - -.log-in-card .text-wrapper-3 { - color: #6c6c6c; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - left: 24px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 18px; - white-space: nowrap; - outline: none; -} - -.log-in-card .password-input { - height: 91px; - left: 44px; - position: absolute; - top: 260px; - width: 453px; -} - - -.log-in-card .text-wrapper-4:hover { - cursor: pointer; - text-decoration: underline; -} - -.log-in-card .sign-in-button { - height: 54px; - left: 44px; - position: absolute; - top: 385px; - width: 453px; - display: flex; - justify-content: center; - align-items: center; -} -.log-in-card .password-forgot-text { - height: 54px; - left: 44px; - position: absolute; - top: 445px; - width: 453px; - display: flex; - justify-content: center; - align-items: center; -} -.log-in-card .sign-up-text { - height: 54px; - left: 44px; - position: absolute; - top: 480px; - width: 453px; - display: flex; - gap:3px; - justify-content: center; - align-items: center; -} - -.log-in-card .overlap { - background-color: #562eba; - border-radius: 10px; - box-shadow: 0px 4px 19px #7793414c; - height: 54px; - position: relative; - width - : 451px; - display: flex; - justify-content: center; - align-items: center; - width: 100%; -} - -.log-in-card .overlap:hover { - cursor: pointer; -} - - - -.log-in-card .text-wrapper-5 { - color: #ffffff; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 16px; - font-weight: 500; - letter-spacing: 0; - line-height: normal; - text-align: center; /* Centers the text within the button */ - width: 100%; -} - - -@media (max-width: 570px) { - .log-in-card{ - max-width: 100%; - } - .log-in-card .overlap { - width: 300px; - } - .log-in-card .sign-in-button { - left: -20px; - } - .log-in-card .text-wrapper-4{ - left: 270px; - } -} - - diff --git a/src/component/Profile/Profile.jsx b/src/component/Profile/Profile.jsx deleted file mode 100644 index 97a64f1..0000000 --- a/src/component/Profile/Profile.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; -import './style.css'; - -export const Profile = ({ - className, - profile = 'https://c.animaapp.com/vYQBTcnO/img/profile-1@2x.png', -}) => { - return ( -
    -
    -
    Profile
    - Profile -
    -
    - ); -}; - -Profile.propTypes = { - profile: PropTypes.string, -}; diff --git a/src/component/Profile/style.css b/src/component/Profile/style.css deleted file mode 100644 index 169f91b..0000000 --- a/src/component/Profile/style.css +++ /dev/null @@ -1,37 +0,0 @@ -.profile { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 183px; - width: 187px; -} - -.profile .inner-content { - height: 140px; - left: 48px; - position: relative; - top: 8px; - width: 89px; -} - -.profile .text-wrapper-6 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 20px; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 5px; - white-space: nowrap; - margin-left: 20px; -} - -.profile .img { - height: 87px; - left: 5px; - position: absolute; - top: 53px; - width: 87px; -} - diff --git a/src/component/SemesterSelection/SemesterSelection.tsx b/src/component/SemesterSelection/SemesterSelection.tsx deleted file mode 100644 index bff249a..0000000 --- a/src/component/SemesterSelection/SemesterSelection.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import React from 'react'; -import Select, { GroupBase } from 'react-select'; -import makeAnimated from 'react-select/animated'; -import { SelectSemester } from '@/types/User'; -// Custom option type - -const animatedComponents = makeAnimated(); - -// Generate semesters as an array of SelectSemester objects -const generateSemesters = (): SelectSemester[] => { - const currentYear = new Date().getFullYear(); - const currentMonth = new Date().getMonth() + 1; - const startYear = 2024; - const semesters: SelectSemester[] = [ - { value: `Spring 2023`, label: `Spring 2023` }, - ]; - - for (let year = startYear; year <= currentYear; year++) { - semesters.push({ value: `Fall ${year - 1}`, label: `Fall ${year - 1}` }); - - if (year < currentYear || currentMonth >= 6) { - semesters.push({ value: `Spring ${year}`, label: `Spring ${year}` }); - } - - if (year < currentYear || currentMonth >= 9) { - semesters.push({ value: `Summer ${year}`, label: `Summer ${year}` }); - } - } - - return semesters; -}; - -interface SemesterSelectionProps { - selectedSemesters: SelectSemester[]; - setSelectedSemesters: (semesters: SelectSemester[]) => void; -} - -const SemesterSelection: React.FC = ({ - selectedSemesters, - setSelectedSemesters, -}) => { - // Use the generated semesters - const allSemesters = generateSemesters(); - - // Handle changes from the Select component - const handleChange = (selectedOptions: any) => { - setSelectedSemesters(selectedOptions); - }; - // Custom styles for React Select - const customStyles = { - container: (provided: any) => ({ - ...provided, - width: '600px', - }), - control: (provided: any) => ({ - ...provided, - borderRadius: '', // Rounded border - }), - }; - - return ( -
    - > - closeMenuOnSelect={false} - components={animatedComponents} - isMulti - options={allSemesters} - value={selectedSemesters} - onChange={handleChange} - placeholder="Select Semester" - styles={customStyles} - /> -
    - ); -}; - -export default SemesterSelection; diff --git a/src/component/SemesterSelection/style.css b/src/component/SemesterSelection/style.css deleted file mode 100644 index e69de29..0000000 diff --git a/src/component/SemesterTimeline/SemesterTimeline.tsx b/src/component/SemesterTimeline/SemesterTimeline.tsx deleted file mode 100644 index f855be3..0000000 --- a/src/component/SemesterTimeline/SemesterTimeline.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import React from 'react'; -import './style.css'; - -interface TimelineProps { - selectedSemester: number; - setSelectedSemester: React.Dispatch>; - semesters: string[]; -} - -export const SemesterTimeline = ({ - selectedSemester, - setSelectedSemester, - semesters, -}: TimelineProps): JSX.Element => { - return ( -
    - {semesters.map((semester, index) => ( -
    setSelectedSemester(index)} - > -
    -
    {semester}
    -
    - {index === 0 ? 'Current Semester' : 'Upcoming Semester'} -
    -
    -
    - ))} -
    - ); -}; diff --git a/src/component/SemesterTimeline/style.css b/src/component/SemesterTimeline/style.css deleted file mode 100644 index e1fb6df..0000000 --- a/src/component/SemesterTimeline/style.css +++ /dev/null @@ -1,61 +0,0 @@ -.tab-bar { - display: flex; - justify-content: space-around; - align-items: center; - width: 650px; /* Set a fixed width */ - height: 80px; /* Set a fixed height */ - background-color: #fff; - border: 1px solid #ccc; - border-radius: 16px; - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); - } - - .element-year, .element-years { - cursor: pointer; - padding: 0px 69px; - text-align: center; - position: relative; - - } - - .element-year:hover, .element-years:hover { - background-color: #f0f0f0; - border-radius: 16px; - - } - - .element-year.selected, .element-years.selected { - font-weight: bold; - } - - .element-year.selected::after, .element-years.selected::after { - content: ''; - display: block; - width: 130%; - height: 6px; - background-color: #562eba; - left: 0; - margin-left: -10px; - margin-top: -5px; - border-radius: 4.27px; - } - - .div { - margin: 10px; - } - - .text-wrapper, .text-wrapper-3 { - font-size: 24px; - margin-bottom: 1px; - } - - .text-wrapper-2, .text-wrapper-4 { - font-size: 14px; - color: #666; - } - - .selected-year-info { - margin-top: 20px; - font-size: 18px; - } - \ No newline at end of file diff --git a/src/component/SignIn/SignInForm.tsx b/src/component/SignIn/SignInForm.tsx deleted file mode 100644 index 074c949..0000000 --- a/src/component/SignIn/SignInForm.tsx +++ /dev/null @@ -1,116 +0,0 @@ -'use client'; -import * as React from 'react'; -import Avatar from '@mui/material/Avatar'; -import Button from '@mui/material/Button'; -import CssBaseline from '@mui/material/CssBaseline'; -import TextField from '@mui/material/TextField'; -import KeyIcon from '@mui/icons-material/Key'; -import Link from '@mui/material/Link'; -import Grid from '@mui/material/Grid'; -import Box from '@mui/material/Box'; -import Typography from '@mui/material/Typography'; -import Container from '@mui/material/Container'; -import LinearProgress from '@mui/material/LinearProgress'; -import handleSignIn from '../../firebase/auth/auth_signin_password'; -import toast, { Toaster } from 'react-hot-toast'; -import { useState } from 'react'; -import CircularProgress from '@mui/material/CircularProgress'; -import Snackbar from '@mui/material/Snackbar'; -import MuiAlert, { AlertProps } from '@mui/material/Alert'; - -export default function SignIn() { - var res; - const [loading, setLoading] = useState(false); - const [success, setSuccess] = useState(false); - const Alert = React.forwardRef(function Alert( - props, - ref - ) { - return ; - }); - const handleSubmit = async (event: React.FormEvent) => { - setLoading(true); - event.preventDefault(); - const data = new FormData(event.currentTarget); - res = await handleSignIn( - data.get('email') as string, - data.get('password') as string - ); - console.log(res); - - if (!res) { - setLoading(false); - } else { - setSuccess(true); - } - }; - - return ( - - - - Sign in successful! - - - - - - - - - Sign in - - - {loading ? : null} - - - - - - - Forgot password? - - - - - {"Don't have an account? Sign Up"} - - - - - - - ); -} diff --git a/src/component/SignIn/style.css b/src/component/SignIn/style.css deleted file mode 100644 index 57b8aa6..0000000 --- a/src/component/SignIn/style.css +++ /dev/null @@ -1,149 +0,0 @@ -.log-in-card { - background-color: #ffffff; - border-radius: 40px; - box-shadow: 0px 4px 35px #00000014; - height: 627px; - position: relative; - width: 539px; -} - -.log-in-card .welcome-to-course { - color: transparent; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 24px; - font-weight: 400; - left: 44px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 43px; -} - -.log-in-card .text-wrapper { - color: #000000; -} - -.log-in-card .span { - color: #562eba; - font-family: "SF Pro Display-Bold", Helvetica; - font-weight: 700; -} - -.log-in-card .div { - color: #000000; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 55px; - font-weight: 500; - left: 44px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 76px; - white-space: nowrap; -} - -.log-in-card .email-address-input { - height: 91px; - left: 44px; - position: absolute; - top: 204px; - width: 453px; -} - -.log-in-card .text-wrapper-2 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 18px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.log-in-card .overlap-group-wrapper { - height: 57px; - left: 0; - position: absolute; - top: 34px; - width: 453px; -} - -.log-in-card .overlap-group { - background-color: #ffffff; - border-radius: 9px; - height: 57px; - position: relative; - width: 451px; -} - -.log-in-card .text-wrapper-3 { - color: #6c6c6c; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - left: 24px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 18px; - white-space: nowrap; -} - -.log-in-card .password-input { - height: 91px; - left: 44px; - position: absolute; - top: 331px; - width: 453px; -} - -.log-in-card .text-wrapper-4 { - color: #4c4c4c; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - left: 387px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 436px; - white-space: nowrap; -} - -.log-in-card .sign-in-button { - height: 54px; - left: 44px; - position: absolute; - top: 501px; - width: 453px; -} - -.log-in-card .overlap { - background-color: #562eba; - border-radius: 10px; - box-shadow: 0px 4px 19px #7793414c; - height: 54px; - position: relative; - width: 451px; -} - -.log-in-card .text-wrapper-5 { - color: #ffffff; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 16px; - font-weight: 500; - left: 198px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 15px; - width: 56px; -} - - div.vspace1em { - clear: both; - height: 1em; - } diff --git a/src/component/SignIn/styleguide.css b/src/component/SignIn/styleguide.css deleted file mode 100644 index 02755ae..0000000 --- a/src/component/SignIn/styleguide.css +++ /dev/null @@ -1,4 +0,0 @@ -:root { - --buttons-accent-titles: rgba(86, 46, 186, 1); -} - diff --git a/src/component/SignOut/SignOutButton.tsx b/src/component/SignOut/SignOutButton.tsx deleted file mode 100644 index a20d2b7..0000000 --- a/src/component/SignOut/SignOutButton.tsx +++ /dev/null @@ -1,17 +0,0 @@ -'use client'; -import * as React from 'react'; -import Button from '@mui/material/Button'; -import LogoutIcon from '@mui/icons-material/Logout'; -import handleSignOut from '../../firebase/auth/auth_signout'; - -export default function IconLabelButtons() { - return ( - - ); -} diff --git a/src/component/SignUp/SignUpForm.tsx b/src/component/SignUp/SignUpForm.tsx deleted file mode 100644 index 167b370..0000000 --- a/src/component/SignUp/SignUpForm.tsx +++ /dev/null @@ -1,264 +0,0 @@ -'use client'; -import * as React from 'react'; -import toast, { Toaster } from 'react-hot-toast'; -import { useState } from 'react'; -import Avatar from '@mui/material/Avatar'; -import Button from '@mui/material/Button'; -import CssBaseline from '@mui/material/CssBaseline'; -import TextField from '@mui/material/TextField'; -import Link from '@mui/material/Link'; -import Grid from '@mui/material/Grid'; -import Box from '@mui/material/Box'; -import AccountCircleIcon from '@mui/icons-material/AccountCircle'; -import Typography from '@mui/material/Typography'; -import Container from '@mui/material/Container'; -import DepartmentSelect from '../FormUtil/DepartmentSelect'; -import RoleSelect from '../FormUtil/RoleSelect'; -import LinearProgress from '@mui/material/LinearProgress'; -import handleSignUp from '../../firebase/auth/auth_signup_password'; -import handleSignIn from '@/firebase/auth/auth_signin_password'; -import Snackbar from '@mui/material/Snackbar'; -import MuiAlert, { AlertProps } from '@mui/material/Alert'; - -export default function SignUpForm() { - const Alert = React.forwardRef(function Alert( - props, - ref - ) { - return ; - }); - function isStrongPassword(password: string): boolean { - // Check if the password is at least 8 characters long - if (password.length < 8) { - toast.error('Password should contain at least 8 letters!'); - return false; - } - - const uppercaseRegex = /[A-Z]/; - const lowercaseRegex = /[a-z]/; - const numberRegex = /[0-9]/; - const specialCharacterRegex = /[!@#$%^&*()_+{}\[\]:;<>,.?~\\/-]/; - - if (!uppercaseRegex.test(password)) { - toast.error('Password should contain at least one uppercase letter!'); - return false; - } - if (!lowercaseRegex.test(password)) { - toast.error('Password should contain at least one lowercase letter!'); - - return false; - } - if (!numberRegex.test(password)) { - toast.error('Password should contain at least one number!'); - - return false; - } - if (!specialCharacterRegex.test(password)) { - toast.error( - 'Password should contain at least one special case character!' - ); - - return false; - } - - return true; - } - - const [loading, setLoading] = useState(false); - const [success, setSuccess] = useState(false); - const handleSubmit = async (event: React.FormEvent) => { - setLoading(true); - event.preventDefault(); - // extract the form data from the current event - const formData = new FormData(event.currentTarget); - // extract the specific user data from the form data into a parsable object - const userData = { - firstname: formData.get('firstName') as string, - lastname: formData.get('lastName') as string, - email: formData.get('email') as string, - password: formData.get('password') as string, - department: formData.get('department-select') as string, - role: formData.get('roles-radio-group') as string, - ufid: formData.get('ufid') as string, - uid: '', - }; - - // add the following: - if (userData.firstname === '') { - toast.error('Invalid first name!'); - } else if (/[0-9]/.test(userData.firstname)) { - toast.error('First name should only contain letters!'); - } else if (userData.lastname == '') { - toast.error('Invalid last name!'); - } else if (!/^[0-9]+$/.test(userData.ufid) || userData.ufid.length < 6) { - toast.error('UFID should only contain numbers with no spaces or dashes!'); - } else if (userData.role === null) { - toast.error('Please select a role!'); - } else if (userData.department === '') { - toast.error('Please select a department!'); - } else if (userData.password === '') { - toast.error('Please enter a password!'); - } else if (!isStrongPassword(userData.password)) { - console.log('invalid password'); - } else if (userData.ufid == '') { - toast.error('Please enter your UFID!'); - } else { - const uid_from_signup = await handleSignUp( - userData.firstname + ' ' + userData.lastname, - userData.email, - userData.password - ); - userData.uid = uid_from_signup; - - if (userData.uid === '-1' || userData.uid === '') { - toast.error('This UFID is Already in Use!'); - - // error: user not created - // display some kind of snackbar or toast saying UFID is already in use - } else if ( - userData.uid === '-2' || - userData.uid === '-4' || - userData.uid == '-3' - ) { - toast.error('Please Enter a Valid Email Adress!'); - } else if (userData.uid == '-5') { - toast.error('Email adress is already in use by another account!'); - } else { - // use fetch to send the user data to the server - // this goes to a cloud function which creates a document based on - // the data from the form, identified by the user's firebase auth uid - - const response = await fetch( - 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/processSignUpForm', - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(userData), - } - ); - - if (response.ok) { - setSuccess(true); - console.log('SUCCESS: User data sent to server successfully'); - // then, sign in the user - handleSignIn(userData.email, userData.password); - } else { - console.log('ERROR: User data failed to send to server'); - // display some kind of snackbar or toast saying data failed to send to server - } - } - } - - setLoading(false); - }; - - return ( - - - - Signup successfull! - - - - - - - - - Sign up - - - - {loading ? : null} -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Already have an account? Sign in - - - -
    -
    -
    - ); -} diff --git a/src/component/SignUpCard/SignUpCard.tsx b/src/component/SignUpCard/SignUpCard.tsx deleted file mode 100644 index a7f955a..0000000 --- a/src/component/SignUpCard/SignUpCard.tsx +++ /dev/null @@ -1,440 +0,0 @@ -'use client'; -import React from 'react'; -import { useState } from 'react'; -import { - FormControl, - FormControlLabel, - FormLabel, - InputLabel, - MenuItem, - Radio, - RadioGroup, - Select, - SelectChangeEvent, - Snackbar, - TextField, - Divider, -} from '@mui/material'; -import handleSignUp from '../../firebase/auth/auth_signup_password'; -import handleSignIn from '@/firebase/auth/auth_signin_password'; - -import styles from './style.module.css'; -import MuiAlert, { AlertProps } from '@mui/material/Alert'; -import { toast } from 'react-hot-toast'; -export const SignUpCard = ({ - className, - setSignup, -}: { - className: any; - setSignup: (val: boolean) => void; -}) => { - const [firstName, setFirstName] = useState(''); - const [lastName, setLastName] = useState(''); - const [password, setPassword] = useState(''); - const [ufid, setUFID] = useState(''); - const [department, setDepartment] = useState(''); - const [role, setRole] = useState(''); - const [confirmedPassword, setConfirmedPassword] = useState(''); - const [email, setEmail] = useState(''); - const [label, setLabel] = useState('ECE'); - const [roleLabel, setRoleLabel] = useState('Student'); - - const Alert = React.forwardRef(function Alert( - props, - ref - ) { - return ; - }); - - const handleNotificationEmail = async () => { - if (role == 'unapproved') { - try { - const response = await fetch( - 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - type: 'unapprovedUser', - data: { - user: { - name: `${firstName ?? ''} ${lastName ?? ''}`.trim(), - email: email, - }, - }, - }), - } - ); - - if (response.ok) { - const data = await response.json(); - console.log('Email sent successfully:', data); - } else { - throw new Error('Failed to send email'); - } - } catch (error) { - console.error('Error sending email:', error); - } - } - }; - - function isStrongPassword(password: string): boolean { - // Check if the password is at least 8 characters long - if (password.length < 8) { - toast.error('Password should contain at least 8 characters!'); - return false; - } - - const uppercaseRegex = /[A-Z]/; - const lowercaseRegex = /[a-z]/; - const numberRegex = /[0-9]/; - const specialCharacterRegex = /[!@#$%^&*()_+{}\[\]:;<>,.?~\\/-]/; - - if (!uppercaseRegex.test(password)) { - toast.error('Password should contain at least one uppercase letter!'); - return false; - } - if (!lowercaseRegex.test(password)) { - toast.error('Password should contain at least one lowercase letter!'); - - return false; - } - if (!numberRegex.test(password)) { - toast.error('Password should contain at least one number!'); - - return false; - } - if (!specialCharacterRegex.test(password)) { - toast.error( - 'Password should contain at least one special case character!' - ); - - return false; - } - - return true; - } - - const [loading, setLoading] = useState(false); - const [success, setSuccess] = useState(false); - const handleSubmit = async (event: any) => { - setLoading(true); - event.preventDefault(); - // extract the specific user data from the form data into a parsable object - const userData = { - firstname: firstName, - lastname: lastName, - email: email, - password: password, - confirmedpassword: confirmedPassword, - department: department, - role: role, - ufid: ufid, - uid: '', - }; - - // add the following: - if (userData.firstname === '') { - toast.error('Please enter a first name!'); - } else if (/[0-9]/.test(userData.firstname)) { - toast.error('First name should only contain letters!'); - } else if (userData.lastname == '') { - toast.error('Please enter a last name!'); - } else if (userData.role === null || userData.role === '') { - toast.error('Please select a role!'); - } else if (userData.department === '') { - toast.error('Please select a department!'); - } else if (userData.password === '') { - toast.error('Please enter a password!'); - } else if (userData.confirmedpassword != userData.password) { - toast.error('Passwords should match!'); - } else if (!isStrongPassword(userData.password)) { - console.log('invalid password'); - } else { - const uid_from_signup = await handleSignUp( - userData.firstname + ' ' + userData.lastname, - userData.email, - userData.password - ); - userData.uid = uid_from_signup; - - if (userData.uid === '-1' || userData.uid === '') { - toast.error('This UFID is Already in Use!'); - - // error: user not created - // display some kind of snackbar or toast saying UFID is already in use - } else if ( - userData.uid === '-2' || - userData.uid === '-4' || - userData.uid == '-3' - ) { - toast.error('Please Enter a Valid Email Adress!'); - } else if (userData.uid == '-5') { - toast.error('Email adress is already in use by another account!'); - } else { - // use fetch to send the user data to the server - // this goes to a cloud function which creates a document based on - // the data from the form, identified by the user's firebase auth uid - - const response = await fetch( - 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/processSignUpForm', - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(userData), - } - ); - - if (response.ok) { - setSuccess(true); - console.log('SUCCESS: User data sent to server successfully'); - // then, sign in the user - handleSignIn(userData.email, userData.password); - } else { - console.log('ERROR: User data failed to send to server'); - // display some kind of snackbar or toast saying data failed to send to server - } - - handleNotificationEmail(); - } - } - - setLoading(false); - }; - - return ( -
    - - - Signup successfull! - - -
    -
    -
    Sign Up
    - -
    -
    First Name
    -
    -
    - ) => { - setFirstName(event.target.value); - }} - id="first-name" - name="first-name" - autoComplete="given-name" - autoFocus - /> -
    -
    -
    -
    -
    Role
    -
    - { - setRole(event.target.value); - setRoleLabel(''); - }} - className={styles.textwrapper9} - > - Student - Faculty - -
    -
    - -
    -
    -
    Department
    -
    - { - setDepartment(event.target.value); - setLabel(''); - }} - size="small" - className={styles.textwrapper9} - > - ECE - CISE - ESSIE - MAE - MSE - ABE - CHE - ISE - EED - BME - -
    -
    -
    -
    -
    Last Name
    -
    -
    - ) => { - setLastName(event.target.value); - }} - id="full-width" - name="first-name" - size="small" - autoComplete="given-name" - autoFocus - /> -
    -
    -
    - -
    -
    Enter email address
    -
    -
    - ) => { - setEmail(event.target.value); - }} - id="email" - name="email" - size="small" - autoComplete="email" - autoFocus - /> -
    -
    -
    -
    -
    Enter password
    -
    Confirm password
    -
    -
    - ) => { - setPassword(event.target.value); - }} - autoComplete="current-password" - /> -
    -
    -
    -
    - ) => { - setConfirmedPassword(event.target.value); - }} - autoComplete="current-password" - /> -
    -
    -
    -
    - *If you are going to create a Faculty account, - please make sure to sign up using the same email that you use for - Onbase/Course Registration. -
    -
    - Already have an account? -

    - -
    -
    -
    - -
    -
    -
    -
    - ); -}; diff --git a/src/component/SignUpCard/style.module.css b/src/component/SignUpCard/style.module.css deleted file mode 100644 index f0c5ae7..0000000 --- a/src/component/SignUpCard/style.module.css +++ /dev/null @@ -1,448 +0,0 @@ -.box { - height: 800px; - width: 539px; -} - -.box .overlap { - background-color: #ffffff; - border-radius: 40px; - box-shadow: 0px 4px 35px #00000014; - height: 750px; - position: relative; - width: 539px; -} - -.box .textwrapper { - color: #000000; -} - -.box .span { - color: #562eba; - font-family: "SF Pro Display-Bold", Helvetica; - font-weight: 700; -} - -.box .div { - color: #000000; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 55px; - font-weight: 500; - left: 25px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 35px; - white-space: nowrap; - width: 179px; - gap:5px; -} - -.box .firstnameinput { - height: 89px; - left: 25px; - position: absolute; - top: 150px; - width: 240px; -} -.box .signintext { - height: 54px; - left: 25px; - position: absolute; - top: 695px; - width: 453px; - display: flex; - gap:3px; - justify-content: center; - align-items: center; -} -.box .textwrapper2 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 18px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; - width: 90px; -} - -.box .overlapgroupwrapper { - position: absolute; - top: 33px; - width: 240px; -} - -.box .overlapgroup { - background-color: #ffffff; - border-radius: 20px; - position: relative; - width: 240px; -} - -.box .textwrapper3 { - color: #6d6d6d; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - letter-spacing: 0; - line-height: normal; - position: absolute; - white-space: nowrap; - width: 230px; -} - - -.box .textwrapperlongbox { - color: #6d6d6d; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 18px; - white-space: nowrap; - width: 490px; -} - -.box .circle { - height: 22px; - left: 5px; - position: absolute; - top: 29px; - width: 22px; -} - -.box .img { - height: 22px; - left: 113px; - position: absolute; - top: 29px; - width: 22px; -} - -.box .textwrapper5 { - color: #6d6d6d; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - left: 37px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 30px; - white-space: nowrap; - width: 50px; -} - -.box .textwrapper6 { - color: #6d6d6d; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - left: 143px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 30px; - white-space: nowrap; - width: 46px; -} - -.box .departmentinput { - height: 89px; - left: 25px; - position: absolute; - top: 505px; - width: 193px; -} -.box .roleinput { - left: 280px; - position: absolute; - top: 505px; - width: 193px; -} -.box .departmentdropdown { - height: 89px; - position: relative; - width: 197px; -} - -.box .textwrapper7 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 18px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; - width: 99px; -} - -.box .overlapgroup2 { - background-color: #ffffff; - border-radius: 9px; - left: 0; - position: absolute; - top: 33px; - width: 193px; -} - -.box .textwrapper8 { - color: #6d6d6d; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - left: 24px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 18px; - white-space: nowrap; - width: 75px; -} - -.box .arrowdropdown { - height: 23px; - left: 161px; - position: absolute; - top: 16px; - width: 24px; -} - -.box .lastnameinput { - height: 89px; - left: 280px; - position: absolute; - top: 150px; - width: 195px; -} - -.box .UFIDinput { - height: 89px; - left: 302px; - position: absolute; - top: 536px; - width: 195px; -} - -.box .textwrapper9 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 18px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; - width: 230px; -} -.box .textwrapper4 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 18px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; - width: 42px; -} - -.box .textwrapper10 { - color: #6d6d6d; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - left: 24px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 18px; - white-space: nowrap; - width: 150px; -} - -.box .emailaddressinput { - height: 89px; - left: 25px; - position: absolute; - top: 240px; - width: 453px; -} - -.box .textwrapper11 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 18px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; - width: 147px; -} - -.box .divwrapper { - left: 0; - position: absolute; - top: 15px; - width: 453px; -} - -.box .overlapgroup3 { - background-color: #ffffff; - border-radius: 9px; - position: relative; - width: 451px; -} - -.box .textwrapper12 { - color: #6d6d6d; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - left: 24px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 18px; - white-space: nowrap; - width: 88px; -} - -.box .passwordinput { - height: 187px; - left: 25px; - position: absolute; - top: 330px; - width: 455px; -} - -.box .textwrapper13 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 18px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; - width: 117px; -} - -.box .textwrapper14 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 18px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 90px; - white-space: nowrap; - width: 138px; -} - -.box .textwrapper15 { - color: #6d6d6d; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 15px; - font-weight: 400; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 18px; - white-space: nowrap; - width: 188px; -} - -.box .confirmpassword { - left: 0; - position: absolute; - top: 100px; - width: 453px; -} - -.box .signinbutton { - all: unset; - box-sizing: border-box; - height: 53px; - left: 25px; - position: absolute; - top: 600px; - width: 490px; - display: flex; - justify-content: center; - align-items: center; -} - -.box .overlap2 { - background-color: #6739B7; - border-radius: 10px; - box-shadow: 0px 4px 19px #7793414c; - height: 45px; - position: relative; - width: 490px; -} -.box .overlap2:hover{ - cursor: pointer; -} - - -.box .textwrapper16 { - color: #ffffff; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 16px; - font-weight: 500; - letter-spacing: 0; - line-height: normal; - white-space: nowrap; - width: 100%; - text-align: center; -} -.box .facultytext{ - position:absolute; - top: 660px; - font-family: SF Pro Display; - font-size: 12px; - color: #4D4D4D; - word-wrap: break-word; - font-weight: 300; - margin-left: 45px; - margin-right: 45px; - -} - - -@media (max-width: 570px) { - .box .facultytext{ - max-width: 60%; - } - .box .signinbutton{ - width: 350px; - top: 780px; - left: 50px; - } - -.box .lastnameinput { - left: 240px; - -} - -} diff --git a/src/component/SmallClassCard/SmallClassCard.jsx b/src/component/SmallClassCard/SmallClassCard.jsx deleted file mode 100644 index 99b5106..0000000 --- a/src/component/SmallClassCard/SmallClassCard.jsx +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; -import Link from 'next/link'; -import './style.css'; - -const SmallClassCard = ({ className, courseName, courseId, onGoing }) => { - return ( - -
    -
    -
    {courseName}
    -
    -
    - - ); -}; - -export default SmallClassCard; diff --git a/src/component/SmallClassCard/style.css b/src/component/SmallClassCard/style.css deleted file mode 100644 index c56067c..0000000 --- a/src/component/SmallClassCard/style.css +++ /dev/null @@ -1,23 +0,0 @@ -.small-class-card { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 76px; - width: 180px; - position: relative; - } - - .small-class-card .text-wrapper { - color: #000000; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 25px; - font-weight: 700; - left: 2px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 24px; - width: 180px; - } - \ No newline at end of file diff --git a/src/component/SmallHeader/SmallHeader.tsx b/src/component/SmallHeader/SmallHeader.tsx deleted file mode 100644 index 3cfcf99..0000000 --- a/src/component/SmallHeader/SmallHeader.tsx +++ /dev/null @@ -1,16 +0,0 @@ -// NavBar.tsx -import React from 'react'; -import './style.css'; -import { EceLogoPng } from '../EceLogoPng/EceLogoPng'; -import { TopNavBarSigned } from '../TopNavBarSigned/TopNavBarSigned'; - -const SmallHeader = () => { - return ( - - ); -}; - -export default SmallHeader; diff --git a/src/component/SmallHeader/style.css b/src/component/SmallHeader/style.css deleted file mode 100644 index 14e88c0..0000000 --- a/src/component/SmallHeader/style.css +++ /dev/null @@ -1,37 +0,0 @@ -.navbar { - position: relative; - height: 60px; - background: linear-gradient( - 90deg, - #21207a 0%, - #34218f 10%, - #33228e 20%, - #1b5c93 30%, - #159ca5 35%, - #19a0a7 38%, - #2196a7 41%, - #306e9c 46%, - #35228f 60%, - #34218f 70%, - #241b75 80%, - #231d7b 90%, - #21207a 100% - ); - display: flex; - align-items: center; - padding: 0 1rem; - color: #fff; - justify-content: space-between; -} -.navbar .ece-logo-png-2 { - left: 27px; - height: 80px; - width: 300px; - top:10px; - } - - .navbar .top-nav-bar-signed-in { - right: 90px; - } - - \ No newline at end of file diff --git a/src/component/Spinner/Spinner.tsx b/src/component/Spinner/Spinner.tsx deleted file mode 100644 index ef10e97..0000000 --- a/src/component/Spinner/Spinner.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react'; -import './style.css'; - -const Spinner: React.FC = () => { - return ( -
    -
    -
    - ); -}; - -export default Spinner; diff --git a/src/component/Spinner/style.css b/src/component/Spinner/style.css deleted file mode 100644 index 05d8522..0000000 --- a/src/component/Spinner/style.css +++ /dev/null @@ -1,22 +0,0 @@ -/* Spinner.css */ -.spinner-container { - display: flex; - justify-content: center; - align-items: center; - height: 100vh; /* Full height of the viewport */ - } - - .spinner { - border: 8px solid #f3f3f3; /* Light grey */ - border-top: 8px solid #3498db; /* Blue */ - border-radius: 50%; - width: 60px; - height: 60px; - animation: spin 1s linear infinite; - } - - @keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } - } - \ No newline at end of file diff --git a/src/component/ThemeInteraction/ThemeToggleButton.tsx b/src/component/ThemeInteraction/ThemeToggleButton.tsx deleted file mode 100644 index 42faf9a..0000000 --- a/src/component/ThemeInteraction/ThemeToggleButton.tsx +++ /dev/null @@ -1,32 +0,0 @@ -'use client'; -import IconButton from '@mui/material/IconButton'; -import LightModeIcon from '@mui/icons-material/LightMode'; -import NightsStayIcon from '@mui/icons-material/NightsStay'; -import React from 'react'; -import { useTheme } from '@mui/material/styles'; - -export type ThemeToggleButtonProps = { - ColorModeContext: React.Context<{ toggleColorMode: () => void }>; -}; - -const ThemeToggleButton = (props: ThemeToggleButtonProps) => { - const { - ColorModeContext = React.createContext({ toggleColorMode: () => {} }), - } = props; - const theme = useTheme(); - const colorMode = React.useContext(ColorModeContext); - return ( - <> - - {theme.palette.mode === 'dark' ? : } - - - ); -}; - -export default ThemeToggleButton; diff --git a/src/component/Timeline/Timeline.tsx b/src/component/Timeline/Timeline.tsx deleted file mode 100644 index 49bd9b7..0000000 --- a/src/component/Timeline/Timeline.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import React from 'react'; -import './style.css'; - -interface TimelineProps { - selectedYear: number; - setSelectedYear: React.Dispatch>; -} - -export const Timeline = ({ - selectedYear, - setSelectedYear, -}: TimelineProps): JSX.Element => { - return ( -
    -
    setSelectedYear(1)} - > -
    -
    1
    -
    year ago
    -
    -
    -
    setSelectedYear(2)} - > -
    -
    2
    -
    year ago
    -
    -
    -
    setSelectedYear(3)} - > -
    -
    3
    -
    year ago
    -
    -
    -
    - ); -}; diff --git a/src/component/Timeline/style.css b/src/component/Timeline/style.css deleted file mode 100644 index b02d390..0000000 --- a/src/component/Timeline/style.css +++ /dev/null @@ -1,60 +0,0 @@ -tab-bar { - display: flex; - justify-content: space-around; - align-items: center; - width: 650px; /* Set a fixed width */ - height: 80px; /* Set a fixed height */ - background-color: #fff; - border: 1px solid #ccc; - border-radius: 16px; - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); - } - - .element-year, .element-years { - cursor: pointer; - padding: 0px 69px; - text-align: center; - position: relative; - - } - - .element-year:hover, .element-years:hover { - background-color: #f0f0f0; - border-radius: 16px; - - } - - .element-year.selected, .element-years.selected { - font-weight: bold; - } - - .element-year.selected::after, .element-years.selected::after { - content: ''; - display: block; - width: 130%; - height: 6px; - background-color: #562eba; - left: 0; - margin-left: -10px; - margin-top: -5px; - border-radius: 4.27px; - } - - .div { - margin: 10px; - } - - .text-wrapper, .text-wrapper-3 { - font-size: 24px; - margin-bottom: 1px; - } - - .text-wrapper-2, .text-wrapper-4 { - font-size: 14px; - color: #666; - } - - .selected-year-info { - margin-top: 20px; - font-size: 18px; - } \ No newline at end of file diff --git a/src/component/TopNavBar/TopNavBar.jsx b/src/component/TopNavBar/TopNavBar.jsx deleted file mode 100644 index d94a874..0000000 --- a/src/component/TopNavBar/TopNavBar.jsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; -import './style.css'; -import Link from 'next/link'; - -export const TopNavBar = ({ className }) => { - return ( -
    - -
    About
    - - -
    - ); -}; diff --git a/src/component/TopNavBar/style.css b/src/component/TopNavBar/style.css deleted file mode 100644 index 2ceed8b..0000000 --- a/src/component/TopNavBar/style.css +++ /dev/null @@ -1,56 +0,0 @@ -.top-nav-bar { - height: 37px; - position: fixed; - width: 279px; -} - -.top-nav-bar .text-wrapper-3 { - color: #ffffff; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 18px; - font-weight: 700; - left: 100px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 8px; - white-space: nowrap; - width: 53px; -} - -.top-nav-bar .text-wrapper-4 { - color: #000000; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 18px; - font-weight: 700; - left: 28px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 9px; - white-space: nowrap; - width: 59px; -} - - - -.top-nav-bar .overlap-group { - background-color: #ffffff; - border-radius: 10px; - height: 37px; - position: relative; - width: 105px; -} - -.top-nav-bar .logout-button { - all: unset; - box-sizing: border-box; - height: 37px; - left: 207px; - position: absolute; - top: 0; - width: 117px; - cursor: pointer; - -} - diff --git a/src/component/TopNavBarSigned/TopNavBarSigned.jsx b/src/component/TopNavBarSigned/TopNavBarSigned.jsx deleted file mode 100644 index 7514835..0000000 --- a/src/component/TopNavBarSigned/TopNavBarSigned.jsx +++ /dev/null @@ -1,125 +0,0 @@ -import React from 'react'; -import './style.css'; -import Link from 'next/link'; -import Dialog from '@mui/material/Dialog'; -import DialogActions from '@mui/material/DialogActions'; -import DialogContent from '@mui/material/DialogContent'; -import DialogContentText from '@mui/material/DialogContentText'; -import DialogTitle from '@mui/material/DialogTitle'; - -import Button from '@mui/material/Button'; -import handleSignOut from '@/firebase/auth/auth_signout'; -export const TopNavBarSigned = ({ className }) => { - const [open, setOpen] = React.useState(false); - const handleClose = () => { - setOpen(false); - }; - const handleSubmit = () => { - handleSignOut(); - setOpen(false); - }; - return ( -
    - -
    About
    - - - -
    Home
    - - - - - - - Logout - -
    - - - Are you sure you want to logout? - - - - - - - -
    -
    -
    - ); -}; diff --git a/src/component/TopNavBarSigned/style.css b/src/component/TopNavBarSigned/style.css deleted file mode 100644 index 2e38adb..0000000 --- a/src/component/TopNavBarSigned/style.css +++ /dev/null @@ -1,84 +0,0 @@ -.top-nav-bar-signed { - height: 37px; - position: fixed; - width: 379px; -} - -.top-nav-bar-signed .text-wrapper-3 { - color: #ffffff; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 16px; - font-weight: 700; - left: 210px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 8px; - white-space: nowrap; - width: 53px; -} - -.top-nav-bar-signed .text-wrapper-4 { - color: #ffffff; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 16px; - font-weight: 700; - left: 130px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 8px; - white-space: nowrap; - width: 51px; -} - -.top-nav-bar-signed .text-wrapper-2 { - color: #ffffff; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 18px; - font-weight: 700; - left: 25px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 8px; - white-space: nowrap; - width: 51px; -} - -.top-nav-bar-signed .logout-button { - all: unset; - box-sizing: border-box; - height: 37px; - left: 307px; - position: absolute; - top: 0; - width: 117px; - cursor: pointer; - -} - - -.top-nav-bar-signed .overlap-group { - background-color: #ffffff; - border-radius: 10px; - height: 36px; - position: relative; - width: 130px; -} - -.top-nav-bar-signed .text-wrapper-5 { - color: #000000; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 16px; - font-weight: 700; - left: 38px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 9px; - white-space: nowrap; - width: 59px; -} - - diff --git a/src/component/UnderDevelopment.tsx b/src/component/UnderDevelopment.tsx deleted file mode 100644 index f46e137..0000000 --- a/src/component/UnderDevelopment.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { Box } from '@mui/material'; -export default function UnderDevelopment() { - // create a centered, medium box with a small grey border outline with centered text - // and a message that the component is under development - - return ( - <> - -

    - 🚧 This page or component is under development. 🚧 -

    -
    - - ); -} diff --git a/src/component/VerifyEmailCard/VerifyEmailCard.tsx b/src/component/VerifyEmailCard/VerifyEmailCard.tsx deleted file mode 100644 index ea7ba08..0000000 --- a/src/component/VerifyEmailCard/VerifyEmailCard.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; -import './style.css'; - -import { toast } from 'react-hot-toast'; -import { useAuth } from '@/firebase/auth/auth_context'; - -export const VerifyEmailCard = ({ email }) => { - const { user } = useAuth(); - return ( -
    -
    -
    -
    Verify Email
    -
    -
    -
    - We have sent a verification email to{' '} -
    -
    -
    -
    -
    - {email} -
    -
    -
    -
    -
    - Please verify your email to continue...{' '} -
    -
    -
    -
    - Didn't get the verification email?{' '} -
    -
    -
    -
    -
    - user - .sendEmailVerification() - .then(function () { - // Email verification sent - toast.success('Resent Verification Email!'); - }) - .catch(function (error: any) { - console.error(error); - }) - } - className="verification" - > - {' '} - Resend Verification Email -
    -
    -
    -
    -
    - ); -}; - -VerifyEmailCard.propTypes = { - email: PropTypes.string, -}; diff --git a/src/component/VerifyEmailCard/style.css b/src/component/VerifyEmailCard/style.css deleted file mode 100644 index 667c29a..0000000 --- a/src/component/VerifyEmailCard/style.css +++ /dev/null @@ -1,203 +0,0 @@ -.status-card2 { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 322px; - position: relative; - width: 456px; -} - -.status-card2 .overlap { - height: 186px; - left: 34px; - position: absolute; - top: 12px; - width: 204px; -} - -.status-card2 .inner-content { - height: 38px; - left: 0; - position: absolute; - top: 0; - width: 159px; -} - -.status-card2 .text-wrapper-6 { - color: #562EBA; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 30px; - font-weight: 700; - left: 65%; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.status-card2 .coarse-assistant-wrapper { - height: 29px; - left: 30px; - position: absolute; - top: 54px; - width: 572px; -} - -.status-card2 .text-wrapper-7 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 21px; - font-weight: 400; - left: 30; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 10px; -} - -.status-card2 .overlap-2 { - - color: black; - height: 100px; - left: 100px; - position: absolute; - top: 0; - width: 104px; -} - -.status-card2 .div-wrapper { - - color: black; - height: 19px; - left: 0; - position: absolute; - top: 88px; -} - -.status-card2 .text-wrapper-8 { - color: black; - font-size: 16px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.status-card2 .rectangle { - background-color: #9d9d9d; - height: 2px; - left: 100px; - position: absolute; - top: 92px; - transform: rotate(90deg); - width: 186px; -} - -.status-card2 .inner-content-2 { - height: 29px; - left: 354px; - position: absolute; - top: 66px; - width: 197px; -} - -.status-card2 .text-wrapper-9 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 24px; - font-weight: 400; - left: 100px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 10px; -} - -.status-card2 .application-button { - height: 43px; - left: 454px; - position: absolute; - top: 60px; - width: 226px; - margin-top: 10px; -} - -.status-card2 .overlap-group-2 { - background-color: #f2a9001f; - border: 1px solid; - border-color: #f2a900; - border-radius: 10px; - height: 43px; - position: relative; - width: 224px; -} - -.status-card2 .text-wrapper-10 { - color: #f2a900; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 15px; - font-weight: 500; - left: 20px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 11px; - width: 182px; -} - -.status-card2 .coarse-assistant-wrapper2 { - height: 29px; - left: 30px; - position: absolute; - top: 119px; - width: 572px; -} - -.status-card2 .text-wrapper-8 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 21px; - font-weight: 400; - left: 30; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 10px; -} - -.status-card2 .coarse-assistant-wrapper3 { - height: 29px; - left: 10px; - position: absolute; - top: 209px; - width: 572px; -} - -.status-card2 .text-wrapper-9 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 21px; - font-weight: 400; - left: 33px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 10px; -} -.verification { - color: #6c6c6c; - font-size: 18px; - width: 300px; - margin-top: 167px; - margin-left: -1px; -} -.verification:hover{ - cursor: pointer; - color: #562EBA; - text-decoration: underline; -} \ No newline at end of file diff --git a/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.module.css b/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.module.css deleted file mode 100644 index 55886f0..0000000 --- a/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.module.css +++ /dev/null @@ -1,291 +0,0 @@ -.colorBlockFrame { - position: absolute; - top: 0; - left: 0; - width: 1440px; - height: 458px; - overflow: hidden; - } - .connectingBrightMinds { - margin: 0; - } - .blankLine { - margin: 0; - font-weight: 300; - font-family: var(--font-poppins); - } - .connectingBrightMindsContainer { - position: absolute; - top: 124px; - left: 7px; - display: inline-block; - width: 394px; - height: 30px; - } - .signInTo1 { - position: absolute; - top: 0; - left: 0; - font-weight: 500; - } - .courseConnect { - top: 48px; - left: 0; - font-size: 60px; - display: inline-block; - } - .courseConnect, - .signInTitle, - .signInTo { - position: absolute; - width: 549px; - } - .signInTo { - top: 0; - left: 0; - height: 120px; - font-size: 40px; - } - .signInTitle { - top: 141px; - left: 73px; - height: 154px; - } - .ifYouDont, - .youCanRegisterContainer { - position: absolute; - top: 0; - left: 0; - display: inline-block; - width: 308px; - } - .youCanRegisterContainer { - top: 30px; - cursor: pointer; - } - .registerHereText { - position: absolute; - top: 351px; - left: 80px; - width: 308px; - height: 54px; - } - .loginLowFiWireframeChild { - position: absolute; - top: 402.5px; - left: 149.5px; - border-top: 1px solid var(--color-white); - box-sizing: border-box; - width: 127px; - height: 1px; - } - .logInCardChild { - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; - border-radius: var(--br-21xl); - background-color: var(--color-white); - box-shadow: 0 4px 35px rgba(0, 0, 0, 0.08); - } - .courseConnect1 { - color: var(--color-darkblue); - } - .signIn, - .welcomeToCourseContainer { - position: absolute; - top: 7.02%; - left: 8.16%; - font-size: var(--font-size-5xl); - } - .signIn { - top: 12.28%; - font-size: var(--font-size-36xl); - font-weight: 500; - } - .enterEmailAddress, - .usernameInput { - position: absolute; - top: 0; - left: 0; - } - .usernameInput { - height: 100%; - width: 100%; - right: 0; - bottom: 0; - border-radius: var(--br-4xs); - background-color: var(--color-white); - } - .emailAddress, - .emailInput { - position: absolute; - top: 31.58%; - left: 5.32%; - } - .emailInput { - height: 62.64%; - width: 100%; - top: 37.36%; - right: 0; - bottom: 0; - left: 0; - font-size: var(--font-size-mini); - color: var(--color-dimgray-100); - } - .emailAddressInput, - .passwordInput { - position: absolute; - height: 14.51%; - width: 83.67%; - top: 32.54%; - right: 8.16%; - bottom: 52.95%; - left: 8.16%; - } - .passwordInput { - top: 52.79%; - bottom: 32.7%; - } - .forgotPassword { - position: absolute; - top: 69.7%; - left: 71.8%; - font-size: var(--font-size-mini); - color: var(--color-dimgray-200); - } - .signInButtonChild { - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; - border-radius: var(--br-3xs); - background-color: var(--color-darkblue); - box-shadow: 0 4px 19px rgba(119, 147, 65, 0.3); - } - .signIn1 { - position: absolute; - width: 12.42%; - top: 27.78%; - left: 43.9%; - font-weight: 500; - display: inline-block; - } - .signInButton { - position: absolute; - height: 8.61%; - width: 83.67%; - top: 79.9%; - right: 8.16%; - bottom: 11.48%; - left: 8.16%; - cursor: pointer; - font-size: var(--font-size-base); - color: var(--color-white); - } - .logInCard { - position: absolute; - top: 150px; - left: 801px; - width: 539px; - height: 627px; - font-size: var(--font-size-lg); - color: var(--color-black); - } - .eceLogoPng21 { - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; - max-width: 100%; - overflow: hidden; - max-height: 100%; - object-fit: cover; - } - .eceLogoPng2 { - position: absolute; - top: 23px; - left: 27px; - width: 68px; - height: 49px; - } - .signInButtonItem { - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; - border-radius: var(--br-3xs); - background-color: var(--color-white); - } - .login { - position: absolute; - height: 48.65%; - width: 84.44%; - top: 24.32%; - left: 8.15%; - display: inline-block; - } - .signInButton1 { - position: absolute; - height: 100.54%; - width: 67.16%; - top: 0; - right: -15.92%; - bottom: -0.54%; - left: 48.76%; - } - .about, - .logInButton { - position: absolute; - left: 0; - } - .about { - height: 100%; - width: 100%; - top: 0; - display: inline-block; - } - .logInButton { - height: 48.91%; - width: 27.36%; - top: 24.46%; - right: 72.64%; - bottom: 26.63%; - cursor: pointer; - text-align: left; - color: var(--color-white); - } - .topNavBar { - position: absolute; - top: 27px; - left: 1167px; - width: 201px; - height: 36.8px; - text-align: center; - font-size: var(--font-size-lg); - color: var(--color-black); - } - .loginLowFiWireframe { - position: relative; - background-color: var(--color-white); - width: 100%; - height: 900px; - overflow: hidden; - text-align: left; - font-size: var(--font-size-xl); - color: var(--color-white); - font-family: var(--font-sf-pro-display); - } - \ No newline at end of file diff --git a/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.tsx b/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.tsx deleted file mode 100644 index 09869e7..0000000 --- a/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.tsx +++ /dev/null @@ -1,102 +0,0 @@ -'use client'; -import { FunctionComponent, useCallback } from 'react'; -import Image from 'next/image'; -import styles from './LoginLowFiWireframe.module.css'; - -const LoginLowFiWireframe: FunctionComponent = () => { - const onYouCanRegisterClick = useCallback(() => { - // Please sync "sign-up Low-fi wireframe" to the project - }, []); - - const onSignInButtonClick = useCallback(() => { - // Please sync "Student landing page - applying" to the project - }, []); - - const onLogInButtonClick = useCallback(() => { - // Please sync "About Page 1" to the project - }, []); - - return ( -
    - -
    -
    -

    - Connecting Bright Minds for a Brighter Future -

    -

     

    -
    -
    -
    {`Sign in to `}
    - Course Connect -
    -
    -
    -
    - If you don’t have an account register -
    -
    - {`You can `} - Register here ! -
    -
    -
    -
    -
    -
    - {`Welcome to `} - Course Connect -
    -
    Sign in
    -
    -
    Enter email address
    -
    -
    -
    Email address
    -
    -
    -
    -
    Enter password
    -
    -
    -
    Password
    -
    -
    -
    Forgot Password
    -
    -
    -
    Sign in
    -
    -
    -
    - -
    -
    -
    -
    - Login -
    -
    - About -
    -
    -
    - ); -}; - -export default LoginLowFiWireframe; diff --git a/src/component/Wireframes/LoginScreen/color-block-frame.svg b/src/component/Wireframes/LoginScreen/color-block-frame.svg deleted file mode 100644 index 5ec9f67..0000000 --- a/src/component/Wireframes/LoginScreen/color-block-frame.svg +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/component/Wireframes/LoginScreen/ece-logo.png b/src/component/Wireframes/LoginScreen/ece-logo.png deleted file mode 100644 index 97d3fbb9719ecf0baa942d5400cb377850e971e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3746 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 = ({ listingData, onSubmitSuccess, }) => { - const [formData, setFormData] = useState({}); + const [formData, setFormData] = useState( + {} as ResearchFormData + ); const [uploading, setUploading] = useState(false); const [imageFileName, setImageFileName] = useState(''); - const fileInputRef = useRef(null); useEffect(() => { const normalized = normalizeResearchListing(listingData); @@ -61,79 +56,24 @@ const EditResearchModal: React.FC = ({ e: React.ChangeEvent ) => { const { name, value } = e.target; - setFormData((prev: any) => ({ ...prev, [name]: value })); + setFormData((prev) => ({ ...prev, [name]: value })); }; - const handleImageUpload = async (file: File) => { - setUploading(true); - try { - const storage = getStorage(); - const storageRef = ref( - storage, - `research-images/${uuidv4()}_${file.name}` - ); - await uploadBytes(storageRef, file); - const downloadURL = await getDownloadURL(storageRef); - setFormData((prev: any) => ({ ...prev, image_url: downloadURL })); - setImageFileName(file.name); - } catch (error) { - console.error('Error uploading image:', error); - } finally { - setUploading(false); - } - }; - - const handleFileDrop = (e: React.DragEvent) => { - e.preventDefault(); - const file = e.dataTransfer.files[0]; - if (file && file.type.startsWith('image/')) { - handleImageUpload(file); - } - }; - - const handleFileSelect = (e: React.ChangeEvent) => { - const file = e.target.files?.[0]; - if (file) { - handleImageUpload(file); - } + const handleImageUpload = (url: string, fileName: string) => { + setFormData((prev) => ({ ...prev, image_url: url })); + setImageFileName(fileName); }; const handleSubmit = async () => { try { - const db = firebase.firestore(); const docID = listingData.docID || listingData.id; - const listingRef = db.collection('research-listings').doc(docID); - const doc = await listingRef.get(); - - if (!doc.exists) { - throw new Error('No matching listing found!'); - } - - const updateData = { - project_title: formData.project_title || '', - project_description: formData.project_description || '', - department: formData.department || '', - nature_of_job: formData.nature_of_job || '', - compensation: formData.compensation || '', - faculty_contact: formData.faculty_contact || '', - phd_student_contact: formData.phd_student_contact || '', - application_deadline: formData.application_deadline || '', - hours_per_week: formData.hours_per_week || '', - prerequisites: formData.prerequisites || '', - image_url: formData.image_url || '', - terms_available: formData.terms_available || '', - student_level: formData.student_level || '', - application_requirements: formData.application_requirements || '', - website: formData.website || '', - }; - - await listingRef.update(updateData); - alert('Research listing updated!'); + await updateResearchListing(docID, formData); + toast.success('Research listing updated!'); onSubmitSuccess(); onClose(); } catch (error) { console.error('Update failed:', error); - alert('Failed to update listing.'); + toast.error('Failed to update listing.'); } }; @@ -165,7 +105,7 @@ const EditResearchModal: React.FC = ({ {/* Title + Description */} - * Title + * Title = ({ - * Position Description + * Position + Description = ({ {/* Department */} - * Department + * Department = ({ {/* Image Upload */} - e.preventDefault()} - onClick={() => fileInputRef.current?.click()} - sx={{ - border: '2px dashed #ccc', - borderRadius: '12px', - p: 3, - textAlign: 'center', - cursor: 'pointer', - backgroundColor: '#fafafa', - '&:hover': { borderColor: '#5A41D8' }, - }} - > - {uploading ? ( - - ) : imageFileName ? ( - - {imageFileName} - - ) : ( - <> - - - Drop your image here, or{' '} - - browse - - - - )} - - + setUploading(true)} + onUploadEnd={() => setUploading(false)} + /> {/* Nature of Job, Compensation, Faculty Contact, PhD Student Contact */} - * Nature of Job + * Nature of Job = ({ - * Compensation + * Compensation = ({ - * Faculty Contact + * Faculty Contact = ({ {/* Application Deadline, Hours per Week, Prerequisites */} - * Application Deadline + * Application + Deadline = ({ - * Hours per Week + * Hours per Week = ({ @@ -423,12 +331,12 @@ const EditResearchModal: React.FC = ({ variant="contained" onClick={handleSubmit} sx={{ - backgroundColor: '#5A41D8', - color: '#FFFFFF', + backgroundColor: COLORS.primary, + color: COLORS.white, textTransform: 'none', fontWeight: 500, borderRadius: '8px', - '&:hover': { backgroundColor: '#4A35B8' }, + '&:hover': { backgroundColor: COLORS.primaryDark }, }} > Save Changes diff --git a/src/components/Research/Modal.tsx b/src/components/Research/Modal.tsx index 896ac37..a624e65 100644 --- a/src/components/Research/Modal.tsx +++ b/src/components/Research/Modal.tsx @@ -1,4 +1,4 @@ -import React, { useState, useRef } from 'react'; +import React, { useState } from 'react'; import { Dialog, DialogTitle, @@ -11,57 +11,16 @@ import { IconButton, Box, Typography, - CircularProgress, } from '@mui/material'; import CloseIcon from '@mui/icons-material/Close'; -import ImageOutlinedIcon from '@mui/icons-material/ImageOutlined'; -import { getStorage, ref, uploadBytes, getDownloadURL } from 'firebase/storage'; -import { v4 as uuidv4 } from 'uuid'; - -interface FormData { - project_title: string; - project_description: string; - department: string; - image_url: string; - nature_of_job: string; - compensation: string; - faculty_contact: string; - phd_student_contact: string; - application_deadline: string; - hours_per_week: string; - prerequisites: string; - terms_available: string; - student_level: string; - application_requirements: string; - website: string; -} - -const INITIAL_FORM_DATA: FormData = { - project_title: '', - project_description: '', - department: '', - image_url: '', - nature_of_job: '', - compensation: '', - faculty_contact: '', - phd_student_contact: '', - application_deadline: '', - hours_per_week: '', - prerequisites: '', - terms_available: '', - student_level: '', - application_requirements: '', - website: '', -}; - -const NATURE_OF_JOB_OPTIONS = [ - 'Research Assistant', - 'Lab Assistant', - 'Teaching Assistant', - 'Field Work', - 'Data Analysis', - 'Other', -]; +import { + INITIAL_FORM_DATA, + NATURE_OF_JOB_OPTIONS, + validateResearchForm, + ResearchFormData, +} from './shared/researchModalUtils'; +import ImageUploadField from './shared/ImageUploadField'; +import { COLORS } from '@/constants/theme'; interface ResearchModalProps { open: boolean; @@ -78,71 +37,32 @@ const ResearchModal: React.FC = ({ firebaseQuery, uid, }) => { - const [formData, setFormData] = useState({ ...INITIAL_FORM_DATA }); - const [errors, setErrors] = useState>>( - {} - ); + const [formData, setFormData] = useState({ + ...INITIAL_FORM_DATA, + }); + const [errors, setErrors] = useState< + Partial> + >({}); const [uploading, setUploading] = useState(false); const [imageFileName, setImageFileName] = useState(''); - const fileInputRef = useRef(null); const handleChange = ( event: React.ChangeEvent ) => { const { name, value } = event.target; setFormData((prev) => ({ ...prev, [name]: value })); - if (errors[name as keyof FormData]) { + if (errors[name as keyof ResearchFormData]) { setErrors((prev) => ({ ...prev, [name]: '' })); } }; - const handleImageUpload = async (file: File) => { - setUploading(true); - try { - const storage = getStorage(); - const storageRef = ref( - storage, - `research-images/${uuidv4()}_${file.name}` - ); - await uploadBytes(storageRef, file); - const downloadURL = await getDownloadURL(storageRef); - setFormData((prev) => ({ ...prev, image_url: downloadURL })); - setImageFileName(file.name); - } catch (error) { - console.error('Error uploading image:', error); - } finally { - setUploading(false); - } - }; - - const handleFileDrop = (e: React.DragEvent) => { - e.preventDefault(); - const file = e.dataTransfer.files[0]; - if (file && file.type.startsWith('image/')) { - handleImageUpload(file); - } - }; - - const handleFileSelect = (e: React.ChangeEvent) => { - const file = e.target.files?.[0]; - if (file) { - handleImageUpload(file); - } + const handleImageUpload = (url: string, fileName: string) => { + setFormData((prev) => ({ ...prev, image_url: url })); + setImageFileName(fileName); }; const validate = (): boolean => { - const newErrors: Partial> = {}; - if (!formData.project_title.trim()) newErrors.project_title = 'Required'; - if (!formData.project_description.trim()) - newErrors.project_description = 'Required'; - if (!formData.department.trim()) newErrors.department = 'Required'; - if (!formData.nature_of_job) newErrors.nature_of_job = 'Required'; - if (!formData.compensation.trim()) newErrors.compensation = 'Required'; - if (!formData.faculty_contact.trim()) - newErrors.faculty_contact = 'Required'; - if (!formData.application_deadline.trim()) - newErrors.application_deadline = 'Required'; - if (!formData.hours_per_week.trim()) newErrors.hours_per_week = 'Required'; + const newErrors = validateResearchForm(formData); setErrors(newErrors); return Object.keys(newErrors).length === 0; }; @@ -205,7 +125,7 @@ const ResearchModal: React.FC = ({ {/* Row 1: Title + Position Description */} - * Title + * Title = ({ {/* Image Upload */} - e.preventDefault()} - onClick={() => fileInputRef.current?.click()} - sx={{ - border: '2px dashed #ccc', - borderRadius: '12px', - p: 3, - textAlign: 'center', - cursor: 'pointer', - backgroundColor: '#fafafa', - '&:hover': { borderColor: '#5A41D8' }, - }} - > - {uploading ? ( - - ) : imageFileName ? ( - - {imageFileName} - - ) : ( - <> - - - Drop your image here, or{' '} - - browse - - - - )} - - + setUploading(true)} + onUploadEnd={() => setUploading(false)} + /> {/* Row 3: Nature of Job, Compensation, Faculty Contact, PhD Student Contact */} @@ -474,7 +360,7 @@ const ResearchModal: React.FC = ({ onClick={handleDiscard} sx={{ textTransform: 'none', - color: '#5A41D8', + color: COLORS.primary, fontWeight: 500, }} > @@ -485,7 +371,7 @@ const ResearchModal: React.FC = ({ onClick={handleSaveAndExit} sx={{ textTransform: 'none', - color: '#5A41D8', + color: COLORS.primary, fontWeight: 500, }} > @@ -495,13 +381,13 @@ const ResearchModal: React.FC = ({ variant="contained" onClick={handleSubmit} sx={{ - backgroundColor: '#5A41D8', - color: '#FFFFFF', + backgroundColor: COLORS.primary, + color: COLORS.white, textTransform: 'none', fontWeight: 500, borderRadius: '8px', '&:hover': { - backgroundColor: '#4A35B8', + backgroundColor: COLORS.primaryDark, }, }} > diff --git a/src/components/Research/shared/ImageUploadField.tsx b/src/components/Research/shared/ImageUploadField.tsx new file mode 100644 index 0000000..d20c386 --- /dev/null +++ b/src/components/Research/shared/ImageUploadField.tsx @@ -0,0 +1,100 @@ +/** + * Reusable image upload field component for Research modals + */ +import React, { useRef } from 'react'; +import { Box, Typography, CircularProgress } from '@mui/material'; +import ImageOutlinedIcon from '@mui/icons-material/ImageOutlined'; +import { uploadResearchImage } from './researchModalUtils'; +import { COLORS } from '@/constants/theme'; + +interface ImageUploadFieldProps { + imageFileName: string; + uploading: boolean; + onImageUpload: (url: string, fileName: string) => void; + onUploadStart?: () => void; + onUploadEnd?: () => void; + onError?: (error: Error) => void; +} + +const ImageUploadField: React.FC = ({ + imageFileName, + uploading, + onImageUpload, + onUploadStart, + onUploadEnd, + onError, +}) => { + const fileInputRef = useRef(null); + + const handleImageUpload = async (file: File) => { + onUploadStart?.(); + try { + const downloadURL = await uploadResearchImage(file); + onImageUpload(downloadURL, file.name); + } catch (error) { + console.error('Error uploading image:', error); + onError?.(error as Error); + } finally { + onUploadEnd?.(); + } + }; + + const handleFileDrop = (e: React.DragEvent) => { + e.preventDefault(); + const file = e.dataTransfer.files[0]; + if (file && file.type.startsWith('image/')) { + handleImageUpload(file); + } + }; + + const handleFileSelect = (e: React.ChangeEvent) => { + const file = e.target.files?.[0]; + if (file) { + handleImageUpload(file); + } + }; + + return ( + e.preventDefault()} + onClick={() => fileInputRef.current?.click()} + sx={{ + border: '2px dashed #ccc', + borderRadius: '12px', + p: 3, + textAlign: 'center', + cursor: 'pointer', + backgroundColor: '#fafafa', + '&:hover': { borderColor: COLORS.primary }, + }} + > + {uploading ? ( + + ) : imageFileName ? ( + + {imageFileName} + + ) : ( + <> + + + Drop your image here, or{' '} + + browse + + + + )} + + + ); +}; + +export default ImageUploadField; diff --git a/src/components/Research/shared/researchModalUtils.ts b/src/components/Research/shared/researchModalUtils.ts new file mode 100644 index 0000000..615d081 --- /dev/null +++ b/src/components/Research/shared/researchModalUtils.ts @@ -0,0 +1,106 @@ +/** + * Shared utilities and constants for Research modal components + */ +import { getStorage, ref, uploadBytes, getDownloadURL } from 'firebase/storage'; +import { v4 as uuidv4 } from 'uuid'; +import { NATURE_OF_JOB_OPTIONS } from '@/constants/research'; + +// Re-export constants for backward compatibility +export { NATURE_OF_JOB_OPTIONS }; + +export interface ResearchFormData { + project_title: string; + project_description: string; + department: string; + image_url: string; + nature_of_job: string; + compensation: string; + faculty_contact: string; + phd_student_contact: string; + application_deadline: string; + hours_per_week: string; + prerequisites: string; + terms_available: string; + student_level: string; + application_requirements: string; + website: string; +} + +export const INITIAL_FORM_DATA: ResearchFormData = { + project_title: '', + project_description: '', + department: '', + image_url: '', + nature_of_job: '', + compensation: '', + faculty_contact: '', + phd_student_contact: '', + application_deadline: '', + hours_per_week: '', + prerequisites: '', + terms_available: '', + student_level: '', + application_requirements: '', + website: '', +}; + +/** + * Upload an image file to Firebase Storage + * @param file - The image file to upload + * @returns The download URL of the uploaded image + */ +export async function uploadResearchImage(file: File): Promise { + const storage = getStorage(); + const storageRef = ref(storage, `research-images/${uuidv4()}_${file.name}`); + await uploadBytes(storageRef, file); + const downloadURL = await getDownloadURL(storageRef); + return downloadURL; +} + +/** + * Validate research form data + * @param formData - The form data to validate + * @returns An object with error messages for each field, or empty if valid + */ +export function validateResearchForm( + formData: ResearchFormData +): Partial> { + const errors: Partial> = {}; + + if (!formData.project_title.trim()) { + errors.project_title = 'Required'; + } + if (!formData.project_description.trim()) { + errors.project_description = 'Required'; + } + if (!formData.department.trim()) { + errors.department = 'Required'; + } + if (!formData.nature_of_job) { + errors.nature_of_job = 'Required'; + } + if (!formData.compensation.trim()) { + errors.compensation = 'Required'; + } + if (!formData.faculty_contact.trim()) { + errors.faculty_contact = 'Required'; + } + if (!formData.application_deadline.trim()) { + errors.application_deadline = 'Required'; + } + if (!formData.hours_per_week.trim()) { + errors.hours_per_week = 'Required'; + } + + return errors; +} + +/** + * Check if form data is valid + * @param formData - The form data to check + * @returns true if valid, false otherwise + */ +export function isFormValid(formData: ResearchFormData): boolean { + const errors = validateResearchForm(formData); + return Object.keys(errors).length === 0; +} diff --git a/src/constants/research.ts b/src/constants/research.ts new file mode 100644 index 0000000..4211d45 --- /dev/null +++ b/src/constants/research.ts @@ -0,0 +1,131 @@ +/** + * Research-related constants for CourseConnect + */ + +// Nature of job options for research positions +export const NATURE_OF_JOB_OPTIONS = [ + 'Research Assistant', + 'Lab Assistant', + 'Teaching Assistant', + 'Field Work', + 'Data Analysis', + 'Other', +] as const; + +// Department options +export const DEPARTMENTS = [ + { + value: 'Computer and Information Sciences and Engineering', + label: 'CISE', + fullName: 'Computer and Information Sciences and Engineering', + }, + { + value: 'Electrical and Computer Engineering', + label: 'ECE', + fullName: 'Electrical and Computer Engineering', + }, + { + value: 'Engineering Education', + label: 'Education', + fullName: 'Engineering Education', + }, + { + value: 'Materials Science and Engineering', + label: 'MSE', + fullName: 'Materials Science and Engineering', + }, + { + value: 'Mechanical and Aerospace Engineering', + label: 'MAE', + fullName: 'Mechanical and Aerospace Engineering', + }, + { + value: 'Civil and Coastal Engineering', + label: 'CCE', + fullName: 'Civil and Coastal Engineering', + }, + { + value: 'Chemical Engineering', + label: 'ChemE', + fullName: 'Chemical Engineering', + }, + { + value: 'Biomedical Engineering', + label: 'BME', + fullName: 'Biomedical Engineering', + }, + { + value: 'Industrial and Systems Engineering', + label: 'ISE', + fullName: 'Industrial and Systems Engineering', + }, + { + value: 'Environmental Engineering Sciences', + label: 'EES', + fullName: 'Environmental Engineering Sciences', + }, +] as const; + +// Student level options +export const STUDENT_LEVELS = [ + 'Freshman', + 'Sophomore', + 'Junior', + 'Senior', + 'Graduate', +] as const; + +// Academic terms (update annually) +export const TERMS = [ + 'Spring 2026', + 'Summer 2026', + 'Fall 2026', + 'Spring 2027', + 'Summer 2027', + 'Fall 2027', +] as const; + +// Application status options +export const APPLICATION_STATUS = { + PENDING: 'Pending', + APPROVED: 'Approved', + DENIED: 'Denied', +} as const; + +// Helper function to get department full name +export function getDepartmentFullName(value: string): string { + const dept = DEPARTMENTS.find((d) => d.value === value); + return dept?.fullName || value; +} + +// Helper function to get department label +export function getDepartmentLabel(value: string): string { + const dept = DEPARTMENTS.find((d) => d.value === value); + return dept?.label || value; +} + +// Helper function to check if a department matches (handles naming variations) +export function isDepartmentMatch( + department: string, + searchTerm: string +): boolean { + const normalized = searchTerm.toLowerCase().trim(); + const deptNormalized = department.toLowerCase().trim(); + + // Direct match + if (deptNormalized === normalized) return true; + + // Check for common variations + if ( + department === 'Computer and Information Sciences and Engineering' || + department === 'Computer and Information Science and Engineering' + ) { + return ( + normalized === 'computer and information science and engineering' || + normalized === 'computer and information sciences and engineering' || + normalized === 'cise' + ); + } + + return false; +} diff --git a/src/constants/theme.ts b/src/constants/theme.ts new file mode 100644 index 0000000..7c90837 --- /dev/null +++ b/src/constants/theme.ts @@ -0,0 +1,144 @@ +/** + * Theme and UI constants for CourseConnect + */ + +// Brand colors +export const COLORS = { + // Primary colors + primary: '#5A41D8', + primaryDark: '#4A35B8', + primaryLight: '#6B52E9', + + // Secondary colors + secondary: '#03ccb9', + secondaryDark: '#01534B', + + // Accent colors + success: '#4caf50', + error: '#F44336', + warning: '#ff9800', + info: '#2196f3', + + // Neutral colors + white: '#FFFFFF', + black: '#000000', + gray: { + 50: '#fafafa', + 100: '#f5f5f5', + 200: '#eeeeee', + 300: '#e0e0e0', + 400: '#bdbdbd', + 500: '#9e9e9e', + 600: '#757575', + 700: '#616161', + 800: '#424242', + 900: '#212121', + }, + + // Background colors + background: { + default: '#FFFFFF', + paper: '#F5F5F5', + }, + + // Text colors + text: { + primary: '#000000', + secondary: '#757575', + disabled: '#bdbdbd', + }, +} as const; + +// Border radius values +export const BORDER_RADIUS = { + xs: '4px', + sm: '8px', + md: '12px', + lg: '16px', + xl: '20px', + round: '9999px', +} as const; + +// Spacing values (in pixels) +export const SPACING = { + xs: 4, + sm: 8, + md: 16, + lg: 24, + xl: 32, + xxl: 48, +} as const; + +// Common Material-UI sx styles +export const COMMON_SX = { + // Card styles + card: { + borderRadius: BORDER_RADIUS.xl, + boxShadow: '0px 4px 20px rgba(0, 0, 0, 0.1)', + padding: '24px', + backgroundColor: COLORS.white, + }, + + // Button styles + primaryButton: { + backgroundColor: COLORS.primary, + color: COLORS.white, + borderRadius: BORDER_RADIUS.md, + textTransform: 'none', + '&:hover': { + backgroundColor: COLORS.primaryDark, + }, + }, + + outlinedButton: { + borderColor: COLORS.primary, + color: COLORS.primary, + borderRadius: BORDER_RADIUS.md, + textTransform: 'none', + borderWidth: '2px', + '&:hover': { + borderWidth: '2px', + backgroundColor: 'rgba(90, 65, 216, 0.04)', + }, + }, + + // Section header styles + sectionHeader: { + fontSize: '1.25rem', + fontWeight: 600, + color: COLORS.text.primary, + mb: 2, + }, +} as const; + +// Grid breakpoints (Material-UI standard) +export const GRID_BREAKPOINTS = { + xs: 0, + sm: 600, + md: 900, + lg: 1200, + xl: 1536, +} as const; + +// Common grid sizes +export const GRID_SIZES = { + full: 12, + half: 6, + third: 4, + quarter: 3, +} as const; + +// Z-index layers +export const Z_INDEX = { + drawer: 1200, + modal: 1300, + snackbar: 1400, + tooltip: 1500, +} as const; + +// Animation durations (in ms) +export const ANIMATION = { + fast: 200, + normal: 300, + slow: 500, +} as const; diff --git a/src/hooks/old/useFetchTempPastCourses.ts b/src/hooks/old/useFetchTempPastCourses.ts deleted file mode 100644 index a5d7204..0000000 --- a/src/hooks/old/useFetchTempPastCourses.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { useEffect, useRef, useState } from 'react'; -import firebase from '@/firebase/firebase_config'; -import { CourseType } from '@/types/User'; - -const useFetchTempPastCourses = ( - selectedYears: string[], - name: string | null | undefined -) => { - const [pastCourses, setPastCourses] = useState([]); - const [loadingPast, setLoading] = useState(false); - const [error, setError] = useState(null); - const db = firebase.firestore(); - const coursesCache = useRef<{ [semester: string]: CourseType[] }>({}); - - useEffect(() => { - const fetchPastCourses = async () => { - // If no email or no selected semester, clear courses and exit. - if (!name || selectedYears.length === 0) { - setPastCourses([]); - return; - } - - try { - setLoading(true); - setError(null); - - // Helper function to process each Firestore snapshot. - const processSnapshot = ( - snapshot: firebase.firestore.QuerySnapshot, - semester: string - ): CourseType[] => { - const courses = snapshot.docs - .filter((doc) => { - const data = doc.data(); - return data.code != null; - }) - .map((doc) => { - const data = doc.data(); - return { - id: doc.id, - code: data.code, - courseId: data.class_number, - semester, - } as CourseType; - }); - // Cache the courses for this semester. - coursesCache.current[semester] = courses; - return courses; - }; - - // Create a promise for each semester. - const queryPromises = selectedYears.map((semester) => { - if (coursesCache.current[semester]) { - // Return cached data if it exists. - return Promise.resolve(coursesCache.current[semester]); - } - - return db - .collection('past-courses') - .where('semester', '==', semester) - .where('professor_names', '==', name) - .get() - .then((snapshot) => processSnapshot(snapshot, semester)) - .catch((error) => { - console.error(`Error fetching courses for ${semester}:`, error); - return []; // Return empty array for this semester on error. - }); - }); - - // Wait for all queries to complete. - const coursesPerSemester = await Promise.all(queryPromises); - // Flatten the array of arrays into one array. - const allCourses = coursesPerSemester.flat(); - setPastCourses(allCourses); - } catch (err) { - console.error(err); - setError('Failed to fetch courses. Please try again later.'); - } finally { - setLoading(false); - } - }; - - fetchPastCourses(); - }, [selectedYears, name]); // Use a stable dependency for selectedYears - - return { pastCourses, loadingPast, error }; -}; - -export default useFetchTempPastCourses; diff --git a/src/hooks/old/usePastCourses.ts b/src/hooks/old/usePastCourses.ts deleted file mode 100644 index b5996bf..0000000 --- a/src/hooks/old/usePastCourses.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { useEffect, useRef, useState } from 'react'; -import firebase from '@/firebase/firebase_config'; -import { CourseType } from '@/types/User'; - -const useFetchPastCourses = ( - selectedYears: string[], - uemail: string | null | undefined -) => { - const [pastCourses, setPastCourses] = useState([]); - const [loadingPast, setLoading] = useState(false); - const [error, setError] = useState(null); - const db = firebase.firestore(); - const coursesCache = useRef<{ [semester: string]: CourseType[] }>({}); - - useEffect(() => { - const fetchPastCourses = async () => { - // If no email or no selected semester, clear courses and exit. - if (!uemail || selectedYears.length === 0) { - setPastCourses([]); - return; - } - - try { - setLoading(true); - setError(null); - - // Helper function to process each Firestore snapshot. - const processSnapshot = ( - snapshot: firebase.firestore.QuerySnapshot, - semester: string - ): CourseType[] => { - const courses = snapshot.docs - .filter((doc) => { - const data = doc.data(); - return data.code != null; - }) - .map((doc) => { - const data = doc.data(); - return { - id: doc.id, - code: data.code, - courseId: data.class_number, - semester, - } as CourseType; - }); - // Cache the courses for this semester. - coursesCache.current[semester] = courses; - return courses; - }; - - // Create a promise for each semester. - const queryPromises = selectedYears.map((semester) => { - if (coursesCache.current[semester]) { - // Return cached data if it exists. - return Promise.resolve(coursesCache.current[semester]); - } - - return db - .collection('past-courses') - .where('semester', '==', semester) - .where('professor_emails', '==', uemail) - .get() - .then((snapshot) => processSnapshot(snapshot, semester)) - .catch((error) => { - console.error(`Error fetching courses for ${semester}:`, error); - return []; // Return empty array for this semester on error. - }); - }); - - // Wait for all queries to complete. - const coursesPerSemester = await Promise.all(queryPromises); - // Flatten the array of arrays into one array. - const allCourses = coursesPerSemester.flat(); - setPastCourses(allCourses); - } catch (err) { - console.error(err); - setError('Failed to fetch courses. Please try again later.'); - } finally { - setLoading(false); - } - }; - - fetchPastCourses(); - }, [selectedYears, uemail]); // Use a stable dependency for selectedYears - - return { pastCourses, loadingPast, error }; -}; - -export default useFetchPastCourses; diff --git a/src/oldPages/Apply/inacessible.tsx b/src/oldPages/Apply/inacessible.tsx deleted file mode 100644 index 53a4415..0000000 --- a/src/oldPages/Apply/inacessible.tsx +++ /dev/null @@ -1,62 +0,0 @@ -'use client'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; -import SmallHeader from '@/component/SmallHeader/SmallHeader'; -import { Toaster } from 'react-hot-toast'; -import Link from 'next/link'; - -export default function Application() { - return ( - <> - - -
    -
    -
    - Sorry, it looks like applications aren't open yet for the next - semester! -
    -
    - Please check back later for more information regarding open - positions. -
    - -
    - If you have any questions, please contact{' '} - - courseconnect.team@gmail.com - {' '} - for further assistance. -
    - - Return to Home - -
    -
    - - ); -} diff --git a/src/oldPages/Apply/page.tsx b/src/oldPages/Apply/page.tsx deleted file mode 100644 index ae94d35..0000000 --- a/src/oldPages/Apply/page.tsx +++ /dev/null @@ -1,623 +0,0 @@ -'use client'; -import * as React from 'react'; -import Button from '@mui/material/Button'; -import CssBaseline from '@mui/material/CssBaseline'; -import TextField from '@mui/material/TextField'; -import Grid from '@mui/material/Grid'; -import Box from '@mui/material/Box'; -import DepartmentSelect from '@/component/FormUtil/DepartmentSelect'; -import GPA_Select from '@/component/FormUtil/GPASelect'; -import Typography from '@mui/material/Typography'; -import Container from '@mui/material/Container'; -import DegreeSelect from '@/component/FormUtil/DegreeSelect'; -import SemesterStatusSelect from '@/component/FormUtil/SemesterStatusSelect'; -import PositionSelect from '@/component/FormUtil/PositionSelect'; -import AvailabilityCheckbox from '@/component/FormUtil/AvailabilityCheckbox'; -import AdditionalSemesterPrompt from '@/component/FormUtil/AddtlSemesterPrompt'; -import UpdateRole from '@/firebase/util/UpdateUserRole'; -import { useAuth } from '@/firebase/auth/auth_context'; -import { Toaster, toast } from 'react-hot-toast'; -import { FilledInput } from '@mui/material'; -import Snackbar from '@mui/material/Snackbar'; -import MuiAlert, { AlertProps } from '@mui/material/Alert'; -import 'firebase/firestore'; -import firebase from '@/firebase/firebase_config'; -import { useState } from 'react'; -import { TopNavBarSigned } from '@/component/TopNavBarSigned/TopNavBarSigned'; -import { EceLogoPng } from '@/component/EceLogoPng/EceLogoPng'; -import Chip from '@mui/material/Chip'; -import styles from './style.module.css'; -import { useRouter } from 'next/navigation'; -import InputLabel from '@mui/material/InputLabel'; -import MenuItem from '@mui/material/MenuItem'; -import FormControl from '@mui/material/FormControl'; -import ListItemText from '@mui/material/ListItemText'; -import Select, { SelectChangeEvent } from '@mui/material/Select'; -import Checkbox from '@mui/material/Checkbox'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; - -const ITEM_HEIGHT = 48; -const ITEM_PADDING_TOP = 8; -const MenuProps = { - PaperProps: { - style: { - maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP, - width: 250, - }, - }, -}; - -// note that the application needs to be able to be connected to a specific faculty member -// so that the faculty member can view the application and accept/reject it -// the user can indicate whether or not it is unspecified I suppose? -// but that would leave a little bit of a mess. -// best to parse the existing courses and then have the user select -// from a list of existing courses -// ...yeah that's probably the best way to do it -export default function Application() { - // get the current user's uid - const router = useRouter(); - const { user } = useAuth(); - const userId = user.uid; - - // get the current date in month/day/year format - const current = new Date(); - const current_date = `${ - current.getMonth() + 1 - }-${current.getDate()}-${current.getFullYear()}`; - - // extract the nationality - const [nationality, setNationality] = React.useState(null); - - const [additionalPromptValue, setAdditionalPromptValue] = React.useState(''); - const handleAdditionalPromptChange = (newValue: string) => { - setAdditionalPromptValue(newValue); - }; - const [loading, setLoading] = useState(false); - - const handleSubmit = async (event: React.FormEvent) => { - const handleSendEmail = async () => { - try { - let courseNamesWithSemester = coursesArray.map((course) => { - let parts = course.split(' :'); - let courseNameWithSemester = parts[0].trim(); - return courseNameWithSemester; // Get the first part and trim any extra spaces - }); - let resultString = courseNamesWithSemester.join(', '); - - const response = await fetch( - 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - type: 'applicationConfirmation', - data: { - user: { - name: user.displayName, - email: applicationData.email, - }, - position: applicationData.position, - classCode: resultString, - }, - }), - } - ); - - if (response.ok) { - const data = await response.json(); - console.log('Email sent successfully:', data); - } else { - throw new Error('Failed to send email'); - } - } catch (error) { - console.error('Error sending email:', error); - } - }; - - setLoading(true); - event.preventDefault(); - // extract the form data from the current event - const formData = new FormData(event.currentTarget); - - // extract availability checkbox's values - const availabilityCheckbox_seven = - formData.get('availabilityCheckbox_seven') === 'on'; - const availabilityCheckbox_fourteen = - formData.get('availabilityCheckbox_fourteen') === 'on'; - const availabilityCheckbox_twenty = - formData.get('availabilityCheckbox_twenty') === 'on'; - - const availabilityArray: string[] = []; - if (availabilityCheckbox_seven) { - availabilityArray.push('7'); - } - if (availabilityCheckbox_fourteen) { - availabilityArray.push('14'); - } - if (availabilityCheckbox_twenty) { - availabilityArray.push('20'); - } - - // extract semester checkbox's values - const semesterCheckbox_fall_2023 = - formData.get('semesterCheckbox_fall_2024') === 'on'; - const semesterCheckbox_spring_2024 = - formData.get('semesterCheckbox_spring_2025') === 'on'; - - const semesterArray: string[] = []; - - let f24 = false; - let s25 = false; - for (let i = 0; i < personName.length; i++) { - if (personName[i].includes('Summer 2025')) { - f24 = true; - } - if (personName[i].includes('Fall 2025')) { - s25 = true; - } - } - - if (f24) { - semesterArray.push('Summer 2025'); - } - if (s25) { - semesterArray.push('Fall 2025'); - } - - // get courses as array - const coursesArray = personName; - - let coursesMap: { [key: string]: string } = {}; - for (let i = 0; i < coursesArray.length; i++) { - coursesMap[coursesArray[i]] = 'applied'; - } - - // extract the specific user data from the form data into a parsable object - const applicationData = { - firstname: formData.get('firstName') as string, - lastname: formData.get('lastName') as string, - email: formData.get('email') as string, - ufid: formData.get('ufid') as string, - phonenumber: formData.get('phone-number') as string, - gpa: formData.get('gpa-select') as string, - department: formData.get('department-select') as string, - degree: formData.get('degrees-radio-group') as string, - semesterstatus: formData.get('semstatus-radio-group') as string, - additionalprompt: additionalPromptValue, - nationality: nationality as string, - englishproficiency: 'NA', - position: formData.get('positions-radio-group') as string, - available_hours: availabilityArray as string[], - available_semesters: semesterArray as string[], - courses: coursesMap, - qualifications: formData.get('qualifications-prompt') as string, - uid: userId, - date: current_date, - status: 'Submitted', - resume_link: formData.get('resumeLink') as string, - }; - - if (!applicationData.email.includes('ufl')) { - toast.error('Please enter a valid ufl email!'); - setLoading(false); - return; - } else if (applicationData.firstname === '') { - toast.error('Please enter a valid first name!'); - setLoading(false); - return; - } else if (applicationData.lastname === '') { - toast.error('Please enter a valid last name!'); - setLoading(false); - return; - } else if (applicationData.ufid == '') { - toast.error('Please enter a valid ufid!'); - setLoading(false); - return; - } else if (applicationData.phonenumber === '') { - toast.error('Please enter a valid phone number!'); - setLoading(false); - return; - } else if ( - applicationData.degree === null || - applicationData.degree === '' - ) { - toast.error('Please select a degree!'); - setLoading(false); - return; - } else if ( - applicationData.department === null || - applicationData.department === '' - ) { - toast.error('Please select a department!'); - setLoading(false); - return; - } else if ( - applicationData.semesterstatus === null || - applicationData.semesterstatus === '' - ) { - toast.error('Please select a semester status!'); - setLoading(false); - return; - } else if ( - applicationData.resume_link === null || - applicationData.resume_link === '' - ) { - toast.error('Please provide a resume link!'); - setLoading(false); - return; - } else if ( - applicationData.position === null || - applicationData.position === '' - ) { - toast.error('Please enter a position!'); - setLoading(false); - return; - } else if (applicationData.available_hours.length == 0) { - toast.error('Please enter your available hours!'); - setLoading(false); - return; - } else if (applicationData.available_semesters.length == 0) { - toast.error('Please enter your available semesters!'); - setLoading(false); - return; - } else if (coursesArray.length == 0) { - toast.error('Please enter your courses!'); - setLoading(false); - return; - } else { - const toastId = toast.loading('Processing application', { - duration: 30000, - }); - await firebase.firestore().collection('assignments').doc(userId).delete(); - // console.log(applicationData); // FOR DEBUGGING ONLY! - - // use fetch to send the application data to the server - // this goes to a cloud function which creates a document based on - // the data from the form, identified by the user's firebase auth uid - const response = await fetch( - 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/processApplicationForm', - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(applicationData), - } - ); - - if (response.ok) { - await handleSendEmail(); - toast.dismiss(toastId); - toast.success('Application submitted!'); - console.log('SUCCESS: Application data sent to server successfully'); - // now, update the role of the user to student_applied - await UpdateRole(userId, 'student_applied'); - // then, refresh the page somehow to reflect the state changing - // so the form goes away and the user can see the status of their application - - router.push('/'); - } else { - toast.dismiss(toastId); - toast.error('Application data failed to send to server!'); - console.log('ERROR: Application data failed to send to server'); - } - setLoading(false); - } - }; - const [success, setSuccess] = React.useState(false); - const Alert = React.forwardRef(function Alert( - props, - ref - ) { - return ; - }); - - const handleSuccess = ( - event?: React.SyntheticEvent | Event, - reason?: string - ) => { - if (reason === 'clickaway') { - return; - } - - setSuccess(false); - }; - - const [personName, setPersonName] = React.useState([]); - - const handleChange = (event: SelectChangeEvent) => { - const { - target: { value }, - } = event; - setPersonName( - // On autofill we get a stringified value. - typeof value === 'string' ? value.split(',') : value - ); - }; - const [names, setNames] = useState([]); - - React.useEffect(() => { - async function fetchData() { - try { - let data: string[] = []; - let visibleSems: string[] = []; - await firebase - .firestore() - .collection('semesters') - .get() - .then((snapshot) => - snapshot.docs.map((doc) => { - if (!doc.data().hidden) { - visibleSems.push(doc.data().semester); - } - }) - ); - - await firebase - .firestore() - .collection('courses') - .get() - .then((snapshot) => - snapshot.docs.map((doc) => { - if (visibleSems.includes(doc.data().semester)) { - data.push(doc.id); - } - }) - ); - setNames(data); - console.log(names); - } catch (err) { - console.log(err); - } - } - fetchData(); - }, []); - console.log('eek'); - - return ( - <> - - - - - - Application submitted successfully! - - - - - - - - Personal Information - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - Position Information - -
    - - - - Please select the position for which you are interested in - applying. - - - - - - Please select one or more options describing the number of - hours per week you will be available. - - - - - - Please list the course(s) for which you are applying. Ensure - that you select the courses with your desired semester and - instructor. - - - - - Course(s)* - - - - - - - Please provide your most recently calculated cumulative UF - GPA. - - - - - - Please upload a google drive link to your resume. - - - - - - Please describe your qualifications for the position and - course(s) for which you are applying.
    - - If you have been a TA, UPI, or grader before, please mention - the course(s) and teacher(s) for which you worked. - {' '} -

    - Write about any relevant experience, such as teaching, - tutoring, grading, or coursework.
    -
    - -
    - -
    - - -
    -
    -
    - - ); -} diff --git a/src/oldPages/Apply/style.css b/src/oldPages/Apply/style.css deleted file mode 100644 index 474c309..0000000 --- a/src/oldPages/Apply/style.css +++ /dev/null @@ -1,115 +0,0 @@ -.student-landing-page { - display: flex; - flex-direction: row; - justify-content: center; - width: 100%; -} - - -.student-landing-page .overlap-wrapper { - height: 1024px; - width: 100%; -} - -.student-landing-page .overlap { - height: 1024px; - position: relative; - width: 100%; -} - -.student-landing-page .overlap-2 { - height: 545px; - left: 0; - position: absolute; - top: 0; - width: 100%; -} - -.student-landing-page .color-block-frame { - height: 350px; - left: 0; - overflow: hidden; - position: absolute; - top: 0; - width: 100%; -} - -.student-landing-page .overlap-group-2 { - height: 458px; - left: -5px; - position: relative; - width: 100%; -} - -.student-landing-page .color-block { - background-color: #001776; - height: 458px; - left: 5px; - position: absolute; - top: 0; - width: 100%; -} - -.student-landing-page .GRADIENTS { - height: 350px; - left: 5px; - position: absolute; - top: 0; - width: 100%; -} - -.student-landing-page .glass-card { - -webkit-backdrop-filter: blur(200px) brightness(100%); - backdrop-filter: blur(200px) brightness(100%); - background-blend-mode: luminosity; - background-color: #00000024; - height: 458px; - left: 0; - position: absolute; - top: 0; - width: 101%; -} - -.student-landing-page .ece-logo-png-2 { - left: 27px !important; - position: absolute !important; - top: 23px !important; -} - -.student-landing-page .full-name-and-bio-instance { - left: 38% !important; - position: absolute !important; - top: 250px !important; -} - -.student-landing-page .top-nav-bar-signed-in { - left: 80% !important; - position: absolute !important; - top: 27px !important; -} - -.student-landing-page .text-wrapper-8 { - color: #ffffff; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 50px; - font-weight: 500; - left: 45%; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 114px; - width: 133px; -} - -.student-landing-page .profile-instance { - left: 52% !important; - position: absolute !important; - top: 640px !important; -} - -.student-landing-page .apply-instance { - left: 38% !important; - position: absolute !important; - top: 640px !important; -} - diff --git a/src/oldPages/Course/[className]/page.tsx b/src/oldPages/Course/[className]/page.tsx deleted file mode 100644 index 12bf7ce..0000000 --- a/src/oldPages/Course/[className]/page.tsx +++ /dev/null @@ -1,148 +0,0 @@ -'use client'; - -import { FC, useEffect, useState } from 'react'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; -import './style.css'; -import firebase from '@/firebase/firebase_config'; -import 'firebase/firestore'; -import CourseDetails from '@/component/CourseDetails/CourseDetails'; -import { getAuth } from 'firebase/auth'; -import { useUserRole } from '@/firebase/util/GetUserRole'; -import { useSearchParams } from 'next/navigation'; -import { LinearProgress } from '@mui/material'; - -interface pageProps { - params: { semester: string; collection: string; courseCode: string }; -} - -interface TA { - name: string; - email: string; -} - -interface Schedule { - day: string; - location: string; - time: string; -} - -interface CourseDetails { - id: string; - courseName: string; - instructor: string; - email: string; - studentsEnrolled: number; - maxStudents: number; - courseCode: string; - TAs: TA[]; - department: string; - credits: number; - semester: string; - title: string; - meetingTimes: Schedule[]; -} - -const StatisticsPage: FC = ({ params }) => { - const auth = getAuth(); - const user = auth.currentUser; - const searchParams = useSearchParams(); - const courseId = searchParams.get('courseId'); - const onGoing = searchParams.get('onGoing') === 'true'; - const { - role, - loading: roleLoading, - error: roleError, - } = useUserRole(user?.uid); - - const [courseData, setCourseData] = useState(null); - - const getCourseDetails = async ( - courseId: string - ): Promise => { - try { - const db = firebase.firestore(); // Use the existing Firestore instance - const doc = onGoing - ? await db.collection('courses').doc(courseId).get() - : await db.collection('past-courses').doc(courseId).get(); - if (doc.exists) { - const data = doc.data(); - return { - id: doc.id, - courseName: data?.code || 'N/A', - instructor: data?.professor_names || 'Unknown', - email: data?.professor_emails || 'Unknown', - studentsEnrolled: data?.enrolled || 0, - maxStudents: data?.enrollment_cap || 0, - courseCode: data?.class_number || 'N/A', - TAs: data?.tas || [], - department: data?.department || 'Unknown', - credits: data?.credits || 0, - semester: data?.semester || 'N/A', - title: data?.title || 'N/A', - meetingTimes: data?.meeting_times || 'N/A', - }; - } else { - throw new Error('No matching documents found'); - } - } catch (error) { - console.error('Error getting course details:', error); - return null; - } - }; - - useEffect(() => { - if (courseId) { - const fetchData = async () => { - try { - const result = await getCourseDetails(courseId); - setCourseData(result); - } catch (error) { - console.error('Error fetching data: ', error); - } - }; - - if (role && !roleLoading) { - fetchData(); - } - } - }, [courseId, role, roleLoading]); - - if (roleError) { - return

    Error loading role

    ; - } - - if (!user) { - return

    Please sign in.

    ; - } - - if (roleLoading || !role || (role !== 'faculty' && role !== 'admin')) { - return ; - } - - return ( - <> - {courseData && ( - <> - - - - - )} - - ); -}; - -export default StatisticsPage; diff --git a/src/oldPages/Course/[className]/style.css b/src/oldPages/Course/[className]/style.css deleted file mode 100644 index e69de29..0000000 diff --git a/src/oldPages/Course/page.tsx b/src/oldPages/Course/page.tsx deleted file mode 100644 index d1a24e8..0000000 --- a/src/oldPages/Course/page.tsx +++ /dev/null @@ -1,227 +0,0 @@ -'use client'; -import './style.css'; -import React, { useEffect, useState, useMemo } from 'react'; -import { Toaster } from 'react-hot-toast'; -import SmallClassCard from '@/component/SmallClassCard/SmallClassCard'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; -import firebase from '@/firebase/firebase_config'; -import 'firebase/firestore'; -import { getAuth } from 'firebase/auth'; -import { Bio } from '@/components/Bio/Bio'; -import { SemesterTimeline } from '@/component/SemesterTimeline/SemesterTimeline'; -import useFetchPastCourses from '@/hooks/old/usePastCourses'; -import { CourseType } from '@/types/User'; -import SemesterSelection from '@/component/SemesterSelection/SemesterSelection'; -import { SelectSemester } from '@/types/User'; - -export default function FacultyCourses() { - const auth = getAuth(); - const [courses, setCourses] = useState([]); - const [loading, setLoading] = useState(true); // Loading state for courses - - const db = firebase.firestore(); - const [selectedSemester, setSelectedSemester] = useState(0); - const [selectedSemesters, setSelectedSemesters] = useState( - () => { - const stored = localStorage.getItem('selectedSemesters'); - return stored ? JSON.parse(stored) : []; - } - ); - - useEffect(() => { - localStorage.setItem( - 'selectedSemesters', - JSON.stringify(selectedSemesters) - ); - }, [selectedSemesters]); - - const selectedSemesterValues = useMemo(() => { - return selectedSemesters.map((option) => option.value); - }, [selectedSemesters]); - const [groupedCourses, setGroupedCourses] = useState< - Map - >(new Map()); - const [semesterArray, setSemesterArray] = useState([]); - const user = auth.currentUser; - const uemail = user?.email; - const { pastCourses, loadingPast, error } = useFetchPastCourses( - selectedSemesterValues, - uemail - ); - - useEffect(() => { - const fetchCourses = async () => { - try { - setLoading(true); - const snapshot = await db - .collection('courses') - .where('professor_emails', 'array-contains', uemail) - .get(); - - const filteredDocs = snapshot.docs.filter( - (doc) => doc.data().code !== null && doc.data().code !== undefined - ); - - const courses = filteredDocs.map((doc) => ({ - id: doc.id, - code: doc.data().code, - courseId: doc.data().class_number, - semester: doc.data().semester, - })); - - const courseMap = new Map(); - courses.forEach((course) => { - if (!courseMap.has(course.semester)) { - courseMap.set(course.semester, []); - } - courseMap.get(course.semester)?.push(course); - }); - - setGroupedCourses(courseMap); - const semesterKeys = Array.from(courseMap.keys()); - const order = ['Fall', 'Spring', 'Summer']; - const sortedSemesterKeys = semesterKeys.sort( - (a, b) => - order.indexOf(a.split(' ')[0]) - order.indexOf(b.split(' ')[0]) - ); - setSemesterArray(sortedSemesterKeys); - } catch (error) { - console.error('Error fetching courses:', error); - } finally { - setLoading(false); - } - }; - fetchCourses(); - }, [uemail]); - - useEffect(() => { - setCourses(groupedCourses.get(semesterArray[selectedSemester]) || []); - }, [selectedSemester, groupedCourses]); - - useEffect(() => { - return () => { - localStorage.removeItem('selectedSemesters'); - }; - }, []); - - return ( - <> - - - -
    -
    -
    My courses:
    - {semesterArray.length > 0 && ( - - )} - {loading ? null : courses.length !== 0 ? ( -
    - {courses.map((course, index) => ( -
    - -
    - ))} -
    - ) : ( -
    - Currently, no courses have been assigned to you yet. Please wait - until an admin assigns your courses. Once your courses are - assigned, you'll be able to access applicants for those - classes.{' '} -
    - )} -
    - -
    -
    Past Courses:
    - - - {loadingPast ? ( -
    Loading past courses...
    - ) : pastCourses.length !== 0 ? ( -
    - {pastCourses.map((course, index) => ( -
    - -
    - ))} -
    - ) : ( -
    No past courses available.
    - )} -
    -
    - - ); -} diff --git a/src/oldPages/Course/style.css b/src/oldPages/Course/style.css deleted file mode 100644 index 007824f..0000000 --- a/src/oldPages/Course/style.css +++ /dev/null @@ -1,74 +0,0 @@ -.text-wrapper-11 { - - font-family: 'SF Pro Display-Medium', Helvetica; - color: #000; - text-align: left; - margin-top: 18px; - margin-bottom: 26px; - -} -.courses { - font-size: 36px; -} -.text-past { - margin-top: 18px; - font-size: 36px; - font-weight: 500; - font-family: 'SF Pro Display-Medium', Helvetica; - color: #000; - margin-bottom: 26px; -} - -.ta { - font-size: 40px; -} - -.page-container { - display: flex; - flex-direction: row; - padding-left: 20px; - padding-right: 20px; - margin-top: 175px; - justify-content: space-around; - width: calc(100% - 40px); - box-sizing: border-box; -} - -@media (max-width: 1200px) { - .page-container { - padding-left: 40px; /* Adjust padding */ - gap: 10%; /* Decrease gap */ - } -} - -@media (max-width: 900px) { - .page-container { - padding-left: 30px; /* Adjust padding */ - gap: 7%; /* Further decrease gap */ - } -} - -@media (max-width: 600px) { - .page-container { - padding-left: 20px; /* Adjust padding */ - gap: 5%; /* Minimal gap */ - } -} - - - -.class-cards-container { - display: flex; - margin-top: 8px; - height: 100%; -} -.class { - margin: 22px; -} -.full-name-and-bio-instance { - left: 50%; - position: absolute !important; - top: 200px !important; - transform: translateY(-50%); - transform: translateX(-50%); -} diff --git a/src/oldPages/Statuse/page.tsx b/src/oldPages/Statuse/page.tsx deleted file mode 100644 index 8a4c373..0000000 --- a/src/oldPages/Statuse/page.tsx +++ /dev/null @@ -1,178 +0,0 @@ -'use client'; -import * as React from 'react'; -import CssBaseline from '@mui/material/CssBaseline'; - -import Box from '@mui/material/Box'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; -import Container from '@mui/material/Container'; - -import { useAuth } from '@/firebase/auth/auth_context'; -import { Toaster } from 'react-hot-toast'; - -import { ApplicationStatusCard } from '@/components/ApplicationStatusCard/ApplicationStatusCard'; -import { useState } from 'react'; -import GetUserRole from '@/firebase/util/GetUserRole'; -import { ApplicationStatusCardDenied } from '@/components/ApplicationStatusCardDenied/ApplicationStatusCardDenied'; -import { ApplicationStatusCardAccepted } from '@/components/ApplicationStatusCardAccepted/ApplicationStatusCardAccepted'; -import './style.css'; -import firebase from '@/firebase/firebase_config'; -import 'firebase/firestore'; -import { getDoc } from 'firebase/firestore'; - -// note that the application needs to be able to be connected to a specific faculty member -// so that the faculty member can view the application and accept/reject it -// the user can indicate whether or not it is unspecified I suppose? -// but that would leave a little bit of a mess. -// best to parse the existing courses and then have the user select -// from a list of existing courses -// ...yeah that's probably the best way to do it - -// todo: If the user role says application denied, then make the general denied box with a -// denied message that leads to a reapplication form. -// If their user role says accepted, then add all of their assignments as accepted -// If nothing then (go throgh their application list and say pending). -// -// todo: add the apply link to all states. -export default function Status() { - // get the current user's uid - interface Application { - id: string; - additionalprompt: string; - available_hours: string; - available_semesters: string; - courses: string; - date: string; - degree: string; - department: string; - email: string; - englishproficiency: string; - firstname: string; - gpa: string; - lastname: string; - nationality: string; - phonenumber: string; - position: string; - qualifications: string; - semesterstatus: string; - ufid: string; - isNew?: boolean; - mode?: 'edit' | 'view' | undefined; - } - const db = firebase.firestore(); - const { user } = useAuth(); - const userId = user.uid; - const [role, loading, error] = GetUserRole(user?.uid); - - const [courses, setCourses] = useState(null); - const [adminDenied, setAdminDenied] = useState(false); - - const [assignment, setAssignment] = useState([]); - - React.useEffect(() => { - async function fetch() { - let counter = 0; // Start counter at 0 (for the original userId) - let statusRef2 = db.collection('assignments').doc(userId); // Initial document reference - let assignmentArray = []; // Temporary array to store all class_codes - - while (true) { - const doc = await statusRef2.get(); - - if (doc.exists) { - const classCodes = doc.data()?.class_codes; - - // Append class_codes (string) to assignmentArray - if (classCodes) { - assignmentArray.push(classCodes); // Append string class_codes - } - } else { - break; // Stop when no more documents are found - } - - // Move to the next document (userId-1, userId-2, etc.) - counter++; - statusRef2 = db.collection('assignments').doc(`${userId}-${counter}`); - } - - // Update the state with the final array after fetching all documents - - setAssignment(assignmentArray); - - const statusRef = db.collection('applications').doc(userId); - await getDoc(statusRef).then((doc) => { - if (doc.data() != null && doc.data() != undefined) { - setAdminDenied(doc.data()?.status == 'Admin_denied'); - setCourses(doc.data()?.courses); - } - }); - - return; - } - if (!courses) { - fetch(); - } - }, [courses]); - - return ( - <> - - - - - - - {courses && - adminDenied && - Object.entries(courses).map(([key, value]) => ( -
    - -
    - ))} - - {assignment && - !adminDenied && - Object.entries(assignment).map(([key, value]) => ( -
    - -
    - ))} - - {courses && - !adminDenied && - Object.entries(courses).map(([key, value]) => ( -
    - {(value == 'applied' || value == 'accepted') && ( - - )} - {value == 'denied' && ( - - )} -
    - ))} -
    -
    -
    - - ); -} diff --git a/src/oldPages/Statuse/style.css b/src/oldPages/Statuse/style.css deleted file mode 100644 index 5f2ce12..0000000 --- a/src/oldPages/Statuse/style.css +++ /dev/null @@ -1,183 +0,0 @@ - - -@media (max-width: 650px) { -.application-status-card { - background-color: #ffffff; - border-radius: 20px; - box-shadow: 0px 2px 20px 4px #00000040; - height: 222px; - position: relative; - width: 400px; -} - -.application-status-card .overlap { - height: 186px; - left: 34px; - position: absolute; - top: 12px; - width: 204px; -} - -.application-status-card .inner-content { - height: 38px; - left: 0; - position: absolute; - top: 0; - width: 159px; -} - -.application-status-card .text-wrapper-6 { - color: black; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 32px; - font-weight: 500; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.application-status-card .coarse-assistant-wrapper { - height: 29px; - left: 0; - position: absolute; - top: 54px; - width: 172px; -} - -.application-status-card .text-wrapper-7 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 21px; - font-weight: 400; - left: 20; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 10px; -} - -.application-status-card .overlap-2 { - color: black; - height: 100px; - left: 0px; - position: absolute; - top: 0; - width: 104px; -} - -.application-status-card .div-wrapper { - color: black; - height: 19px; - left: 100px; - position: absolute; - top: 88px; - width: 104px; -} - -.application-status-card .text-wrapper-8 { - color: black; - font-size: 16px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.application-status-card .rectangle { - display: none; -} - -.application-status-card .inner-content-2 { - height: 29px; - left: 34px; - position: absolute; - top: 160px; - width: 197px; -} - -.application-status-card .text-wrapper-9 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 24px; - font-weight: 400; - left: 100px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 10px; -} - -.application-status-card .application-button { - height: 43px; - left: 120px; - position: absolute; - top: 160px; - width: 226px; - margin-top: 0px; -} - -.application-status-card .overlap-group-2 { - background-color: #f2a9001f; - border: 1px solid; - border-color: #f2a900; - border-radius: 10px; - height: 43px; - position: relative; - width: 224px; -} -.application-status-card .overlap-group-34 { - background-color: #00f2301f; - border: 1px solid; - border-color: #00f230; - border-radius: 10px; - height: 43px; - position: relative; - width: 224px; -} -.application-status-card .text-wrapper-19 { - color: #00a674; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 15px; - font-weight: 500; - left: 20px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 11px; - width: 182px; -} - -.application-status-card .text-wrapper-10 { - color: #f2a900; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 15px; - font-weight: 500; - left: 20px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 11px; - width: 182px; -} - -.application-status-card .text-wrapper-9 { - color: #000000; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 10px; - font-weight: 200; - left: 40px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 45px; - width: 300px; -} -} diff --git a/src/oldPages/about/page.tsx b/src/oldPages/about/page.tsx deleted file mode 100644 index 408666f..0000000 --- a/src/oldPages/about/page.tsx +++ /dev/null @@ -1,92 +0,0 @@ -'use client'; - -import { Toaster } from 'react-hot-toast'; -import { EceLogoPng } from '@/component/EceLogoPng/EceLogoPng'; -import { TopNavBar } from '@/component/TopNavBar/TopNavBar'; -import styles from './style.module.css'; -import { Card } from '@/component/Card/Card'; - -import { useAuth } from '@/firebase/auth/auth_context'; -import { TopNavBarSigned } from '@/component/TopNavBarSigned/TopNavBarSigned'; -export default function About() { - const { user } = useAuth(); - return ( - <> - -
    -
    -
    - Color block frame -
    -
    -
    Welcome to
    -
    Course Connect
    -
    -

    - - Connecting Bright Minds for a Brighter Future -
    -
    - -
    -
    -

    -

    - Course Connect is your all-in-one solution for managing the TA, - PI, and grader processes. Whether you are a student looking for - opportunities, a faculty member seeking to streamline your - workflow, or an administrator in charge of overseeing the entire - system, Course Connect offers the features and functionality you - need to succeed. -

    -
    -
    - - {!user && } - {user && } - -
    -
    -
    - Line -
    Features
    - Line -
    -
    - - - - -
    -
    -
    - - ); -} diff --git a/src/oldPages/about/style.css b/src/oldPages/about/style.css deleted file mode 100644 index 6f0226d..0000000 --- a/src/oldPages/about/style.css +++ /dev/null @@ -1,280 +0,0 @@ -.section-about-us { - height: 557px; - left: 61px; - position: absolute; - top: 770px; - width: 1310px; -} - -.about-us { - height: 36px; - left: 56px; - position: absolute; - top: 0; - width: 1208px; -} - -.img { - height: 5px; - left: 80%; - position: absolute; - top: 13px; - width: 450px; -} - -.img2 { - position: absolute; - top: 13px; - left: 20%; -} - -.student-card { - left: 80px !important; - position: absolute !important; - top: 70px !important; -} - -.faculty-card-2 { - left: 660px !important; - position: absolute !important; - top: 70px !important; -} - -.administrator-card-2 { - left: 1260px !important; - position: absolute !important; - top: 70px !important; -} - -.text-wrapper-6 { - color: #000000; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 30px; - font-weight: 500; - left: 64%; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - - -.login-low-fi { - background-color: #ffffff; - display: flex; - flex-direction: row; - justify-content: center; -} - -.login-low-fi .div-2 { - background-color: #ffffff; - height: 100%; - position: absolute; - width: 100%; -} - -.login-low-fi .overlap-2 { - height: 777px; - left: 0; - position: absolute; - top: 0; - width: 100%; -} - -.login-low-fi .color-block-frame { - height: 458px; - left: 0; - position: relative; - top: 0; - width: 100%; - - height: 80%; -} - -.login-low-fi .sign-in-title { - height: 154px; - left: 20%; - position: absolute; - top: 141px; - width: 100%; -} - -.login-low-fi .connecting-bright { - color: #ffffff; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 20px; - font-weight: 400; - left: 7px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 124px; - width: 100%; -} - -.login-low-fi .text-wrapper-8 { - color: #ffffff; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 25px; - font-weight: 400; - letter-spacing: 0; -} - -.login-low-fi .text-wrapper-9 { - font-family: "Poppins", Helvetica; - font-weight: 300; -} - -.login-low-fi .sign-in-to { - height: 120px; - left: 0; - position: absolute; - top: 0; - width: 553px; -} - -.login-low-fi .text-wrapper-10 { - color: #ffffff; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 45px; - font-weight: 500; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; - padding-bottom: 80px; -} - -.login-low-fi .text-wrapper-11 { - color: #ffffff; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 70px; - font-weight: 700; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 48px; - width: 549px; -} - -.login-low-fi .register-here-text { - height: 54px; - left: 20%; - position: absolute; - top: 401px; - width: 312px; - -} - -.login-low-fi .p { - color: #ffffff; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 20px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - width: 1100px; -} - -.login-low-fi .you-can-register { - color: #ffffff; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 20px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 30px; - width: 308px; -} - -.login-low-fi .text-wrapper-12 { - font-family: "SF Pro Display-Bold", Helvetica; - font-weight: 300; - text-decoration: underline; - color: white; - -} - -.login-low-fi .line { - height: 1px; - left: 150px; - object-fit: cover; - position: absolute; - top: 402px; - width: 126px; -} - -.login-low-fi .log-in-card-instance { - left: 100px !important; - position: absolute !important; - top: 10px !important; -} - -.login-low-fi .overlap-wrapper { - all: unset; - box-sizing: border-box; - height: 37px; - left: 1265px; - position: absolute; - top: 27px; - width: 137px; -} - -.login-low-fi .overlap-3 { - background-color: #ffffff; - border-radius: 10px; - height: 37px; - position: relative; - width: 135px; -} - -.login-low-fi .text-wrapper-13 { - color: #000000; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 18px; - font-weight: 700; - left: 11px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 9px; - white-space: nowrap; - width: 114px; -} - -.login-low-fi .ece-logo-png-2 { - left: 27px !important; - position: absolute !important; - top: 23px !important; -} - -.login-low-fi .top-nav-bar-instance { - left: 82% !important; - position: absolute !important; - top: 27px !important; - width: 100% !important; -} - -.login-low-fi .design-component-instance-node { - left: 10px !important; - width: 105px !important; -} - -.login-low-fi .top-nav-bar-2 { - width: 100% !important; -} - -.login-low-fi .top-nav-bar-3 { - width: 100% !important; -} - diff --git a/src/oldPages/about/style.module.css b/src/oldPages/about/style.module.css deleted file mode 100644 index 331b2a4..0000000 --- a/src/oldPages/about/style.module.css +++ /dev/null @@ -1,392 +0,0 @@ -.sectionaboutus { - height: 557px; - margin-top: 500px; - position: sticky; - width: 1310px; -} - -.aboutus { - display: flex; /* Use flexbox to align items horizontally */ - align-items: center; /* Vertically center the content */ - justify-content: space-between; /* Space elements evenly */ - height: 36px; - width: 100%; /* Ensure the container spans the full width */ -} - -.img { - height: 5px; - width: 450px; -} - -.img2 { - height: 5px; - width: 450px; -} -.cardholder{ - display:flex; - justify-content: space-between; - margin-top:60px; - flex-direction: row; -} -.textwrapper6 { - margin-left: -250px; /* Center the text */ -} - -.textwrapper6 { - color: #000000; - font-family: 'SF Pro Display-Medium', Helvetica; - font-size: 30px; - font-weight: 500; - left: 64%; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.loginlowfi { - background-color: #ffffff; - display: flex; - flex-direction: column; - justify-content: center; - margin-bottom: 200px; - align-items: center; -} - -.loginlowfi .div2 { - background-color: #ffffff; - height: 100%; - width: 100%; - padding: 0; - margin-left: 10px; - margin-right: 10px; - overflow-x: hidden; -} - -.loginlowfi .overlap2 { - height: 777px; - left: 0; - position: absolute; - top: 0; - width: 100%; - padding: 0; - margin: 0; -} - -.loginlowfi .colorblockframe { - height: 458px; - left: 0; - position: relative; - top: 0; - width: 100%; - - height: 60%; -} - -.loginlowfi .signintitle { - height: 154px; - position: absolute; - margin-left: 16%; - top: 130px; - width: 80%; -} - -.loginlowfi .connectingbright { - color: #ffffff; - font-family: 'SF Pro Display-Regular', Helvetica; - font-size: 20px; - font-weight: 400; - letter-spacing: 0; - line-height: normal; - width: 100%; -} - -.loginlowfi .textwrapper8 { - color: #ffffff; - font-family: 'SF Pro Display-Regular', Helvetica; - font-size: 25px; - font-weight: 400; - letter-spacing: 0; -} - -.loginlowfi .textwrapper9 { - font-family: 'Poppins', Helvetica; - font-weight: 300; -} - -.loginlowfi .signinto { - height: 120px; - width: 553px; -} - -.loginlowfi .textwrapper10 { - color: #ffffff; - font-family: 'SF Pro Display-Medium', Helvetica; - font-size: 45px; - font-weight: 500; - left: 0; - letter-spacing: 0; - line-height: normal; - top: 0; - white-space: nowrap; -} - -.loginlowfi .textwrapper11 { - color: #ffffff; - font-family: 'SF Pro Display-Bold', Helvetica; - font-size: 70px; - font-weight: 700; - left: 0; - letter-spacing: 0; - line-height: normal; -} - -.loginlowfi .p { - color: #ffffff; - font-family: 'SF Pro Display-Regular', Helvetica; - font-size: 18px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - width: 100%; -} - -.loginlowfi .youcanregister { - color: #ffffff; - font-family: 'SF Pro Display-Regular', Helvetica; - font-size: 20px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 30px; - width: 308px; -} - -.loginlowfi .textwrapper12 { - font-family: 'SF Pro Display-Bold', Helvetica; - font-weight: 300; - text-decoration: underline; - color: white; -} - -.loginlowfi .line { - height: 1px; - left: 150px; - object-fit: cover; - position: absolute; - top: 402px; - width: 126px; -} - -.loginlowfi .logincardinstance { - left: 100px !important; - position: absolute !important; - top: 10px !important; -} - -.loginlowfi .overlapwrapper { - all: unset; - box-sizing: border-box; - height: 37px; - left: 1265px; - position: absolute; - top: 27px; - width: 137px; -} - -.loginlowfi .overlap3 { - background-color: #ffffff; - border-radius: 10px; - height: 37px; - position: relative; - width: 135px; -} - -.loginlowfi .textwrapper13 { - color: #000000; - font-family: 'SF Pro Display-Bold', Helvetica; - font-size: 18px; - font-weight: 700; - left: 11px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 9px; - white-space: nowrap; - width: 114px; -} - -.loginlowfi .ecelogopng2 { - left: 27px !important; - position: absolute !important; - top: 23px !important; -} - -.loginlowfi .topnavbarinstance { - position: absolute; - right: 70px; - top: 27px; -} - -@media (max-width: 570px) { - .ecelogopng2 { - display: none; - } -} -.loginlowfi .designcomponentinstancenode { - left: 10px !important; - width: 105px !important; -} - -.loginlowfi .topnavbar2 { - width: 100% !important; -} - -.loginlowfi .topnavbar3 { - width: 100% !important; -} - -@media (max-width: 800px) { - .loginlowfi .signintitle { - height: 154px; - margin-left: 6%; - position: absolute; - top: 98px; - width: 80%; - } - .loginlowfi .textwrapper10 { - color: #ffffff; - font-family: 'SF Pro Display-Medium', Helvetica; - font-size: 30px; - font-weight: 500; - left: 0; - letter-spacing: 0; - line-height: normal; - top: 0; - white-space: nowrap; - } - - .loginlowfi .textwrapper11 { - color: #ffffff; - font-family: 'SF Pro Display-Bold', Helvetica; - font-size: 52px; - font-weight: 700; - left: 0; - letter-spacing: 0; - line-height: normal; - } - - .loginlowfi .p { - color: #ffffff; - font-family: 'SF Pro Display-Regular', Helvetica; - font-size: 18px; - font-weight: 400; - letter-spacing: 0; - line-height: normal; - width: 100%; /* Set width to be responsive */ - white-space: normal; /* Ensure text can wrap */ - overflow-wrap: break-word; /* Ensure long words are broken if needed */ - word-break: break-word; /* Ensure words are broken and wrapped properly */ - position: relative; - } - - .loginlowfi .textwrapper8 { - color: #ffffff; - font-family: 'SF Pro Display-Regular', Helvetica; - font-size: 20px; - font-weight: 400; - letter-spacing: 0; - } - .img { - display:none - } - - .img2 { - display:none - - } - .cardholder{ - flex-direction: column; - align-items: center; - gap:20px; - } -} -@media (max-width: 500px) { - -.loginlowfi .signintitle { - height: 154px; - margin-left: 6%; - position: absolute; - top: 98px; - width: 80%; -} -.loginlowfi .textwrapper10 { - color: #ffffff; - font-family: 'SF Pro Display-Medium', Helvetica; - font-size: 30px; - font-weight: 500; - left: 0; - letter-spacing: 0; - line-height: normal; - top: 0; - white-space: nowrap; -} - -.loginlowfi .textwrapper11 { - color: #ffffff; - font-family: 'SF Pro Display-Bold', Helvetica; - font-size: 45px; - font-weight: 700; - left: 0; - letter-spacing: 0; - line-height: normal; -} - -.loginlowfi .p { - color: #ffffff; - font-family: 'SF Pro Display-Regular', Helvetica; - font-size: 10px; - font-weight: 400; - letter-spacing: 0; - line-height: normal; - width: 100%; /* Set width to be responsive */ - white-space: normal; /* Ensure text can wrap */ - overflow-wrap: break-word; /* Ensure long words are broken if needed */ - word-break: break-word; /* Ensure words are broken and wrapped properly */ - position: relative; -} - -.loginlowfi .textwrapper8 { - color: #ffffff; -font-family: 'SF Pro Display-Regular', Helvetica; -font-size: 14px; -font-weight: 400; -letter-spacing: 0; -} -.img { - display:none -} - -.img2 { - display:none - -} -.loginlowfi .colorblockframe { - - - height: 45%; -} -.loginlowfi .signinto { - height: 80px; - width: 553px; -} -.sectionaboutus { - margin-top: 380px; -} -} - diff --git a/src/oldPages/about/uf admin 1.png b/src/oldPages/about/uf admin 1.png deleted file mode 100644 index 238a66d4d2817c52c5aebb00f02aec9d6b7181eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 529000 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 z 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
    rEocbWc#_TU!{)h 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

    84605kg@Os(=Y1fLfu;)9nf^)qs?ETx|_sjZ3< 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

    _T>KYz92i2n_gD5HqU;QV(U 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 SSk}Y<0000 zBs-HJh&duNk0^Qdr@FU$db?>m910`($UjdrKJbALW8{!Fv%5VlKXE^CMX4iF1Qrg5 z!yO190uh;c&Z&FL%T8rx1hjAshxvd0KfbeFXTTT${9LW^JO5ettb=X^9{RrbpT=}x z>1zO&Ze_q)8}rh4_Z$oEZA{s%I$xItqaLhQ*~?J=SRQ)N$7ik=zODGvHI+)RK)-z& z>r*WO>{r_}{Ex-~zw=+;+c-Wr-tGw;_S7aEXB_YTVBvme;P!S4cQxNo zP8a8ei!n6L{JfN>>txJJX}Hfko;c1l_oejxaK5tgeBO@ch}-4Y!l6&navgg5xC~my zHYr2Om$e{e!Q{H4GAnDv^eSC9cun(b%UKI$b}Ku4?y`4k%=P$Voiq=9Hh1_O+cs>w zo;Ryrb;jz(4c11|PNT|5*1=RC%VSXkUH(Hsb*_(q)AvEv0OOZg%{Boa0-|QgxDL1k zan#N20p7noz=xXy?DuwLF07{q44q{fk*^jPq5dHnlif9bM`B=t!hzC`yv zkSj`?q5Q+X2d+7^nDFyK+RXGWmH}O?m&YFS#dOw$a-?naj>^_$5iP*_Lw)$1)7vzC z90m7|>(pz2J|W3-I2Iv%o@57;o1X%>|Jj2QWk6^hB2(;L^ zb>us&<_dpUhv!$Z42^dpUUzli^sm<)(0Egt%c~W<{%i$bet8L3*DIj4C^R>=vFk?h z6usz+{nN?0oC2yp3anj*bLQbHgJy%F{)jrt8vtt5p~B+sNDXhrCST`*eQfQ*b@sZhQFlcX#k_ z|NP$NHSl-;@EpGW<`S--tr9+l@RAuFj~xG%#}8nP_m#b4M$4IkCHbb>kN8pW?)hQ0 zp10BG$riMJif<}7M&?C$JLK~;z9d{i&rqJgI^MtE!ykTo2jBkw#;vOh_}hQDf;A#D zVwO!tl!uL(V#G>_2nkLHifM=AVG7|r7PFYwE5C=tOo*RmSn_rc5moJX?OFbu5dQ=b zgmi-uVO|EbZf0dk#?us@KSj{QM)rvb!ru@cdW}v&+}{Ardo(BH8csP^4yg_y{DS@8M){%(9)kpFB@!Ej%<9nrx>M)ODVg zwIGU*z8SAA#TB_CODkLGJ2U>ghtfRh-h%(paV$AxQ^D5C{Z;oW|5t^Tl_10s8MDpOG|mv?A>yf?d$MsC7{r$`ol& zBk+h6WBVvyD)`De2;B;=pT=&>8Jt9`U4ZhK3@sCW|MA02fTvGNlvwgIfviPo0CC5b z^Huk`7Hn;yKOYeZI~P%T2!+L5?f)@d9j+;>K89;PDw}2vgROio;oq7P%+`}6C{~y_ zL0h)Cm-0HSRby|3Ua@73EKVj97KZyG)*I-gk>V;KWr)W^2Vw=z+6sZuG~+aExQT-Y zMf_={gO&MAaiJFKU^YmeAuci*o`i*#vpFz#FQ+T_JTOZ@f`sPsdua46WgdTi=KI7X91ID*LVaQpqwfWN&} zTDxhg{M>%BTtoal2IpYJbL%9{|9JYrvmQv0%9tu9*}1?@YfA*a^m+Mr?YWH;U?azw zTLkj{u!WEtX|lF~BAOwGP61P(3HHYh=kCL-@{e5p=~^=0z0;V8fD+BDJg>Wz5Alpu z_!{Cf`NMZzRG`)NS(Hx-_}bH~#C1qGE*6qnAQ4Qwf-ZH7WSl;1LvZKu^_$o;)0tRC zsokY9k?~f072Q%{sJtP!H2vJDvbaBjSNOZ&0U6inJ!})a!LCidy*(j}F4997^pk0p zfmGOwWd;J_+ZT9?bMCWof#LC>wa>|(JTq{U#xXv*ATw^r>C{xegg!_OB=mKvtlT`C z?vqlRX>Ag2vuOpY3=rYX2Ei`~v4od2PP4#AFLXXGD#bxY@m>#4_sp61&=TPB{RH#D z8=!FPlt+niglC=lnWl>sA!<*|5Mg+M(Fh?)5O~--CJGWMA)6NZ3Z019zfSOl;S6kY zQE=3Rei};qAZMWU^N4i1APD6|*@)1@w=yas!s9+DZNO$ipb|uL{Fk;7aZphH zTZuV9d-$|2#h>8JFi)g-Fu-PcJRcgz=SVl)|*P3bF2N4DUph|pIUYjygQ)8qBy!c!*EX){KWvPwhL_dbjnr5O- z4P~aZ-i{g*3!KANoz=KOaI+!VC?sYc$8ppbG| z%=GCo7`h(XO!$K+fNHeopLx7*%I!7 zu`oJj&a(t3Wohz}IuFdENl$2BF`Sd8o)e7Pz*-^Ul@=WZd0N+kPY5t!vmWtxtKqvY z2o#=#SgBYu^Lq31Gy2q=XCD1=6$BewL2jBM(3Ui5Uroqt1*-%Z`VE7ErWS}Fo}Svv z?b22gK^iu=%|ftx5n~ltD;ZDjmtjQF4VW9vV5r`xG$QnM9VCp$pl^nSztR|s;Kv0s z+h1B+skU2OAQ0_E1c_1nOy-(uQlc+wD<6M7#$~8kkmhXkW1)oTiny;Lr-?E^?*aZK zX3{1$-?Uyo?^-K6sI*RLbh)X3Dg=(()}tF>d_TvxQU&SfMj!yPu@A&~ht zylmKWq~cnhgQf*T{7s)ZE|Ig+DSmG0oiP#(4RPl_Q>{mZjqZzK!LrOWN&UQUC>=AO zq`~L5b^+g#3zPp2f*TR{9en*Ez>0rKg5Xf->(rTX^=b06N$LJ9{Z5||Jr8#6+Or z-}!q80$wTDMVe1*kxN1!$g^xC4eF$~Fx~d)bftWGyX))0W}94{gJZ>HAl@8aSZl7+ z4bK8E{YAmMqcTVU#{$cQRhJ`#HD{_!A^rGRq`##s$Xv2YMM*olh-~R>UREv)+f`aS zrMe#rN>+uj;Vh4}ZK`7^U{T%#QDxZeCZ`O745IqhEH%>V0?2_ z8DJw3iGh}8uXp`iLZ_z%X<>%HE?XZt9%256TtekK0e%l%I9oDMZkWnm?BbOR#LT7m zT!dAL0!sBeL9e$-J&7{Uj58rRt!|g5FN3~S$B6oIIP`=5K{l2=CpleBaW_AorrR3V za70ubqt2v?Or|e}^F#&#o*eL67<=Cm`LvQ5mcSH#?QLCfZ-o}7d78GEOmJ%}yENwV zGj+F)!Wh3*JW76@3oGXRb!KWU&XNy8U;Nb%eGoA5Od!{chJOH(gYeMX~y)B@}FAxlIQ%T3!6eQhbu_vMJ{-1m%q9| zsQU+tK)X=ZK@LwQ>6D8F3v)CHfdM$^{9VX@fEbOFHAprPWhf)#l&J}If%Y5Mo$rNU zXGm3AqmVzy*ynY{^qF8LIhnBapf$$yTKwocDumpxj0x}3ySu0#$5VIRj~r5jZmaL< zhl+ff6eX4lYlro6IrJ>mEDrXcRYXe>1j`(E_{atCP>B=*<-X*3^5Kw=&N%R>#zc) z@A<5()R!xy$V75vJ)MX&0&p^Rx>empiSq1Ap<&9PdeX}S6g$-`BNc%K9mtUx4m9&Rj~t;6%Go`%PQ?F z1NC+c(w=Efe-1E*U@s-@Q4q=t>(VrNo_Qd2#Q#bZEdh5SKIw;T)8B;=%LG)=%v@j` z(~=+u%~Yns4;0c$8MQfKA+1o-i~3rQbmd$Gdm&_<$E_BFA-t~*AGpsplKSd z8S&I|GKQOkj>~VG_2-<7>)f(AK#1+fCBLV1KFGrZT#J$LBc^0QPt)2e8)cI9-)d1>7@2kkFbIl@qVg403Uls_0S z_V@BbFK#PL!`BHCwRS*2i-nF5cOf|GIJ7bVMrpqM4F*Q6R!#XE+SUqFE*fLcQURjO zOaSP1UEper#J7_lv7212eXvme_L@t3JGB&{IAy=qyoJn1<6)x0ZP>`hIP17xE12M7Uc9sieE#uQNS6nCk#l!G}JTia55@Uwt zJx!RV>l{t;sr02R7M-Z<%DNe@RZ-9zFwMg8nAK0pW*#bi)`dVswj;sMvIQPY6fz}) z4JBB=WVNS|oINh_eN+zJtJbM&AYux2#mR90hTcfOdR6YAy5NWRN$&euf?tae6eo}# zt6Jv?83t$cz(kWa0UbQo3yb`pp#XXjcagZHn}dn+P=n#iSNE{zbqpBTG0`a9wQI@)dghKMIV4JYDslDd7U{783O#)CmJ^@RfYG4yuYbd zxg^kN;!MA(ButWoi0-A1Je;>?s^$~J{EQ_RYy-Dz0Mz|doGxb;lM)k6zdXy+vO5RQ)ctPyhePslXo`toyx zaP?7f-)m)FS(sugTzGHfCR@ z0VuEMmg`>9;8a}JK(GxKUSDdj?+ixVdT_5+5F=08e5@e(-6AwgTeu&~aFbNi0ZbfE zAm=BJm^uePw8I=6Tb}JUsEu{0J$gS4`3W`lo@_HdY7y$vcP08w`&0Ju&;_=KL_Q33 zmO`d=9`BJrs1rf_E_;{DCf=BZLfV@w;0ldofp2(~1LNgnfu^X?>ORSO2GD#Cz|u8+ zZm4@mP)rMXZ6m=u*M9M3t2rn-D8?z*e5DylsO1u3hvY zgcQXxf;<<0`}uI6tJR8#wWG!o*O`DJXw4P2 zxvnsn2YRg~p}#rGT-H48&Y=^Oh)0fKY6tRL@lYw<;@0<^wVJ{Jnx07nTeDUMUJb)gO9~k5@rc=oLeK#@L;33RzLa zQ;nt(rJ7;-8OjzMV67r@FvJb15=rxE>DfOY(B&{85E$k98T+1&zXYWjGPiS;XG4p= zoOvnZ>K(I!pdDX=rFm#47y|Yo*#pTz8g!nu#`OK3X3nkj2 zA+CALbZUlxX6k$8SZFOV?^~&_T7e);YDw73+MxQ!L6g8v(`Q|->|Lsp+ac}Y%fa0` zH&&hNOWVfRXVLFN6zpuaKGQ26=o#;Gx@Pyw|z{`-D^039vV z*B$TXO#3RhKnob<2&cz@u1ohX@9z>Q8(1KlS59o;$gVU&5{%9ij<6ZM7IVH>pIx56 zM{788>^-edmI184MGlt)uD{)O@5gVw8Hwu25sipxhGGRmq^&U8Mt73W)S*W10Etvs z7!3Zd8EQ>H$1d?E=vBStG)o4*mS+lCNjeyZ&}RR&vr)OkXZ*tQhbhKR3p@OKDm_CQ zGMn4232FMgCiL>V96^lLZ@OjCR>#UEhUpO2uWIY)kjR?la>k&fNz}+{YN?gWKNV9Y zeHc>$#63P*R?Jv@x0LBf$7)#_KS$6S-9%Fk%RnSOs5l&SODQm*}aS~V7QpJ4(Z_>p)ZHNAYe~1 z>tj$JmlW^HGvk>UlQGgPg!+K`A*!sNQ%#Gc&XkuJZ)AnpTnL>RxA=O$vfoK^4h^}lI?<4(5*OqoojWw6X z!V7RN{fYuSc?R9~vAoXk+K-J0nWy+rqtZ|FeoOZ+*J&#Jz*2f{z$EmhR=2N%Dtgd$ zU*mU#*Q@bI{J!P|Q8pl$7DQFd*Cn)$6quxBTzN$qt&w$JkTHsZ@3aO1AZIo}Ya=;G zNMz#mq1z5*QH~5?XT7#rcU}vT0~XdG#MhQ-wj^*g-{01#zF~*#%-5 z#U%tD*4%*LP9vv!y|O>17@-)kl`vGX?6O8@0&xarJlUJ!0_wDmoJo~^r|(xVwtXzp z*2e33LF?Wo(XhJTOD8Tdm{Y{71vole2{GqjZJFRa1sJXs-l!FRz;;t5(gor4HL1t1 zL7mj2-%v^1Taw;0Rh8<-lx8MI?adkf>Ajya=47EP?MW%qC>OzH-UYdWr^M)#gg@dR z3phg2$pj2DL4iI**Bz##Wvd*0w~F5Cw!waBewY zr)U|~A(0a`_Z>WmY`XY!`czs&qjPVShCZRG+A;-=U=*Dg&*Uw&UJzjAcsnd*vd;x6 z@6$sbeNyA$lo`e!V>qiWwCjB+^<)8wLIhnK@B~NAW!Wmy-Mk5=EYziY9|rYHoB5?* zu)drg4#50y^q?@b&b?PNg*Q*@%)AVeCJr7?uLs+{kaaGQ2%`nO72C6LJsOx4_~coF zfuMo&I2!y>9-bcqqwV9XiBziWGn8qk4FolTbF#gb)>BkW_(JHo#>Rar!Ec->GR;pB ztBr(8(xnqoL%^kH9$D%O;+bHA6O=s$AXkCOwSmeJx|>w5cjlN5-;@jsikv@HW(<;g*2jODert>`c)RJ^)sj_ znHtd#<+J0wiB3oD;Cjsro?ym$NCb*`^x|m)pIPK}qlJ0|=6S+XTR#^X*JWR~V3(8^ z$HK52;nPx@S>oM>Wr;%EL?M`hZ-i39v%HHo<{zyA0DdxyXB<9}@>$^5j>qVI5Ssfu zxC?mKJK2M&rX@wlh0#xhE8Ywi#x_Qd&`XU5B@o22Eo(}K`D+##W-`vr0}h2dsgrpJ z1ExZRH5RaHET@QTdE*c7VM`folMe_p;N4I_)cvX}2u$&N!ZTT$2zw9&`#jLgzYKB%yNOxAA(SPUtIAq4g+YUi#RO%Cq3bIom>39t{ zW&5}pFRMN#O*}9aZ=#$H85V02CT0on+>%8}wEi_kQY}A%KE%%D4Cx6gIABI2!|E}R z2|KnZlpHS*8`;BZFGW1fo*=4w+RByV8cj3E%3-A(YoRIt>VE6s2H`HmG-SO%s@xp* zOYbd{jcLjIq$d0sQ=>oA<4=l(6d&ud^P+s4L*Ny*Za0CMLBISs%iOix(H65BQQSRE z5SL2gGay-_CBd5fE_k`E*E#L&Q5{1lfKpn|cY<5CIbz8M{7tR|Pd(Df4BL z{YYh#X+X2h41Jg@Gmyr3pLc~^L<9>vH@2Y$Ry8~kK&>q@0wtH8X_(TI3Z&ZG$AsbC zrESn2sD}g#Gk>pHTV(pjDjKeVaCR#`7aBqMYUbYe$@`$-k}|dXBQ@Q^tTE!YBVM-T zI+o6h1#5>mZw{D@IP;!8pzAYaINy*ELU%IN&T?DTHq{3ZyefiQaIx-4aTHzSELCRv zp+`YFbZu*=cz(@@$GJ2=lL}ziH-s*D1a*Nv;u$)c;|@y7uN-OuYSK8tNFk4vSB;R+ z_KCFV-L*5;ztJ@IvGLXrNLcRt9y*o*wpNY~otlvrfsWei>rkF&!z&ktu@5F{P=VCM zh(Q6g+Uo9m^q;?!y1MyhQ!8BkfAtBI7ROlM8{YY=c5w zgSxFvg1-4cWFZW_;5I6VqZr~drca>#P5c_l6kAH^nb)01nzmv_f<>n509A`$k|zJs z047zM_h(|HO>fmX`P0==9}C-@b_xdk%4qXRuzyGpJRF|@fLO2f-kJ-%|8W28o#fYt zyIoc>O6?~Yh4XBupCowh(dyt=qIsq8ueDeEiTmG~s}$E4 zQV;7<)j&b$EAOe{(_Dzx35!$1)W9L_sf4t1V^15T(L-rftLbM)q0< z%&3{P4wIc9&6_dFpv$=>u{dUJ(WxVMSuAP*z8vmwF-stTX(bu4mAZX+&7wwFdP3Eqp{Mi)LNYIMbF-k3|B5b4n6?F2`Jm_c^iUt?b3nO{iTzYB zP3;u}Q)QIr=hUFqL%bM0-GfWWe;cTxd{qm{8*5>h&Q$;Ir}u7$H)SMW>_H9h+rW?UW$w59P^TBzQr?YVIDLoHWFYW(hRQGjI~*C0nK+ObOTUn7DCHwJcuv+IZNJbCPmovaoD-Wmo# z8+Ng6UCmRr4D|1Aw z!b7D>mA7z)#DZu~lDg(04{1*-+{pX%*%EEhv4Tg+^vuggpTm4LE770~{LAjO5x2{9 zPW&&fv(S#(@4P~*w09yDri^E^0>x1X8qQY3`r@kUQacl zM~GcxN?51A8{CZ!$sQan_&7<3&FyV8Lzv*sxM7e>V2}7+}F< zDIR$U#Z#`pYpIXZ0@RsMR>JZ#Iq6=CtLS08}64kyma$7lV}lJH@m5nQFEOOU#!+Jvpc8- zFzHx|K&2s!tI{%>Oj{iTz?_MXVU%Urk{i~65J{T|!d-kOW1tDDem0E+?Z}gqNowiI z=vxER&Cx9|!}9g|t*zNK2Nd^2YEhQ7wo*pjVw?&(CY0w1zh*Gw|7I3h((4**neoq= z!$BDfgP?Z%JSit95&sMlpr;;6?)NovJI9 ztlF<>uo9`mB)@c>8fWWuI-qJ6lD;KPfM7x7J8rW&bQ=<(jlTy^4|a*x!kLtmwuxy( z`CQo;K8>4xFs3X7#2=yK$#|Ny4f*#_bkYWG70$tgcx|TBc^GeUfSV=4c`{m+@5^AY zu9c#@x=xdK<5tT;PA=dS+h2iJzO|IB6}{>FLU($mBUKLCYMZ1z{D|pS?Y!*p{BCu9 z>UBNU#kgf8kM0Kq?*t!wLtXViJaIz09%oeO`E=I!(ZLrdIzl z`C>VYt$X7wdql5nqy^d_vra8FX#x1E51KhGb3b#2CG{PrXAl{*q&|KLY1%SlJ&(yv zg)|E(AC$Ux$@Sk**)JmSPBV!*y@{?se$0E|eW3D`8KS!8T1RIkm#j%JH3V$c=lFWe z2@vnc;xcCX5hghAOVHUQW#>$-%@{rr{y0w$HsFXFn;}Y_Zn~4z~>$ zCMhW)4%*5uU}94Kt*3@BqNetjYUZ&sBWYA>eBEU+0f4Pbnx3n`RMu9@wuSjEr>mt2 zWp~iH*-WGZB`d0iUYphCxcC{_m!}0Cz@*Kjs;$YSXqU2hALTHIC$j_QRm$e^)$Nyk zL7OQmLQK#mh|Hzx=v7^5e>9Ji3vPk6gP|}fG~8QSK#o%&Uy0N1|17$a1FTm>aAoX= zG=T9}N%5=spy@?g9(#?q)93m3a`~FJ&w)Yu7TUL9{mg+>*0IGQ6FJAGIBBro%Q$I? zTr$=dql`tkwlG5UA<%4GV?VYE6+3tP;pt>c#eeY>M9z^eEmiyb_P3@1Fu(&*z5I4z!j_W zkK~zpo~KFEnn>XCG*Q!af_+rl2cO{aKr>A&CUN-k-pZ$U#}2sY9CJsOE&dTc&Ahc- zPmum(VHE%3H4R2wtx~3{g#+PoxjOA)sSu)&O0L;=af$gZ)hBWZ_TUum5-S%2YaeCMxAI56YO=ZNVyzVq?I3_a6V zk7#8K)9bWq8}_VC@QW7Wd98XUDCC=h1s~gkft9ep!=A2mz=)ok3*!CgY;O?0dr)+_ zyv8-IX&>it3v>yl*6(q1Y!annOI?vKnc{Kn3|y}3(C3e93V&80fby&}MzP|j+?T4_ z0>10I^vW$<=KGz6-S*%gtT&xoXS65Ql2|khIbu(~8@2Zkyz1LNZZPDgy_mqeLLZ8jCQtc4|yf3uCI8z?4}6 zC@VdN56x5>%jE+kDu1JRX`Akq(YD8Yp)g*zW*M8IFQ>JIel#&=3lF{9dZdle25C!Q z(`FVPN1B|ypK4}q6t=}Q`Pv^TPcuHVE`e6-+VD69t2zF&<+@mi2~Ub?WFNQT2+OX0 zhU&IVy~gr1GSj{#gX>{MV59}WNRb%CP_m&QEbQgkCu=-J zT1%L(IqTXE(&zi83+?KHkvN5Gyd~Jg+Un?*NE#mPR@rbD9<+iL6+&gsr z*G#T2tD8PIn!hV4URxn5ttQXC1>xTZA)Z>FCQj$f<|Jjzp~6!@EC7|+_hqGZtU1zG zww9I4jQrwa{A~w&Whnflo<|hWBDLa4dsEsrw2|kyx4chH94CrSZ}qVnr3k@yDBSJ$ zd$kY5vWmg+xeZPe_B-WI=f?mCTH=V%eNawtb3AV!*2;QNTtjQ>!c7UO&RsmYATUIT zW5U&3ss7Z^v{uZt#e>;}7e1O82krKf zY3T;clN!%_O~g5b^7~R+N*6L!+G>=7fXf~2b10PC-GCtgpnY%V+N*IKv~ck?E;|;0 z&JB8m>}aaS@{~|wCfu`9{Anw#8ny#nl2|LdJ(E#j&Qi-qDtwm}K7uQm;mmO&=bge6W;k(4d&i(x5>;o~ z$0Aw5cK)6LNck0AMBZkaug137R54U-16zO}0PnN_S-xaVXu6dH3ohBya={~lL@RA; z9i(A#h4KfF=C^H_KhRXDSWM#(xRx(0qQl~7M zErR7IU?^+V#w@neP-f}pSdORCmzc9WeUVUu4c3$vBx}k_mqz7KOMCL?k;#}cQ=bW1 z`}fpf4$;(k=70~%vr^CSzFK!Uhv>c$}@$g9_wT9ES4b`aGQn*iaKwdQPgeI z7BT``Py$gO@qZK~`J#56<{{|GDLi#rnZS_}KwB6kAE4P5W}^o){d%e3dM?P%D={41 zw!E{A<)#Aq@dDCM6|~iJ+OY7nXx!Y^7-+YcY0s*&?XQ`|S}32TJQsLxXUQPX%~wtseWiUsMJ99VuQl;0fVQz!cr3>qw6FVK(;zC;ss+f_LvpnZpSEn-Tta_U zuecL%4w!54D|tQG!p6+KB-$%s!Md7&Yj_euA3>L_?-pTM63^qweC`>FMB2A~`(A6b z3LOPeP_Ekf(#8N=h)QYts=|M=85#Z^gBso!T=B3lzs7mER)+LU>tJ@V6vN_Nz&M`& zsOuIu+VxtPSjjY4GbU(z3s4gJqw>P zmW=7snT96?=^TI{?~EXoH2hk7q{BlOg+F=`SKQFmZizwyV%@qwO+>Vken{ZQ-8#nz z_gFq2@3AuJd&Y2{Q|Pl#3tugQXpU$crx{5ni;9eKuGo4?kkUF?hjqyt@ol(AJ?s}d zD*VlAjnd2up`M1QC{*7|UC_dcNobxemdDlnTY4ZD3kfXU*3VI##D4I?Ym{*v!F)4+^Jm*KrD&j|)i2*_t*e4LWmnid4dv^)$

    K1`f@eqt;W`*DA+|l=v(v)pdEhbXJT*L4yY<+K z>tfy(31;+=z`+;%_rad_|5x%UrZH>|&8qo;4F|}y?DH7;TtPIIx3o`?nduMxfZ@(UbdRtrCP(~|G~s0hIi$j+PCraD zy#|z})2O&+g{e*3s6uE*%~D+YDKlJi*;Hesd+}HZUAt0$tT1=%O8BRoW`2FSKom-Y zvWnrHVB+QNX}uT*cT9{)UKTg3FhKFuhQ7TQo)((b5t?C7j$b6_lbb;o$^lVI+vk(!eI^8F8k~Eo+(U zmU&B=JuZjcgK~qIO9DxzYhPu|9Q^C&&A=ECP@wGvOj0Y0S1&X$Cn0F~my3avQu&3+H znduU+ZA zrBS6))@3j-6xGZ&~&fGQMCnl=^FhZ};N40AOp_(JoW@l1l!KPpB+n3!nIugjtd>es zxV+W}nfvm(oE8Y?(5RO39v0>(dh@jB>kH3uj#sAVbF|b7uOW5#|5f@tLEt}gOk*;d znieSK6|8IX6t;6{X3k5+8Y}6KqsLQwaPGUba2TyuiYY75r=X-DoJvo3pF%Sbz8lYQ zj0|Pt|5lN1dMbjS2@4@}h16~!F=6~P#j5fK$1-dvA6l4LU8Wh)08-mngVgs2SglsE zjaQYMNJCu0n`GtDGI*31?qOhG%0TDL5*^-Q$lomY|Z=e3~) zTL7L*u_!}x8+1F;^*9YNAJhdmO@PN47Z@$W3&p(<65YpAxf%g$4Sb52({|S8qFM1UBs*A%a$?HMp{mWa~OVkklmyJ_Zq>+u*StX@z0`y6!~1M}O{F0?Eww@u-Yppk@! zO?e36DY}FQpl1-3JhC^_z2YO^0`2v@WmY9Mq7@~f&_}h_3Yb2;O!?gWYLz8W^6-%H z(EA@^y4ll{!MI{2q=8`@o55y0S0dELLG~}rf;(sP_P4cf&KY*AKI`q9QcUD&X-sTV zj~7bAcu{ajb)AE@IGq||nWpe;@VhQN*77p2kF8FZGV^UjVL8}h-TXUzgM0$@#w0|8 z%4D77d4JQS!QuW9ZX)hpgP3xh&_?ZH%9RiPg{2yjBTNX0+_aoi>hS*$o{wpHOLI_rmm}=4dOpEvA?_oq!=#IXE}yq^PX$|!6XlNKJq-2s zLmk)V3ZFLXMLVKpuK@m@(-_8qDdQ!y(DuXq%Qz@k{+Ldzj=2b48iysyt2&qyl@m%c z*_fCTF5~t?;Ta7KorAZYjX5<<|Ac!U2U=-KNKtt{%)BjEH()HmL@nH0q^gT5}Vr#b); z?uK$-z}3v;%R8Dv+q6bL!939GDG@FJ{JAw`MEoB{dW2LVSVAY7I1Lp*DFeYYW`MUr z6KlPnbUEdI=<>K7{61O#(b*zrc9!f5@puq=q5ETsN-J)cf5PtkScabmaV_tAP=aF+ zGF3pNJ}^C2Phc<{@Q|mL#eCv~7S>6G>|1Fw3>HBwLpHROP$@j(NmIg^X}|GvvoX>2 z9>Mypuv)dBZ`5_>yv1X|&q>&9nWyP_6rnDEZmkGztiZHZyaPng!}Ub_ zgIPXS+Kda7;4RKJ&^O{~hIv?#)*nQvjC_o@ zObM_6wu~Rkl?>cZqi837$8o;9-NC(EUz^JnTwHX1jUNt5@MDC!4Ea<#YV_i28_=P~ zax^snj9DrpH5!zE9;gYeRxNf@Np1#O9TAQ+;hxw2CG%O!Gt?;e5Vi7!z8ia-i$W-A z=JPRm!NlS79$fLUY$UybY8!KEOvjj=TALF2DHDLk5Ck!P`nSxJ5F%PXW9?op6xP;C zEE%+hPpmKyJIyMA%=aTSyE>VlU?H$@LEvxdrst7i3QRX=Fv2{wk>}w;9;_|YZ1?nO zgkmLa^^QIlhq%P@tPOV3ShY2rr_r! zoINzu=3q?OOEBEKEc8i!rJUf+6W`?mBr8Kk@D6}dXv!WeDScV6@vg}n`4I(8gU ztrMP3GQ55f|MsU`Yc<{hnju=(7BXDUjS+e8JKf_;ST{V>ejCwRJ`1-zEDtWfW*P4XI( zrklh!hP<)7iU$RYk+sOUf(1UC)%^+11LN+Ir>+d5b#>a}cU~E5U=d6$aK3I4{DNuR zAB22F{%jV5Jc9ujHyhFLjFb#a=w^?FEodL0?nWzpuw*JWq9-D4cuRXv1wz*KcoA}w zyP^_p*GCH`VW3Qb8%wPTZ7{VaHBlK57#n9kx-C#dy(I#sCpXcWU@{AYSOv573Mpf1 z%bm#T%HK=<6b(`_l~&bb@~bK!R&H}MrfT=OpsqLjseyq}#Aeh-!*J8NnK0imeOXZ= z3MEQ2Z9NYP^)u-XSox#tXvzoNo&`eK!cLf(#7JKFI|whVfs^9zJa&kVnLTmeG^KgN+t$v?O-{cX=+pFWlqz z*f4bU97me16DgZ$h(IPXw$D?x`Ab58UZ@;>G-1do0|1=DP4WoPYdCUWYP`=%U>_cM zeWcwQ7dXa*yc}thtAV8FD2OQpVH?r|-t49@*8-~%q7b?1eKn{2d~I_(=>bG1!f5>) zZGO(gK`0Lfb(|Vx-+jEmxMg~cJZ?WDf&93Kdof7#UI1g-8M5KMd*h(j!f@ZGbZ{uF zK+H#H>TL4761wXnYIG^Ye zLK#+61vFV~V3w0=1__ z$gcB^r-OjEl@`~pF)tb0rziLg&tEKaYndvyJ>$%@QM*u{+!FI%>LVe6@b5%p@BmFf zvcCz&VaPP|2DXjq>+kbBTgHS&B2es~z9K|+ERrzhtV~6&EtNGZ!E#y|z@g7RJP@4U zrSP1vlsW$d^C7o1&4HztlMnCRYX|MRpDPGzW#!%~2z@`#wY8<5Jl#`-RGU5*+Ju6S z8TTNtFmql|*1L@6l-fg|eWa%rbYLqxOYw3nm_(ZnF%Y0J;sx=s3;quUDUZRR1o}gI zHB2=6oN0V@ds^m@6-ehiO6AAF-{SyLj^K6nBrSeV0Rd_vnLi%|l|0uZ4f=)*eF(*- zHM3%&kxyB?pSZeH0czj6id#VwW8z&iLg{5KlV+9OS4!!qo#8V}Vjln>gi#4}`QzJTsUY%r`17a0z>Y(7 zd4S_#x$rnyGS35T{=f|hjnTlaWu&bZMO85%!UE3Tf}N*7HD*CI)52w`9;vS--;#DU zw`Nw`9|Gp=Wfr8)vz~cwhl|!JZ)$ve*s7cmb9tN)a7l<>u3hGoD<;^>h4hDd4lm1QJpn z`G^NVyf&k~J*Bhqr-!nDSE1LM^AC8P`eXp&H7aR7wvaIY$LrLDYovOS)QFK*d?G>% z?z7YoZxqn`!3%|K^@C4v9HgqI(vmoNjaK86$<$}uC#+y+#R5g%r}ZTbJB#2K-AZ5? z=neE3uAZU+6$zQ$)#eC~-r_f->AtVYLApVyv-)vL?Yq`$VS1+c=S% zTC3u6HOwMV5yr}tB2{}VR9!e81k~MX zA05O=nlWDHsMmSr@St<`C=kXs5QZhoWGTK}qPU5BDKM0*+%QJ(U6bL!!0;LtM&zP; zNR(bM$>~d2`aFP3xvkPSy^hU99|2&YC|+`B9ZRak$=-ZfNI;=YT}_pi#Z+NnQ3%Ans+TIHv+%GE_k#r>5fhxlca+aFM*#r zJ{Cw+;Wq#NF!ZSvO`My(@X=!rf#(CVPIFud{96mMg_FWkp(D4NJch+jL$tg}NzM5p zEpf=;aA?%z*$%|#yKuqr3^;{AW_!{`jkz(NQoww0V0k0p;jRhs3X!h)bdR|R*EG}P zRy!kka5HzQU?du+^7>2}3$eQ8E}vD8zQ7wF(6Y$C$yg(YlSz+5#00MuBbkFWU z+R~x%S6$gz#$xKd)d^FjTCVsS3WXHq8ta7DS_?_RY~iYYqI=xqwzTvxgSGY>>Qv+5*ET_yn@g^MFsS z`R49PW>7sd*|Rr}nZ^9brSsaNF^+HimJXLzGs`UXwX4Q+e#%-=N*seQ<_Rk8%-RwG z=qU+(^V)A=iSghV#=GY7DU5zsRj#J#hwb2fB1%|QOlPA0g6lgR4z4<_Jmr$KW&^+X zgZf!v%N2Q7&u*SJsPEGtCZAvkd=1&T1>oj2?G**%>+{%lSfzN-%ZWV~*KKP|v?pa( zzjEcwR8KLOt*)I*ki{}9AO4L;bZmimcb`|PM)|u~A8U6K3*X?&e5kqy=`sslj5@Pu z0bxx_IJ{~gMUG$#xku^=`%oijUX)!Ygrua|<+CWF+$l$b%-@&Sl}WUErNAC@*WFSC zJQlTYNKiDfnwU(e_hA8#0>uScp;uEQ(auhtAC!#)J~~)1h`EKu=F2D}7?P(vK0^-$ zt?;6JLtIg8nJyLDK@=e6b!}t)f^*Xp8W;PNCU?!2(<45O$?;Me-Az6vzuxDJ^P&q{ z=rShh`?TC#88pCW1`>;TOrvG3fYjMSq48pA-1wQ?LmS2tpx#2XBhsHB$~uohj4&%INMVBeY41J3(5lUBhm#}YS-+(H^`3{i z3$@x|U-jo~B@DE!?GnFL;|&P!g?33L&3i)JXYIiGBH~SBq99}o{L^UJjWBBu8{sfo z=GR*OwAnMg?#j7Q@zy&5q+6}X(tMzxFKdk~2_M^pvDWXr@u#=(xojHx^MPXm6G~=m zCS|s;*eVSjNtX&S&;(1YN9mx#Vu*EXW+(9hXT+h~IdqpYpqZ!kG0cIHqn|hJDi}0m ztUcm+^?%(^cr0yfW?;AvtX1Yq=?_7O!-a?_k2Pz1UQc1Yp*sYwBYb~2>|wvx{el6b zQXdMFFk7|pkPQ{e%=p^cSdSsivGE^+(e?(WPNg2?o4ZzRvKGrku$&Q+b``&?w5Ab} zAG6nvg@9ZAn9M-oPX^`=9q;3)-RT6sBXK}fV5|x34PP*9BL44tS*g!mxHBBbTn> z=HPmyAA}>Roj`_xFehDS!B$*Jhl(LS9}dyAEWLWcdWM)5IRIpIN7M3rACk-`3})A@ zpbdmkApx#Ti#cMkkGl~BOcVOut+gT$2WJJVHNfVATvhQ=Z-(ox1=4<=iOFkf$HO7M z792l^XJX6QDM7n+YGzlrX(%YBL`gHlq_{AFw)vtBX~Ps@pCA(LR+vmuYUU z6gr2Jg2zh&<>YM@T-ZgSkK8o1@YmEHpEmwCs3TXZSrrtopXkeKJ@2ZI=CKUQxY``G zWY2%|J<)tMcxT9KY`1lag&n|py^5~$)~&ZSBGHt*G7q9O5O+UoJLM%OW8TCfN^up0P00^8P99#ZPcvi0i=y z!q_1A=9ayBx&dF*2%476$W>qf&IKl8MCBZbdZyEx@vDKfu*p27Fmbk6j-LlBwbm3Y zEs7VJQ(MS$iZPvXiyzWLZWAdS`lyga26q(>sq~(1h@x^~PxU|1h^~@3c zhMqR3VVuUwX%{}yXVtzG9^1Y!UXdr5rn9v+g>PiVM#cC30DN@=UhSn7>&wbdm0jt( zTAtH`-?PxZzwC+IR2)BhdL_jYU`&TN?Nm5RD-$~@c^&gX%8YwLwS|7`iG?I>wbUh8 zFC%)x_h}o(>MhNQ)n)jv%b2)hK{MJ9tc!V6kg?`*Pe`y%DNk8IfhinqlCqW(xq11t zMjK-O;o8^kV14qN-zPAW#rh=lbS}b=N9cBJ{Sb(J>FLhlU{sbUa>2=~5`!LZa9u8cg!udcW&q18h== zXeZ>nnC(?rb#p{p`K?p>dZhggAGh~ywP0wM5u9cZE ztY*5t0W)6`21my2obYr=!!kIANkeUOKbb!#<B zo-R-0_*{@HrwwH@5!UasZ&OTL{Io-*5Pcu!o7!hwJNMlr^DsTvko(9cpjHi?D?L4%dyk#7%&Qz@dS@a$+zsuI$*ws$D+h;DiC9^cvL)TPDKhyXFI#`KDzVZc& zT&Z&$9{=L^18Kv~4P(scG_f&?0Ft2^Y^7P%k|*k^?`YtH+D2XCgJS^ zE#w4+`sTqL#J)uHcP!*CJwFFX=Hw^Z?Z;%emw+^PE)&T3-bM>WiZim*#yr`vVTIZ` zaX?M6SAtX#{4_So$F{B+avH~URKFYho|jdkqX2TfjQ`ySz9Ky5%h+>e3I9a~ni^WH zxAeV6_Y*~NQiqKm0FOrR8n2`=-OToVoXhhk0e)rmsgjnh%DB$fyTjf;q|5y%iP8UK zbR!JmZ^H$E-N6+|Y4MD=kFeFL%>)>rqx0{u=>5)QVW=NxHO$^r#;A|^ZT3iwe306=Y3$J%Ti$xZbUWF2^y zPSk#300Z}XWjk>l4efpiBAW|VHdsILgN4|7JM{P{;R*WD`jQd~1g#|Ou~06ui7H1U z?vDFlcrvPTOp#z&y;4FDWcTiXk)b$2o`>_5mRRL{w8k+|v3(%kC3-K27txnwV}2L=@H9Gitp9D8B2QpvJaA=|Q|9%&p>+@K=Jf z%RxqPJjgo7V^b`Ht$+9Lck~b^)?f6833|_jqX5TJBL25R>mEii>xsi(uRFN7Sow2W zxaoW_4ks9FHY>QiG^Azm3PyPhHw|CC^^MRl0|)A&9ZB<6Glr?QK;?({80X9rT8h0}HC8*!7VZjgCl~@`|Sf+lyDg6mQOa zhw0ny7mjP~6FDh^wdb1Fq>8BA>j1>sNAK7F|Ns1hpD1s+TZQ{^IudwR{#h59V+=#P zUWJgL?jN4tL&2{LA+7rZ2@KcQ8@PVHg3rIWfM+i{e~wEwAUq1pVOD8?I)x0DtY966 zx(zv>3u50#Oc}X_iN1pbfdM7Rh41)oy^@PZ(Pa~r0DQ+%MACqsn|PlH3w>ckgJ9u> zKuf;wTGM+@?dq5?5e1-3C@Wdwa*%ZXS6uHkcaV}oq9y>+KCL5O!&<~Vq<;LbT;Et* zxV>8FA6b?j6LfQp5j@=555cETAGFXW4`INL)vSVS!Q=0u1cyWjW-p)kd}2IVsXewf zlQw}8vMj_n24ay3JT@5uRXyn$=2HUhuhyuN>_O0+Hhfz1N%$+mK*?}=@XNgq0zL*w z?8JZv-s1O<@2M@}{xo7P+0sQWn?8NG%Lf-N-aFzC2;zMtmvpa=zZeiNpLAA06#AaM zT)}_*KYal&US0#5D;}Gv(i)V>1#HQB;@uZd-fk^e5kpOgL~E*!1!c|hcf0UC3JT$C z#1$j4hW79s?VSh_c+L|A{yta%v8i3x`!pUwALyQ_z3)LNTOk1~lQdk`D--aFlvP+$ zSnh!>gD%U81)Nc=mkVIagpjlhVHC+-qzeaQwNPLNHRa_Iri9}|d`ESH=S;3%^Gxl|}`6T;f-=A028 z8A%-hvIf|!QwK{Kh?rZR10vLYe;T4hN~0iXEG+LBrvG%f^n9QhLIh^80+l+sK*r@W z^UP;J{By){>2d8(kigShPdVKh19oM6%6p=wgiY^*OX*F?gGTx)c~mX&nYIji_fFh< z;oe~##WVL#F_|@y+BDJ!R<`iw1`3!b!e~#|lbBrLc}^{-jdv_hy7+&*WbtPQgyTb$ zYI@=&Kst^kuFY$7&GZYiCyR`C6Z4m%Vu~Kb?rp5g5MIlrCz-0djX3zdt)o$>C#{u165T?=t>x$$nmS67BEYsWv7 z7V$jjfvsBPX3Q6!Hg(g^KYx*HN^^^rEM5s(BuW7hil^F8>H=#GTcA|#9F09`7Ny>1 z(Bn{G-}4aHb3o}{A>9u`h(Ey+XcXK`;lT+HH?mMeF2~B9s-ccCMZzbT2Pq>d&jhDv z{0C14^7fv)j-L-a&Ha?mMXG>=sLb?A$8ctk6(ptng&IyS_{KV|er6)wv{E%#P4TRy z$e!Vot+t(6PEQws5#z&I;ODr#T7a|%4^U07th&5!sN(hI#fBDO49Typ7Qr0tBX%DA zxuVU+rSG>vpy1#S2TI$MRS6d`T61)i$VVsO12fH7;!|k6bIZrD%yVgVQg;XCmZz#R zLGUA_#8)z?gVsP%H95G3Wnl-cFDv6M13&!v7QX%c9qhI}Y;O-m7@C4bYwQ!MFT+F4anwtMh@Q$ay+-RDIE&2Ys`DGnTl01nI8qT> z|Im7K^=t*}&B_Z5D<}Nzx3noYmwa~{34a&PnzP=l-CyUJdvz|y2A#*rc(}PjlUQ>+ zA{ot!{qErykh|4_<2Fx1B(!vxmn3H!t!qSp$^1|50T8t023mJg;`+yeTQ6fz9tJ8< z$XZ-6*-gS*{cLFc%8;e^VBq$qhr8PzZtwQ+Pyg*L{PrK;!NFPkws$?;f7rQnxPA^4 z7|2pjjWyU_r)(R;ojx_;V&zA{pBTm@x=wacum287%7vxsr$LMYP|Fq2s3H> zunIaz&QnG~SB(e1)4$XCDp~JfP)1_;%r@}2rNYLvQ;4?oe$3)mD^IssF0<{j_q|wS z@)idomcO#$wQ;m}op~T-zLkA(m(4%q|HR zd3#d#t=zrL`$c5sK{(S=?;GvExEB#OOM`=9!-g*LIp?~YWp(OMM~F$$QKwUb5e)yhy~1Yc^!7q3x1PQVIGfHGdM zG1I!-skQwO%BPlgXqeB8pT7_7K=^&^%p?o_ac%T`H!zDzCfU<69zj71`ZokY(FBZS zy;qx!3@Sw9NACF}{DUeh?@b@pQWtnkUYotpHuiiF9wEGPdHpdM`VsC%hNz5h0a8YX znlfA!ngaQ9nY;FBpUn^w=Pb{J-)ir73z&tTENAmNs9O9|`m+RZ4bU+uU7Dp`x;XfBDewsfu9+Rj+iGvH_Q%x{C)@D{_Z_|`){}K<9GM) z{U7h(=B-;RyPX#b?IB$I;R6CWVUJ04Pv<|kHwM1@)~&DmJ!~%C!Pmcf4uAXiuizKI z>EQCR^JnVzJxQBh7Zf-f?SorrxZoEN<<1G1I6kOkSg#4$9}c!SAA=Ffme7Liq6}^z&dy2fO~A!bw#B}mk1|v<|b`JyQRBisgD-N z3iDqF8yGOFa0P|LMz0q9y|=w$s7z!;c~2(7iqW`#IHo!sgfj7&4&JN1ax@)5PaKWs zIeh$N4=3qh8eOy2=Bej;JZkNb`bZ#P9FUe1%I?y<7U$!Ta5}>5#`5i;ZLvH!F=MwF zEX*@-wzqk{ka%uT^XvELuzjVd+6fKdy=FzINt83z24RSwg+GvJ(CPz#U*9WjWsFK>NBI=Jl~N{LvO2)M%a(V9=~UsLN9?3LS6!nE)C8hf%zq zTFzS5hV$YC#*2Mlj<7AXJXMTSQd{g7HyQViU*kOlk3KT&^ntfufAPy}xW0Clm(QJL z=A!eukd?phVeQXnp>TI~y@BVi)*%F}lNKFgzuWHJ-@#c5*YM`Monz|BRSzvgc&5vS z>)sTah0{V?d5N}0N!sI+I#2VK*Cz;~PYBqs$W${z@?Xjvq}M%!o!p?oNVK3)%VZ*> zFHD{#VX4S?YkY^{NRMRn>`ptnkERQ zhBVo@1W=eegex1~e1Ge##hov|zjo{9$36V+-`~S_cNHVRqFX33F6c6f!F8~)hj9Ia z2?PT9#lACgmrfWPW|oFy0dY)gTKt@WBw<{LjEUnI#uNaw)u04vQ)~kQGR+821U_5r zLsoNKRW+fw)CZ#|tWgAH7EQ`=fR>*tWr&utt(~WUG2!A|^~`~(Hl^!%s{I*`Q8-es z@4TtTEGMEv#fh!7Da}K5j<4@A3wd0#p~n2V)MG34>-0e|jm}wu2N?eeu1%TMP-1!f zM)qE+buQs88K=2)Yb-5W(_*^VfBji&=a5mJQc&4AfHL0N0>DC?S1cOALDr`2Q9Ypg ztW{;x^SBZ-{Crxdt@B#iu(r;Kdm{e;=d7a@#)UqFT!~fKp`bmhN`enF*4kRk$$Gw4 zsw2yKO3QU1m+`%#_vCa$Wt(&)v5r}dgH`%gup`ehqD{xQa-3W*c!e&8*kY|Ey313L*Wqm5Ag2I*1P<9FArDYY86}= z!3sWqgmIURMbu&;-!%$lf;N0c*IgJ*dg7-S#Mn{?5`8B>6zn~UCf#^MV6lmnkG`YU z+J^D)2;hL)D2TyU(AtJo-retIr1j;q3-LZmrEn=)BY$uHl#u%~k&vMf~E$Z(tCQXHwzjxzK=2dIrf z3CinzyllB9BQWMRs0e}&wJ=q-smxLxgZ8V%rq|R^$V~U_l+aff4z2oMKNgL5nL#m1 z@YIBvg%BH$9pT4;zZojqADcKFlJ?cy+6MbCNI7}CNp2L>+Pj02)#zz}4;f-QXjzNr*1F~7@zlTwh7nzffxvMxFjz_;gXB0nQJTHaKBXM~5a_ddsfi;^^f%OP$?dJ?e^Q6JcB*zWY@U#V)^Wl;?<(nX1q>7I7fH}X++YG59avV&& zlgxrBmsuH+D>a`o2yey@!lx};#h-Y0M&V;_`=fv!uNl1Tloyxw-e6ecoqNb&)BSv8 zMZk;MHy3Mv?&@ws-pY8^3N2RMiUPOzKuh6rceDWdvkyRrS#4m-nVF1Xy&sWo=Njbk zv;cfR+47fQ2`5dO57G@b+ z&j@9@n4V!b;ZD6I3F*EXD}g5kVqJY=4Qm3Me4M3*e8U@10e-}QLTSUZ0SjkUS*BnB z7ww&a^!UvB{`TPA^=L-qNk zpm@JqZasM#i(ncX*r0(E0SQh9jJVDTk=R*c%)Jo4BE;_xcm}sf(@_AQ)tcNZ5%-|` z?hoH>;otx19sK@Z-@)7O_ONq8n!ldmYVCx(9(Feezcy%Hi0Rq8sM;=+9R##hN6G*T zJ`fOEv$xK|ymJ;s{C)9!?Wg0-pKsy*-4!2KyDc$$Go(K^PDu z@+ka~B~E;$#ZAJ7KnO#@&MK^$GAN>oW2-5hHL!}2wc$N~HNhp6%kEW~TJVEW&|{es zu^JPl1;Bh=Cj=*Xm9|s+lD7#dLWJ}77t?aO!tn>D&+Txo@b2T|d<^uw&cMv-YtL3M zYTn5}_QUxoo8SODv)7zo3#WC(#wRP_sUQTe2?{mz`XIKgqdUi#ISp<}a;E92&~$=G zvmq!<0HS*+C1rubq%6rP?y$t;8m6$zo6A0*Mb4bEpQnPTmu_1_taQzVzu|EMP0ODa z&lzl%3=tRs^%S&o%C*W;6AHM&vr!x!4Pv6~uzqf6- zz4Z*^^|K4u-UC3m{M~!x?a4KC$HL!7wg6J30w;%amYvr_NV4<79|{#-@C)mC<*jt! zExefS&du4I?|1P1pLX!WpSDiu+rsv}^%k$qg-g96LXQ@_1OD}NwvH@s_``ZZkCB&; z3hNP_E8kz@zVZr%-dPm)_jK2vy})eN|GxWS=hhCu%U4(M+2@z=%fGtvuBUis;Gwe= zITS6^UI;Ya#gv#8ze8fAu6zvYXE24i)aem)DCs1+m>2MvA(u4vAoFRmsB?4X%jci4 z!a=ov?XRCIXl0aN3#Ewr#wf3aiSh#fwdy)mKE3nYvEo}X-TJrx z^2Q^1Jd=mjynlx-eFuNRHoD%StKEKk@GhVzMZSHr^_%Mc!`>J0`l~B=_aiav-U1Wc z202P(Z1^Kz?J$=}33Gw}pAKmnDfFb}CUqDS!xNMBk^=4YkVpOt+5?&-c=u)xzx%fv z@7j6$VMkG14bA5P&vW|wW_l`bL&6sH@whaw#?o7mqU(YQ+6h8xbgxbC+v7D~UbAey z>nH|8*xu~mFMqs+fBokV@ci`#zWiz(#49TQVEY()9)r;M04IqR&L-oatzmV`fnu=3 z*FM}YrO!+Hw7rRCu?A9GiTrnuyX|BUo*JaCmXLi<>*Mrk`-j9)-s?6Q^=Xx&z^J;W zgap1;qD+(%ZES%MtL8o#I5|UW^?q;P^TtY`f{)GXU>T(S90pC$I2n>?eV^boKzBN( z#~l1`Yh}Dm9ltyd1Vvmt!_Viy)N3OVtuZQ3em44e^F*MBkHQZ3vBwN#H&%#VdXaENe6j2pMK7KV<>R_-5>A#!%KAIa|rR~y|V!B@M3mk ztif6QcF=Fhx^ee`EQ0sWI&=GW?-A&Bj}{b-S{gS&>pzHSd*LPj$D83 zo~(t~gVkn5ZlZ@iBC^;gLmG@8D9UT^-Gw{4FDAGEpy0T=a&_R}#-+JJreg)GiwgvYl?0BoHGrna1SSkk4t9C_ZfVGGlOXm z@M`XMV`&>}hb3SYAriJ)xTjhZj$cn|kB3XbEqhQrz(#8tTWcSA-wg4e(B}CK)5j@@ z9?S8fCy5?1x~QKsjn8Ro>wMvQTYa(+o*2|zoYMFc1mfIikfbsCsF_|kXlv=~I2Irp z+Y&{)R-&TC4`1&61=)N5V*8=@EyJrEJnF>v_q{)RWqlZ013UNo?uG=2trrr)IS$s| zbg9{4AO&V!-*^bVvMMQg6VPtOTxIG1nV?BM%9Z{hu$ zowx4w{=#&i$gFl1qHA){6tWWfH5B^Nk%wofH!Q$I7Z*652PBV7t zT@^4sCsXccv7QCmx4d0>`}tML+E>b_)9cHhTem`~>|vVl#YhNvL~Pw0;qOVnIAiz; z9v1Tb^l_}Ak00g^aUG8?SGY;uWnfHt$}YJ;$((nONBVB1_H)7PJ;8+eiGcPnS(-on zjsH*6@W+HGm|7c~>2>9icM@w(O(-bAC(L+yIG0BQxiFe#+q!Jx zT}C@)Brpo68+ILaeEsV$E@9`ab?B;z0a-d{eYtve0WTdxzPUupof8WBd(Ut`e|`ba zUasMt6AsYIhs-2~-9H?H1lo6W#RJeCe}@qDF#Z+omXHWSHO9B}EPgjbD@%N5g$VJP zu(|WuhG3aNk>BFd5F%)<*xe$}ciL^sLc(fgW6>zw?+;*~)*E?iLG7c+$F^OQvW2A+A)*cGOld1#3Fy5x5?pV(847xEqUuB{8JkTx>FRsB*kf1rx zB783eakYYIC8nR~seuZ;pe0o6SX;oQO}#2JrVJJj)&iCLow`Zuwx#_}_t^OU)A>vF z&;w~ddM>d0JATU5CUS3QsmwkGY)FBRI$(2p_MeZU@`)L%e zN=8lLyR;%w^m0I+K@$zTs-<`>VNeFo%0i&&OiZ7jZBf0J^nyIX@?P0pG z{7gFk{#S35z%T}F`&Jlwll`8Cb1ODVb9I7JXW%FuZCiquaTx=?PUkdT2cdL-FJTsk62tknI;!+;PhNDkr zA~u{}d-IG%?P)!Y33v+>e$cL^o#y4DQBC1y6UG_;?}x*q-QM}7y73j(zxeBC@b3F9 zV5EMG(0PA%@PzQiiwk)EdJR`s_uhRIL+O9!81>J;zJk}E@8Ifsx<*3w2y3h=TkIMNp-WBv0=A)$P*1TcXHc14; z90pChjG-1t>d=ahnD3bba~a3EKmusSY@Z0G)^?IM2nJ9Qvh??KooOCRrfiuAhZqi1?`m zeBMJ-Qc`q*L_R+yosB|mz%>zfs%IobLwp{YhLnBIzULWCE7W63JeYmWV~{@O9#-~Z*tS@N#nul~a| ze0WP|z3%RI@aoGAeEG|3xO9v?ZmMU`*MRr_J%6=^S6^KDb75#9!iDsU-(2~EclWe; zE-zP3IHX96p7b-~wrQuk;3LQZF?gdBK8U^Jk@z=g1^ ztCiF*n$dtbdSZZdc05CQ4$xzTf*o39SFUm1T6Ul-IyOE+=NfK4Y~jc6@8QEchlDH& zZ%#PFOV%CZu;1Nz7f-Jhb#sFku;0Dk!}b<0=%a;s;nu^KfAb8!{>?SKaMt6y4=AwR zz&n2p#K8-G*RL<(^2N&Yc_^s8{LKA+w)Tn!4CwOy9nIHgUtM@h;*VDb?r(ee)4$)q z|Lf)e|Kopp4ga_Q`&aPlr4tVCw?4Y(W@G(1Qgi{uG2U(4&M&0eoT-hc^8_toC1Pi~ zJWq!tN(}E5q+v`!%a%08ZAc21Aj z8EWIyPiSk z<9&v^3w?nUua)?PG=qiqZRlGW6|Q6XT5)_7xokhYzJ>HV?M|67a`g_;Tl5`>{lGQR=3N9OX7oIYEq9aZae+;QOK+* zL}~6jmDhT&y4a^aL`FZ*RcSuZoweTU&U7?K2irq~zIPN)m2f21X*(9APkW|akB7!b z8V^l4t$gO>8HP z1M>K2#KYBm?Rae;9sfYr^mwno4)5RVk&$)``qjqY&$eyYwJ7F9YqhL4!XiktQeb*HT6)2*nA}!(s ztylsZ4t3nD?Q4vgeP*UBgk+$V)t6h_sA17p08lH;yN|{Zi|Vcb`B3ZRLdf7hhe$H-GyK{=?sY1}|SZ z%iV{acj@s`4y_d9s^cIOc=T97Z?BK-Vo11~VRwGLi@#H+`_M4H;?f69teGO=%fYMWOyq`i2hJZJb~z zpvmvJ>Z7p3{f^}Z1uEZRYMj|38S9wG_dv?zeH9sO5aFZ~cc`>ISx=1?R!wz0q<&kW zb*fGIGmv~Nu*N$C0a9NL%Yrggl>nxqNYJkClY8G%TT#hd0=;&4kN7gpxb?5Zm`{SG zOLDD3b}dCL!KcklIsxv~dr*&|RtgE7ho~UY0;10k;fko91wu-Lj)%C6@C1x^N>Ce$tof0BaZiG~8YDd$t;Ln=#LhS(XaQ)?bmwa2o zJ&VL#gAW&viwNC(F_P!|?|05(w{-&8+Mn^e`*5JMoL2|fTwi!MP%Hv9%=mc_`(yYCCv-KK@Jqm6cIs=23 z!=uaSi`UoA@@U|X|9%DUzjGGJKi$K3-`)H5g;wPK2DKUB|8NcN*S)t!W7kk9G);c^ zZLVT^?xB6joCJ!@iXC@_PSg7T0iev_%-MI0)U+#18?${HSW?%LJ^l$E4)XcQ=injN z*AT*4;vft^B_MW97@%`7@-?W_wKA~9xHPxp`7)+!Cev0dqcQDR*?#Q%zU<~pl0(9n z!Wri0A?N#CFtzu`p5@jTqD`qHNWWu6zoe78#i(W=Uu4IOb1w988%n@!?2JiyP55cd z^*NzRBh(|(85!2yj3rg3fGkZ#053hS8=kn$#E-YgKauUM94}>|Hd!}D)>N*5U|3@y z4|3rF&xH3Rv-xMtsH2t(-4fAqgr)R8ut!gaU4h)eFaQS~GNhmYB=iZ>$&Dxt+FY&I zvCM!mrn!uqIE-nk!mpTCpM#lWc{mo>r6Z_!m6ps#p%2^E+k>A+boab@w{t?%f$lg$ zb=V60;b^q*ZPw0Ie6c1M31@0sJHgO8;r{vSOZf6v*YNq5SMb7F`!26&%J;9G(%>2` zwKV@|QAD@kdmlK4+JbJQxW=wuuAQaXS^J#D7|$5qW5n3IozsY{;N=(2g80>ivpnwM zyKnE{&5ymeHlv~eU5PI)z*(2~UV)AZ3bZ1kAUJERf^cLir+x!1=Ya)iSvO0OwW$@C z3V_i9nP)GqP5(cXv~SUx2N1Q=ai7M%+DiS?8ZfE9b&Mj4Dl~I$q2Z$? z$|~!!S2ivzTkY@~L-@aY zyY+!uF!08mW6eoG^X%=gWQm6xh9IwM{6 z(81POfh_yR+hCGB0U@hR!c-o=IK1RMLGdTb87rTg^cWT*hJXSgG$d#RLew^(vxrE# z4i35E)f^w*?BM+mJJ`CpL)bZ??yz;%zCDoj%vidEZ;!5(2S0`w@aNfQm++Yr`p^o8 zLL6$WE-t}Y{+y+FYr|c!)@wkp4NiXau9;ZxVc+>r?|N~8_dj;NjT>BdPKbNv%Gmz$ z0B_Oa_w5aQaMs5gx2{kDapBTlUi4nsfI{E?fcHt-^h9q15E0RCxh8J*+=VC-t0uW} z*&3h9m0BQ&8pN@EkrHQ{ow>;cG>t$~rA;eiu8DO`>t6=0-xddClBQ`w`XIEet~7Y6 zVB`Oq`!S=bkAs%7MXB(xkaK{ig)-w;ug^PWn1*$(%9^VZ=CS~Er%Y+ZtT^o)!WxKAb=C-PC}^|?Tp53M}0q&wf*I~z{& z6DK?ZAH||B)%bIm!GnafmFJ^*nv{j@yuG3j{%FnFZFeLzUR`)5 z|EVYzG;y4ZblO2SH~*SSa~5EN+l%%AYxJ7hV8O))Xzjgq!qf*R_}{$Q!Vb^#t?}xG zy|ca@DAmAb17Hy59ibS%Pcr`n9X;n``*&v$b~_^-2d< z?s|{zo_I|K&S@V4iF7l0Iel)xLhX#MFj#OlXi;crMvsNRp^N9VYgOONIy5y`P^EL! zeXj|e8q)Sez184-wXNpkVTT@GSUD1ua_VDK{LUfXpWtzUm~#IO9t!5{#jcxyWNbZ{ zholMaWCKB0EI`LX$qMzD_$L>-TGERmwXNMP-X*#ny%NZVo@QFm3x9pNtQHV~wEQj# z9NvP&o^TZSCtk$ug_q!xYM1YpbS@qr&MNqwi91O7tM+_LX;S+hDB}+@>I~1`Pr>@_ z4|k3^cMQK{qCdO^9}NawK2di3;FxzjhKQCKx|H4cpf1RaV-Z* zYk2#^y^rAe^>3cTKm5lR@XKFcz=!v4T{^|YolCddk!vzu4sY?Y_?3bA_okOESmR6f zTytn+8+Ivmb>3X)^Pe%QYnisoZ-{}N^0YqP2tL$(Y3u}Wfh=(9vIBb^Rk2HO z!~8LYC$Vp4gO`G4WdP<`TA@{uk<@agu`F6=J%7Xjz^qcMhjvGcWw}jjyu2G#Bu>18 zyBlKkZE%~wGhc{U&^p5fpqt=kLx&gr1>U_xm)dXlLHfjdBQ_z5=jjKdP87xm-@j?} z%34C4rz|yDOU?$V*22a)VfQ{0G@WRLL%PBD-JrYW`Wb2t96{M1h)`iUhu#PE+1_ly zyC$qUc=pO!;eK@qpMSZ6_iruSd~lZHI}5iTcJSu=JNW+3xA2!geDIgCqy2g9ggvwx zc4h_7KHI?aFE?;`x$%KrEC!cxmg4u$^8D`md)VC^yyb0kxrXOoUBVY%J%_93YkwZ` z_7+`?{SBvneLZ`IZlo)+RQBcQu(dHNng4U4i$U%q%P{r{K{U$4^_@fNN(rMdj*!fB zdN2HOv_rxLCb1f|3xBc5>Nuy!O}+30eHL=nMV*+*E+ONSX!PNsz(T=eBz%l;JP!a< z%;QG`m2UhL1ll%e38GeJuzC(+e`cA{vu|4M+I_KK7GfbmPTG6uK^Yk-HU!(+*bwrU~m?!Py+G4sLgu#(I z*66y248On3JKT4HXZEoHcfNQ*{&EGI>kcliH*o!O19ul&xHVgE`8_yG+`;AbXa2mK zCt2ChP4xRe-}|!Ozo7sz?|#^NYuuZ^+`(HX#O+;PyT_R02Y+tx_WjNYeg{}z8o1o9 z!MNvmh7_%f+xs2dy>*s6mu7!=@PUM0eBQ(B^)u+!J^b!p@8HMpcJTdQ_VD6W2j6`2 z3@)zFy1eq2)Z^LIrQ@AyzsO`x2gh?k<;?Thv&xSJb4Un6-JNq<2rLO&C97S_-r@DL zO!%8B`-EjB{MIRPP+6mIPq04B1K`S!6+TMsbODwq6`vB!aZhSVUw$97^e5gAbv|Lb zPfKyrx#n3bcpn>v0@3LpcPCBhwJ5kL5kzJ8*nEk#Pv%G8lXfiRmd%`hARdFGI%a~# z(M@RKRX(nB>BoQ#XDGo=uTOv0(xlwN`S;jZ+3EV#N)8nHx`i}xy}9cAy=!Ro!|NJw z?c=4}D7c|3V1HQox_uPL1GyIX2%g@|NQYGYeL~jAJ%5(~7tX@7UU5JXy6OS14}i+~ zx+T&z;Q?hjhmkvbg0`@=9$m(~%Na{`gPL2-Y#%46jDo*x+{XKA_yDZ8ied21jxLq0vp~(_#Eg912sgJRAe5LOW=o;T(|9r>ucey4ig*R=MMGIjS~0 zy{E<%66w0m(`qY(ezpW;f28?6Zsjy)Dt}{Ljl-NOZ-(!euEl(uhKiviwQf*0dp9NY5#x0pm+f6Wl5Z9TyYKwWscpSz*Cyx?r7Dd=3#Y0J< zHwT|ky1@IE&bx;;c3}eho+EnWep8LU2v@x&9yi-Z9b7Hn77Bwcl;MYXw?< zP}adzQeot?mv+0=*!P9;0tH1!+Rn7!##YDL1Eq0fB-a zULA4y+_mZT8ov7FGx)_{UBI`$?cwbYJAX0drBhZsd+FMTb@kNKgJstYcAuCUw;>}} z6LfMR@O;EPo7d2U=(by7l9Cb%3`)!T?SmVoC?rg^ZK@9%TV!-*GqHi!@lXurY^(K`loZE$bj%m}v}@UjveM4C^R_Z7W69bX&mo>`g()wV zbWTcXjKW7_^w%~$lFHILCCF9kfO^Za^OPDAan$*0brr_ss?X=4|E(=iGXSeZ#*v}5PsI3r({D#T6+ zW8+v#8?jmoZ*5?bZ#oxfBg1f*?KIZO$ZoR!^EDrV@nD~+7{Xika{Yh!zkUXn*K2>C z@8-sPi~0-O(XxY~{xOpe|F6#Lky|J&*0p2$FE42mZ_zdI(0j)G)n^xQbp;{BzGf)r z!>Gx=*Mta?3#OOCoJCm3JIiL`_oT4JZ*$rL0 zp2Oe$Pp{xte{~60&n`Uj#%m*f^B-Qov*!kGK6F01tiRQv6AMzdR|e~cgq&`YnKTMH zroSH$j9TLh>u+HaXRXUH!1{j$S!i8T+}$~?s$VTQP-u^+eol|d}7{{O7L_zi|_nKpUo@yT8D zjroK(o-)(~^D&Tf_FPC_9*`o&@_v;yW*}7x^wy5Hi!6UO3KzAtRKqXPqR8%~Jw;jP zeSq-_4m}BbbhIkv*_MpYPYI^_Zb6ihO^UP*X5Bw}Dv-9Zuzzeh#Jl%k9m;522Cvuk*WX+PGw23B50;=fKvEYKuH7iY!B}LryHLA?ey7Nv_}q3Nk&`f) zHPQ7)=F1K`StdFuVf5~&>a3C04&xt1y^=PGre|CTm2Mkiyr&kS9iF$+U=j~ktJ+Ii z$~MrhOJ*vmhrTC4obF&WVIHk_)y3;Ku-$m)-dA5=d*ST!Z?2s{)xp~zcW~vbzJL3_ zdkLR?bq)XhzkUyY`R5yd4)5Zkb3)&xv+8c(_3I5>zn~DW+pQD$ozV9B%PaWtFLzGR z>*=1p-uQEa-~7!hXVEk8+F64yuh#J9yL&in_s*L49DeyXFX7D(_weJNZoLaAx}0Kk z*)M-_4PQI!;*}E?zxdi&q1UhB(g~Vhe1VZf@nU&@>y1aC*hlYDd;rYVrym! z5?7;au7WW0Bp8S2&KWe7^st&-Yk+FPUd~vS^OxGvsb=*N>D0DH(OQ764T12j0>UQ6 zs#pd}O{lfE+SHlpkAWzIv_PeQj|tTLfWLays0)5vtxUoUJv3;X&LA4kbj>s2OV_?t z3}0J)RE+iekB=_^5RQ?6AmoSuwcoIJ28gR#FKN(a zpXbb4sP6j~;C`}a0lS;k1i>kwJlGcYCTM4TSb5t8mpkSm_%2!#0%8~o35|a$Al?(F z1zz{oT6l;E;im;H*uaAJYlRC$e2QyC$`t-j1gSvNF=$;#q|;J)sq15o^EA)N`;3Fh zaVUK~-?(fK5O8bgGkPekH!Ht(_q&}BnAfeW=Z6qa;C;j$X#6(AofQ8fe+$zrV!)N> z1UuJXwXr>kK;6_2>%C6wis;#R*-Gg)tNp10AeRSt&!%{x^I;vP83>{uhr`~}AfL07 zz9SAKJlXjGcss}IZ+F%Q-$Z`>>T2c3%F6&ia@iWKbvCFqI$V89DDsW$${H4mL=<*k zc$pGmQ*6JjbZb-)vt?qb&F!h?WsJz1?6Xo~NaBfh!@YmHEv>Lxy76YvbuSPZW>Tnq zC>-rgAA~?~!k)9{y&}sk-o1!I8K!;xE^(B0G`x0)vn0{;B%E&Q)e z5HxNLe(}|nTbLcZ{CwpFJiNOP`|;wX6AG`fEKBo($n-!;2y{>7`w4lBN;t5Efq8U! zPq%T#Tx*NO5=+N1R=KA1;Zrl>*0y(XDMR}S8X?dDNEC9*HUrZX{(ed(cxoA(Yn=?b z(Ap&-sns$kn{1}qCDFB)K-~KyZGA`>T`$IDIQ`*pc9V7Ctc^K8!+s33jL&I>R#Pn7 zD&=<QX0%+Xdbl3xr;YJbP_f}zV{i01xb?LP-kL!HVoABM zKJ2;74)h^fu0VTSq>Ee&eDvFNQN9JqI6d5)zXfvlmU9sK=;zIoKV_m-gR~?N%(;N0 zRKkyilkz41=TD$TO?vIchTL172-`WX`7~S*s!`=rGdilAt zIR5Iwr$H+tx|uqO7+!sL>4nc9zrS^Y-j%NlgAZY#7YK+Q1y~bQ;WkFZoG-vU6&P9o z%IBS?%E*(Qd@O87b^+EjJs`AMZQv6;GCZcme2LQI6MTYG!N*E}js>~eYYc3()*in% z6+?RhUP^>H{xn%Vx_|BU+2EGP-`P~jrT4v9AT;oUd)aEsS1+-%`TXA%7RH(PkNC1pX^_3;{zi%ZIb0^VkiSA297 zd?&O8je$G76~alK7njzjMVCzs=mIP2&-%UpaqG>|hyKc+6UBC+i{Qn^365^XuH87J z(7HPiLhUf%5V~p@ypNIuz!k_k!DEKqs?H3u7B2h(3KGE2c#S`tgfnmx=-4JM1O!Y< zgwnlWl5)meK1(ju8rc>1f$3El(gsliL53@Wivh5ekJo&vQsH-Fd-mtVPsRCz69Y3D zU?TSMv!^^ZLJL4#oMx_no1J|tDkDz8tZ5qbI0BzU{$pAho-2kyYp8#Yuv8fGibRk* zR5<_!u$%45oNO(%wWnPHcg{9EMPSSGND7Ed>PbLb(@b!~?xN=cTl=CF@F4Z}9D4$V zuFinAKj*zN5MfXBoX-A9eb|n`dI2<<-@BL>3f^#2`OX0){`^$s z`ff%SbpLcRU*fgcP)EzNK^^SEd19eYtkbF0nJt0dgU^#b8tc9fXX}6>+af1i3L&%B zg_fB>sZ94@TNa88WG~jksY8|8_jPKJZNuW$O&Jc@JSYnZS(H^jn9MrXI<=ToDzWeJ$j0iVg=mauxOW)IV()Y4q%IlycBn9H| zz`{n-2Ggb%C<}3+2vbg9%ZD{G(JZAQtL{7|D0K@T1M#gtmT)X(HhHxWx;&Hro?(0_@`AA~ zb?YY?XYAlv$d&cyeE4?gy?5&J+tWrlcP5yojAOh`mhwn>;c*!#p z@ljaczS+TV|M?dF@cSFU;6I;#bq$|=dEu;aofoj^K1aM?Z{;I$qTq%1^u2#`@6X)% zG^+!-cN!A@E-q2{>;0%uw9SKmj+d-oTp9SquU^0x->keP4&6@Q{J3+1rV|K1zjA`( z9&Vgqi2-KTuE1x{HqPqT`2a1L9)r^G0c!-Ta}~6{csTkHg8i`N*^hEu`*u_al5rC) zBCqX-02ZdSu*u3B-hI5$v>;y+;&Q7)t_&HomWQX+e)C#S$WxNPqBYAIIjAX}Qi6UA z0-noko)b*4usunLL;|2>s%s;#4-e6O$EItZ;j!nvwEupNuw))ecnY-FLz4EP@U&^H z=e$g{ufdk;dmPY8qG`~)WK-!-v*t(quG1Rbrn2%X^_;yTpkt`Sk|JL#d>@^04Lo8+;lAbqYuXekT!cFs9KJNQ#_+LV*iQ6XiNh2_ zSh7gW*%Zs+sjziqHNko6lxy#SBVM}q7&Y_ewue9b?gsw*e|-zz{>xjR?>GPB9{&FS z_!_?a`pUb1-Z)DjTJMm-diLT1Zr<;_kcVgVZrtD1GxuT@E=&cAFtozEAg?HTmG|=W zg4!NFyg$I*duI*Ad;Xp|!SfC+d-qO|1ov#`EP}?nWL`O84+S`k2Kwy98m=y>6I(-s z|6u8A3KSYwhAoQ5Uoa0LPGqkc1fxQ~YMh}6M9JE%6(6S%LZ(2%RpY+tqH;wGS(g9P z!eF7@FnA8Sga+X+4Pj61Yb6C$QQ-7LbPd=}7=I zU!>t6qS1SgjlNIQJoI_aao~{amA6l1&JoB3=(G&h#|Fn*i;1~6qgEDc(`To~)e#>z zS{PJLI0rC(evB~nIkZ~YLTXq(CSq{VeW%NytdFFr8EY24Od<>_o|d$aS=)$5s#ZS& zJPzLbOMeINl^m{-Aiq!iM#o@s+Q4a+;fuLz|CHNAgpJUS88oBC+Ll{NdF)!sZ5@-y z@2p@J__ftjAjMOGR_dqE!ym4nu9s&a03%=DR$D@A{xU~XKy5G+>1h7b^L}mRx4v(& z_B{l{o>n?%($7T@Y~h*zUm?KW30u~?c)owPg_|GU-{f0K*-p1=S&;oafZkin~z7<6gb$KtYE<8R%fe}N?zJGfU z@0@iHfA8+-GIqRB{^Dv4&tI0^69VVXG@ahJ88LR^TkDjWP{Je1H{(9!NAlz6Hgrg7DnX#7LhA=+3#l-#g13UBQ5Ng>1J@@N>f2?T4MS2p+r(Cb?XayC+>r z+IjcP?Y8r0^j>{_K|xuzy%RQX;P(9%?z{l$tdH;Ry%4(Dtl-OEUc;BaxPn)oZKxdd zr8wAdcss1YUNkIpe$U25&z5LmYcQ~fqWA?m3L(fK~-waw5< zum|VKAdUcNe4<@9TX}&z@6QpAwfG^_Ts=$U`gGRo`I-5rv8IBOsC`q+z|TtI>Aih& z!Ah~Ye0e+l0KVFx>m;qt$Dg=f*dq#ZI;-VN4lJT9S=My1-?g=v8%&ZEtT4^{G;3bd zV_DN#+sA(n4UqnuDBQLH2JCG;pEK)=nBaYp04oA!G+IcwL*Iv22OlLjc9xt_9 zWHnjCy#2`Xr!1Eclf`^%+Y2-77jsrgF8t+Tw9cc4ZvAwGPYKT#z7%!XpZR{hrh}*Uy~LcVYY) zJ_A8J#sPy?KzEz_cU{z|k&ruFm+6`ujv*tKI)Yo~lRX#6ML?7<>J32RI&FlJGUJEL zrvRc2%r>@F3w)(|@lBt#vA(yJ@&Z1=Ss>`0m{x18w49mgVa_Go=LMsb zj)LC=?;i^th|3PSj|=mbLdvq8j{*4EL%?~q_-cqlP7BLiN9S4@=9W#L@aT}~C|h#O zNgQ#J?Ng@TyVfPwh%t?4$$^!{L%x=kL|U0cEyMgP`OdUV@fRo*L}Aj{$o#P(#Vg&R z9PrPGSgKkTgu`C2$vn#!N7Zj%45*-=V{B<%%Pb27j%A>TEAjZ5x_$YO_+zQ;TKc22lD^xiy<0bE{vhAx=b z@YUBB@HhW(3BUjM8~9)Tzi;8szkLt)H+y*T`oiD0*WXz0-nqN&;p({){9bIlb?)FV zSSQWMdfof$8M;;PgiX3Q(g%0(S3RuZ{vL(LdvE2tzw5pG=)qqq*umy<4cE`DD~sGY zcj(r65Um&K6eyf`=dW`hLC+g8jYKfg0&=T$Nh90GSpO}M5T=3Up(ZemBWqpe6p&I= z2(2!I>P>&w+B4Rs7Q!-D3wjQiqXGQ{=Y`UGSV|*GOog_L9}6D~-FmVxPgeK@KQSon zo+uE4w(8hZY}ZA=^tg(HthP?-$2NZ?%D1+f;VFR*!crQKLBG@-;yVtq!r$5Y#&_ir z-w2tpX$&sh%9+~pZ4Bv~YEwgf+I2B2F-r4dxf{3a48eNS`6>usc&3i$ z-yi<8biW?DVB$GC6b`@o<{Dmoeg(T7M$imr?$Cnggfjc=;LE}@fQO5fkKBnu+Rb}( z&vX{QHI<2#9QG@(1w$bUt3)@^AHTbU5ASxA-{tGpE3a|FI{JO@Es9v)p~rKEBxJIt zrpJSPPEuVNy1HT2S-&)V-{N=?b7qopvSIlMQ83xO6%i26VVAEfm<26DP|4+TxF&3& zY$h`8*QK;V2}!f7g@tJbb`W{1(xy_q`m@%yR+!6ZHll`%u*c`Q$r5hDa2GaAdm z1Y{wYG00I}t|$UvA1hY&0JL4TRIPU*3>7Sa4hAm|e|MV=mI4bwA$8jIQcl~dsi%C8 zH039Pd5s@iBW0x|Gy`wVup%p|$}~5!lsUOqiee~4f21efU>LNHo{uuIrHhWCnB=}W zT$^60j79A^O{lp5Jpi9+FsCEYzoy#C`*v*4^Z3*bX=|oz40Ih-=4rKJdlq2C1_dS zQWvG`1GA2giFO{mViT_#ngjDuc{5k7_Rz!6`>Eg|1pT>HbdJN`<2gSPkNj^!F*y$! zRU1h?%t!j8Aw6Ah1)bjCxlmbKw^Ks}^m`S%>OtWXp7@^V^+ zNZfg$Ng(Fxx;bI2gNyMPAHbiY9GKo?Nm;l)&|A;V2dyRJ$qF8u!sB$vAEWJMyR*^d zc)jK;*Qj3ymmjBdosL;4F1JSUG}vb=|?US8KR>vG(`)Q9u{t z1-|>+9`0}Mz3b?+R~xu~zV?^G@3$Si`{5pLe%!xxdyLSD7C?Jo z7eeFDAYu@hiwp3sqq`uS`dq;+vxgArGO_ZJm6NSgG7gX+t@iOtg~wAeull(;(=u&i zy5CG9wO9mRU*>=}F9I84oPs3M_|L^J~i=xtT;wuAwL1#KOxYsuKe^?d?7tn2rh zO~ZK0jOJO+yq-hB^Kg5hrLNNWJmgv%gHeSF<2C*n=$Ma+9O!3LtqYpgGCo9aPrrs9 z62$AOAuX`Aqam#l;*&g6^%#y(Ams$LWy%xUX{93ZJW4^oWXb#Mr20TVtys=22{8Ve z1~Bm)pm;!-qz$B;mo(Iz1-zb}zuL3{ZydT}UaD9E*9gB~NLR^U^NOl@1dZZ_3e4j9 zw1T>0nP}LrVZJF`CqgnATT9pBO@R@bXEk48qauWz-ocq=m9pdJJTf$w2>*hF~tOzfEV;MKRSsY`UUTsL#Rk6k#U;FR z!r+_lxA4`kFW~E6UBI7ze-H29?_hJ+`70mLdU$__Q9^hAstBCNmtS1N%P+0J@^8N- z>mIszTBmWly1szb1+@>&)R!+@U1$+>!e+O|bF0qk=aB4SA1qH{43GizzTg3Q`#uI{ zI@LIJ!Oc$QA1#FzQU+oi=AzZ1w#Fvb@v>GZonJYaE_V?z;_HWX0MBvyF0n-0%oR4< zH#svnwr@OQj0i~WU8C0_x1SJ?lv#Ius}Y0wFk`O+#OSb-0Zak{pSCFST21b$DMSgu zP~zIU&T5!T>p*wy6c>rwg5YPWX~jjZM(lGYg5OWK!zxY2@%>`ZS6g&5Z$xfwcbW&n zMec-j(AtK=m5c?AlXt1b>la-6@M86Ee|Hc6_KzRDI_lNyOZeOgZO@&>@3U{N;ltY< zeE0iz@a)Cs@cQ!$XW`qsa@WCy)HrJ(z9XgBI8r!KPY5Svv`nn=r)|rZoAQ+2OkbTP;mV*?sQ&&ngQm z3Ru;)zGBs?F&M}0yE(ZN9>ccJ^>{iv@w;9gjmZovkbg^DHt763|ClJPYm%GS0$1B&Uj6X{y&fBG;>S+St2 z)~0+J*D3F7{8~6m2jR??NdsC?1l~iOR|*1`N|Y@A#6DJpyRo)&St1Cra!D*;#P9Xd zn1b*6sL)bM#yAegteLcr!!~;^DJ1J-du%^tA*FJ=Oe;h&5Ex%-rEX}=3Hj#70KGOb zSm9Bi6jGk&T7`#AS&hgFX1GRpFT@MmV-geVX41xeTEhvUbkX!fK#9rKW^9fGgwWcy zbM=7`(0R2M!_0cI6qs5Ak%>Yp-Mb$<_^Ls@ zefQ(m|8?D!zuX-aw%(2Of_(2WaFdVzxtBw^>?^-sQ^UzuAAo{9$pLF^wGk~>4l|JK zOnf|xXvRFNNHp-T3)cgUO+CB3#P5ykTq{P{`diL3)R_9958)gGUlmd#(z%v3)s~io zQTeSEI}Zh|bP3}X!k>{za=#0senxwRQ=qR(|QO(x>3)J z34ElB zC@u6R?~CbMt#sw|x`%=|EQ0n4>At`!i-D{md8T9zp?=BKsbeh0#M%PXRk|p zCoRJa6e%*kmNd8&Y#1Q-NrOT#1EDUSmSLW4M|xb)&G>vCD7-p@X3VbTjChF9Fw)jD)#2w#Z(^8e40yyt&7$Abwl28cTcSI*PlTuV zVFiD&dnW(Z{KC|_)n@`(z@w(+beNB6Sn03j5`uCUh$oA@SQv8+EegoF3II|TGuLM) zuPun<uF^V(d%v~)KUZLds+rPI4M2~1H=y;wj!SFH7wdhB>8VP45{q9dxjyVf zPcb6NhA=5I7%#WBp-$VsVfl8nJyXx}_k`%UT)LDPBS@{+p?@)T=dV(D|Mmdi{_73A z`|i#OQg|6V-q}Zyr?!rHxpso!um0*e{P1_T@Z10SNBGOXeDH$a-TNI}z1Vn5UcYyO z;uT_tm1B0cuH4SMka-jHh4Ilkub&@WxobG=_9XbNR}PW)K3L3aCtQC1<+XPYy~isa zTzQ8+M6e9~p@Y>XF7SAW)kAqqa-q*Fz5*g^MVxaqzDqPlsn*f|AAV^>k*4dzISIlc z^N_AyLwYaO_LWBV+O0OV)&a!u_2Gf6H4!GnYR1B#yn9T7q1~}d&?0P~0@{Q)X@j(@ zL9qqGXK3#T!WZ>#*lsFX!2phLAH^)6a;8lQXd`-9X&rucCsux&3}*K_r$-OoHIH zvI0Lh0tm09>7YJmOl=OslfCbfKG8EtliZPQmC8Nf7drD-!eQeBvvhq)|EGbY&PRU4 zjUi6f`#V~3|oj{hY`><@A49Suom>$#znIC=l%@b-C6kaw>R*I ze|ZCk``!mu`TUpH@Z$9)?4334_NMm&)-V6+%8m9HKKRSG|LraO@Y@@B`=@)jc+tV7 z6WpG?a_RRgXT7`i!Cf{ND<{x({_Nh>^_qeRZB}q`wf4T#7)a*L5BL6RhwXL`FK#bk zdw=l3Tb^HIR8Q+KpWp7u?elPe1Y!CM;zLAGu^63xqXtF)IP+(M>%`2pqM7U5%7%Z# zt0Y*AvJwL(D@&K7KVi_XRQO9)q9R_y_SS_Uu^_SAi?mtF<#7`2FA-If^s!XWe5g%G zDm=6z`9VJ`<1?p>VL7FFD1R^KFN0oJscm(Z3Uq*Jg!Ndrzajy3To?R3g?WyKR0mH=9YEK(V|=1C5kOb zqC=k&=Co&4xt`^*XI1sk*qDgK#zx<&Z^FwE?eKD67p%Q1M81V!{k5s`j4gxooywHJ zXwyPo^xT2!n?jl&dYZ_ z7CeN&*E+{OwHeYw3;GI-@T>vfoIvm!61s;57VPu}EuegekPD?YG9?$@l#qZ{h73%l1B9to{?J>2+UEWH=* zu3oO;y-;N>MFqv@?)!zIz%*Uo)18E1gZn4_=F2JZ z%wHeFySI&#X!hHY-(*rx=pksl&16$@&0swp{+}|F5Exjit%8c7*O!U5x{OSL5JGCV z*JL&abxH|gqHzt87E@*(P6(&PPsifBc???`JU|oL)?&(Tjr>mPu-0Zc(yBJ-x~I$L zbx{&#OG2yUo#>RmdM49$WO=0wGpJj)k(Xd9Y-$D&GWs^`dpcI>y_%_T|Mc8Emq3dk zJ2!Ay4%*|U1$Rjvu2&J#1T=lnb2Hf@n1e(7KI+@|=Mp%VaO}_F|W|!eJrj6QF93Z+Qdw2RiD4&S# zakRxgt9vSPbgHmD<6^6T@I+d`o*eX_HOLxk=bME5*!-2OtEkAJ4eZxxh6kD7{irQ| z8c1tn3(uJ-`2QhA{2w<=YAN0O&03;H(fxhkENt%Yuy?|i^$|Aj?)LuK&HJsh;vL|_ zo2}cr9bCQI_=uaxz+qZMWE2$?V6!ps>%V;kZ=B%whyUKgyFcARkLAAa;dZr!wX^aa za4|Y5ty?)k?sgBiPB=syN>Png{yK;4?ZM$a$H=XmAa{vYKv(CBOJ|kb_%`kD4%C;9 z`m^5nc*k%E_vFM#Mm2YzM*zL%j#+7`C9cMB+H(3#dw6QVs#*KmDl`rYDf})JlM>^3 z%$F*qmMYeT$^f6jltxc2T?V)Y!2yrx`ggXuh{o==&#pXT1s>+_GT zN0};=ir1SJWhNUR`tUr5bzZ?^LCH0QWHmmhSlblo1{+`3Pi%pTa+!oyZk`cF%s^?g zDph@P9oV=SP|(|KNCWGIK4)pWyY1n}AGh%K$349H;SS!t+52dkc4U%dUpJ?xwidDuGZof8aE_``^wc%~3t zNzuxO&E32A9R_J}ZQ9=M+;i)LB;Xx@o97+;*;xj^{oRe*8%_Y+tegzIC7mkNGUv*;xK;k~8)_fH?+hl!f%VzHK zQ?|g2zaOtVhg3)!6Mk}6nY51bUe4by)@)mKH9>cPA&c)AzFt`fO!&;^15{tCRgH|@ z^th%ttfjuv`?=%9T4^X)!b)`rb0WfiKKC5WE?^-rnMHSOgO%L>7SH{l?J4ue({0t7 zNG*55pk<{d@1n&%HnXgtiD!wc44Q#4+Ln|zi!s!F$)5w%lr86mB@C!3;#0Z8r=+MD zf(`U`xVBFYr73+RnBNQ$lFk83%H{b@m4G(0pos95))#QF64x4ma$uuDV(Ao)m+uhDb-^4rnFks8| zvkNc4?Y0)~y>REu#ZIXE>YGbf_h-&hw}O8&Z{Y18o#oF7j`kj{iWum{35yrl7WZsV z5v{yn>0LBC@9K$VVg0>h)bZ@!4}baq|LcDN_`|>B9f50j{lyi0`Sk_7{`?A_;ic|A zs;9F=dS0@pPxrUC5UwULA(AOy<U zm&ZSiB3KI2C3}9@_tKiu``;*mndziW=2ilU>V3$ho&?EOtkBHdG{9In92mxA(w^W! z6E3Wlv1`JCVSMzsfobjiJdm=@M7qG+oiT9GydW(Ve0^$&_`gN?u#j5#MCeN+LQ}#1 zSjd6yD<(Q0@=1vxchJ!t!N?~Ftg4M>+Q+W!qRrC$^;4jD zcoGbKiUSvLuC>YSZA&}mp+e)H^7u?sKXz!vcT7*%+BOD)*2~8g^7=zA5YHTn)Q{_$ z*S`sfk?E8rtC6=<;`vdpitXiEv?%zIta19ojI3Re@6(Ye)4aoXV~mzgTME_x_yVD5 zqu3JxtyO5n!lqqZuKc+*#8u3k`fU~NOk*Z1s+xkpj?W1Zb-;@QT{7Rlv;MO5w?BS> zTW4Lndyki=-^1I#-1(p?cxLbU>q{r>ZT!XUc>mt#zkUWk{^17hosjt5A8z5BUtGhh z&n`ke*0&MQ*neWT*ozVEhzr6RsVeoneboI2Z9T+HPyW9JI^t&*R z5Zdp`xp=mLXRkJJ`F!Jkcku1MVEylWcV2vX319u@8h-toSMbF*P5}IJ4KH3eYorq> zH%?GocR?6LH`D{289Z3I5FG_nM7;Qkk8W=c;l8JS^ejp$Xu)Y_KV$3&Vd&pBL7t+G zGzCGA2}Apu&g*zg7#BoMf;$$0;&!}-4Qv#!OeEf~@q} z7&u=<)VbVe+HqwW0#{K?Pk4x3NKi=Tu-=~eKm@cS9D>&V&4p9=xIMkw9sKE(3x{hi z*$Qt+(SkS(%k}unDYXu6FmVt1yB-VHKE1YiOmsV21>XEU_g(KTW(@mqfJvU$*B}1z zxnU{G#$3EUX>F+W8$5(2#3Q+ z%dH)yTcIj>V#u9%#oYFN?{On<>8{g?M^c0#&P4_Fq%r7-MI04!4NEkR7or8(4d%qd_9bNH&;bz$_6s>C@itP>tl zh}>at8P|^Q{_F(5FD{)Rdg-rwc>a9lh1ZKqSH`mrF0Y(Gh(hqjF`Wmx2N2y%absdc zP#o)xcRyYEu@y~SV2mIT4G5Q6(~L3OHqaZ^=GUmyHK;Ls#qz4!QPDt#QiUOGtS`C8 ztq~#RZQ!!>=NRN|DOse-&l`Xl@31{cxhVwMLQd@Du1mTpAZX&Us*Ug)ARGgI7rbPY zpiUV$B5Ur`FYoQ3j!;tCt)hUbm{>~!uB=jGVLLj}H#9_NrC%pwgdl8~6-zF9k= z58cIY0F^fsw4z653-_5zgImezbiDgD3eT8ta{;28Lcy9{J*5S)UAk|2+-e|9$ME@J zOtSPbm_()A{C92n*|3hnP)hoq`st6=_Z)nwUeDO_Hc8o#2y(-6Qrap)AO$>;=b=s> zkE92ufjPoq&C<*3Qw!U)HoGu?JfGIDLsr&Iiw`hd0420qh4#e0ZB5J_ESiFOLik*q zZow>V*j$LTt=betiD^H{u$uUsQ~7A+(98Z0snD%o2Y~T-Kj2HmfqmaHMs~=9@|(B^ z0sc4k{<}$*WXli4j(bFAsVlp0i>Kd63<%6Dc7O#4Gn&yzGn(;3lmAdGm$c>Df;3=f zfWbW3@^)WUDn*3*`cdx3BO)^+>sIyao*94dc2#9Yxc1}ccckIX2WPJiweRxXSz6Hj z?c8DC$DQZrKvALR!MO*W^LkK+?)v)>4*j9a@qEzSBDBiSZ-cekpX03=$#UR!KabC-CdOP#il*uCnA8oE3@+Tu7%Z~BuTqFWl+*-C zgSKo4_z~zs|Fty-U_og+9=gSXjn+6yr_a&C@Mo8h4FW{eVqLyVn!Q))-`fQAt}rLx zRuZa5X1?%UT>PFHR?>oo=bK`Vh!^k)XAxdQL#Ii#Oa6q;#84g z#W`L>Pd~R?2F?f)7Yk2wk7lgQoLYkGn1u+jzF-7M_}PH&I1p9NO3lRO_N$-u@5k)< zLzl&nv9|RNna$lyD3`lO_q*f8p}vnag-Sp0u<-d(lV1hWNDy(4BT=O2v1H+6wT*FS zpHzcLTErdZVpgjgMA|Id463aqV9`>XLVtG8MH!3kfkHPO)J(^)8e%|1AQMHpock$e zQcQt7(FW4i_kn*$dXfYxi!IWQB&g{;Sqos=7o^{dB<#W5oEU8v>kcTDoQ(cj{C4It zvN0B>cX&pulvdGyk%^SEHDszR)5i1VGLtwZ457A%0!9J1PVT6E_uXCZ7R!vA(SUk# zSm8t6mcCIw3nuF1Pyn>6%v+y3p53a*IUb%lnpa;$8~JM<{~@c*DWld9;w;+f>|vWx zSQvAlL(V=6cPjJF&9QsU!M!ZwJrtUnFn#wBEdV>sj?8(h`%`#Zon&0XlB2XNX$WD3RpR3@7< zhCX#q>?&+|FjIg8!#jLP7mXjeey-~(&lh2Ir0@R0MD={Qa<>b5R?UoPh4B+&1tb7z zK$gG2B#_rG7zlSAn=Rt+sKG*@x5kK^*Bt@Ao2#T@OB%eZx0?ivI=D_?Z+*KZ)6GDB zbxA9RCRvMO>O`go5_|>CCpHK)6VrwX*3pFPElek4@6#W&i`_$(y^$ez)&T0n>+*k{w_Ajwv@^aO``5dk?{gm%K?ODy&LD3zMt>V_c%yJ4|5nJ_5cl z3Qth<#w>9g@0}t&WnHsUoQAY%%B;AF=e0%o-4B^%{ksS?^keKJrf6ZS0z8PNpD3t7 z>j5;GM*rjWmW4(rs6h>1Cju*L8q183V@rij0N^QW)|D4xt(9fo%Kn;Lh5&J#^U>6) z$(9G-KIR`*mN&SJ>e~d2P;<3PVDIX(gST(iaP?+Gz;AWUx$rjW*=`%NzYPY6K}L5$TEzsQA_i7T z68RGZgXs6xNTkk=<_1kADT-$Lxo$fGNZ0Sy@ak(vKo3nLE*>#~>V&bzK6wc!fXpfe zdO3f3LX)vN_iV07$=3rhjWIElXwvDOXgbq8AW#jR_~&5?i0y)cz7SwUO(&V*C5bd1 z#`JHM#@K8enY6ZTAT!vv-)`Wm-?O&z`GOy2Ee_7w+%VhVa ztT$fdeJ~7(`oBPth>JSJ2}5*pD$e0zNr126nf5DumxCWILZCUpIYW(IlJO8tuo80u zcW9;2@CAjdie~Ix8Vj0!$DaG^CEwMsl;9??w+t`JvOfVTz^BE<%n-5}CS@{}_v>6! z8n~rM^sP1wK=*{20|U4*1L|U>Wd-N=0z+HJT}uJDL$k;qM!7HMR?q1yYrR|wXEdiD zPQb&Q8-VoWzA*T^iYj(!pB~LSIV0~l^lr%S%o^(sf#H3Xsc6DGi#g|0eNaDITK_1z z?-)U?A4uRN(S|FRh!8~s7xQyk9B4X-qPgc_8hVEc9dJsQg=XaWwPweTX}Qo1PU8?q zv@qWT;r-`&w{Y0pVP=jF)iqZ@G87p9kjpq7$ewZ(_OU?i(6hqF5f5QEDBo46w29{L zQl|tH$^jqizTE@xJK_M}xdn6Z@8M#*E8&|_^T1qSx?XLc%+Ashtk*1gM_(D#wjn^l zClKge->l*F>yW@*pEO#lq~+^LlZTNyZ?3kKRsl^T(I<{1@uEqi`cbRbFk^>csT1>2 z+!WaMg1}Hi0UI`}E&c6W3pSVm{@bhqy!*Bz|3Ng3eEv~S+P%e+1FWYT8iIeKUYZ`xmrgG;Ice-6etGMKU@;<6yKtyC-bo`^{d|`VvUS>>Su%f z_AaZmgJ>PP4G$RU?{(5nI(G$MCJpD)4^QEfpI*SHKRtsFK0Z$xKnVu3U;-W_$*Y=q zI-aHpz-JP}#(6tX&Gz63;OE_;3)c^rUH#qw04TsQYbdRxw+eU?c0|vEi9U>Zi(L|@ zS|ek}zvDu9Ao8Je;#}FwIDR|>WO+=NHsp&N1r9xFrZrj?elB?=@$cY`28oGrKJQVX zV%a;|HeCu{eR#)UCEvZynwa8e9#pgFByxcRFyNZU!0YO1X-NPBP_-S6R9QhF0X1ud zn*lPr-jaE?7ysGl=v;3*{v2tFuCwzT6d}zd37EPhxM~|65HnSc(X80O5_TWh{WndY zi&oWsX3O}!vhVR;*Wg{1AbkoyR$*@84x9`#FL}rd9w?Rz_|lNf5r)Wrcy3AB3sreQEr1eGjyl zbM|@7?8HnQ@L$_DIYc_<%6pZ-))&9uz^iYz1oXc7>N)|NK0DHg9R8OH^sNO!ki<-us)J#BW77%2{cL^ZgFnE0O z{3L1AFu2M>G$n!k=n#l*0-1=a=Fvq>+RjX0w?>fH!1BUVpq1-yQhQg4K%PW6|L`P% z-$nX+%Mvx&t3erXF;l=`5d_jed{t0`dg6)6#qr0tN!$4LhH?~QRMU@syoHZ{jAI2bd!lPRcb$*jWm5ob{F!QsEZ1IgSnaw1>hFb-bueOZ z=k{-3Uo$9}s82P47F<7636hW(HBk!gu&R~J`IDV@E`;=~q594_uoWBJ1t%b)+@L0`>N*@(3DS)kv;_WeM>`tPpci{D+r&GnWR{VIVz^y8yc z4~@%OJ1;&<`1kUZCGVkcNRzm|?a2HqByl}Up?D6^gpAC(Hmq$#(AJ5mB{Ig{3MlP@ zUw9HpqBdlGgWs)EdqGS-8w&P9K~hj_i0y4c4uP%=D>947RN^MYb`YR83pRH^M`zSl z#`IpFICM0*Ym+t+>q39PsKGEIn`V&DVvyhxEimB*$Th#F0t z$JNaimJ0;gr}AvMBzUss)fYUR!<>GOfdDDI9>VEb8;8Hh?3WaZqY^tP88i!vFIbU3mJUr@O z*URq&xzf+oEekSOm=q+%f&^sQ^7DAcxh|k{cX_oXUtu7>Js=<2)$JC}9xdVLfBp#m z{4XBCizF=Rd;UJ?&-8vPCZJoIOHXH;*P1~o`BNfY66T46yx7&^@%v^-o9$j5)9g%J z@>}B<6c+N6mwu^U5*zQ9dI_)XTrC@XWz|?k_qv zM+#K-Yq3oKVr`l@6HWr! z*jJyIx;SKh3|son>;3{~_A}7oyBCe0Wd~?1^;;}{RByC*eMCclAaFqbp z*I%vS@Bij10lzDF{mm^AiUpZJM#=?4CXQ1?H1rR=euq&#+XMi&4AvT#qx>QG!yqtdc8akwPnMqj{E)DrR&j+v zVwmwH^G^X#9WY@=5Q+)gecRAKOzz&_GE+)>mQ;hxOyitjng?>E#{Nk_1!RQDcMj`D zsUhYsQLRegOV%gAxWtHpsejE0-?#{vv43l1a?^7+3B+Pr2%I;j>=7)(SLnEE0N{@0 zi2W0dRtDx15-V}!_Xa%}FhG{^bjsAi{JkE9vEEg0^=$Szo0eqW_xZ8}l~SK*_;(8K z;t5o@_(7|etjm`&^#=-Zq+aI>Skrry`h8QzsL4@T`^@KBHTjx5ii92_X{LahbfzK& zRZ@+4$M%R+*XlN%vdxyxP7wcCJS*Fd1uebg`_GKb-`0k7z90J>}M0XtXyI2Mc#HF?9&V}wk_ zi~ltH_OVNYZP%P{Df_M>z4Ng2y@~bbse)sDuxO}rEpE@ME2!7C?4t?TK zQXjgWf}eBSIi%7v*kfCYGcMk)%VEP4ocbk~MmY6Zrerysm*{@mRkN$V$L+2av z!Mje(+oNXMFpW{)LAZpNRQfK>x-7YDT8OhM0PD zaOP=^--ob@M9?{NamY7ux8wBKM5TUjXKM-;bL;%yeWoJT4`QnBVP76XVkFa`NTYtc;gRh97B}mjvG>ay!dl1cg5G@}+6C@1^|1RKB@@*>M)8GVbhD64q z%wS+0J)3+-5$-5RP3mP5jD&5V07+su%_?e2_PU@miS*|5tf4c#Mey1C9LQ;b+WCb8 z>jUQ;NFF~=!XKnLEOi6}uJSI(4)nwAR!K9>??baMFhFh2UL2QVI&mIViiNF2M=Z0O~wIA*R zwB+Q^T0cEXxo6JSGF_&$cl)%)Q}5`>Uo2IbY%|BR2PtAwTWEf6l#)h%%-I0Y!Eo}czUEY>G5Fbk5PASA2Vx- zX{??d?<+U>IaQb4oN~WGG<|{tWj}%3HR(eFTeM_jU}sgQ<)Ve-iszi>2zapW+nWfV ze|`<0{rxq(ez{2uYLdJ^UXaut6R>0b7V&W3$2^$V%(PPf7#2{ndJM^pTQXl&Bj(mP_Z)|Tc!e)eJ(!MRv7Q`%~ zc4B+kL9^J>-)++ogUy;j^bOR_hJ8$$$OWfoc=r_p-NzrFC5CkiuimZ_0A*&pJ!=VA zuCIH_<#+OEK@2D*e%A?|>_C$JH1i>`6rcT~4TVsv__>b*2saz3x)h-&qG95M~_%lNXb3H~&bQTF=O zGjlJ>@pG|a^oM=ocj3Tz;J~x?To!)}PA|~Io40ANy+mKxHTkt+9y)P1<-M?C6Un|W z8XPuhMC}@N{Z&Ofr_8qe4U!{Iwc5&8xgxuuNsxE5CR6Q<(%2%WNO1|IM%2o+Y!Zu_LKHHco-W|*41*!z z_%YB6id7l{sMsE9l8=C=pa4^*YPtS`+IO-64+9bf)Y|(s=jOC+Yxjn}&!#4wGizpdOix^#Pm0}; zJ)7Uwlt6FJvqSnjwNH5L9x{Q@J?{O0-p4VZfoc9}pRiykhhKJ1VsX3t|ikUqT^YJA#i+81=O3a!TsNBM_5$zBnG{Uqa>1Z_?) zkasEoShE^AIB>umrzAn$5A4*R<`4+W{RKHodf;Gx8A?KS_j!LE<(XX|vfkk1_YT*M zS1;%40t(*p@~aj6_V2FX<(Icq|HZ|Un5)$-M$`0U-i4_guurHV#L((4#=_G@@!<&) zc%cWbqBPr3BkUaa3Zny5zq++s9MGB0Zhw4Hz4Qfdce3~rJ}vXj&d6mc{C zqr7-z|0SsyB*nubF@DRFmKZEzpp#Z1pbuhVBp*F#(>QQV)n_VFK0(wF0@fcTGHGxG z*0Alyu?CTX(jdd=B_X$GEhlYN)Igy5TF1b4OUe4uGs_+@CMZeVQXf}w1I=Yf;CcNib%V9bAS?oV<_MF^45SjbINc(j%s&SATt#5 z6oSFD#OWwmk=({?nuPW59X-DW9s zosP{}I-^fNT;_By6c7r1@z9)Hatk&MNAyJ?jVV=#5sH!CSs;y}U=WfXrL17J7s{II zS#g8UVZaR4jHtLf^Q#jGQ+#0?gFI4L_7M2u1C3Jz}z==g~v;==N8+iDf&|j3U(J7uk62Ld+ET= z|8dOVU5nl4Q$pz>jh%X5qc$smnF3)NY-`sUo72aszo&j5g30;iklz|V6S7MP3wzZZ ze>g__UQJu;{#HGxz7N6+go-Bs(7PXmwRRJr9DpN7cR5gB;j_ng>3F}@G@u69rJnu$ zhoj4}YgRvhS9-g<46($XC*iv)bLhieX+q(nYOxaM{dOXJX15Eg(^ud6f?3jiT^~-- z`Gpc$PFom8hjEH1iAPqc$PoPTXPJ+2ng^vYFylF}1j!Jgd}kNQ@3F{w>iJ!VT?ytP zrj*|+b=k1L_1Go|GiX9%N0IbC``rzE_UoIZ-P^$9Cri?BA=txtI8U0t+v`ZdN)QZq z(RRg-6=I}eh#XX*A@j#p{BBqZisM*g@P}1L`SUOp1A<3lyn7CW(j<-BNz&|XH>us# z3eKJ`;V=K)3wZKk0l)cQF5z$fKQEI8Flh)cn!M3aTY_tfpbv8aqDJK8>;x{JU^4e5 z_5Ib$6}4h2=CUD18}D{BA6uk%Q2H9g zuLz};i{*mWih@hTEhTdgm=nYC`v{(ag2?pL?gDLFLj%A2)itcs{Ql&ZkKo5YS-|NT z(AaT~Fqu613O0=-oR`G+Fp%<15@%w(y@3O8Jfkt#OY`2@N6_`Wc(7+Izw6~(!hE1P zCaC)_oWjRjfO>eGN?Y*f)UyQWg;uB_!_MC~U*EzPzqy1je|-t7H=HlhFIqAe?$=ua zV<<4ldGMSw>sFf(>8I@1s#>HHDqX$6f(5$DbZIadA2@(dY$TUd<~%@xV{#N+G|jfs zcm#1`-pq2kkQrGXYeTX;GIs`-fd#(|r43~oaI8s-=jmc#K@kc@(28Jj-ompFPDsMI z*?0zzk%KManbHfl>sUClKoHop68C~XE9+Bh#yG#3%V{BKtUF9T`KGaT$!D?b3sZA$ z&oW24&zKfk25tYos{w~F8WnKhxzN2y_fjyLmO*{?-m0}E^BFNRi z@qa9Udd%==wM-G#zKFrx!}C+^@0G7U0zn1>ks z`hCkdeK%!#EG1Bb_x|AfRtpj0xL#djmMie@3X+BzyQ$x;8Ks>gTnn13SPMI}&))l; zV0HW%94vYkD7{msfxUG6I!}dZuIGlo8_u2mIsDyDeF+N1_X0(Ab|w0!eUDrMLXaSC z!0Dx0zHi76yszoPRGI2i;i>19W1qbnzg^d{uc%<+*y5an!`*UsuKzCOp=bo&_jqSE zO)K}N$wlonM>PwvIn7c-w3DrpIMADx9Nb0j)2t$N`nwdm@T^%2$Y%33!>gYgP6KL* zN;HRYYQ^G+xJWGmMB_n%mwOzi+O6BHFW~9Je~cEdmM+_N^x5(b20y@Q*d(pP>u)hh z`U+N8TOwX1Y5_hS2*{CEsu9T*p*_gJ6z7Dsf3d8iwCgntvt#g$KPg%#Ff&U2KL7-( zFk)wdJFrQryM9R~1M<9)~cw6SmIT~jq z4c@zNx3GHG(^$!b27w+1xIv~?G(f0{A=6H0q~i_yBZ5hOU7dOXX4tnjOWQ!^L+TMu zCL}KRI%$Kx`6BVYm~Zf;fe$}gkO|;I`vEaCQLUVm5TfCsrzs9cXynVG*^|V1SJC|x z;Wz@#AWF|x&DgrkkUN;VA`0-YGK*$IA;K^FrvXMvM`+Him&{>*`DNE9IG?@Uso zSW-x0XWo>cNxvx|%7TRqpcie7*>sejVH4+)nBHeFjAqYKgcIHsnpq~1`>dwl^cNWq zc+v_wNf0ZBm2?J{Crl$qa^7lw&}ilt@)~$=TXUen;&>~L7g>QJ^JIlF(|yZKqkz7s z?bv6O))uf=wjck(dqo9}!%a4Suj>AywX%00RS|MO6cFyxvP}W7TFWwMcl7>5rLh2A zD|}T3e2S^H?dtiN)}+P!>aKfI*9iqj_ZeAK&yBP)_>Moz2R#(E7tbJo6aS zGRJ?YLc*FO(kj$E%s~6(BB&-a#5#qMj+gifH?0lKphNo;Em#uakK^+&+%t1PU#!-D z_xkAAqM_X+kgJ58`nk~ZO8Cfa9NIp%-}Qd+eC}iEYsHof_)a}nY`O=7p=n?DTi(2H zQ5rGoSM|)@+nyZr1C)97W`BpH%0tclT}nMp{hcus3mMo5l-;f5REwEBTPx|ij^6u0 z;iX|NxAO@9fH0wk+a`HmIxv6Ly-68+YY|`VnsRUz^U3cP_8W{%m|q9H`I~^ z3P#a0<0igjWYQoYL#57{p$87_>cl+K7XD1RGzNt9zng{vvV8H|YdAS?;M*^66XUF7 z63H5xo?dp6w=9996HLn9ram%*iqD{yag($v$P{1{Q4HwPCFXm5$q_zr?=F)Dae3O% z21US!8X5HW^9v!6qIGi;#m`G7v`b) zJdz;Hi~px-TOKO!(DSTyAM$I&ghrMSV+xbydD>?fl^4w~1A|o5K9g3Tgh3n#ibJax zp%3)~wPzAEX7Z9#M%ooH8eyz~asnKXUhqHpbP)D?AAm8lvG=;w=z;ki16cHL2$tc} zeWsr&gXt#wRNC3y-+GGN^fS?F7;Py&I{N$r@iz}rbPg+wb>R8$ZHY!;Fe)sVslaY1 zphiEN)x@mmmfy`hz3+OcFrCSQ3a^f1cq-ht=GYE~=L`TUpgJC#3MFF2 z{|)P~cUBc~*!CG>t`pq&oJVjIeJ}Gm>X_}rANWY^;v?*LcfHf+n6ST3nY;g|gla$3 zvJ2nnKm8`e-Tuy4{vg2bAsEGD7*M+j_BB6uV@*p+hKx%64g$5djc}8|&sSgF!tZ`{ z1@B(3S@Q3jY`*Em6azsP){9d34N9{lbpdG{B(EPc`U%{`SUIsXuj+OTJZ55~U=%Mz zj1Y=yF#kgt<#ni8&FqYMhzYEK>e_ekoA+XU{e-frRM9p)3Y{R?S^vlk_66>~MW*T!B#x0ML^B!VU zQtmfKQ*>>r{U!mtn`<@!O?`OusD<;#4Vj->uN?n?>}4zcZ@%Y zsYkeAoM*3XxI=yp8azWyaAIC#z94tMQ$8s3I}~83`OomOutE*Xpz~+e)cbwT`t;eZ zx3u&nux7Yi?(%H@k3L_jraH-YlpmTFEJz!`>%-{;T-C=~8!DB9Gwo;q`K$1(scW`EoFDu8@oUYsFsIPsa57@jj41mJfBP#OMyh-T7+TXamA4lxbfTOE^=pPe!7p%4v27KT|#XF1c&xa~=!1tlg_ZL^i zm5Or)ewXn^fJ1Ku;Yl8FI=_SB zf|K7_%ZbmyGDQUNiv+ybvYWXIP>7MUW(zDK;AHX~Y81^rk?BM&f+m%2PDNvwzDKh; zYyi#EuoDEz+LoA5G!eaev!Mu`S8vu7P@_wlzi!==sS2f!IB}HA4>g#WeggXvB&ZOA zNAv~6{AMxzCpO~0(fG`$6pd!g0bb~MlgS+4`mR&of&?a;1!;Af;3OP=%pvm8H?fav zc>Ht)FFrmc-^7z82earJX3)u(X|PWY5yS|`Nt!a)pqK5w)bGn$4nf(d?N}I`a`_y- z$oXX}?F6ta=zib{qwy$%K0IIL`*@HbPe~3-Fe%%9P2fpltf>@&fDo{Zh0DypMvSEz zq5*JjEKtgL(bww(BY;%KPDM1X`4~AIJZ^>+Albv^G1W9?V<5=i1MPsMvXJI-E z9c42;)&$fHY`r&k)mMK2Wv;3qJ!LLNuf$mAfuFilV85Ve-@P(qKIfFXF=a|a_s`i; z^##bx$6fn0zc?6iH#8syfIaQ&gl+SG5g*k1`r2AF7_dFMw$-7J4di4+2+SNbp zo;Ye>xM|+K0)c}*Pl3MqixT%gOXGFsS^jYPzGT{B|DJlL&{i1DS8mqXyVijQt(sgf zx1+JV#~=DE9o|QGp$#;jmewD7e$GP^#mzYbSy*{2Pyg_9e_U~yZ{ZTl&zNuWdZX5_ z=lkv-jHzeQc7ze5R-WOXH3JQk&)%hNErsD$;#t}xQ$(ju`VQW{-olp&^u2q%A#K*# zV+KK+YYeK8v{2y1pNWGL_~0qOT|?;KBwfaFhvN8+45Mv7=3Hb2_3On?z%Q^lS?oH} zIH1-Jli~T6rQ8Sv&!379Q0mX7=SZB$wDvuxf1s#{ss78Pxx^f2s|5aT(T{J#?N9)j z1Y9w2#K{HL&4L3mr`xg?)T7B;(teygS|%-F(iCpDGMECX%CsX&?$d zVAF*E?u7*^hoB&vAeH_%drwk{8$sC zqp39Qi7)|Tor5eTi8Z5A!5+gPvFTVC5MrnVJi|gJ_i+Gzc$-p+1WJXH_Tu__O91fV zgA>xccXWQm+!Okm?4!>!2~)xVC_&EemmeN6`s$OWo_zvL8_t1<`@ivONx<(}`dYNh z^&T3p!(hHA%H*C8g<)dw??&?%&GuGpoXh_iT#*w%4yw;=S@~SLM5IZ>m@U#uT3yg+X$1&WGCGA3|Ya&mH-3QGvJ3Q$@2;68l=L~a zUZqj|x21u@{*2G>)SYF2?z`&?e|ZdDD4;P;5v>O)`};R%tp8NLo3igXGLJ9!;DK%P z2LXOra{k^7atZiirQ56$wGrM9)UmT0MPs+W6g4aXJMZ%)q~L`Av9Fo37qkd+9?ItmVN!Y4K8?3ZId4mMWj?l zNuA#VnTIL}$v)}%GW1n$d=mfFE*1KV>_3JB~!<{zXq6uzf`Hk5Fi62fy`98sMa zSM~eja4Z}t5Wk_oERh-2Mq)bCcv)#k+D!Isc*kHY#E^QPS5=$+jlmI1RS z|F*)F>F3Kip8}o3XXlhDU}`U7OH+sm$7r+Y_tpi8%33q}ED$b%ZE&60|IZu55C9S`-KkFbVE^ z+>g-?4r*a?y-vl8}qZ5T62o+B{2a&GiF z29c$f5X;^z4A8*bGiX*Leb2!30hk-Ik!m^(F&bTf{MVIv)jFmGF?K#7)&M!Tk)P*t zOp%!H5g>k_n6ZcMi(FR|?b3gt2m>b=cu+xI*>8GB$DmK_Y5Q&@UHUgoEALjBT3H=C z*Dect;5z{myUXr*u>FgB-gDF6Db0=I0t1!~S14Z}6FLCq+5Kfwcqz;_2?PC*9+kCn zuJ*$+584`YI|Ts$p^K}8#QD<$^K~qlyUR$&T*dtq<@>)+^mR(Os(ic#ZOotVt>}jy z++||btu%U{hG57*s@bQ0uHmv_L}YgnA4U~9EIIJSqID|>W9=K~nR)wW3txP;g6qpQ zJ%cG0mI)wX!gh?z6VT+VceGGgV@G~I4o*%Q(rQuIdej7>FI(*75(~tnahsli3g!3e zIia;OOxown_7o10l2$h;*$$kSPv;8*w-5;J*t8SB>-#=y;>ahD5@KT{(A40TO-I|L zEnHrB$`!UqKv(bo=NDKr~(Z!f_AJ7Pmj8 zQM?;r-S?jT4)@|3^Eqw;rv#}HLDfGhlI%t$xEg96MdaJK8RE9c1X zFgdFk^9W!VE**y~-E=F_))&n)_FRSx{O_~yJvHvrcg?UU&3VYe;BCC0tGyn|-=Qn} zwHA0mX28q-dbm>ZHr_)!Vm{6EZ2o)~e&}J>=TdT?>3#iKxhu6_Q0U=gTT0jKF@G25c-}rL^Y?u!QHjFdhrWOPzR#kxEynq4 z`429trKX(>oTQO`hJY1weeMX)0U=B$Oj{5$2-81}Z4KNGGJModfUGvAoFGVC7sclX zqhtD{saRbHO5V(Ua3yMcjI1d*!zA+#&K|XJ_GHQ7>RX@)nVXxA7~HU7Eg*h(dO@fv zeeMVtgGAyanAW<&@CC@GoXmXk`g$=>L(L5``xwR_#5}U`CFC-hY5yv1eV+b; z&SI22PRN9$^RP_9kjEdK!qX2IY5%r#PBEhF>T;WeLo22mbO=@2Z#AytIVcDf?L*+l=Un!eO=FPTD(6o>-@R6`dbge*(I&^?GY&Lzr;dvm_HxmMiQEabz@zTZ z-%|uwDG=8tvaQlvPB%moJLX*{X54SfR z`}29p`6UcQ6mw6Mh$3`@F$G1 zlgk8L<Eq zVl@h9%x0&aG~y_fXcipE1=FCQ)WdHap#=&=6vh8G=$cBMpx~zfLfxaw1^TeioaK!3dVc7QfuFJL1LSS8)Q;%`nN>@G zuV{Sy@`o2$qC68}Lp9(Ks^V|E% zUB=354>Rh<|K2U1@*lcP?SrD>D=`u@S9f-I$Z4JI-qJhh2MGMEw0BDSqfcqEOrr&S z_WS7tjD zil+AxeNyUoY{Js#q^W$!S_DQeP}DyHfW2t=dVr$ggB)5pf(C*yAjTWc$V1k)p|)YM zXbH$++5=>$Ny3!|v0WwYWYSVFW9URv$U#;-#fQOQHlCSp;d_DrID7_8IhQAFo_TZ0 zfh$fgJUn}G2Dg_R^1I{E`K)o-%07`G8~lEH;u=FWm~+4L?$4QVeD7{z^x!CWrC^-1W{kx=C3-I@~4 zpFD0^pwsc^sC_34>U8FdblVy00B5`CToEys#bRMm_RS3<08+DQL~?z;Shby+9?H1D zg1ac^!(KQF49#4CGCcTQZ~O)=qcCO`_%idLCiJ7#jP=jq_kL0Xd-#Ii#kkPt_HTee z1Vd*W?caaz-&JG&{td&demrz>Fb(wP-`{ciu^(LdL3Vmn;wa)~T`alUC1A{dTY50s zul2hV9T`73v&1-Vc>k!%7cokxX^kPZOvJ>AL`W3rM1LkLNWbk zeqZm~Xtp@l_XE`U9d|f~1Y#G1J~HdNBN5;#Jo&!ioG(O*uF1qzO>%o3;4*<4Op@Lv z#z!MlqNWPXAF-Oov!5OYOxbRG0!$5Q^BMwqQPML|lu$ISY#IiY!YHDN8-g2UHe)q5 z@h@tS`3sPpLxuSzKcA%WYL}jQM%4ZVG@*=?*AF)s29#N}yoI7@=CWU1%V{CV&(K8z zvLHYm0d52iT!Zak4nH&Zi$~&zd+{rcr7BRzY!1!#Mdxy;n%-Ub3kCSflq&W3g_ny)k|xE8pfunf(Yrq zsa!=cVw}fCgY)d#Tf4So20cdzD-Hp`VHatt~p*hnLr9{YvX2&c_vnWssK_l;ZX`>dHs9B!=9;Gj#hsiP) z2HcPId>><0_Fk;!YsmfGr7t4@JoBE~cW#bp*G*_64z>Ldh4(`d-lCbW<~ZGTx6dti zp+Sf0`-j5F&n?G|w+_^F7#Qr|a~h}zjAosK=?#EE9M@HZR?{^P`>mf_`Z9cG-%M~{ z#Tu;fSukhonH!w&`%rfEargX8J`Hy%^XKRNXw^e#Ea%i)o|{2;|j^9sF?nETdgF+rTdcgt*SKx?q%s4ndEt#b^qS}4O$?s~3Gq*9nn0kmQ zVPb-sIOG};ymebnz}}wp@Xfbt_~xq>^tXxmI>pahlFmCHXt5e13JnKm=_S%1npI-t zO9Vq50ZGXbHJa3?!N@#y-j%@unbuJo2+cU`X)lIZ1W!+u4Lr!~HMwV`Ja03v4F+$OL|n$n(vVK}MR^`879F#t;=X0hES zk|YiDk)b&rCXPoOetNM;?IcD#0XNK_i1VomjxI9z<$P)ka^JmNlSwMB2?l$4n*Kp* z8#S`HmZv9}c$@dsYVBc@I_fFH45y}Wn%LOQwZm>;*WTq~4t^}bZR{S*f4lnKqP>}B zKI>=qpKZ^vh9=8?MszHJSB=yDQumFR{tyR!DjG@z9H^SZHNH;!6#+E?dj#!Xd}k3f z2r1#9uk_nQ+p!`8Uh`+t8$Q!iJcr)o(bWFo*}+18YxF=|JI7|vG#&&*UBl5*#q2Yk zINIym+lB(YptcYD+yk3jtIsQG^!wuLR;?pwiiXHwSL{@&pNT&8NvlYaJ1-oigy~j1 zu#@u^E}ks`B$Z4^?QMGjYhKc(__7aZJ%r}!I)I9=e+hR!+mcX<-&?5%Fme6%M) z%1JtpYm5S%1Yye)&Q(f6o2Wj?oWrzN#wc=7DKL9#O6yzZ!36v1E!~$Hav=VkFq*$9 zFkzWRx^o&Boxy7F;XdYKUho=5@pL?ioQo%OgaUBP>>J{OH)7)l>B=UyIvjFSwA z6W{PyqzBa)Lx=zq`i&_|2)&=@mSG(#XbWQff@b=7Uj`p%($>K`2|bMPFd*$88|dRQ z^r7Be#=?w=Jzmi=eO?4r_*sl5Nw@~ni(*maiJrEt_~!%1BT#n{PFn+c`%?S;e%_J) zHouEdD=SvGQ}ly`@j24B?l0uS`pk=A`y~8sKwMFn8EHgW5Od`q9d#3e&H|qAvgPh7 zEK!S=A#JerMYA>!QIv)qE`gLA-XGVGI!wqR!B8DMZ2z-NH|O_X?%1C1agDUC{07&> z{14`yMzc?}qD%5y(T&LS!0`o;hTa+YJ+##C5HT;CuKYc}Zu;-e_wIHW)L)?Z7xMZ# zW;CM&5yAf^qI7%J!)CpOEd9^psB6s(duEP3)zV062uhr;()11}n&$c@fw0?+5I8Zp zY?+}%2@{!}N)%3zknX58pfK*sHUU%5$>Kemm2Ot-dx+pGt|DEy%Tpw%ElYz@W9S)> zMm2r&AdxXQc@aB}Xxh`f6s>O|i1k6=vx5%i$%9&J01*%xqqMYKc6|; z4^)Rm8M?0PNdt}-svJMiJYK^K^e&fEW@@2azQgZJ{cLhf=Z(%PN2W#45t6zbA6Z@` zAarpC=g+wBxbM4LPS;|AI|$&?wiz&paKQ_$Q6S?X119ndZDcNxVQ3-?M}$V^h zlXLjlFCL{clr-uIbgq(cilXJBDfyB$fI5exOEHRhY^>)tn!ktpX(;HZzh_#lAF2Oe zT}3o)@g6Bb!`!I;VL$d=?8E+8!Q;4H80=T5-Yef7rW;y&)!Y%~7(lZNP#)W!{bxH( z8b4G0kR%M(g`cUJ)FCtd54Ds%dB=s{U%S+Ow|XrUUMrK;8cFE`9%H93Zjnj`^q6sZtu%Lt5#6p6Hv3uYcxH>)J!-jb%w z`6io3sT)^pBs*e(@b6|<<%WVRZTk=C91~f5er_WGxwxE;? z7>Gvmfll?J*{ z$r}PS)L2q~0_QlSaiIqDq@}ufemXKYB{Ng}CuXj!RY~*WIei4Rkp6!C@)rK?KSg-- z%qMNgQ!@W#upLNSfl*4)EH_|^i=IJYn>ABB#}4*gEnLboJ2#dl z#ZiBTa~C9Ih}KCtCQamA(s7d(t4(_=!s+=UfvErc> zr{2e9yvKoRe&IYSx);0Bs;{ENiN zu2`fwP@tfjS?IgCu9P%4WlksC%JjarOWuTezJM)2` zGs`XQ(V~lKiZfPf^#wa+3tcWSCD_x;S2MKqn2pRflyF1_3M%EEWQfJ&DTlz{W43l& zDHNvSTSJ{IVg_F9JcSZ)n=N zy4_0Z1!m+hC*S#_1)M)w!rPYtZr2;q{85^Rh2sdHkfO->+)!ZpHaj`VclZPJ71?S}xqKaeOX#77kXGOCRPk8{z1XfZ-5JQgk(BNdg z1NUvgOa+>HVp#oe(tLdL#TtJ8%O1|oJk7;woiwalejoEM#wO%wt^mg0Y33p4jVopp z9wvZ}WjsrW$-K9B9HUCo2|PxX*p)WQewYG(mVt`Vjqezf{$S3fUTfKozksHS_8sR4 zFV&9HIRwdVS=x!QT$Z|Dh7(ujW(NrIh=M-0yJTw`8KipUFWW_g|H*X?agAa4V2Uv1&t>jd~-ZQ#wT6?P_%xbo;>_ljqJ=KgY$DcjNeIPo15qI(8qEvRH@C(?c-y z-BA+i-gur@2!yE zXW=)~04vzBB`Yz?Cr7M7G(Qh*2z|zxcItZG7syww?WkwS&vWY$+)M^O#>0CwyGOXX z&2W&P(Pu>%d!QBNA^d?UE8@kn$29m}AEM!xqkvn`gQ28y#FHVFyql?~lL;~x4kgr9 zhg1NV(!$ZJu9(BA#KJO+2TKG4K$+>X%xeLX<5H5{J`Cl{%!gwz7NRZ^h+VED3HQ5q zeUgs%1gs!(xOUnEa=26imEUa`#9`grn~vIPPC1e#f-S(L@0(%@Nr6!kKx3b_hJm?k zwxD3r@pI%;L}r>m0aH+mMH2m_HN>cz+uNS%raI8Y4eL$7@ARTczz=;76N80$1w993 zDO(G8;{}eY*i*edGsyVAvxWl4pii9_6EE^r3L)p&Lrof`wGaRad6n6}Lm6|GbZFWG zFXnXU7m0mAkc;LNI4;yuBB*Un%GRf(@n{21{v)2uVbSL@F7R*kT}<s3t}nt7s$Vz&u7*pj-s>9eqdsnBsu(MEU;cWjjqdv1t>$6#MPy#D)iZeh!GdVw zTFl;Ah^2xIu>g?ZcYK}-Gp66=;TmR!B9u0|&mt&OG_5t>9q?;7r<3~x2K~4v2I#vk zcLEf5Y-65aXkNJsaC_)+K2&-Cz2)Hkx97v|_gz}0st0_G>#^ngm%mh6nNxsekOw0` zSmlI)x=#Ax?0vldKCJqpseB^jbY0#T?UHjb-_cHhq2&kiCEzq-v$P#z1_X0U5tto% zt_Z<&KKWfY`P}!f@VuzfJMO?!@zHH46Z_= zS<+xOUYsEbsHJwLv7rjPNQKG)uY0q%v*o$WX__bRd#@VPD#HIt33@p^K+s(5ECD|RD5wcT z%~dZ^3@IvRdZv{CE=pvuJ@OGupl@}(NxyH2fy4d3NLsEF@%-+{I1fR5-uKCa;PsI+(6%E%AI4Vf1Os)pS z%|3-y2VpKFVrf9>cP)I%7n9UU3EVf4G|3<-9ZG$%Mrx)%yGD?oaHb9@41%Rij@5ji zf*nm3OlcPa3ns`U88q!m6v0PnTM`#=-n!U`LYUW^G+@D1{mJt(?7jd`mxHmeT+b7w84%4^*1!2LUNSE)nq}6-%G6BEOuagG+3a(#wWMYnyM-kZebnb5|V!C(B@BY6CDK{SYS5m_b;s`au0G0W)bI>fvHwbej$ zx_<}L;&!jKZFlPLifM|)_isunJ$%3HTQ> zy*HC;!2?gzjG{b|y;tUyKYZWczl?=210FJ;$>DqK`y7J`RHY7pEO?*X0z2l+K^>f< zoNFi*>rbImNL%|}lpX^58VT@1-YW7L@nhZ)Wz!M%-;UWm#qtAXPNvJ$x!ZTA58oRK zek~oFuDkjR9;CQA`~yG0R!;N!!Siz5fw6bPoc_>n?$FE>{=)vs?YJHNP`*)kj)~_E z0>4UtqO)af1Nx{@T}uW(sySF=?1l=c2%s@G6s25*DW{_p2 ziLjE{hG+{Z+} zf&mcb6Ik2Bf)^;t);(uXi)xhBx1f|MVped6VNNU%?E6aJ3q=%x zM~IbHsWNZb*=0*tg8)8LdsL@)M;dQDYpd&Z(#T!H<(m~n@Wgk|E|w%jx=LsM-K%vv z`#s#G?^kH9z5$3?lPCdNgeO6(1N5P#KuT&>2N-2{3%~!{w{V-z(PzK8g}?l_FW@IX zThMvhZq+waEFl8q=$<%NeIEzfKf@5&+tCO;81w~+?q}C%c-IuI;6Y|cTZ(Q{(!Oh7 z56{f~0FvwP|O$NlhY^?fS)6$g5N0hC7^o-d`F z(ePP%_i*5^B1D_tCk21e{Bsh(B~tLcXxvn=Nfgej&`JRx@-Jv<)ix|}WwidjP*Hj`^}@B^>B0bBov`>d7#YkL!5Uv0{n-Nmdnx7 zS(AFG=z1PkrY%Hv^+*NjaPUdFy@kKTSIF%miY1MGmd4g+-auz*ivPQlsi!hNWdTHU z0%g()(1J-iH6)6))KZ^ugYS0rhYzyAMku}_)0c64Ai}8=PQg9AIG*QTH3SZ>uM+Tk z(*asN0)^k^Tv{{&nJhg_sHwm-5Ez^UL;}H1!fHl}L0rm4_NYa}u<2(Q)P*B%Vx&FQ z9ukpBb)B3w6h)5!%NET#*_VhS^5O3Z&~3#`a*2T#9<}i3g9QbcAs?T&9r-Adzaeg5 z&)Pop*CW%)ju~wVo!qN*UbJ+rrilRYJz@eEjKX~RC;K*Wcz;gg02s-zVPc4YI(DpCTO~03 z>g9&aJs&?}6V;{qL?X~^B51GyHhsQ7W+$I3zwbQk_E{PB!=4Y#VR%emhILpqQw%fw zZ0^Wt?vh%{xA}+Wi$hb-zT^Co`H||9istvRq_1jk&%BO^evF0aicfL%Hc2Ta_J(JT zIQ6Fsv-eMJhGW4n8(7g9!hO6}bl+vJhGg#Z-&M(4X}I4~{ZgPK=b1GURlmvI0Dw|_#U)S*E~1G}?+|1DDIt!7(827h z7)vW`?bLv>;ri@Ixgo{!*mW7Fks6Op>#*N=1E%v6`JK=|#D3s;R+>EvJUO)#nb#l7 z7tJlYcJ}>!gNSN>j~cv_NM@nSQ;yz=Q7zHb4cnn)=nEhp zo<@ibM*hS|p|@8ZF?7VBX#kc5n}eR5H*j{IK;M#*a#4MlzqL_lhq8z*&88vcrERVofz$2xnXl1VCc?4>hYY;U( zvSmoqM>)!vucRn~$Or}l%#bK!IOSe^1<{-qo5eYdI5BA2nwZ#k-)`W|w<~!5L1Ko_ z8j601038!wH<&jI*laeNqaC}4b_gpnF_*ode^Xn+^XgfXBe0hMi~)-kI)qAsr$6nv zv~_6W?X3MJ_0RsnXYJE0bBZ|Q` z`o_WficL9HYmPOruVVV8)s!Z{(sd+D9nU@aIFe~L2TVemLYhvbO-bW-_01N({%i%W z|FnY-@J!=_s?ihQKAsz4CW4xdD|1nUUOP?%rA5Gt`HzTNLLB5gw0pnoZ7_2+J&z^I z=yVwiHFFJvpZpBn8E$u7x!wF<+0Sx+hH#8_DdslIJisib;V$L3j8M zpIO`fcmD9jGK?(f3ByOdTB(QVw{*^33_VOJ*Wo|PlJpV9?g1NVuDFN!2Bfu`HrE&JA?aC{rfg-y@vqH&0K)O1mz@$@NaCe+ZE3RX$!?yvXPu- z6a-}5b5IIo7F*FwkeRC7DX1OYbY$ZC=FKLp;R#$^v}E#m8zp#+0wy;GNps883v_Fn%ci8qW!Z&09Dj|pV<$(5~jOiFA#GBt?=ev4YYE;iK@bBX{ zV|kruKp_Nb0$bNPO~ay2e69#G=wl?wZ4KYIf~cy_2%~lm(Z{*;lZ9S2Bd7F&To8lV zV}>r$@4{2DFRY^+fcVoJ{s1-Oph0KMoU2xmP1Ad6GmR@DF*J!n>w(v=Ht^_aqBp00 zvfnY3z*Oq5Q~nMBgK_1*Nh%VA8Hp7AbZYK(3f&tImK%8re8T+&m?%1J*UjT zKbG=-T2ZJ3R(F}V_h|kPUhX<~yWXoUA>h5soc_@{f|`a^-^H>FEI4*5RR_#wZ7Kan@nJjb0{M}hD+_NXmG27eaDzK+ z>i1|shp*;qlpis_;o%7Rg4~hwo|UO&l%eyp?|HhX_?ccY!+{29F8jfUd)sJ=(k346 z4+H%gR8NAH_L^{l}bj2Ojzgd!TI)#d-(z1WLYHz)rM z)!(*ntbK!H_{}5x1Y}}H(K2ZxNN9dw^8*Z=g1&UEBvz+Lqge&*a{nmII!dQ|PGFAQ zmukK+LMWOlE>PoyW}BxRWs=(H9OeE(U!9Xj3wZLu5|$?%NQHutU{IJO(MK)c?Pb!8 zCBR34VMKCH{&Q#!nzVe69=EBD1=*h?FvKXNx0gMED0&{81ZrVPK1Th7Et_nT#xEzH zj>K3Z(ZjxYwg}BpPjOs*XQlJJrU?8nQl>^UbcS%@Kh{tN0;H(DM6Fww=C`9fhJmyP zP9pnZ#M34^%3a2$n1O8TDR1>Ql6h;tz;g^)*J5M z@+4_ZH;#OrkikS^PTJI-QzqQyE*Wd%;z+o1=-pl4&AZ%0^f2T3NyZfBUF1`Y>(qO@ z=t_P5%lr27N9|IGhcz=fa1eh2Qv$9-B}Q|}O8ao2U6?VRhbh8bG#u3y`l3anZ&9ce zSu3CAYKHN0Q7&D_=19;v0eeA}(s?>*{?i$ATMlT`oU+g=Y^p-EENH!fe~Uixd7)Cvx5yWUT)``mM6^MmP}N7ME$ZOT-cIw$3$_q<5| z5tjR4^nXa@;poWwmwD@OK$GI;kFf|Gt)F*1YL1i#*7pi1n-W~{Px9#_9*8x08oaIm z4d!VU5&^#JLIGvkj%apRm=?*NotgcZBZTg|yD~U)Fp3zyf4mk%D)fTVr&#zCt*<$X zE;*Pz{o+DJma`FH4wHq!PFheQr2L$Ej=RF{FP1(Z0+&#D)WiE(?gUZ_MSz2}Ujcpb zQJmt5cuhfsvHR<6@#0kw#*^Z+x{@}LRG3kAtQ#!^l!Fv-uo7nW={Xo&OLAa@wH$S* zFp_pYivNu={UvaQeMZ5kl|Z<`GqOmcD<0Zn51FrdjA^MG3ms-aZ3BOfS}_iY63EmO z!B-@+ObptxB}q7fyKI9`Nj^PApzK70hP##%E=zg_2?2~!c1o#$?KExDTy^BLhgvk8 zhsC00Uo*^WCR#fLg}136Xud_hXefC~;E@0ZCiL((i3zsEj6cmTd!aSRSk`&I9 zR)e&ep5rUx3l#P6-3D$hJ2KN;oS` zDUuT?zDTVGxVrZ>b({u2C<_nirH^5MoS_P`&y5d1=R@EqzNu*~QO5g_1eu%S@ z)aGs&!pZxd&me2hWqysCE^CPCdHmixfjh{Is=K`G$)R7 zdtxmVBx+;!XZp3-0w`^Wm~3_{NtRRHNIEto2r?j^I-{Ygx!-ItP-r*xE7livz7K$d zKJ{kpK=-*TcU74)GpE96m2y~^Q|^dp>MC~^z*sVDwUC90oB)UBQYQdg1v{E2akfRJ z&nh8~L${Xr{{Bw@Fe%KM*~5IUSpdlAA3wwUvQ_3ppDt6OgR17IW{Bp`lTEqU5 zTIg|~Mfb(5kpHIdY6_h9CMbQ1`F7LC)#P6)fqDI!|E$&M45U#bjnEN3?ztz?Sa#&I4JGi3Hx^97pDGXAc)qAm7`54QJ)HI`3BtDIdB`*{ zp+IzM^22QiLgQv*X!(Zt0d1^t}oj|m#Kb*S}Qz! zr>D!L)!V{N(!8BtaN_jaq=owCYfN~2%TXhHPYbg=SrTKq*>sZ7T>Rx4$H~Sw+w?4& zN21B)B7MK5Gz&R2d)Lu|VP3tHb0Bk24E28T^n@buq50#M%-uL}NuMP1tLp@oP&3x? z94->0cACH*N7M_jOuwHdO&@|I&gr)$E#hVsivJPi=W0pvkNrUtE(E0rBAL;QnW3fn zpPVE~mZ!d;_E3|xw@dUnY&rj3lmIW$b1()pD@(xY0?kcR-I$UB$3W3KF=$6$d|6kF*yTMcGElfs^1RRj$Q>UoZaxuxG5<0>Qgty4|v@lmtZUjUoWS!>&*1#&l4#NI{^J|C{(23%GqIm2sG-QZCk+XBHtC$KZu<=0w;N7B zgSTCyf)|=Yk$|J--g}~R%(OWP-s9}d2-6Dr40K%$sb?%XK7!c+}vxLFny5w+#3L%uPUrx&0FWNAC7&~olVTU z^I4%8hW77#)Kuk=BVgN~FvobCg8 zh_;a^+lF5RVGr7t^q+#l<$B9AKXN%pM`3m%U(6Fb$^y4I0m|}* zgt4S?D3vWL`+dx&0{}O8W~yJiC;#vzrTykUH*L&_-aFRNp(F=QJU3fzo&`Cqr6Q&U zpXpdz=*2IPx*0fn9tB)!IRYhyf@dus`^F*Iil=fxBI6i1odcRKUMA)X%`i30FeYT* zqDD{>qmwCR`iD7Wnnk2k3rotc$79B%&BQ#TDI}UR2A2FIxT0j}sV`4IK7|iIxqxRM zE-6aZx1X=z0bg*w7|_NXy$gN*G-8*o8Y%A(^etJN=g8L&*whS7Q#((47UvOz+R$0- z^;-D~-IN(5Uz*A|s&Enefh2V-ynvl$>WtcVr%Nywu-^gvl*!h+q^?2t zrk?v8=??&gIj2U#&QV{%@Ec|igD;GwMx}Q50sKl|OCst+&l_tZx$nK?zT`QC!wjOW z(H%UA_fn4qGjrxm1JfPHXdXvrRR~als69pfh~gj;qUHPT@8tvSo87N^9_xEbf1etM zf<-+O%8L?Z3L?aFwR=y50=6y?}hhVyZ z(Ah_n?uL%%;~<#hc|{;}%n7Sx0S8iE$V0RGpDh^Zyo+K%-XGOyXtdog01WE*h$ZC) zDoa}ALz6NB6-4C15vzA|6A|OF<-tYB5szYfSR%_C0rz#AuUKOAr_zte{MjM9PzH71_4W=QYR_YKoKphgc(MA7sNM1_oF*d*}d z(qJ)J{7?Sq5q$d7GuE=)1bFr3tpr?Rvn-VChnq+#BZBz)AQRonrB3&YNPT?k^B&<; z50c=0%Ro@M7EN!VYk?O6kDC?*@;XYWdGC2{k#VJnr>j7D7OhrTndOL+0Ua=J;VF9I zV!>KkO6_pd!}WC!kDoF@IXi9hS=n?5{!*JK8sc#G{@h2ThoCAGjD}NPkg0DRnyHog zLXp=Six1o0_|~=(T771h){Q@(LlAe255{M07w|0?cr-*f8akmwm)D>~eq?_%B>73? zAXbhB3}`=GO>cDCNfgoWo+C-Oq-J0~mVuHoH#!zhU=FqWJPy=gW)mAR*>`L|P5o4VM+^$!$!w8@9#JHxK|vGtM}$t@ zRxT%%oTqkAA1~qj`3XGxWC@a@0?D>X9lv0R2S=r*ZS<3S#wq0wGasMIP%>GL#A5=y=7kFAW+2n z6*DFks_aRq93$sPRr)&jPW*@7jr&Y3z{J+uHO){Ex3em8<*1 z*vEn+1swwZ^1DMzFDE=@$iUlWx~|WRHJdSLJLL{z!IkAn$8)A&kXc$4XfWSb#?97H zZbyuO$-NB5@##K}t0_?ejc5+|XY*YKKw992Yw!kq`xd96Pg=NbHwoadgud~l3M7+( z^_opCQ9DPbQUH{?0kr}M@?y@1#hVC0ADVa~xWveqXaaefG+3xDjJ+q&he^xP)U(?# z^M{*tv23Y-H-1Gve`p5!?#&ub&KacQ7% zrS(9GTq99Sw;bIRb26e?8V0{XP)O#6z(IRX&-{Rh9KXNcU&_9_-Xe{yg(u@@Axkr- z>luGGr&O9rR~X>QXQE+r-E^Dzo&k_l4xHM9lDFqD*A~zUYZL3sEZ609UlvKcclJWl zxdDI)@Of0BZNqtwNCxP{nT;IlWbb+geHuMiO+&%>5az%tjcVmZI^5SxKGCV*DTNEo zJ<5_6G(r|gMP+Ux&mBssaW2q|J!$WsetZHy`lHA2^Q7JT@h{HcgBJ+|o;PIb%o>?3 z+}`k+K0R;2t}$Lne6E1OrDFlq$=QNvUEeXVZ^VWP!?6?m7Jt5?g)n<1)|a?tAk>m2 z&##*04j6s0LNaVbF)^#bQ)%OPt>5>jC5 zjMk}y(C5p$o~R$rg*hx%L!w)drK)1KBss;_YxZLaIeMl58wAZ523^9F<9ld+iE7&o ze&4e{8*cFS1Zr)e@~rYNc09*T!{TlPF&L=jB&mMU+%rh9l2&r>p)VWuFF4l7p}$?b zWC;PAD{?aTu!)(F;`hyxnNS3w*!OkPoW1-UO*;e40BXZ9AWM6~=Bo(yE??b{k4+jvq~#k-?9;w&I#oa@S$HHUKWeS<$y@Ip6E+=cJ67sq2Il)_gxU$ZoSva zcL0YOkzH-t3rml9gkp{}#lTGUr}SkgDFZlkoTF4|t5h%wu$xJwCn~Lcc_%MjH#BsM{E z43brYa|HQ{`K^OESiz$0(#3R{ZUo)aqO~P6R#_|SA*1zK4H+K z?G1tLcUg3urWh<1HZe2EG|MpXu)|u&l#1b3Eej}}o3}pG-%YRiq4)N+b&Ms*P|$g& zvg@vdHSaAn~H~nBf1d5h-h7=e^p)4p6Bvz(acTlU2``$yT?rbqBT9N*HpnL z@4q?*h3S~BET7>R?RpmaQR)DIBkt`2zUP&PKE)X{&v-E3(|Simwd@j3%?K8>lyx}V z2EVUX0f&JW{Wr{?OM3nojUN;ji5WHXJI>xyd!CL_z#TKeV&niE$<+hRLgwRGadfE8 zHgDR#977yN2*yl_Disq?Onj}r7S4%lB6CX7u{4*Ntw78L@P8iTo7a>x@P)J}FSC?zJxxsW7i@bx;9F2k0qoP(wwYEYSnnvpO41#dXlvA|l+gv_Qw2OJt@)x0?C^bGjEc^DoSZnu*CXmf3b?zn5p+ z(G2}|jF^SClC zK-&#aZJE12j^$J64xXr5eSq`d`pOkK_szr{b5^XC)1mVi_3n;`c{AQsG4l)a z?hDQXj-^saxM1cE3_rAATiH5;?o`q-yg1cNihR33fgN9vjbnRKR7L86<-Rci2tT0AO-*%9Vu-A*OB+$%L1n z4@rZZ0OEqcB7!6g=CZopCM{)0emcmkVJZfa?4z$9Mi8Q8=RjtpX!?m!Kru2VwuKr% zWajwbIASWj3HIZi&&e+BL3iYQE2=$klD9BW6ezVZFJNzM1`#A@8yLHLV)#(|;L%$v zt;j;IG<1kvaum>}Vc$K}vLXQN`r7w}_XALr)RS`#hOxTp;hQhk@Z`w}jT5z>cm|MJ zr96&Z5da)pR3O3KdarPLq_41IMK6E?{d%A7Zo%$6|tchN$Ix}L&p)faU%RJCY( zB3P*|&K2(S&4#tsHciSzm#bgB024=kr22*UnTAkIDxFBe1vi&xBS#6904X8f;VKSM zsb*n%^#gGE9HDT*MGsSqvr|9892}rt6H1^iIYLp8L|SU#9G9n08+i1=0-k?z0iXWy z1^Mp&^yeq=^w}Alp7ML!E#EK*tkI-=E2gAA9Uc^RVM-LtMRjrli59VSK@WC5)r6Gi z5(7@%CczQ*0VCpWdyY7a0yEO~t1oY63>^99ddY=4zPAi$b473xE3KeRw*-{wdkz@l zbBqNBr)2I09IvhS9Ii=$Z7~ z)CrNDX&3y_&uEqAYRKJRrt6V*2R@lZeuKpB=0|M!BP6wti!)o>GtUM003LYf*U3i1R^e zB!?MaoIFA&CWy>Hmr%{c{rOb;4W+2IY)Q$tKPt#CtJM1_z zVT)6td?L}0J%5g13@f0pxyIiQAL7L79PS*$;A4(FVhBZtj3M)v1neXwgnYlf?g*4E z&NieWh>7tdjW33JNB=oefU~BBB>zr;t*A0|(?_A!oYf|9&)3YzEgG&{lcyrUriATeUOVLE%N}vWY_R#;8gn6DZeY{*6g}zW>^Z#n zq)p%(o#7h}cTWL+-t#hc&7yktaUhI1~ANtL6?f|kHqQ552k5NLss zIZxo{|NJTZ>A!dmKl|fzc=l|O1W2Cz{}4=Gzr&O(9EptSR}wUxCfcBKU2H0FZYm5b zg)|I>B`v06NrD$W)0JdbnR=R67Qmno3)hVTI&FFxhxp98m;?9JpvyA<x7?WTvE;zL2Y8_>1< zW}M&dA&ZQ1x6jlv#C_kz$=~gMo<-Lq%zn0dZ*P4?h^By;Esv%xChX}`dNrpE`&{2^ zv24Q#lg~}np)W*pKAm^ttIbW-Y3`W(P|Rx*$FHztePIIu3oLh}V>LeeYzT~+=t!YQFiVq7#Eb4j! z9MnJ0iQ1cnH#{Y>mf$RCvPn_@BqF4OQ(Tm7(kSA4xC2LTUEa~X)XBG^bjam*M%XMNSd&Fe0K zzYY+lo;*Uq$1`~LLCbjr@m-3BrU&u(Lc{89jyR*$g7Iavw>WbtXL=J!TTk=ol!3DC z$Gv?se{mBkO^I$+^sh`GC#I+fUb)VS`EdHV=1_8m5vPqn?elqH@W9e1sB+on+M~H_ zI$3zjP&JSvtR*oS?O_aDv?R@Mg!SbXwl^IoGY8RT3C)?XTAfvxPKJEm84U7%K;a3Q zga+X4%cTveZCNjKnP^t1OwnCVzM#|66%@+{$PT>7{IK)l_Bp$Q348q z2yq+$g0g48{Bk$yaQ{W;>AOdxgF`tgcK@nRDu-If{Q)L2r@Ei)FRuJ|7VBY{)WFsb zt}+2L7$p_~xtapb*OD;*bP!a=a*kP0Jm78iyqGoO&VE+j_s-H=2fF~ZEyEm&b4>y3 zyQXw0lt>>?1jF_{S26L``72MA=$gL%ZU_{j`7B5@c5P$GJeyvO07@+ous-qSvw39* z-sZi>Ly)zA!}srTMaO$slZ12Dhfwh zszaQ6wsusoryOPN5p`esTKE99pQQ5h0JS-D1px6scxT(%@q5mdBo!t==Ok?cZl-O| z(L2esbHSgpKMngfsqe;e;YZpICqO_u5)HHRKH%?Av8IGM3_Rs>nrQPbT-u9 zSvGMarmf**?&^nxX0%>>FKPW2%p_BOl+@qrcUy{digQ2$kEH2&_i6)Q{$>S>_8r{b zoWbL#3pl@MD5_`QO(##@RUYab>@;&RpHsBnJyF4SnHFg{YYRx{^-10vFbd^The@ET zL|k`)r60^Euz(6p1xce70_<~s81{F_RFt|I#rb90ngZ*fTSMbmR15N%UxSxn(*abTRflnJeR&Ti-I> zIXP+IA^~1J3n=(mlV!k`=s*`rkeD{z85lGQAr?lxef`ZQY5!RZPXVM-JyE5>6v)L9 zfWCgah1V}PNyAtKKTXq%k2FX7RN6}GAZC6c)XbNf6MVcK25jissXmZ(0XmtKgz(wmt%M?Y*#bZ^%tAss*n1gog z$Hs9!B5Bx8(40zw!JH@N?Cfz%ZK=is{bn#+dcSqB*>r@z7nB-;FP)pjpxs_}Cm!Kzq^9AP~j08oikDWriQY zbl}K`s3pbyeD!(*o130|9ot1qx%zO=fA#AtxV_rK*B`Cnlb@W!&;RIAIs+Urwd{i%CM6~Uq;g91z9wBSt?YZFZWL>j_J%ZIJ6^3|j2?qo} z<&xKPmFEmN#6MJhbrn-!eL-Pnm}oLZmi!5%wWEFPaykh5m)gZhw+Q~8d~izpdHwDR zx*OIsQo?r=#0o^M86>>&U9V#jRP_WaMFSqnHLqY5+Y}l`^BP#A=ETp%4S;>$bz}{I zQ`x5d`WSutK0Hl(cR}ypCLzc56*Jo>r?__#?b!0b(EPh?C3hu=dF__-S0d0`tpa@g zZv$9qF_ zV!=prFg>{pLOAbWgnHlPcZ^1jRSs)M}t*b=d40-lq47qL} z%b6OVH6v_x#Rr%L_ulk#N=Xr*5=3VK5SVtrtViy+ek}K?HRp6N+<*J-tm>YQ6*oM+ zjYmP#0OpvbF=%;pm`P{^b?@S*+&t;tCd!~!tv4@{kOQ7t(J-4_i zLC?;IIbdBJui z(H{-Xd)R?LlEnFgkIvwye{v2_pKxbU5{nVt-XyKZ<=YLtj}1P0l9-4mr%6ie$){@9 z+DtKhdXSt!u{>}~B%(+N;HY9Rkjd|ZFn@dcJNdU<0DWH^NVqMo2z~5sZ+c>2DAH!j znv!09cXT1qKdxgFSsZV>;AHAsiBd@UxB{m~V5-J*MR^rZSd4A zBlD4TA!#@lm>8bSKwTbdfM}fei$sWWd4XsIM2iO+Var?$VCgA7*Ks(*_R%sikPT@v z*KaV_-c|rQOJULM75k0a&CQY{Kk9)Zzf0$Z!14YhpeklKs3j!7r=}$d%xbkw=Ot-A zzUX0fy-9uOl4isu&EMn197kp@W7&Ip@sz*wZkhmwrZU!Wu^t(K-khSEvU-7(=&|@2`D6j|n zg4*#Yl5q$5PzH%Ai+`i<>h0x*H0H~6)=(;V@q9u3THhpT$cBXlQO+4fi=<1ZVTNR0 zSE|D668X&V9cJno&?GZo_?tJEgfbd(jQGrNc&zAmyhy@~lM_74*g!*T&Cz*V5_}+i zpgUoWK83t@(LCxl?Rymbt!@JchFWz=6TXF)pWndMHyya7`F5y1$5bv9tg5Fxq;bP{ zYrl%{`nN0i+yC(uY!U!#K$O4G{3rpykA8%j^F=YOi&0F7ys?G|d91V-1@!Tp6(%t! zzQtQ5y3DHwsLvyLAd01mT5Y&Nz!;^uakNI!Fpo1XeqAkdrxig;zST!Hm3#0G8|hG= zEdQpx6jSVY|IJa^bv9X>8-&Rbmjpu+aBpG|E@%9|Ndq{^@Y)rVyE?EhQUeVs=J zx=mdrY!gq6s6fbx8DGrDv=)*?$$KlcY6o1shTe>e`Z78YTn7qwgT$Snlu^-BtcjA^ z$>%$Q7-*Kz(Yq9PA-cgF#=+nA4mGBnuC@%x)1CQNUtNi683C?-j_cdM2`2f^>La(~ z_xwiny}s`bm`moMH*Qn~FrY4kgWYUg1}Vzt6cb=K;8%2>xQ@BjGFDK1xWw!e3`g)L za8#UBUF13aQQiq)Y#Oa+WJ04Uo6cHV@qC8r9?21_-SBLe(*95X{kNR_J29}gSDd$P za~n7!-i9@PLGmj7=uaNO(-%v4{`@pCJzg|@0WRNQ!d}i*hYNuq;K{R?BRB3^oGBs| z`jXT=n_|f35s|MDI$;23u49b$XX%g4)uP%vHMh*4IR{qLq4T#eZ@1buA!V3=&| zANvuaB_pPfIC;DzGfx~p0xLB=W9e+nm$wFIARsILpN;ndB1J0~802DP#$IymmHsPH zmcEhi6YrZY?OS9pfAr^1;9vfCFGw5xAO7#(z}NrzZDKeXywN)dNR#H`mVjCyyYoiO zP@^2kX5l2=1QRMuaNjNk)Jnceiin!lvW>Dw(?x>OTfh0bOF(=LpZ+8P(DT-qs#!u` zOc#gIor)CIO)^GhkJiACcp6uvn6*}MTui_7!Z&JLejn=ZQ7D)HB`A2clC=w5^MQlC!aWu^2&1} zL=@+M(w!t)`MXQFczO=cesTdH|MCgEeRT_OK40;g$bQ`1Qpih|!Ueat54%ewc8uL$ zqJ;*7r-04Toah$iyegv4rsA2l;rMtTq51OFt2Mk!TJ7trq~1H{^M3J|CjbS2n9iiT zj_~Whzl3*hSkQO%ZVg}j`X-HiO`IQU{t?t&r|;1^00keXFBW9pgFt+fG~;xpd%hRQ zO28ux+QM)C!z=jq%PaWfzkHECdkR1K`GSOBX#R=r1Vj&d5W$1b(WS9&G9PNZ*{7U= z%rcwI@Joc@DD#*ZH_?Xk>7xI6A7B_3+W|nu_zy~Lf-_z6`H01jB(LEhXpLorZ1lE= ziU{h4zz>4lvv=LQbJ`nErWKU=9MP87up_}>PxmbtX?N2Yje#(gPMNU`@Lb`~tl-Ns zc}|(|!pPx!jeMR3c+P;)iXSM}3iCm_YNTMtT)<$?5}(n!ops5Zr49hm-q!Cp!&5;9 zUW05N(>bC2U0+Pi^o%%m!^~q-Fx*KBwxE9XJMIHIhp5pnp^Zm@RG4SrGmD9p z2>1bNgt_5hgadjvQXfU5-S?sNSJt)c_xi48u)%@>FML~>vsjHI3fR_pCBCB7JyZCY z@^82{(|4(+4Pa}h!rag0g>xMlnC%BRmWEbs7_d=&?#i5LnvEgvtQ8c1GA*3m+5fo9 zQfR7_bvTZG9Y^a(Ss-9|R=uu(WGps_u5-F?%DSrm={SZ$y)Hw+MNNbF!S+A@Pu~y# zpo5Fr93-lpKsDlmL*9_66^x?o@p4h3zXx8X2m~&Y#2A@~i^mHx2_?qVG={%(7Kq9MGZfkq)LPo$D5c$ z!GI8G+KJB~bKQ~IR^+`P%bBlP(eTmcPFy=N+(CdAK)s*JAlZrwn?7B_kAC?G{`fDR z5U76ratrHsTX^>+`XFvoe;NWb=)Z>=4v;`Pt|IoDG@cW^(^?`Uk7+6-YAAu<6VB^L zz5vJ^wG1-ezFy%J!Ltt*N%L(k;pj4BTK1RyXD?j)%+&c9UY7isUSPF$QTGMpzH?fD zav3Y3&=@)tuD>gi-h44OuIdxk-3Mltv9Pcv9=?R)SeP<;Bo582%LQ!t4i*ZDG#)_A z)B_1pU`Qi(6soV+xfL1(0wNS7;JlqWID2+VDO1)-^M}!0mlqxuPtnYJ3Ef9>Mp6|w zuh$U1;-=R$r(I)enOwWPIWHN7j%Ch z$mGEbX!b0SQC9@K7_(r?*GziR_C*ec0xbE$;AH+9 z>b2ALq3E;G2BHw!md}4(*yo4Sez?kz$Q;{U~ znaM`L$sHr(BR(wVd2)J*DirgDu2hpZQ zScBI!Y<1*);R$Ip=+=^cS)d!oQp4Tz*`~dMQN5!IHA^f7o(2inV*pn6&2-!r=S?2a z>zrN&GMLpdXka|1De{21pJQ1l`O2HKU6#u-?Dbu#YIvxg=X=-X`*2vCF++45oLTnR zA$nE+)Z)dDn!l@13xK&h>v6^WNZAkk^WoCl$a$Y_wm#mA2j39>sCF&b-yevDzhdEf zz4yJQ6ACp38s9_1GsB;$>w%?ZN*mg@>7oZis4@|hO;7sro-ajARGn>nbu&n$D-6MX zj)6VU)G%qA&M<$Ib5K!VZ8p|O7xpoKpc0{Ru@aGkOjLfx4;!fJ%dP4L&5HzJB^jk& zev1Da4RPc*(QFg_Q+N&J`zX24B7zVGuXG7X`1#PwMq+w17$;x8*?_@0$!+8c(2Eju zr(?}6nQtx{FvBB_Uli#a2k;4$6q<;Zn3Qrf(P*@HMdF6Z8WyLH{2r+7jzj1Z$n%`+ zoq14|ltuPY^5O@h<}~sZ0lUD--pQP_=Xr3kNX4UZ5LOBr^V$LlDNY_W@X3$Q67$#) zkp1WX?T4w^2!HoKe4D@@hxH5>NgIk9(X*CU*he{JL7aeN)^c^*nCF5tr(0$e7cHBi zp;>J!(GgK{xL$Rz`DzQR#2~-;(HT7d5M_|)^9n@Z`<_i;nJ&xRjm!~spU&OWW?}ce z5}CMq$0mr%^w{DQClH|PDZixVis1_qN}7?#^{CS{Nm>Q$!;JH2f9_+JHPTyV$e~<} z<${EKHiC?^q;Z%>z@xc%RIAEK&G|xICi?dHqZ4@k=>_?%UcJ7Bo69X+y;;$oJx!qH z`A28uBZp1CIlE0lhc^iz2C!OM7w1YIBQXxRM>v2Ji21Vw511O41jIPWR9|I zgl>4Yx2p)B{rVQZ_|*#Dyu5|$w`({}pzrC6Q?XoFlhEYi(HUvrZqwgbUi|Vg{OpgP zq%#lj?N_&HJ~nWY=>JDQI)~?6Cl1&N~;) zJjs({cCT95zSs7PR)*Ug(oESx9kC8I zeJvWx3Oolg|;kscljRRzXMx=h*b+mPv_|8!Ng(XHQ9Z4FdyqO$QgX2QzoJGkLpu(K* zCZFjsV?BOe@|7FsYa%V#Q#Y1;9x(!SMTcsBX;4%Ct<0qg`ely{-e@@_x62HlZgyHY z{GR|4+=8g_(}tq_S0yORWs-y=WAv0SZ0;ocicAkWvS}4gRJ2;Z`J2F|qR?OwbsJpY zzJ;hJznMVM@{ul#12?)5lp#=UN3J{l52JbBUT-<6w-CuFR8l2Zx-3K#dIk_}BA)VW=E@8>u<4tcdP@5g`dm^bWK%2weyFV@t%wUH;j{8xQ4F$z z2D*?7Jnc0EVUM2R9>nDA06+P;OInF1@alKhaG5j;Q8bwtpanG)lmdhN1HjC&n3V=# zGjBOSXgcdpSXbGQ?-Ofe(HyYv_>w_W>1_gkmuWse`}JG+;KL=E-JYI<_z9LxrDm{n z-vkebOfGZ{R1jdLlyi%33c>XzJg}9ZI$`dd5DlB+g}?ET9qwbyX+yMx{_r^L#bw8~ zYrKOGWiO}@r(CRRg@9*3!NIX}#0&v4mI**?WezY{RRSv?{`4F^_|YlR$qzm~fp0#) zf^R>+hbL=v_1>gB&&2Ejp-?YFz#b8n${{J zWdX=$$_jHuFL1D>V#Bo!wCLEMPk($0A0$A$NjUK72g{@t?8#5?{Cr7T*Xy@f?*{stEiq`zM+^ArUp$6? z{?{+ykN)(Ww0qZyMm~MEq|TxB0g_S#aGMPWjbWe)WLZKC9!1M#nyeYfHi#Y(5XPkDWP zjy{fs&z1a1^8|8k%4bo`el1Pb-|f0)zp$Y9Xt~GDt3~iCf(G?Dvtyc=fxLIe zOFeU<-QgV_tHVFx!w431#R6cDD7C+Lq3;UzY=dNsN#Ih1GFK@(riUaz4?L$VT<3b&fB zpxC!_*!q~XevSYjzPq|*wS3bS+mLCKHDOBn;~6xq!wG8D!PV`sl&IE>lrofrjUP~m z3&5gs&j*vd%9-)dWZmrRWSP+f{LtsYr){ri9w%OLxJ!D68B@|;S7 z=ZMleL^e+$ViJtqeO@{tCV^5F!g7hw;LAL4Vt2fJK!J_; z{9v#Piq6<_00BzBak@xMa4Q-GkaQK1f>RLKkbH^c!{j#b^J}M9lZMOB}D^1eY%97|J7soZ~pzq@bh1sk%b6?bi7-hK5xm-cAWs|X65J( zLEl0;YeGANoJBUlVsl;!rW1YQ3vaS_07BpMS~x#&{}CQCO5*UI`5t%bg^vxw z$AwG>IRER|ou#TXsI`#=NdsYPba{R%D+2s)utEzUevzXOJ4wX>P}0$GUR}LwDd3E^ z`9({F;!42hLYdcI-I|)*&vG{!dgxqrw&ot|+R`mT?V3{R(-NX8XIv$CAUZAgxMGO< z?2OMrU7U=sm-YRA&`}jYg@f{vC_+q-VY+P9lAp+eFQG+HXAn5pLaeR9hQ8`;mMHSM zkji78`zXkqnEC`vFc1jlJHx{MYOFqAuUYb{3=IZ)!GgXYwaoo&J8uFcc_I)KX6{IuY1x6P|5>E@J_T71fF7k-x8s0isho>Pmy|+c_V+O z#5lFR%gi`PBrEh`!-#wgDgz%xG6Ci02>j5+s3x4AStJEjy{7l*iAb}`IA)VnWEv3! zv}cJSJV(t|OQdyk3*y(v(magj2@5Bt7LcQh62nAXr!SX{n3zQG*}qN_aK}C`PA1m6 zUvpF=$A}MudvJtRN5J|#Y21GCCy(LtKYj;a|JQ38KPF-C5@W4N@4Y0d_hQaSd7>6Y z&4n|BrmdX!k2Qszm;q|a6TBoaA$+?$B@O81>oxrPZ(pbOE-1(gY9n>usHBer0y#rC z3UQvZM~~Uts=?R$HfZFvP&C54@e~9?mP$r311|lOAUJI_AQ0ZGjL)3~z~hTYFRy6! z1n#dbMXBxb`oNLrUqj~8rG<5;zfTkJ`RFI7@UuU@HBeYJt>%PqW2n)Yvh`wrqNwRM`bgMWSjfBnDz6#n!tp1|qSQ2?wB z(h)HXVU4XLz=w2AHMYf!(=tn<_0M~wFfv7>3TA6&;#Av|e z!!aK3dpF)^d5FH;BO|Ma5s+E}x!v8QY?(+HJE8CB`WDx=s zo`CB`;T~G-)C^pG?(@@fAP@BuOPyP6%vV)!4H(HB)pJOHoEy}^%%GaK7LZV$8w%w# zfJ&w@-j2_id(XCC0Lh%9xjdbV#+SSvOQgKNJ?9HH!P)d#wqPmqf!}X~MCCJgsuhsd z{A&Tv+BEwB0;rIon#pLeZH#9AqM>a9TtlHT+CMc(<@S6v=6cVSxgNG(ubYlBOx_v0 z$|Nw3gSn3picstjkD^wEF8{8d*FSgm=)L)khbZ$HW8 zGNS;3{7?`87x<7-R7b!t-3!>H3wg6upPs~+w9L#>BHm7hO#9P`TANWYNi3Wpq^5H$ zu`*1_9g3A&P8|qo4dxW>)9@8HtU@Nw4W9u36+~>3Ht6=cBcOzN5WOC3@t+Hl+mG9= zB`D4?;PiQbF_l-^>Dbqgb9Q-2PTmmnMj(Y!b0~mv9JZW(llhN^2tkyj>5(;l2-bW} z)SO7m&=eITygquiAm$OlKLVa^9Yi$Cq3khdU`TspLt-?(jWv&<`V(MpI21E$Qwgjh zNDPK(MlcsqJrU?vh{6c;HN<&CGq&{_2yp-S=V$QG{=1JT-`?BL)^PKB1&eb|NDWQQ z<`tCl&vP0L*A#zOENmXzNsx&W9EZ(T89ZW?PXu|m)^EOA!Rwc6GJo5wdd{ENdI741 zu~Z(^IR{p|u)DbG*}2RU)|x|Z%SBwQaAI|CoN7_zvMV(JsHqK`)XjoPxCU57UvHCE*69aKIdn-S!r~`fLTC z|LO{EUM0Zu1k<7b+@!M}FFOi?f)O%N@Kf$W2lp@I-Av3b%GpqaA854S^zUz>gK7gq` zI<;qUK7GX~4Vgi^-;dg1Zmb>J)sLz3bj+DQrdTF-s!e_7K8qV&s@fOW+YgNqU>U~R zd{Ky;VY*9uQa`#qNXiI}Tv`jTh9;ko{RF4`=|=Arptg&q-<@6-W?rm-rfRpm$pARm z_LXnaqT%l?n4K;>$5FJdg?I6}&QgyB3e&z_c0TK^XwF%*{=KmVl8)ke60K18nqFcS z;GNdCnqJ3cUw*w0^*l3gYx|^orv%PZ`l6jyp2Sjvnoo&&7|QhLyVebXkM&P==Dwad z`;+Iy-YE6D>X~tF{N3SF*K6O`YmNEQGS>WB{?$4t0K~xnY<;^*MRy;74&Jql1t@!; z7E88}`S0QRkl*C*Ce)4F^hu;1vP zu}I9p>NI3EHE0-k&jVr25y%#BqDhm3a0lOoa`;Qg^V;5g_}t;5Dr#jYcrtiiEVwKh z)PmNCa7gHB0?N0nl{;$}1h_PK3;DB23-k%PgA$(-Cr6e&=^7e{!Fq_NXf9?<{-%6ZfD*+dv4 zTb^SyJ~VN|)F7!%*L3oHLz=VY*@7kb&}Nea-UE?NQ#BG$hy8}SWTv1sULE&N1Z`IG77@R0R6a zd>TaXllx5?d!_@GFQZ{%lzv44ooYpZ^!PSu*3XJuV9tV8AiW-^x_2m z^k07ffASZP6XZIp3*(z4eN@8rnuj`JsDyo1iOl7jAMV*=Z@kikF5m~_o`Uh-T;sDzGX z-n1VD+61G?WA8@DV=D8bf2c|AaI-{-$54M){2p1zP^@y)^trzCAPf3|{dHm9*)Du= zT_>$!j6%y?MIv1Wfp%Z&z=g!(mPfrjN>f=gv7!5-^zNn8cS=;7ze{ZEhrBBQV;72H}N3%1MY;j?Z5#;NxFh zkk8TPih(NvMI=0A+KB;M7A1K*fcSYu);6HlgFogA5hEOuwon8cSa7~J3FK`M*+mBK zXdeCc^%fpKX~{?GV3Xr z)o($|-9g_GqcKF$7Tim?=39vjOM5X+Ge%W?#4yMO6{5L@xQ$f;a=-u2SMcVWbplHv zY4cW;@}yq{+CwPtLhb(5udd`00LzPy3| z-~aduKKt8CICI`*L5Q7Vo6UUz?Y&pN`zuGpWSR!7~y2!LEaE}hEemN3}e|EZU>{dyA(!=1rH^y zKyJ=(*2mRt+qla!-^Ka*?n;EIY1lW!axaTu)bIc*M9#IxXxia>N$Y39rJrcen%9|j z)v5uEWd@Gh(b4bJUdJI%AZuh{P`C_9{s&1Vxw^JxV>hFVb;>h(M7vvjCD zZ|e>@8o09qFq2wqwz#ff>TS$x3J|s5ak4LU`@!(2An_H-dWS4@5H}^`Hy@+Y?Yiql z=)}P{q}TZw63jRCXLjxLXkD#TD0^ezE;Qhmt?8#NDzIpp;-&yuC_Z=)oDo*crzJz{ zlI->b)6`E%q~-f{K59XOJbjEaeyn-_KXf@(1345Peb=SM2y|!;h*9g76n$_3=Z`Tp zL(<@+e`jZ&!rs$`zd&;*2PY>DRHXutd z%@CJ&s!uaAE_U7eQzKUnw`fH`Y}*-P59{9nSmn@03BW=DLY?tz)BH2SkT6hidCn+d zdgMSl7#soTjH5<+2H^=zH&>|1asnvWgfVLaf&JMw;v0h?Y;)aFUM(GU6s=5;Ij}JB zAV&Xeq&}30EghRaVtlDiOYyKw$gBj~YsUf&r6?dCYtwV8<(X8MKBX87j~P46~z}XxyWn+554GEkUx( zQNSPdQ=x#q^j=5vpiZY=fPL#Nvka!~y6iebxfgNzbLm>HBiA1bBN)UqnKZ^2>`2l~ z%(+fzANjE)ALI=5H$A-m%{zGac|(8+&)D+uk|JE5f84@{KSrV0623}WE<9HtIZ9)e z9LxA}YtxjC)(BIt;Q8D#;G?=S%b=#CmRLqUh)zt&^*jl!sC|{>?*;>{EJ(ACSpL~Z z=kWAdOTr8kI-$ub3QJt-$VvLSI6>NflIYKtG<+{Vzk$`eZ32b?9z8uvV{c%U1Rgh+ zYchQeC}>Jeoj!B$lRtk9|LiZH!%u&DF6P%gn`{QA1!$U$AaFrGjSZi7Gqw=eoU`jV z6go;9Fala9zQ%da_b9kgL0USaq5)E7PR;J@9yIKk`AiskSAto1KW3IR!sjt(cf8&c zyTC9&yP|s5jNv?nsc3{_)#cqxh|ms8Snj11^R?YzDAeaX|7PhK|IUD4t&S#49u2s0 zvY=jrteN?>ebM7nUbayyU6~IfT%bP=L>%a|j;M5Ig=EZBN>7Yit0%!E&ZUZ(dA z(R2LWSMN`+y*IwJ^&Y8(DqQ!d&FHeg3DaMcZkag*TfYjf?D#v=R?*&P%~907AHfFp z%Nnl0^Ww~MxkhMm`Y&lcG{-3vK*V`MVFZ-*{3|$fau2!z5GCGjunlY4B7C2-XLx+X zyzmt235QMe6G0Fa^p*LICKBzS4>+a(lNNFNOO!qBjetV`@eh}u)PBWs-REkQI$8eTJ7a$iYGhZP)Ro%olVZ(>~S|a1N&CBn}9;%Nsd&FcTF|;rnfw z?)q?x!Ngi{Tb5WTqiP9NeX))iOjjk_9{=v-5cB;Q%THhxHW1fu_^k@nH%7MTP`XEf7`Wa6*`Gz+eS(G!TJ3dU@+lFkiIx= zsom`@Oa9b^4SgQB7(Fqq(c`Bl@Z`xEoS;TWeC2{fIh{0(u{(Nj@#*v^W6DbtVY(E5 z#9pJv#hA_EFux-1ryv>@1U5()(1&x=vH2uMvLruI2SgiCYl-Hq%VlEPTbpJ?R?ILB z+HWj25W`@EFp3W692Ea52j#Ni&o#;?t^)fIb7~HXkShu6q8po4jx=WuiXcK-BI&8; z%a-yD#YYIH_dbi;-R_|6^q1 zWH1aUYbnh7ia>|XKbkCW#q>w#l*R~|2CK;tuOVo_U)c-#Y)u^V&;=-WNl4Q59ql39 z$EQiSchRMLV8OtDOUmm$fjfY&zFfoq@PGXpe)G3);Py7alMl`b{9+VO)b?TW_RY1ZvX+h2O&0|1{Sr!Z!_Bhe@6yxAwKy2@!6!2HTkk7O&C-}}xIe-Q&BWB(^1I8WY zYRx1BJh;jXGIDS>fDss0P^6YU^e$Q&ZA0#_H*QJ%p7tN0Pj+n+B|lQyS(Bf+T1g0N4~i`W#=8oT`Y01)3HI@?6ztp}g;f z&um1a*>y#0*@z1h1xNC(+DkSssa3wX`mjPJoZM4NG~QCzzETTBrZnTjGdV>UhkH|L zZ`@JGF@4%!EIzWtAcDF3M|0)?_N2*Z|JDEYL&zcQHNTf!a440-k|qs0(JYd59knNGD1KFW0ePWGv(N@IU0fzWbAzD!mKi(_ zjKT~@pPsvUvrP=9_!CM>0X$g#M123260k%xG(k3ncXB}`CLYarQQ}U0@N7y-=_`Z) zA~T0tBF)3cLK=3Gj$4WVBLPwLQU&p8j07rFOEC-@!bE~E0o+SOm{UKH@pTTu&ASzR^F;!F&u$X%YZLes?Mfqg z5M2a~TsYobL;s67$q>?IXu?X@T0ch@8`s5`|LO)PDL17Xq0sr5vn?iO{*)5WFCX*8 zaeW!!o3B>zZ2~hG)e%z___X<+ebB;>es&HY|LCMX1fV{EWt~-fqL=nm8D3KLcfwdi z$V^{O!t0!jDbV?%;2`Kvx(=h9f;*XA-A@1(x>6gsF9K@1LowOH$1#n`*^?y&EqU^M zN$Cha{l#Ot0Ka{4OSEx)yGdX%P;j4{H=86J>Bz56`^8dNxhMf7q<2|oyg$xA5lc8#*`Wv)i6J_@jUI1pfN}@F_e_=Mm`?`np>4ubd>> z@%h#uE@eGAJ`~Y2p*JOeq@&MhzvJI%GL2g7hVx2N-ahY))Si9+0F0zt=BLcluEOV< zL#$6TlkpC|=}@iZ^yl{eDQ2dYG235n&AiE82;=7p6EhfBjPM@UZ7%hhFK3tQ);-Vj ztKdrerLQU&(LU+iFkL7#Zzq4?gf=VF?tDd~`1g?Ov_Ls)lEhz21A|y#P=J~+_HLko zn`Bb?P9%2&0}So`Xp0?M2=-hXjY@uY;3Fqy)cf}OnAsoKJ5?+ovtz5zmNRqW2K|SF z^<$y4ttOm}ov&Ci<^>eEaT^MZ8nK)bR}_jbAddIeq|yRa8{|no94%8mpXMg9k2ekf zBOxo4bI$3&c%RrksqHo5W?_TkP@kaCg0i1W@GJgjcr8-U*!@w@|1JSS&@@<4L0w~h zcQBj?wVap&pHVNYyU>=%xP$Yu9^O0J?k+l8?n)Q|T~osZ9gNlQbNgcZH20l4T?m&- zTMDkC8P4rL=dBVq&41zq)n{j037_3d6vM77(lGVq!hBZfe}S5&Z(k;40%u9h-rPx@a-dBPB_` z=_ph=Mzw3&1p&1!hQ#;1NNF&VpX3q4`Av+rC-cRY&Fpn8)PcCNfSXixsV_x z@N@ob$q}qt48GFRTq(1Ox#-#xm!)RNOrfT4dD4hUm6$gY0A!6OCzoe4#wgK9HTo<0 zyI}-TO5G7LT_1spAODVkbh0mNyYO5{o7W z7gd$ndW>EI5h;mXv1L-_tg{-((iP;@?}-*?kkC-m>i>I4w-rkqH%S#hTs1B8eV>O z1Fyckq2L|oX|De4uRemm{`b!b$Zj`VxK8K#^WR*-7r(!z^L+hwMS>p8kNE7vQ#e^R z6TsC~jH5>VRA!)DM)s@^FA4jT!4i&dNt$c?&oG#7q(4|Bt@4XMdQ2vsnEK$0-(DqP?_s@V>FeX?Cp4BtdqTm0 z+5|ej`DzWH|NU#Y{CowPv&*&O_Zo`^M01)_q*#b%itNS3zgyvNq5CfXJ!HJJ8m0#< zC|D*C|M=MnrDMS}hu|3lsbIezB|7!!aZCaN2mkZ`<0bsf|Lbe$uQ`RncGGb1s08RP z-`tXw0k(jy0WW^}2>#;Vyhwt9Q_=!rij{5=Su?Jd2O-ja3c>D`m{Ww1cB12bON@~) z{x|?m)-9hIzf;l-;<;QhU`Ig~o0c0O2y!0)01PkQD)}%BtE#4cw-G=2?;J9!qQj-#Q05r6*hfh zL0`>~mi6Lv;rW0q zwt`fnKG`$DlhWi~Qd5D@hI|1!sPlEIB|#9nS89^G(9#k^H!2C)00ZPT)w%R?S3B5q zK)?#{4?H>;@06gV-v7Ku^aC&q!FWzv3Lp|C(j=(EYLP62z+t^N5=tB|Wn|{(ej8-ft6nDo)G(-IpEPecX)5?sDFAA^!sBF_*78H-@L6J_e_KM9PV-7~*@_v)+ml^dfOEMeUuDr5jofJ7aHJXqu&OCv*#WG3W&)F9a z86gC6$n=o5uXQ;%34V{!`w-;eP$}10`f!0@5VewIlIob|1vb&7K2hR#4)0FHS0(q2 zGt2`2(n&A|N}!D&9q>YfebNNZ=3imHqUW0bYNzg0~5vW8&yOec!D(w_>-!v29sO*K!>Q+I=4@ z@Pf=B?tAh#!f{HjLfTInKn9;p?O(oG!^AgSSLV%CYk_Go~CsNOwip@-ZeDke)=@+nVR0pMpJo{{hFX#&D4 z3b~&&K2J~J(;qD|JJ_@^ux5%vV{nE7lShvLzI@ri z|M&m)75vBl{v~WKg^NyOzJ0TWum9^MG>O*W1YyEr*DT<}pFM_u|9}1ze(@(yB>6l? z=|u_c0!q4tKE!O&$$KOYhAMPW{aR%2ge>?8)%Yvvv;5%Wq(K{8Sz1??*|Y{=G+$FU z!AK|wQQQIUaBu9`lDqDqnh~^`nR2g9YrG62FH~BELpiD?zYSwa!u^z5`&0x}c|cHr z#z>oLnCr$FekK=Zs~OLoD~}g#%r3fG*E#&GOzrS{3u0Uu2YqA$FAZxH!KqWfOE;`X z>6pFG>{#5OZ8;-5f`Dj}>3v1%cMXfC6W#|LoNkfo>t(!U&t#W~!Me@&k8`8FXXn(O(QF|G(p{V@N&BP| zk1h*2GAe#m00`aIu@ZdZh6 zSx4siVs#JMKJ6-2fHA%!_+1rnLS7d)N#k0It|*25oOB?RB&l=&M7F8TmbJ~A{6uJ$bF@C zSNr(XpNll6pQZgl8nlK(Tw`z`^z(i4xM3F20|CEJlji0pzc__w&lj{7n=ShYe2_HD z97dYw0L_nWUMbe>aQp0Y<+7xe_f;%p!C4|@O^0+n#mp9c5PJ>?f^|3E=jXA6SQ588 z*l!M3O_^Z|UCX&JaT{_f1qLu@3Fv+DXOH1g8aDDd2yo!0#} z%_&B-M6=Mvqf5AX3#@qPIUF{f_29&5Xl`Gf&w!e6Vam{vZc9**xo1qaP2SlUMjV}Fk>bxSt zef&GZ-6QV3nfa=!tHB;d_p8jjH-v|ad+blmoirbtORT^xLV+u>A*#*uRQb_!(ep>|u_CJL~le`woL@iw?S zm55!(So!{KAKRjDep`CL{rg0AECF=)X=~KIBMZX3H=2i*s8+D8J=;N?0c*SW_`17} zQch*_-o55dyL%|<_MP324X72t(hv}Cj_o!8c-t5ZJx*@ao^qeCMgHKs$;6iw0pr{Bv3bofRMaBTOk{gs#==#Gc$1;l$~-o1_?-K;XWLj)wT%uU2*!FudI6yLovj8-2#l9d~Jq`fgknz&A<<8}lH^ zfCw;Q>%Zo2i2>b|^qz?`ZZ5^M#Y6@{^30F}5@05hjxGYT@V8b-^(}4D6u-_(Pw= z6AOdb4f`*Z@Wu!46A_9pOcB^4nS)-k8HoU?dlK_c9 zRpZzZ@|WIyZ+{~5*Tt;(axJvp@_TfX)!fvBBTpay_>jTFY4ZBLxayL}uS?@JqrG&$ zjtOjZOnVv2#));u>-d-!&G^G>xKc2}7p0d^sBY~7gUZX(6}^7GqK8kXbZ{_Z&up^@ zqnL7=hcwt^YtOXXqSOy9S@xNPZzIHW%9~qiN9Wix?U}97)8PTzJlV4kxP-*`G`~5P3!N2;SFX=D;-=EXX%TCsuhSy51P*IS&tJGI%o2^x$B{BzwQA8!MEZ6=nsZC>L+U=Zco4`~09A$8tR=j&K@^b10{*GGe zs?F*O#R;xz@_397D_12EFh$`zg}bv%9UNUOb1nFf&eyRZ(_s$K-4gws`aWdocQtt(aZQTq>G$6gbWnavU&kjP`}bc12i7VioJte22R7WELU-aMMZ+{f>O zHuY^Gx6tb?9vonz)5LxQhfx*p+KtVBtL2V8ndyFbCwO6)jZybQi=3=OOqp#peGAr4 zUUvfNGp zya67;kU5ncO}CKzN94jjcs8Nq2W|3-PZ$7DK(D{BN^$D2L+HKz8mfhZ{ex$5ndSl* z8Nt#CLl63Dajiz2Wyj~C+yuO$@K~{@8X?{3Ugseh2hKzC=&yM0K6o^xC+|(UsJDO# zu|hj19@T77Q%k2Q3mg(_URagqW8iDu&?~qeQ&wYc0yNL&j&n5uLh())XG^-d=rv?A zW<}<{{pAdFbfM(a?s^uSe z13JGX`j7wqoc`y3`xTx3`dYk^&NgtVNs6Cc?0GB?6L|cy|NaU6i+}S@n$w(It^y)5uPs_} zY?*(1yX`dAXyO za;eKyY#KW54k@diYhiNM@Am9i?(Lk*Vdi#t?`izr2G&SgnvFoFs4`rM1+2xb`d;x! zGw{itBU#7WJR)}82wGCDFyp+&Ysf8cNDb@6KDaI8a{r@N*4ZJ_;rFB`tjqhbF_TIT zruCJz)75i~1PI40^PK{7%4Hg2KGkQvxdv`>k522t(mmdx{2a;-+c z{R@LRkbA(DJlxwN4)R#W(r>n36cDAKZN5c0U;mCeR}AYEFSO@9)P-&HXm=-ZF0$%1 zTN*!ra-!Fd=VX1m(#N(I*jXeWQJrr*tmk>Zx!R&$pHuJ1_y)FNLn-H4)tuiaon+Lq zykMC8Kyv*K4wEu_lB~!l4c7p4R1!De#v(U9+&w4hZ~EBw4z*j>E2TJ;D&#!@Y)QVC z)WvB~XUat;PvFH0IUa%zsN@E6J{>?pv|2iHy;;R;#fOE-68)T%&`C$r1R&aWrocO@ zhaq`p(3XYdVJ)?09fo@e0FbQxVDsZ#L?<3N)bxV~fk7fXcBnh2hLj9CR}wmEp}frW zx)z`tg3$zPxNv7eO}v1lOr2bgVxoDDYLV%Mk0H%DpEoyS&HEKbLcjX!Gy3BEoXal&^h^#sdoHgpS3C#j zdu{f9k|t?4Rt^Q>vyFQ0yhuM3;D%8I026%*0EjXjXRlWD<)@c)l7Q3Rd`h!Dw54T2 z5~4a3BiuRvb{#o1*2&z0_3}C?jCD6L0*U38y&l=_z*8aoC;z4X0%P$e2X5p)->DhPXJ8oa&Xje#*&xzqN z&!Hx>xJl^_SVX17jL8^dA`a{gkAr;Dy9HwH<>xDOJ|Zj{;hn$#PoFTQ`rXCuJ~&mh*#N}LT0${l5IA^e zMt}OR-=%-@-#wuxPbYMC-qDM%mOS5)N4gVOsUlyGk12G0Z#m{c4FvSH<-grOSTw?| z=l!?iAIedOGUf0z&Dq-K)qUIXt3AQ@VXu@uXSY2+gHs%s! zu_w{b%EzL+x}4ia`s!t#~_7 z6>rtBAFPk$`{A{>f!*;ZQmRSr0VZ$DMW#@m{dHu7T&IR{FMTU{eYI?k`KPrmWVz=? zphaadng&up)eT+t+YEuS{j9qHo?|0}yU&qZkZVVXf`IbMG`_$!iV!gJ@^NMlAut~m~?91Wp_GNpf+Zwqw5CnO??|fC~25l37 zMrz#EKD2YHcfIfYZ0B=X+)T)!p=@|zsa>Xt_2R4L4&;g32t1ea4xWy{AUWxoP~#wZ zFQCjKF9@Ee?7FQM(APWk<-dbt+`{zLw4s#gYXP2^ zpT;tZqV52A^ZjYM_nMV@tW@MHB9xO$Km-9)60Rwrm1hT(G%r9F^zi*k6I`M6Iw;{n zTWm(a(8mk_oc0Unm&T&_=h22R)`IR7buLzxAH_6jdJ3Tp!WJPCL6ixvrQIuL3TMgy z!Z$%c*jZpN#fKjr&=3CbglqdB zMl}pwCGRNu{ZV?4X5aDL@0D(uYqYhVEL@0dNJZ;^B|XX(K@rT6%4gZcrQ|M>bnh$n zvIOASQqXb!B*qzFWIAutIH%8;?mx2O+M<8&JkY0;LZUQF@A~oY9n+70c0#}Wo6`i| z7EE%}OyzXUUEbuJQ}1XAix0{^$@z^i3QZ#CLGrHMt6^uWMR^E@wt9hOA}C>$eHO{6 zoSk%YUT55e%F^pn+h>!Bu%TY8=|}1PPzL4S|Buh<|NDRYoL(fO#G6lVIJ6s41igj; z^ZH4B+b!8fO^0a?{ptVk9{tPz!#ni&>6Bi-UelYje#9VXlaKOy;0U3FwUSxsse~S} z%!)DhO^oH-vSGU1N3|j%ilpT}jTHsTbC29`eQ_U?8W_DPxo%@Tij|fA+wmJcwkr%V zyAP=R)LHKMSCwV!YXL-N1CnqHAP;uJub(x}DxH>}tivOX)hT(lJQ1feeQ7 z8rm!&F;K*He-!ap&gI@TM$9`Wuj(~@m54uRuBMtqOFuD%x3paYw)O9VN=<21DKEMU zyL>1crSg8YWec>SFB*dOg)`ab@?MW8C^jY=m-2p8JY%uC_h=3YU<+DusemLa^J5na zhS;v)+WnA{U^(wb=p*`wFW}ExA2}(PrmW%lS#F@`rzf^#p`En}HE92`%H`|XZ!M0w z4&q&hcyztw)T@!bt}&Qp;^3t#;=fQoe)zmW36uPv9Z?#ikl&aIk%kX;CJ*vgx(;+J z%IhSS_Z#b1!#UvY1XSFgc0by&SJ!{AE^qtSmixs)r){*)+Q@Ai%xxO9d)N537Z=K4 z*vaIEBHXQP^RP6r4zj3R1ph2*^&pa8gCIgJ`+T+rh5)K(uC^wql88oz4#@XfYKFRMY zJG9e0(e+wt^{qnG4Mu<4!hvXHuX4*Z*ZrpZ(`^ zx_*7b#wVXXLkLt)LD!q-$N~Jh_b7SE|KuV4qknReJmwRQ95_uL%|%*MhsO;+gPDZ0 z(rW8FR-3rAk?Uxx5)hTut~X<3748{TzQip_UbWTMEZ^e|e0<)vqo@J@?f7jT+57Hj zL)Hz9CHCtM!*T&svCKbmg-w@sTi(kf;s|iq&BqU`ub~`%eb?P(zbpz|tZx{H`bN0J z6CrEFWspl$`f_;hU5Bj0P?yXYH&^@7_GZ@gDw2u}wrH4Ukty<{0ieGIC?e9w0W*IgxU)2T%KFO1LT<1ZaU@ZYsaK(2?L7d3$R$I~ zIrc)RAOYD9PmV@BQ^dIs7b~-hwGq;#@6nnq^+c6L1Y3AS?oiLx-3@qt0@r> z!qzws(2FM%)*%L(T&_Zr(SsISCaS256=>q%%|YvRnQ)R2WFes;N5eKWl4r;yIGyA+ z>?Lm{SUuTIAC+0um5o5IC-oY|;Z;{{!#MU0MsEr6|Ana>4fJez}j^(WW0F3WFP=V|G}d< zohR`6IsxU-uhV=--Mogr_iS|y=dU`hDTg`Gw8F50KVa)3WTiN*?Yv2{_-JEjbj4yS0;2 zB`mW5bYa9ueSY}PjDGgd-=V+w*N^Gl5BKRBa|r}r$-94W7$vuLO+3%4mTC+9NFk*P zunFmdMJx3EnA)5M*V#3-!e>tzT53mYrq+&%hEV!QKQE6d_usYj?z1lct2iVLJOvo{rzqSmUCM)y0m*>`HI{@55j zF8yP`#Qa^c0*#Cp)KGf&K2z4@SZ|9(ppY4C?0qBE{kr9@)#5bZG;X`P?i8$zuB)4; zx@FM^3#c)WCyeFVe?IRv^3x3Lq1;32#L_@-<N5%vMAL}*mMrwPR2&=pG6$_ra+D z-}V@83U-G&2|DalDC)Kj7kWtwmHGlLt@@4?dgM*@3ZA6)p=h@p^3_tYN_ko60U*n3 z4i2ZtIq}*>QjZy#<|c}!M1}Fi;l|{Xo$i@YSlqGl^QhykeKkKg+PVE*yWJO zTwBaMBX}uQ@M0C$uIoeQisl5G@N*hU=MaJhX3`kBZscC_dZKSpJUx#O?@*L$R>}Mn zrccKO&6S9w7t)IN-k;M?|M6pb@%a^f`N_TLk>YS@O)iS~D=^4JY-} z_0=kYH)2qS96Zd!`M%Tw;u0XK<0cbfi^Y8qx(dRl1m_sMqJ|#YhWd!FUM=b6i%7rt zFX!~h-<;FMs}&nM;F0#4w;3#-m8uY{ST@`IJ5Di=pD8f*nMNqYbySidSIB;>h9ry} z09uXYG6)4W4f*q$=$S`K}x_lUePm5akTG%=REN7-znZZ>iQtBbk+Xh!dR zbWERrdPRTtUry=#`I-iik{BcG4|7#2u!kpO-+MoPK!5z_kLY_pJmS7OeS`eoj!BAO zfC-y$6ZS&kk(>^27(BdA|I5`BJ+ww6igxSK? zZ$I1ykoboO{v6$7i>W2WNg6(4tMz_BcI66?$&0Eoh;Z0vrG4M?7=pi8_EWMw zCdUuxXQMXKDBsT%KWn1O1@`{&9${;fs3!2K`+`gnuOa~kscLyG>Nym385iv_1{$mh zF*ug%yf5b)pa~jbvI&T-eqY(UGpV7IFik{5ynJy(S7&S4yOhxrQ8SHt(#$Yk7(SiK zZq;{`HPcrLwCp>9`4|xKCHhDt%ZU{O!4Q;ji!(1r**D7A5e@T7r9UQ0!dG+=A~S1n zi0UZ9&t$hWH)dm;SAfcZmO{Q~s6cq!B6r>3_fj*sK58#$F!0iZ9sRoR`& z9@Vx~83AJbkii_|wa+@a%k#EAXM6j-uBB>iRNyU|o*#?uXzwHE(x9Jl7(tC0AIk5; zhT!~m@1V^zvu*40OGwTb6jx!+V-kg_6!y)O_@;nG^$w~>D6GBcgl!W*ZX%&>@Z?~L!TW|ahHy}jjfAOKw7TS_nNC|0 zGMJW@39zmiJW6<=uvR8T*69X}c>>~@4q*$O<~Mov4s?CbvRfFkWUdsUD#D?7g-Mjr zApO93M4CJ=9v)E|Wr2DTc#Y963j#xOGZ<6@QYl-Il1QGT@3ee|FLTvANjPAEbJr5m z_aG_1nAb}Xx*+#0c@6*IPmbvQkLK*5`McDo%LI%XWw(^_Cq4@U6Cf^I8Uv3tJcP47 z5ya!cO_DD`8 z!aiSqxu9piyr9cxOET(zSsnTgYA}*^da7GmUbY5ljx799{wf~8Xn)6$l@hW16MLuD zy(D_p(KvUme%xneZIw1Ik~j0!CpYxbpFE^T?;Rv>@RgPX5k^tQoPFSa#KFO(8WP{M zy@c2%(7d?pXd^PnUagCIy~>`ou7q0P$MXKxR(_r(uw%X8_eR3bQDhPTy_pK@EE^oW ztZCG+{J|d_(#d;s`gi~LujuFh%PU%(3bQQlU#+YqydPxBdb#GX?;ri?L;9!5)A#)! z?`uvVPN64ua$`a_t;a0=* zOB+POsR`>=IX^UJ+`dn+OsoNNw9v%3^}f5FcUxNw^WA6ON8Ri7YRb8Ikw$I2eNAO! z(7@1@Z(H6!12soGqA{~kf%oh#=5^2eyg50@SRdWSP8COj!a_KQP6p9sTIPBPITb`m zFLA9`JxE@|d&y((yOQVS8jUu>EA@Srr&2dqLDz*F8hcfsiM~-D<1l=Fe-wi>Oi&9xYFROWT0hFoosP+iJgqz0V( zp0aLG+EDIe(U#KJ0{pj?2eYGn_k%fiI1_{TSS+GIah4V}WzSs@(wZ(Q zfNQQvw&rud{CM=RW##bl)Te(P*9MgF(8*l&7v_%Fx`$Q+EqgY(lXO$yyu@O~fbfIj z3XdheL;-u`nBh8jVU80B2FT5VLnoAZJ}kG-h7?{Z8>A1D)gP7bMcGAX$N20t^>$%B?Y`oWw&_-LQ@ z6Ue*1Mo93C^Q#a(2~VJeITHU356;o?ln#=YXP&zw>P2-9*t+xooTOP*~CeJy`( zKk_4;6r@MUH7-Ti=IV0Ib9TOmkl0yzmq3>nD;CVN`GiAD0rIgH;Sq=7z&8{27QRjZ z`{K<)!Y7HcfrDFzA4+n>wK6^BdQ&{^T1JPh;?8jnHNYImg2V{o*ei?q4}b@Y>15sz zSey6KJlaqE1wF>o9GGt}X1kqkAY(k4B#8rNZ{mtI%DhpX48tDmIu zAm5cXr;*Ej5i6y*{(js(D@G5)T+db8$E7eT@a1SQ2R3CyRHByh4)~0X<*DCc1P(#U z4>36md;D5S6=3iw&ozLBzw2V_LHB((&Y#o91RA|+jG7Kuttmmq@@D<0Uv#c;RE-S| zjmDJ?!G3t4#9){iZHSK}8Tq`jR>TterZ) zvkst-jIrFmFsbU--c@V69%KBc(|w`LU)eu2f=Op)rwrna8cOkuM)w;Yr`TswyKDpv z`j28Ui0GVwF6P^gCapwaBHhlb4i#do@R-asV_faEL>hDh7-X4{Xp5Z1o3w|AlgffM z4o#>|j*@#O1uZ3L7^k+H!!_LWB9;1S<-S(;tZ0F*Ok5qg+ENlKA!qUGtTb!u2g1dx zhp3W3#T!=y!tkBsdb2o``_+9=7LBxJ__>{L-(!$(n8{I4pD5xb)Ch}hwGg&PfPmZ< zOoCqWmjGz`l>wm=>S+V31cy>UJ9&`SOQZ93%xsC00hoYz4lAqaer*sChx;vWB!9~$ znlMcPkT$HycBzq2crkgQOyVRa;$Tl@q^qRmUM<$iGnjxv5@wH+$Kc~1pKzN#{ndE_ zz2~&PN%u)3IBh1HL)dV8(M=799y+OGxb8K!UObXg=Pxk1jn~j(@sbLda?BLzxgQah zx;RZG;!j&MJz=hpLkHOY$z8ha3sTwekdsRt@bm~RI6Q3TPO7mIZ7 zHG3W(KAdFGALDS|*`{v!Pm(K2m4J46&f^d!GGZke=RSBa=X}g3Pa9_4<$Lv!!Q11f zM6X}3c%A{|A3c~cPyk5Sn-hl*<7N*YOlWx^#7zLT$n6ABh9~jW%WDR)2p=^ggB2#{ z%yg84a-WN@>( zaywENy!!l-rb%Xg{F8n9y+1nP{Lf$g?FARUKTH4_{dN9k&E*gnEKOwdTPA=Fw%FCV zFyc}x#u*Otu@D*Oa~|Mi&r8_k4B@H?WG4?R2xVsb0%8!U@!;V!0r@Gh=n9`Hv{o7CX^~osoCV83v$A9~b{?osENz2n-wpcF_38Wh^YFb8w zX-_8f2mj(7`s080h#tN>VS%(-RbkUAnnY$a>`}KlDqcfUIWP=ck#PsA1?u-c z0ukK;+N6KV{?+#dSXeuDU#sEA)gBoJdtjwx+b61cdsUla&FD?zJ@W03S~d;S(`vXy zIqE}dK+-_oH6U$jeO4Cvz1G#8wv1J6n3ZR1Kjyu?GWx1Q;w-GRx_0~fyPfa4DW7(Y zmwewaaa+jaV6x5+o?ARLjqdpZ2;9zRun{IlrIdG;BI-W>UAH^yGb19I&3B49bt6__ zVW+{NEg*v`zJjcGdK%12X^&@PVb@Eonq0QPZSP0hIQ=c_W3z3<+z0tid4DROdCgbw zTC%8H+k6g#oIJUq%rgOJBH!>C_!#g{bSjaFa&Mi>p%{9F?9KWz=1@~2SAikXr_o=n zmX{&}6B!g%saLVA^G1P#jaAUpi&8(e7~oi@Hg<2yT`kuH1+LQXFnBVkok{x*7>RdM z*E2;m3|mO7V}qe}UM(xE4_Nb$HYZ{RKDF^8@B9O_YLR9%$cq*Ipv))3FhxfB%$Cpl zK@fQeJ#{+qnFnCOIs8J(1AQ3=U_{h0A7bB$Bj`qIowE)cr3}_;X?mwd`f%Q7lO znxuOs=Ytw*(SGQw(jMVWm?S;Zp?p}{D^WkWTRY}bfd1BykkQ2qh~i+bw}M>n5=>NW zaITx;tCtkzPEMZm@X|Btsc|8o^*X3C<>5(I+KptKy zElSS%?pnx7IJ!ItsO6e~IuQ}GfP$bQI?a8G!}o%g-%(+9@);$|ChM#mLLt4u7ev|-q38LZ?qxNqT2lHjlkWu5G`*s#<$YJ>o!;(r)QnF@D8hh0w~!AMexC4-S$yuHomf z*PEoS9&%M@%8txo+Ub=5)OO)n@RKr)AfAV#g8PP~sz z&O>q4=B^>(6-kGC+YMwif9`w4I%)m3^EURU-<_i<*u%b)a4WCiy6nGJTWvg!I5--k z>Q4&^9n|#7_a`D>Kd`f9Hm6;hzd`L@wQayzN>U z%(-eSE#q8_R2Ib`e@7;=lF&}m4eQ2}l2U1#os>0luGDrMc9)!6=V?h8J!JsbI5$`? zat}3RGZ^sMSYm6&{?(-$veB(6I#FrAf;T=>Lr}HeEE@z}Q2k3~EbB4i{E@s#tx?#> zJ|t}PA#qPB#oX@M}lpYL5?^i(I#9F(m>bPaT-o9k6F{suO_-dqQ|;V7te0%z-_7xl{WF8j3r<)~3_ zQFZm?I7oVz=(G)k!TI5oj*~H7>QKWd+|c3CL{f9S=;$C00`?%cz zT`X&4_oCS~SxcA!-Fdk2d81X#6aLma#8I2-(2#p5h1=Rxq5N{~_IucZ-~7CU+*yCh zd{Rrc((~pr08T(n?5YrzMnG4X1j*&&{|m4PN_@hhnQArntl*)9L(3K<01dO~@uSn2 z&s$f7xR*)Kh0Q~+Uaq3hI;Y>yWHFhw3=)* z3l9nUw0A^qQ*qgx+r*nrOm4qRfR+T%E-w-YIh%7R@>dCLLg1nwQQiX~fy)FCpM8GC z8yhw&fK@9V6jX4Nz5@i!;!5iR9->S|nkxwap`K$!#+qMV>e;Eh31t&9s~c}1z3dDK z4~$ylEmi=Yy{3A7CIe6)Pa1*|*=u~4nn2t8O#fN9BijXfc^`y*UcR`YPyUOeNAI7} zAO7j1{BlZ*w)liH;<1k2oB^6LKR&z{hq|I5epgC8HI z^&5E{5O&O@KaE&!Wo@x4z;j^2L^V=W7T!f%(=q{ouAlVk%Vf;~t19{h-*cYbs#Q%_3NUWsAC`mNxY@>$%Xu-ajC@wGw{RO#4esm!w|#!OyCBSyMG=%Ut+c3V?v=q_SyyZc=sM;UuFKF|KZlsXL+d81Su7tG?)FkT& z+BANJIGo3Wv8g=8Ub|*v{UZ*pAGhPq!_ih^rTnN^`mc`MlG_g& zLPOo(QB6F$^WOOgrOzu2Q0Aeh+Ua3;?tADa0(y$*EV}S`oM1%8`Q?4|=|Kz}Rwkhs z$XwRXs+LpHF==GsqqV_YzT7ilG;8a0qp= zc3*fZG}4Hs&ETDjzFf;qVjZ#QX!^Y`=amSI0%omOwqXhRP$Ej~-R;z~M)2-G? z#2bshk&Xi+E@`R&N8d4D?Be#6mEH|I$ohGPKE5_tI5 zQl1U^l;@C4uT1zA_HipV0Q*)$Ia7mX2MwJ(fst8&AM}0z!IR{WI6RuNaTmsTcoxC4 zfVY9s-fIq{y{FUl)0PRfTL^1c*{8JY7+=3(@vl~>s|3|uV67}7oA}?Z1@tz+S3)1^ z_m87MCDtc#L3WueY-NXKC3&T0 z2R`QksK=e#2m%pO#W{2WmU0_I90*m%3SuXo#HlIzk(GFWInoduwjQ~{atXG=>odvi zxj_yT6i%)I==q$Uy^BGF5&qZ9#=@*>nINSp8$0^Dk-Ao^ji+lDF@x&!l|Dn)ALoRysr} z3EXe4T1yP%dlNn-&w}I4VS#PdVy$Cf7wP2}*TR&U?zew{chdaLppo@DN01H-KxV>p zyAoI49`hpT^U-b;*p5M%7eD>G3pz{h)h`8DB5b$uExr13$u;ZNi%vHu$04q4Xqby< zb;aQYI7h}I(t*^hTlLDeNrSb*B?q_^g8XFR3G3j5SBZqbLih(!#vuIAsnM8HF+SK# zrecYd+_NYQnOI+~#)k6($=J{7w^wklz zr}XTXmom3t;8=sPb;V)Jn77jhEq(ltj_Id=d_q6?$v&6F;5^)$pk6d#PLrI`z#%h| z?-}`fgicFcz$D;Tfx{Xn%Bl)O04%LAWEkDJS&v}}l)u{q?t6On*^2)5KfL6&_A8e? zbwopA1%x(XL;Jzcj_CLP_#wUb{)_=A#tidlNWNluL!@PaC|fXV`8ew7q6{d36~*yJ zK9;pb!9pK3jT^L~@uoP%e1DEah&_ja7Ylb~J$FT^dmErN-ZzS}amRJrsL1d2oVP#3 zm|BD5`#<-)ICk}eD3*OTT|Gv zuW+9jjLBs{)oWUUg-BBA3XMV#<2LqgCdO0!%ihDAuHz}^tw~x+q*$3UWITuMxA)_9 z&|4EjrH{HSn@sn^Nm{K)^i%Cbr+aVi?}oB|Dm4#XxsMuwizhr*V34W3WY1Ot8S|iz zJ?VpY(f)Rt=Lo&ZYgC7?4A~4;r=A8=LEo*uXHDqntI*cm5AxbnqKeEZAjW&HZN93x zAqoR4lolKEm26A#HUO zLrZrax|t2v;Px{|R*vy;m&fmS<=~0Ykpc-f+EAo_SV2>!sH_-KnSeywyN7`Q26QEb z*V&ryBsZ>|h-C&sNMfl?p>aBjoALUx$aF)6r(i9MzwIq1+dxpvRv)jMrh!&a71M>p zEF))+&w-~%-O{cbZrFI`;KHySw5d38vDe-yV3d9`<}HLs!Yj&ojS2J~J`k(NkOJNW zrah>X|-7eg#-;%&q=mWQ}ac^YhJ z`a42l_mXfxJ{X4tItdNAK3mhp%O!{70!Zy2%!Hh1CHbZRb3TFCy@LrIKc1(b4bQ=| zR}0x}8d0hNLb`=+2GM*mBUu1T*R*AVo;5tU>pq94@OY|K*XAZbAxCLoW9`)7plo2A zGmLldUG}DP2rSlJ|Mi3m({cyNNi`3NMFr#|J+oUxdiJ*{^|7XdlPUMZ<>`{v7rktj z=!1349?9vEqu>8mkLfS|^}F=p$NOxkfah#+LtHZwq1ThCC}z$D-3WV*+eaAZdO{jH z6PQG2srkX{Nsy8np(riJV9Q{dB%gqpo2SH9-t%Ond6_mQnv>O$UT=(WEEIh1<{ zQP!qmqXs%z<~qvZg06#!#+O<&9&#{ zwr7B6dDF$XW#O5TVg($DHgYDhY4u_%Z!?I=oPs_hrK(yA zds0i6BkvR}!-$Ig$EqP*UUc;NFR$s+w^^=^^|3j*Y#`1wNM= z%4XEDH*M?i_ds!Dk-W{m^SiiFnI(Ie$2d|1^Pv-$Jq}vtLctPGKDL^WD8HJc=d}J8 zd*HNiJ8FYPMd?!aZum6z-mS$G*DCskv_k=W#@_an6#0YI5WMsiye=xD4r6n!qK z0AU8Q5-+Ysukqtv0bO8Hhn|@mrKE=t9k4LOVw#9I&_I+~DV*=fYPb1l*2l6L#ZY3} z@e35psAadUe}gLaY@mcD zNG(+9{f|y2^yuk~KKR}q{q=u5qrdx4$y0WD&EKPML}?em2(Q&bfiqjle6Pa7ydok! zIEV27aoSNWNW`8`5b|7{uj%O6bHX{SO2YICrCJnP-XNTW(blgPM;n8;9Ns9_sp(!C z+bc(Vd+-v^S!i4*;c=0yQ&-8u*FH-^;|RcF&Cj09ryQyP;CK9ZO7FbCM~5dZhyO}S z)*=b8M)DG;Vi{v%o@nB^Rx)(c&{}&Y+}TK?n}?Jjka6o(d0~%gLX};bKcSP&h@xyx zV74SRP;{N#+YJ<@w>u=n#`=xQQXlmz&)KwIuAVRH>cxUc)lC3Z2G9W4*hJEw2M?$8 zqd$F2|NZ~@1N!lgk7VtvMQAT>qI!+Zut9kP#AiL~DfW^-3gf~A2A%}qCY>l}4GaSa z&1q$$=ltCu_rb>1=!VSsrESz!%6SaPSG9v*o*ebv!v z@(v?}n@i9*%j1yw)pbGhhlA!@*Pw0F%f)J3w6G+Z8%8itM{bair{RlvD@$Mu&tY-+q%_>(vgaStoZJTJ?Xo_EtN# z=?qdA&1Fx4&n0wdz+5S`?nTiI3gQgJyS(vkf&rexYV>rCoipC&O{sU3$>{2sz@2ht ztf23B_xg$|l(eX_L!g%PaJ`U~`x3Tj`&!+c0^(%%y+HeZ0P246OA=;AjjGYvW4o?UDI2Y}aPnm91Er zEm`))I=8`$`Z8x)EsKNPeHg?!biXxlqnA_wkO4?PaAQ`d_zdD|VN%9dWL)VN?b|T) zv1S=-`k{fhu<13k@&rTs=O{%cTF9^L?@~!g#sXx4&f2SUvk#(U$-PHL!dwT@m-mRW z9`gGtFfyRYdsfiMvKXlL{+UCBbqsF?))GGKHLo9cXJ-I=`e1DBgmlokEMrjO4q=oy z_a+%&U#0#3i(g;RumAdju1}LO{5mj6Bk!>j@y<;T8`hH=Ez1$Oe;gAOT0|3Nq{M~?27l>%I3AEQ2!ID;D|EpR(_Vh`Ac4Ph%@s3{OEelem-iF~opk5ntjF&@ z)45xLUsmpmD}sL44iNwro)t7q1Cw2pV()}NgA@n^tLvh9d>q=Wynea2azX2pFtrYBV6p79P=T*=^kFwaLS;)U?w1#Wt^y)moy1D3Z@_jq zky?CHDKKurs6GnyZP_4$dif-$N!V(w#$au2bj)4}FDIR? zc#Ofc2*q=q`tIgp#i2?FLv;+CTkYo>=*prtlAe>~O>_FL2phP(K#f7v)?&nI+~Jb#Eqhb#pf z)hs=DegIGAk{_{7zzW_ev=Ir+i}bHs3ey@I!=abRRqMh|C4iZ0k>HFe62#kT?12C_ zLP8{Y0+@pU6QPalv0{eS^x2wYhb0fLowY2exqJk?&374^?{g?%;qcX-HUW#P->rZV zW*toPqq~v$58%3=#`LHE>@oexpT9%ze=y_qbaO>Yq!U>QfCtsUeBYbLKJZ52`iA^c zJe|xMHr4u43f^RGVeL-jIy5-c3Xqf>;Zi+dbCuB@bn7QWnf5~@^~mF3V;+PUdxQd&F|~Kanwd}^V${S7S&1e zb4Ycj;;E7RwvgwHXzs>(ACl1(b%v7;0k-VDMrsaM(O@CO0f-HuL|T>p8iz`j_ZZKw zF~}Qk1i`e`o}EvTwO8pXFA@ zZfosQ;HWnd5N6(Amx*KG;mY-zW6U1Xn9HUW=ZEx}=2+ryoii9$S|8hYuetkw4uU4GD$7>ShCgzT#Y^M7S*Uq+*LO8l;Z1NHz zL#)!oTv%RmnzS!;p82LYYG7QCAavn?2)qbbpy$O&)msQLOG)5j+ubg;>!q? z^R3h|;l%?FofC#BVYQP@u&!Mtxh~2~Re`9eUOnV)CD#fUffvQQW|SyE*c+7N z{o~~II}+EtxZ^jKq_Kh_0-z`XwW3jnGDPh!+>=31`rp&{lNW4t%sGvp{oR4C>Ebt!W8#Kp^uuNY_oZ#!WhZ zEgmU1amsKi%EEZ<$$OQWLhxilaYvbfuRdMS`Rf~c@MMpHGaD5gEKCUzUp$0Uf(0GyyXPuzKc~Gs*RPz6ByY`ZGn`kSdjo; zl)``)522L(jg<8W>jdf=v8GBbOA*q57|kpS`Iv1=EIBtrn%?H%xzH$LR>sPqZemJ7 zGn`iqDYbQAtK1}cbAR^VJ*I#5Z{DSkzrW8O)C(@}5g4S(yl923HVVOu&^^nTb!iU4 z^Lug8^E&PxB?HF;%5#*xrb^$f%-=!^!}&_GjwIYj-Uo9Ia{z#G0>C^KBBnlpy6(nt z4kIf9HfLH{7jIsy=-HPmnx}CGlbH0i?BwuB2Cc;j5+bynLF~j=;BEW9FiaNyv-ruM$IkX z)9>USSs%Fo^ynzc88I=B&FN(I;Wdt&O;Kjb_<0`xEnv(FuXBf5RE$OENGTAP!QfD- zE_*`A5iB9sFWVj}MwO?q4in!sKkSJ@&SB?no@d}chpM%Ose5!L)#V)|ia`p3*9K9+ zXZnsLa&x0?Zuk5wZHikyyZg9XU! zjdERA$w2?|(<^%O`7(QG+o{&tPXDG{lBr>$G=4(RNFA;LjSXteQFiP+A(>YEiqYwO zb^2M9Xgm%ZwRE9$eJ7>gkgjw3VoAqOmh|q2a|Wxq&qK_*lZCpsLCh(%>lg~Z?F!xh z-j7i_>S#cgja@X*CrTB^3u9vK37aQ-LrC)T z1f+;I#S5;n1Xy(dVnCh0^*Z%*b=87bYbh6g)Z(H-FK@3U=Ne-Z7Ij!jo}ZVJUTPr< zQmVnpq7~12l#nbZvCdw-JiO8H;!~?m2E!uY*h<9UPI^enI_OmOW*ZU6oe8Tr z-n?s8BONO@%!?>>yh_+d8Czj6yuMs=yAF>h^#1quSt&nzxu8Yz_#ufGWiGHNnJgxG zrT|JMv_t6kt)O)u``n&xWeMD!G#ex`NtggkGG#wVUJj&G1yk`)%u8v?@eXA|H+B1i zb1`AXy6TwK^XiP4Oa=x6yfZt|Cc-T1HDq|rtfT7Hh0X;qwpwuivjwV^utWAtrN8n1 zsO?CVMQzZg!S7{L$!v4IgfI(LcBd9P%>mH7Gm5(BDky`s3maUR-WIQ1W%>*8_NrL-qN~-wem6n$g|Tf z-Se86WIK@a-1L&y7iw#^;}R9KlZN(=r*w9{q)&czMZfp^hjffE-|NVEqUNl!+|#Jx z+cwwxG8L#;q+M1P2Sfp;_-L4pg?5pWd#D7e205ynFoG<5ju?${NEk#NM@5KtHJYJ; z5uwT+rx#KkNL252o^Cq~pcUma(tVEm0LwBb{YDhSZO4DDfU%BN=#<`_Qw5wTcYTn^ zf<9=u5jBt&&xsj*!pP8U_b(#Cw=VCE5>;lJud6_tdKJ`TF5?k50D<0}ilSWzleSHV zSOY~hR@Hep1@sTWUagNg+MGWIBBcHLo?aq`cpuOJjS3c)c5E9DcgI9>qMEWli1U%| zCxFdpIrhL2Rh}#RMf*Xz$(0Bun=4*Z1zhz`2KID(<%=Retgf=75xAnVc8XrN{hex$ zlL1U4MyYLuHkQnW+KCHiRh)>hhC`mnr1?WLx{{p6h~%jNpr>!;;m zsP;(t+h<)X4BAZ`rGuK!Wo}fV{*f{PVTnw!0`9ClQpWZAGe?5thl`Gty_Ka=r6;O3 z<>!r}XLB3uTK${%<8_dI~I;f|5|gT7;^Z*us$>* z=v>w4ftKz8;I<37w?E>B5WJs|_^;{6ATAG_{T)=Xk^DPjkSuFKg%1Euuz+5dJ$kHnUEi0NUD0y7O;h_?a=9Oi%EM%&l&u^>>D|<6rWi+b=jw=GlN?oj%#MULJeDY%f zm1DVy@`f2SX1!@k>@!hG%r2X!3byq5O;VKGw7?IJCd|0`-iLei>W4=Rh_0`fOt^ti zJ1GP&9#pVk8Y?7|@_6xb5L^3GOXdxq&rGEVm0N(0S1J-i;Xi%7qQ_5XQWSI|;UrLE z*IF9muGv^`EIo(mwRG}eKY@%jEiO6^XP9v=pQnT5Q9>vR<^b3#0S*vixOX^b0Y=U# zE3ANcgdGAX!oZ2Pzxm=Oc?i3mdHs%R<+%FLS{NKZ*DWn!e58!W!8R%LT|LjaF6L#cNuF7hNNHzadTqqY2@9ecJhF$}i5Fegkr7t-Jb$keAphkr zuIYdqLh_7Ist#R~%~Xv&`7@Pgkw(gEsK8Ss<5(Z`^guDwIh7+QN^TO?8rI5kA%$}> z4vw_8PIVu-PGkp1WcZOnc8l^iKHknCI-aP%d;8&C$2bb393=-Fb8;P`5(i0W6qAr; zh9-*&&DEQj36b!(%B-TP{v(DTc_OyZGfd{!>Ew%_(KHPZSW^C8ygOFk)p zMgO+FYCdiLAXbzqg2nO#weFvt{pIR1AtWfT{YSk|oX;aIwvZJZxyy45x-|Z~Gf*keA%a z03t_%1qn;;mHaPgSf6>ohJ8V~okgc{gLkd>)4tB(+;W&fB)_k|f2?Gj%L5Y!V_;x1 zj`a8K-q@l$<@UJ({34fTP45Kf`eoUC-rxkp}M+ zs`tuR$7#S_q>>xhIAw50ZXeO**^)zc50l>1cXN3UlonH`%shGfrZCt~8kJ+jM0wp> z>Rn@B5-i5>QMz4ARYC7pO<6Gjv2MXr1Yw?FF`hZzr-Rl?M5@MhGSa?!enZDc;J%nD z%eTw#YVY_~p`LNH;f{abbrfOh23C}8B~|6_zMJMC93y|GlY!Lgq?5Mx#%C+I8cL&j&q60Pyk=26V(fJR z!2&Ezy?FZ!+_10#8zNtg6g;-8L<+RJyFA1z{Pp2IMfz-YmaeQbgArhAHJSii>|ZruCeu z-=~B`3Q>)CL^)rvbyd87l$d<5X)0mP;c-Jh_~{X!^W~=(bpC3U7T$v23JVfem)U;H zZhUxi)})N5PFOkHd8^);mgfs-`fpY6<@K&FZr(SXYSfv3ms9IyxR{LPxa{QR1M9~j4wAL$yIcNeGWT`mNueDK3Vu4M>; zwgOODcG=?y1?=j)r#CMaJPzyYZr5_F#(Vq0O;%RNdmrj4HWkfsJMJ59w9y7xJUQf$ zZwhZhE6N-^-Q)Mm*4yaV1ONW-9nzown|J9)e{eu2X%2{&!gFXW#-EF_`eIeYPlSC= zXA>SkD7cG@G+)^3nZVv^$wSGM;hFUfC10c#XQvFbndrw0&}k|Q_SJcpK;Jq2-Cw<- zSD#!{NMp_Fh#FZ?Is^TVWOLFrG)+Kro;DEFX+)WpklB7 z^D?8j7A*XdyVYpTwT@WOg3?*xak8;B9KH@KC}jf_4|R|-^Ttl>Y9-m^NGwJj7ldUL zAvwa_+v<6tf^w!+*{zD92|tT*rCeeA%Fz1#HRhbFmGJxQqr0AQzkTz!aSXtDjDyc` zY@>FUz7EXNEOjh}ZJ6c$O2dlRWe!Y&D2tueb}eCXwhxd1nd-R+OI|H;p5zN-N}2b= z#Aco!RK{tnPSif)@>R@=>@MS6jI|CW*9z;O-9eilhmk3~~a!819_k1|IlSUq0M8YK1H2rI$g6GyTNYm(749c?fpV1`la=~7}D%Bi-M4&ZCW0$M$=R{ z|E~&lw?44;)ZvTu=iBB~q&Oh&D4^7S6g|N9;atMQ+UUwGs|HGSBP!7txzGHdk4sDH z1rqa|HQlX#n5#UFma|TE(_Lu;Q5|V0vYz*o@=2b5ZV>YA)nHq~aElI@_H1YCqv*qu zPwdj3XNLNi^&}jf?%M!hd&vPgsY5r<0vSBnEg6mreWbDme@;UU>RydPNT(&gkj;`)u4=EsO3P zG-S4=5wO`E##t;&Z+i>|JLqJiI&2~4ueWVtB^G%ob(zY$;4PEi7CpH2UUi%5P>#*_ zjx;E>P+8Wkv1QWtc|t+q0eE1yEE_t6U5Xhrozxm@CoT&yp=XsMQlhAG!x^BvXh8GL^A%P~R#miaP1oe>MXF7M8yhN85 zYmUWkC)Q54G2R*6IvQ9rO#oO@ym=g)DySw>0JQKYa{I7JKoETJ{XG^2=!&a1Z<2Qe zR8Yt}oUpeK;IZT4(UHSCu`zIcv_?R}bSm=#Kx63u3}>{T1PM0Y<3}@k^4?s^I;c<= zFOg%#d&Nq&XGIxd6;0EU6oZx3Z9pGm8DhgVUQqMpy$|;2;o~VQPtU(vX5tGJZbxC- z#m$P|yjs#_0t+Y(`jbCAq7T2fPkRY0!mA1I5lC$S@ZY>%&}XX!dykeEOD&_IlXbl2 zoaT?+B1U$v*t^f$_SxHnrDx0OvJidn8r2O76PZbt`dC4Lvdv*#KmOq{{mH+2hyM7_ zPUz^QWvkxhwFqmB|D+Khgb+-C5h)=OrGDc??pg>cgprGxz}QMGh6yHm@fy0w;2Sw? zQVX!1#GE(gwI=8)J^S^`6@C88OFH{0PPEH$zjkOn_tteB+hA3ffq7vYLd(>y_l zFv4BX_Ssx4li~$Y8G+E-XpF`sT&`o1t90vy%2M^z_ZlK91=eMp81$y~1@aqV6b!sh zCR&3J4V2n_RLNtP`2}P@ks65b48drElN-(ZGvlBzToolcZx_CVxEG7G2)a6?%2%We z1t<>Z+Ac*opA%^S0JiO~wK9^!(_9w0R4CiWN2IsKp>KPXSKV&;zpXC@3S4zR+qc<3 z>XghNn3Z3~ki)6Sn@uLmxw$XXd9daOG{0ud3zCDR?80nViInkTIYPcpn3ZG6!+|`m z^aIn7qCUes80Fn-Kw*1i0WihmQRgfX4Gj!sj(OiJ2#`rpKtUXVB7UqGf?UagvpuoU z@yo4PA>}lKse&QyX(5#x9hQfdYZd2VjrAn0e%CeQqJ~8(5OGvRC6)V&dJ*$d9fL2M zGq&U8pH=Q+)aTdN=HH#ka$Do})ar1RjHp`Xs`*B00x-&cTYsT13O85dKhbE;+4sY?m(PZw?BnaA>Y6rgb<}%inB90*nO`A07{*{y_8wPx zNkc#E4=)&qY(AGr5Nm*=78Q|?7PlZec_W_%!MvlONG0{{XgmW(N<%+~e)k%#%bB0*$Ycvhf zn{3GKy*LU$u9!e1?{hF9tFBH=k|&{~v`%fiNbO3-{MR2Qy>$M79wZ%Py_S91@=%fQ z+xC{+>}WUv2LtKoKGw`#=L{E|38Es{yv+2sQquBhl{@EWF_RGaED&yMZ`oLhT*Y8z z#gA*SP(QE8vZ9U~k*0#0aPJ;r0dF9K1oxq&S0NF~WMEyk#iZ-m1@; z$t*f4QqK7|Ce55!!&zWPQbiEY2n>p9i)OEu&usM%q~1Vzr*9oW`KbSHL6NgN$LRKaRwTQgY3%lyQf+`jkvLHXG^B0YGNyl;o_jwJu)Bnn9MO2p!X&KZiV{HqzMTJA@9 zC6;Nd=jopBymy=cUjltkB}N?9Ae?`7)p4F4eg|9V>m+!-_@v`Jz(-G~sST3T<;-)* z1-+vtItMy=FiRk^XBJ6>8y+1`n5+Zd(j|lmlKdC|wh6RM=`?}5`Fui;)4fkl1f*g< z!Rv>q$}Ev6W{>g{Zx$T#YAbQuDsFs3<&5vmM|3)=LH(U%t{&3;CaD6^f6>()LMbd8_D08%!mykhiN|UA#`T$)uI}*qKleJ zM%Kcf^wuj2TgQEhaQK763BS83u|z5pjiA74#8t{)=* z_}J%tAMOT+d0*4{=8c%7B4pTME-^2}Z(_NLyjDdlx`FPnZOv`_Y&RI>Zv|-aBh+)E z;|t>GpfziA*%ekGw16fHpjt_+$3Zqyg#7O98}K3Z6qpgm++bq(E1`6u+V5$wuN3`1 zW(8it!s2fq2h3u{OQiszBRkC{JM5fm18Fn#84h$&&DFdbQw*m?$ z`;#|N=&D!~M>I_TP=z>**Qf#ItRUu>kxP9B=+Zx4!vP%`hk)oIGS*=Go~&h@xl~mf zi7JB<_jAy3(fKQ6cB0rj+5~^GGTiy5=&ak$8?QlI3ps7axeW|3Fn*1(lB<5^F{t(F zdQICpa)Zyz_+jH)-5rX|cKN8|Y~>fW9plTg92~u0KG)i;-d%bUNs0sZkR|2I*X3j)>I826cxg(znZt6`d!24C@Fwo|H^7!;H+owpbEs zp)l?tE<5kf8kNItqIFEX(z%kRv52dlp-f4$MQsx{dQohOGpMT;YEZPRr;kVGX;x>mc* zm2Iq;6zgG?#a;`(Ea;SqwoS@p?_6;;JEy}WN>HP5%ie0P^}^r;c1tLBTsvzbwalU_ zPuZO6l)65|%)Z3kQVkOWOypls$ln=2HELcPr`2LjrwRBiKR8GVH>uYN8;S`uv-0G} z6Ol1-Ngw2}japbK3#yI1yg*PoeJQYtusV1d0XpCP@GyOG$$4r$o39#f2Nck5Et}DN zug#m4uu=(wDmHO|Jk$z&^4^4=Cg68++_2&UZ|3QnRZ_CyVQJ|2q+!Zlgx~%8m)8_N zCptf!(GP!m$aMzy_opmaKn}84B+uayLP9|yZMB3N2DcL~(b2P!q;Zn&D>hOz~(Y}S+A2p30~N%lb#I(?L<5vTtjgpvJ`Ay6Q;NIYF+j$ zL*P+F=w_?LP#|@2X9y3G4F^V<7F5_SDkXU`pd<_8#YM-VA{g(pw3)n2o64mu&~jTx9hmhq%eA+67Tv_IY06$%>r+7@ zjEe4LQ8)z@Sy}@dOheH9&*ybgx5ZwZjm9f6UYZ_9uG2mn&6k3ZrF~T9v>oD2m*-}T zO5#B+qh<(Q z81h%_?d#WSVC*D%k;6fqM8uHoRT`YaP6Q>O%0>b^&k06g-6a`RZ!V#K1U76=r@kUt zi)_4aw^<@Hg9E^V*Ek~a|Dgnc~##Zuvld@TTH;A^k0GwpK_Li#n^N#lj& zc5GNu8*17*EgsBTG?R634xS26OXB7KbsD$cmv9RUOJJ`U6c=y(lix7s%HUL?Dv)cO zFKy)sNR=YuhQ-C=)yrZE*hAO4x_k zV!|P#63j=m%Jp@%zO20L6<*RC*U;E zj;dVS9A4=KM5+bL`Xz5A)tJT#otRiI;RlXp>Mey=q+iH_JW0yv4}Slc_7cc?@!2&q zenOdErY|p&=M3i@947(tpyj?>z&mo?vo{#t!RdbT7`;1B-oANK_*)hxSLu5Qny)^+ zrstpEuvZRs_kQ%VBYOB~l00}5W@-EK@6YJ@uRR0c!{e6Td3P@XfR4`2l80rP09yKe zUu)?E4f_SS6RVPh6HcZg@YY&8kL&a$z{*}2(&Fgp-}Ox=p@l24e7*egnoeKbNN%6@ z8Ep_3lsQNC^=&fyTRNPEPO+!CY+qEiD9UVoC`mC-UL|x^<|6pN{@&q^7<414%!%Jmz$ z|HFzq4edgxEy8XA__CEWbt)nVkjUM%YX-`(YOrC65NZ`qllt5WdI)0a?T`?%b z+U0jl^8h71U>rbwP%yuO3D&1)J^w0A_WyXU>s>?l?t;od=>JD0!%dim+68!Y|$|=`wjcxrB&@(fFn?H@X-z8!ZiHZ+jrUTvM1&fN*vwqIvJ zwEQgKbMp{jD4^`yJ_djynxQf71ip6OeUDtMz1nB+x3MOc{_{%C5cTtI3BqOfEQceV zmKn5Jcrwy8YR{fLTYhOYJh8rywXJ+4_wG07`C|slL+`N5V-;(aWfw5kamShtAyi)A z(K|X%qh={+ti~^vp0W8&`Xhwu?~TKanx~7O>TttInWt-1Loh5% zW^VRN@le_Kkn26w;n7s>0nQD*hZ3C-mA1d3+6$TGGL_!&O5T$@)$Z%X7$-&=QA?$K@)uTrma%|$s_P1`MO1NSQcb{e z6hfFF;BNulEa_z*d~ZUtiR^#ueDE@NztuW^-`24ix)67Ot?xj4yvI>523ULMT%$#R z29zU!D&)eLbxE(1e65v)G_h4+U2@kpwkeIJ=KxYB!0;M2QUIKQDZfRds6#jkIJAF5 z>yz}gF?))4ODz!9hQT41PC$awx@Qt5>G&d^=TY8;>y-2%7qH}hK)k!|y5qfC3;+U% z4FtPZge0>UX_y=yg}z-~uITjHlIzjg=E;^3-8TwzSrIIETBpZ7n8(d&-Lt;%txD%X_mB?3k2Qz7C2w2;OZ!L3Blo~1Z$?Y+e}vq-35UyF zB~KB&I|%3e^zTmTWwJ6sfINP$qoV})9)W>#F5bJVvz`_ST%x;>lLausHmSGEa(r4KolM+lpoa9z80E^};so%%Haj&31+flxx zlpH>9V^Qab1TzY0_$J(*y#OkBOu1H30>6BZ5En>i;e+d@#5#2QrHt+Nczzppa#^^b8x%y+!3zO$ny6$_z+;<55VE`K%##CLfT z<(zt7Agb98>;A00etEwfc@ylqvaf7^exc4UBrbAoh7+{?ut+HR-JaQSIKNlV)E1@P z=5yDPt5J3tczkyy6hdSUp0@W6XTck zy#O;QQRQgc94We)q!f_*_GQU^*2uU0touCAoEzWtIrlxr%^Ay7=au77q+$4A^t;(1Qsumzj(cQFCB9VM4S z|8|sV@41=E(lT~k4=q0KRwe%Hzgv0MZGwFGoh9&k4XbNe0T=hVc+WVW$4hu4hmdLE zV;-+ga_nMn16shCZfg>9##U{0AM3vmeU>&}`_ZXcJ8EBA47zPzx!`EbVo+#n?cK8# zUCRt;LTSvzJh~A_VHOhaL&IU7@R$JHkSb$F{Lrc*D8<LjIl)r9beK!|yN`*D?m2kggV}Zbe#PTtb-7&z21QF5e_U2ojAD zZ&iE0eJ`IXDR%$rQyktVRNV#`DAHWrOP)~>@a#VjG9Aoe(7_{I5w$Gg0gQVxcNi!c z`&J{K9P}ZmoM#DSojl!R(EaiS>gY&rF3KGuzl_JM6)Q00K!`?86tw8MtS_!Lx7HBx zPC<0K=k?V(^)b9%Yi9YJ%|Juna&cG=Bk6?M6YC2}=LoNyCD4C;v10G|1fj(NUU8If zfQNFz00--oNrBS2aT>W?1ec;XXxWg1FccUGkh{rcRnm8tX)YokAzMPae6F8KnIvnR%VYIav!%7#W7H{9ei98lTLU?5vThI-x_R6ko=GFie`)LZ zxx4RE+Vx%7N8d(<-sdox4G$hd%=v%bayrd(T!<%X(uuJgu+Ivvv6O-0r3CpEjrRHw zi?@nHt%9|yFZd?kzl;ZJva&9qp12xZm2MizB}XHDs6s)5e9l@ID!E9*h@{GsWKlI5 z8tXYJvVh!jUpH)<7eDc~G27}r8bF@WF~*6anxy?QvOLUDT5jmusXpdgumT;1dZUOT zm)|L$A0#4&>NJ=NzZH;K8rSvOXLVc2kNPTRnZff?OJzlUxEbyZ+~YFN^FkP4qim6* zu_iY*e#^d{iD_skNp?FzDxEZzdzUXAZNBy9UtjB}fOnoUcZOr`I8^@M`7FApOmUIM z-ofEYA3oa|@ahDdVat2*VnM(9`6d1OSC`2E-qX>^gi~r3h=A%k-OIs~&@usx(=c6A zL7*qX@QQsGKM}oxvPc}kW@LmoUnhIsbIjPJ%}^^VsC8g4*WVm>1$s{1>ofC@uGdXuPNu_ⅅ4ncFUOzWzJWoyL|r6vUEDWsn?` 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≻T&|9Ns0W3^c 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
      hs4rI6vJ@4?X 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

      }) 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 diff --git a/src/oldPages/about/ufstudents.png b/src/oldPages/about/ufstudents.png deleted file mode 100644 index 044b8f77d2b873cc76638a84e1c45b6285a0744a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582788 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 +?bB*-Nb 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�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±`V&)lbth3V1N`+}H` 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�N0ER&!A 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%0D36s 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%0A%~ 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�Mg&QJv7t>?uZ~;kz|2uamit;5fI;NZXyypbG^2n4`aprgYh^W- zQ7OOa)X^}qjorj^x=Y6)Yy}5$FaYW|qv(}AM`h-T*nnnJx-DxmM`iPUCNNh$^VD5! z1}ltDA-`AK;+grnkcStW&Z3kwiaO@!aanh%y$IcdHNDv5IyJh8x)sd3u*0Rj)lBxc zR(kY7w?n71bCB&P$NMMR^Z@w5ISXf$*FJro+0&8g-_e`jx=A1X^d>!cJ36 { -// const [applicants, setApplicants] = useState([]); - -// useEffect(() => { -// const fetchApplicants = async () => { -// const needsReviewApplicants = await getNeedsReviewApplicants(); - -// }; - -// fetchApplicants(); -// }, []); -// } -// const handleNavBarItemClick = (item) => { -// setSelectedItem(item); -// }; - -const CoursePage: FC = ({ params }) => { - const db = firebase.firestore(); - const auth = getAuth(); - const user = auth.currentUser; - const { - role, - loading: roleLoading, - error: roleError, - } = useUserRole(user?.uid); - - const [openApproveDialog, setOpenApproveDialog] = useState(false); - const [openDenyDialog, setOpenDenyDialog] = useState(false); - const [openReviewDialog, setOpenReviewDialog] = useState(false); - const [openRenewDialog, setOpenRenewDialog] = useState(false); - const [currentStu, setCurrentStu] = useState('null'); - const [className, setClassName] = useState('none'); - const [loading, setLoading] = useState(true); - - const [expandedStates, setExpandedStates] = useState<{ - [id: string]: boolean; - }>({}); - - const handleExpandToggle = (id: string) => { - setExpandedStates((prevExpandedStates) => ({ - ...prevExpandedStates, - [id]: !prevExpandedStates[id], - })); - }; - - const [taData, setTaData] = useState([]); - const [upiData, setupiData] = useState([]); - const [graderData, setgraderData] = useState([]); - const [selection, setSelection] = useState('Review'); - const searchParams = useSearchParams(); - const courseTitle = searchParams.get('courseTitle'); - - const toggleSelection = (select: string): void => { - setSelection(select); - setExpandedStates({}); - }; - - const getDataByPositionAndStatus = async ( - position: string, - status: string - ) => { - try { - const snapshot = await db - .collection('applications') - .where(`courses.${className}`, '>=', '') - .orderBy(`courses.${className}`) - - // .where('semesters', 'array-contains', params.semester ) - .get(); - - const snapshot2 = await db - .collection('assignments') - .where('class_codes', '==', className) - .where('position', '==', position) - .get(); - - if (selection == 'Assigned') { - return snapshot2.docs.map((doc) => ({ - id: doc.id, - uf_email: doc.data().email, - firstname: doc.data().name, - lastname: ' ', - number: '', - position: doc.data().position, - semester: params.semester, - availability: doc.data().hours, - department: doc.data().department, - degree: '', - collegestatus: '', - qualifications: '', - resume: '', - plan: '', - gpa: '', - })); - } - return snapshot.docs - .filter(function (doc) { - if (doc.data().position != position) { - return false; - } - if (doc.data().status == 'Admin_approved') { - return false; - } - if (doc.data().status == 'Admin_denied' && selection != 'Denied') { - return false; - } - if ( - doc.data().courses[className] == 'applied' && - selection == 'Review' - ) { - return true; - } else if ( - doc.data().courses[className] == 'accepted' && - selection == 'Approved' - ) { - return true; - } else if ( - doc.data().courses[className] == 'denied' && - selection == 'Denied' - ) { - return true; - } else { - return false; - } - }) - .map((doc) => ({ - id: doc.id, - uf_email: doc.data().email, - firstname: doc.data().firstname, - lastname: doc.data().lastname, - number: doc.data().phonenumber, - position: doc.data().position, - semester: params.semester, - availability: doc.data().available_hours, - department: doc.data().department, - degree: doc.data().degree, - collegestatus: doc.data().semesterstatus, - qualifications: doc.data().qualifications, - resume: doc.data().resume_link, - plan: doc.data().grad_plans, - gpa: doc.data().gpa, - })); - } catch (error) { - console.error(`Error getting ${className} applicants: `, error); - return []; - } - }; - - useEffect(() => { - const fetchData = async () => { - try { - setLoading(true); - const result = await getDataByPositionAndStatus('TA', selection); - const result2 = await getDataByPositionAndStatus('UPI', selection); - const result3 = await getDataByPositionAndStatus('Grader', selection); - setTaData(result); - setupiData(result2); - setgraderData(result3); - } catch (error) { - console.error('Error fetching data: ', error); - } finally { - setLoading(false); - } - }; - - fetchData(); - - const getQueryParams = (query: string): QueryParams => { - return query - ? (/^[?#]/.test(query) ? query.slice(1) : query) - .split('&') - .reduce((params: QueryParams, param) => { - let [key, value] = param.split('='); - params[key] = value - ? decodeURIComponent(value.replace(/\+/g, ' ')) - : ''; - return params; - }, {}) - : {}; - }; - - const params = getQueryParams(window.location.search); - const data = params.data; - - setClassName(data); - }, [selection, className]); - - const mapElement = ( - data: { - id: string; - uf_email: any; - firstname: any; - lastname: any; - number: string; - position: string; - semester: string; - availability: string; - department: string; - degree: string; - collegestatus: string; - qualifications: string; - resume: string; - plan: string; - gpa: string; - }[] - ) => { - return data.map((ta) => { - const commonProps = { - id: ta.id, - number: ta.number, - position: ta.position, - semester: ta.semester, - availability: ta.availability, - department: ta.department, - degree: ta.degree, - collegestatus: ta.collegestatus, - qualifications: ta.qualifications, - expanded: expandedStates[ta.id] || false, - onExpandToggle: () => handleExpandToggle(ta.id), - uf_email: ta.uf_email, - firstname: ta.firstname, - lastname: ta.lastname, - resume: ta.resume, - plan: ta.plan, - gpa: ta.gpa, - currentStu: currentStu, - setCurrentStu: setCurrentStu, - className: className, - }; - return ( -
      - {selection === 'Review' && ( - - )} - - {selection === 'Approved' && ( - - )} - - {selection === 'Assigned' && ( - - )} - - {selection === 'Denied' && ( - - )} -
      - ); - }); - }; - - if (roleError) { - return

      Error loading role

      ; - } - - if (!user) { - return

      Please sign in.

      ; - } - - if (role !== 'faculty' && role !== 'admin') { - return

      Loading.

      ; - } - - return ( - <> - - -
      -
      - {className.substring(0, className.indexOf(' ')) + - ': ' + - courseTitle + - className.substring( - className.indexOf(' '), - className.indexOf(')') + 1 - )} -
      -
      -
      - {/* */} -
      - - {loading && } - - {taData.length != 0 && ( -
      - TA -
      - )} - {mapElement(taData)} - - {upiData.length != 0 && ( -
      - UPI -
      - )} - {mapElement(upiData)} - - {graderData.length != 0 && ( -
      - Grader -
      - )} - {mapElement(graderData)} - - ); -}; - -export default CoursePage; diff --git a/src/oldPages/application/[className]/style.css b/src/oldPages/application/[className]/style.css deleted file mode 100644 index f4c92c1..0000000 --- a/src/oldPages/application/[className]/style.css +++ /dev/null @@ -1,24 +0,0 @@ -@font-face { - font-family: "SF Pro Display-Bold"; - src: url("../../../../fonts/SFPRODISPLAYBOLD.OTF"); -} - -.classe { - font-size: 32px; - font-family: 'SF Pro Display-Bold', Helvetica; - color: #000; - margin-left: 40px; -} -.semester { - font-size: 28px; - font-family: 'SF Pro Display', Helvetica; - color: #000; - margin-right: 29px; -} -.TAtext { - position: relative; - font-size: 36px; - font-family: 'SF Pro Display-Bold', Helvetica; - color: #000; - text-align: left; -} diff --git a/src/oldPages/application/page.tsx b/src/oldPages/application/page.tsx deleted file mode 100644 index 433975e..0000000 --- a/src/oldPages/application/page.tsx +++ /dev/null @@ -1,150 +0,0 @@ -'use client'; -import './style.css'; -import React, { useEffect, useState } from 'react'; -import { Toaster } from 'react-hot-toast'; -import SemesterSelect from './semesterselect'; -import ClassCard from '@/component/ClassCard/ClassCard'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; -import firebase from '@/firebase/firebase_config'; -import 'firebase/firestore'; -import { getAuth, onAuthStateChanged } from 'firebase/auth'; - -export default function FacultyApplication() { - const auth = getAuth(); - const currentYear = new Date().getFullYear(); - const currentMonth = new Date().getMonth(); - const currentSemester = - currentMonth < 5 ? 'Spring' : currentMonth < 8 ? 'Summer' : 'Fall'; - const [semester, setSemester] = useState(`${currentSemester} ${currentYear}`); - const [courses, setCourses] = useState<[string, any, string][]>([]); - const db = firebase.firestore(); - - const generateSemesterNames = ( - currentSem: string, - currentYr: number - ): string[] => { - const names = [`${currentSemester} ${currentYear}`]; - let semesters = currentSem; - let years = currentYr; - - for (let i = 0; i < 2; i++) { - if (semesters === 'Spring') { - semesters = 'Summer'; - } else if (semesters === 'Summer') { - semesters = 'Fall'; - } else { - semesters = 'Spring'; - years = years + 1; - } - names.push(`${semesters} ${years}`); - } - return names; - }; - const [semesterNames, setSemesterNames] = useState([]); - - useEffect(() => { - setSemesterNames(generateSemesterNames(currentSemester, currentYear)); - }, []); - - const user = auth.currentUser; - const uemail = user?.email; - - const getCourses = async ( - semester: string - ): Promise<[string, any, string][]> => { - try { - const snapshot = await db - .collection(`courses`) - .where('semester', '==', semester) - .where('professor_emails', 'array-contains', uemail) // Check if the current user is the instructor - .get(); - - const filteredDocs = snapshot.docs.filter( - (doc) => - doc.data().code !== null && - doc.data().code !== undefined && - doc.data().title !== undefined - ); - - return filteredDocs.map((doc) => [ - doc.id, - doc.data().code, - doc.data().title, - ]); - } catch (error) { - console.error(`Error getting courses:`, error); - alert('Error getting courses:'); - return []; - } - }; - - useEffect(() => { - const fetchData = async () => { - try { - const result = await getCourses(semester); - setCourses(result); - } catch (error) { - console.error('Error fetching data: ', error); - } - }; - - fetchData(); - }, [semester]); - - const mapElement = () => { - return courses.map((val) => { - return ( -
      - -
      - ); - }); - }; - return ( - <> - - -
      -
      TA/UPI/Grader Applications
      -
      -
      - Applications sorted by course: -
      -
      - -
      -
      -
      - {courses.length !== 0 && ( -
      {mapElement()}
      - )} - {courses.length === 0 && ( -
      - Currently, no courses have been assigned to you yet. Please wait until - an admin assigns your courses. Once your courses are assigned, - you'll be able to access applicants for those classes. -
      - )} - - ); -} diff --git a/src/oldPages/application/semesterselect.tsx b/src/oldPages/application/semesterselect.tsx deleted file mode 100644 index b0dc2e0..0000000 --- a/src/oldPages/application/semesterselect.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import * as React from 'react'; -import OutlinedInput from '@mui/material/OutlinedInput'; -import MenuItem from '@mui/material/MenuItem'; -import FormControl from '@mui/material/FormControl'; -import Select, { SelectChangeEvent } from '@mui/material/Select'; - -const ITEM_HEIGHT = 48; -const ITEM_PADDING_TOP = 8; -const MenuProps = { - PaperProps: { - style: { - maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP, - width: 250, - borderColor: '#000000', // Add border color - border: '1px solid #000000', - borderRadius: '20px', - }, - }, -}; - -interface PageProps { - semester: string; - setSemester: (value: string) => void; - names: string[]; -} - -const SemesterSelect: React.FunctionComponent = ({ - semester, - setSemester, - names, -}) => { - const [personName, setPersonName] = React.useState(''); - const handleChange = (event: SelectChangeEvent) => { - setPersonName(event.target.value as string); - }; - - return ( -
      - - - -
      - ); -}; - -export default SemesterSelect; diff --git a/src/oldPages/application/style.css b/src/oldPages/application/style.css deleted file mode 100644 index 8609346..0000000 --- a/src/oldPages/application/style.css +++ /dev/null @@ -1,39 +0,0 @@ -.text-wrapper-11 { - position: relative; - font-size: 36px; - font-weight: 500; - font-family: 'SF Pro Display-Medium', Helvetica; - color: #000; - text-align: left; - -} - - - .courses{ - font-size: 36px; - padding-top: 34px; -} - -.ta{ - font-size: 40px; -} - -.page-container { - display: flex; - flex-direction: column; - padding-left: 27px; - padding-bottom: 90px; -} - - -.class-cards-container { - display: flex; - justify-content: center; - align-items: center; - height: 100%; - - -} -.class{ - margin:22px -} \ No newline at end of file diff --git a/src/oldPages/dashboard/page.tsx b/src/oldPages/dashboard/page.tsx deleted file mode 100644 index cec1bc4..0000000 --- a/src/oldPages/dashboard/page.tsx +++ /dev/null @@ -1,39 +0,0 @@ -'use client'; -import React from 'react'; -import { useAuth } from '@/firebase/auth/auth_context'; -import GetUserRole from '@/firebase/util/GetUserRole'; -import BottomMenu from '@/component/BottomMenu/BottomMenu'; - -// dashboard components -import DashboardWelcome from '@/component/Dashboard/Welcome/Welcome'; -import Profile from '@/component/Dashboard/Profile/Profile'; -import Users from '@/component/Dashboard/Users/Users'; -import Courses from '@/component/Dashboard/Courses/Courses'; -import Applications from '@/component/Dashboard/Applications/Applications'; -import Application from '@/component/Dashboard/Applications/Application'; -import ShowApplicationStatus from '@/component/Dashboard/Applications/AppStatus'; -import { Toaster } from 'react-hot-toast'; -import { TopNavBarSigned } from '@/component/TopNavBarSigned/TopNavBarSigned'; - -// user information reference: https://firebase.google.com/docs/auth/web/manage-users - -export default function Dashboard() { - const { user } = useAuth(); - const [role, loading, error] = GetUserRole(user?.uid); - const [activeComponent, setActiveComponent] = React.useState('welcome'); - - const handleComponentChange = (componentName: string) => { - setActiveComponent(componentName); - }; - - return ( - <> - - - - ); -} diff --git a/src/oldPages/signup/page.tsx b/src/oldPages/signup/page.tsx deleted file mode 100644 index 8a0c35c..0000000 --- a/src/oldPages/signup/page.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import toast, { Toaster } from 'react-hot-toast'; -import { EceLogoPng } from '@/component/EceLogoPng/EceLogoPng'; - -import { TopNavBar } from '@/component/TopNavBar/TopNavBar'; -import './style.css'; -import Link from 'next/link'; -import { SignUpCard } from '@/component/SignUpCard/SignUpCard'; -export default function SignUpPage() { - return ( - <> - -
      -
      -
      - Color block frame -
      -

      - - Connecting Bright Minds for a Brighter Future -
      -
      - -
      -
      -

      -
      -
      Sign in to
      -
      Course Connect
      -
      -
      -
      -

      Already have an account?

      -

      - You can - - {' '} - {'Login here!'}{' '} - -

      -
      - - -
      - - -
      -
      - - ); -} - -export const metadata = { - title: 'Course Connect', - description: 'Hiring management for students, faculty, and administrators.', -}; diff --git a/src/oldPages/signup/style.css b/src/oldPages/signup/style.css deleted file mode 100644 index 0101475..0000000 --- a/src/oldPages/signup/style.css +++ /dev/null @@ -1,248 +0,0 @@ -.login-low-fi { - background-color: #ffffff; - display: flex; - flex-direction: row; - justify-content: center; - overflow-x: hidden; -} - -.login-low-fi .log-in-card-instance { - height: 799px; - position: absolute; - width: 543px; - left: 55% !important; - position: absolute !important; - top: 150px !important; -} - - -.login-low-fi .div-2 { - background-color: #ffffff; - height: 100%; - position: absolute; - width: 100%; - overflow-x: hidden; -} - -.login-low-fi .overlap-2 { - height: 777px; - left: 0; - position: absolute; - top: 0; - width: 100%; -} - -.login-low-fi .color-block-frame { - height: 458px; - left: 0; - position: relative; - top: 0; - width: 100%; -} - -.login-low-fi .sign-in-title { - height: 154px; - left: 73px; - position: absolute; - top: 141px; - width: 100%; -} - -.login-low-fi .connecting-bright { - color: #ffffff; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 20px; - font-weight: 400; - left: 7px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 124px; - width: 100%; -} - -.login-low-fi .text-wrapper-8 { - color: #ffffff; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 20px; - font-weight: 400; - letter-spacing: 0; -} - -.login-low-fi .text-wrapper-9 { - font-family: "Poppins", Helvetica; - font-weight: 300; -} - -.login-low-fi .sign-in-to { - height: 120px; - left: 0; - position: absolute; - top: 0; - width: 553px; -} - -.login-low-fi .text-wrapper-10 { - color: #ffffff; - font-family: "SF Pro Display-Medium", Helvetica; - font-size: 40px; - font-weight: 500; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - white-space: nowrap; -} - -.login-low-fi .text-wrapper-11 { - color: #ffffff; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 60px; - font-weight: 700; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 48px; - width: 549px; -} - -.login-low-fi .register-here-text { - height: 54px; - left: 80px; - position: absolute; - top: 351px; - width: 312px; - -} - -.login-low-fi .p { - color: #ffffff; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 20px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; - width: 308px; -} - -.login-low-fi .you-can-register { - color: #ffffff; - font-family: "SF Pro Display-Regular", Helvetica; - font-size: 20px; - font-weight: 400; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 30px; - width: 308px; -} - -.login-low-fi .text-wrapper-12 { - font-family: "SF Pro Display-Bold", Helvetica; - font-weight: 300; - text-decoration: underline; - color: white; - -} - -.login-low-fi .line { - height: 1px; - left: 150px; - object-fit: cover; - position: absolute; - top: 402px; - width: 126px; -} - - -.login-low-fi .overlap-wrapper { - all: unset; - box-sizing: border-box; - height: 37px; - left: 1265px; - position: absolute; - top: 27px; - width: 137px; -} - -.login-low-fi .overlap-3 { - background-color: #ffffff; - border-radius: 10px; - height: 37px; - position: relative; - width: 135px; -} - -.login-low-fi .text-wrapper-13 { - color: #000000; - font-family: "SF Pro Display-Bold", Helvetica; - font-size: 18px; - font-weight: 700; - left: 11px; - letter-spacing: 0; - line-height: normal; - position: absolute; - text-align: center; - top: 9px; - white-space: nowrap; - width: 114px; -} - -.login-low-fi .ece-logo-png-2 { - left: 27px !important; - position: absolute !important; - top: 23px !important; -} - -.login-low-fi .top-nav-bar-instance { - right: 70px !important; - position: absolute !important; - top: 27px !important; -} - -.login-low-fi .design-component-instance-node { - left: 10px !important; - width: 105px !important; -} - -.login-low-fi .top-nav-bar-2 { - width: 100% !important; -} - -.login-low-fi .top-nav-bar-3 { - width: 100% !important; -} - -@media (max-width: 570px) { - .login-low-fi .log-in-card-instance { - position: relative !important; - left: 0 !important; - top: 0 !important; - margin: 20px auto; - } - .login-low-fi .connecting-bright{ - display:none; - } - .ece-logo-png-2 { - display: none; - } - .login-low-fi .sign-in-title{ - left:40px; - } - .login-low-fi .register-here-text{ - left: 40px; - } - .login-low-fi .top-nav-bar-instance{ - right: 50px; - } - .login-low-fi .sign-in-title .text-wrapper-10, - .login-low-fi .sign-in-title .text-wrapper-11{ - width: 80%; - } -} diff --git a/src/services/firebase.ts b/src/services/firebase.ts new file mode 100644 index 0000000..da019c5 --- /dev/null +++ b/src/services/firebase.ts @@ -0,0 +1,13 @@ +/** + * Firebase service singleton + * Provides centralized access to Firebase services + */ +import firebase from '@/firebase/firebase_config'; + +// Export singleton instances +export const db = firebase.firestore(); +export const storage = firebase.storage(); +export const auth = firebase.auth(); + +// Export firebase instance for backward compatibility +export default firebase; diff --git a/src/services/researchService.ts b/src/services/researchService.ts new file mode 100644 index 0000000..ea23eea --- /dev/null +++ b/src/services/researchService.ts @@ -0,0 +1,189 @@ +/** + * Research service for Firebase operations + * Centralized CRUD operations for research listings and applications + */ +import { db } from './firebase'; +import { + ResearchListing, + normalizeResearchListing, +} from '@/app/models/ResearchModel'; + +export interface ResearchFilters { + department?: string; + studentLevel?: string; + termsAvailable?: string; +} + +/** + * Fetch research listings with optional filters + * Uses optimized query pattern to avoid N+1 problem + */ +export async function fetchResearchListings( + filters: ResearchFilters = {} +): Promise { + try { + // Build query with filters + let query = db.collection('research-listings'); + + if (filters.department) { + query = query.where('department', '==', filters.department) as any; + } + + if (filters.studentLevel) { + query = query.where('student_level', '==', filters.studentLevel) as any; + } + + // Fetch listings + const snapshot = await query.get(); + const listingIds = snapshot.docs.map((doc) => doc.id); + + // Fetch all applications in a single query using collectionGroup + const applicationsMap = new Map(); + + if (listingIds.length > 0) { + const allApplicationsSnap = await db + .collectionGroup('applications') + .get(); + + // Group applications by their parent listing ID + allApplicationsSnap.docs.forEach((appDoc) => { + const parentId = appDoc.ref.parent.parent?.id; + if (parentId && listingIds.includes(parentId)) { + if (!applicationsMap.has(parentId)) { + applicationsMap.set(parentId, []); + } + applicationsMap.get(parentId)!.push({ + id: appDoc.id, + ...appDoc.data(), + }); + } + }); + } + + // Map listings with their applications + const listings: ResearchListing[] = snapshot.docs.map((doc) => { + const apps = applicationsMap.get(doc.id) || []; + return normalizeResearchListing({ + docID: doc.id, + applications: apps, + ...doc.data(), + }); + }); + + return listings; + } catch (error) { + console.error('Error fetching research listings:', error); + throw new Error('Failed to fetch research listings'); + } +} + +/** + * Create a new research listing + */ +export async function createResearchListing( + formData: Partial +): Promise { + try { + const docRef = await db.collection('research-listings').add(formData); + return docRef.id; + } catch (error) { + console.error('Error creating research listing:', error); + throw new Error('Failed to create research listing'); + } +} + +/** + * Update an existing research listing + */ +export async function updateResearchListing( + listingId: string, + updates: Partial +): Promise { + try { + await db.collection('research-listings').doc(listingId).update(updates); + } catch (error) { + console.error('Error updating research listing:', error); + throw new Error('Failed to update research listing'); + } +} + +/** + * Delete a research listing + */ +export async function deleteResearchListing(listingId: string): Promise { + try { + // Delete the listing document + await db.collection('research-listings').doc(listingId).delete(); + + // Note: Applications subcollection will need to be deleted separately + // if you want cascade delete behavior + } catch (error) { + console.error('Error deleting research listing:', error); + throw new Error('Failed to delete research listing'); + } +} + +/** + * Fetch applications for a specific listing + */ +export async function fetchApplicationsForListing( + listingId: string +): Promise { + try { + const snapshot = await db + .collection('research-listings') + .doc(listingId) + .collection('applications') + .get(); + + return snapshot.docs.map((doc) => ({ + id: doc.id, + ...doc.data(), + })); + } catch (error) { + console.error('Error fetching applications:', error); + throw new Error('Failed to fetch applications'); + } +} + +/** + * Submit an application to a research listing + */ +export async function submitApplication( + listingId: string, + applicationData: any +): Promise { + try { + const docRef = await db + .collection('research-listings') + .doc(listingId) + .collection('applications') + .add(applicationData); + + return docRef.id; + } catch (error) { + console.error('Error submitting application:', error); + throw new Error('Failed to submit application'); + } +} + +/** + * Update application status + */ +export async function updateApplicationStatus( + listingId: string, + applicationId: string, + status: 'Pending' | 'Approved' | 'Denied' +): Promise { + try { + await db + .collection('research-listings') + .doc(listingId) + .collection('applications') + .doc(applicationId) + .update({ app_status: status }); + } catch (error) { + console.error('Error updating application status:', error); + throw new Error('Failed to update application status'); + } +} diff --git a/src/types/research.ts b/src/types/research.ts new file mode 100644 index 0000000..10474bb --- /dev/null +++ b/src/types/research.ts @@ -0,0 +1,126 @@ +/** + * TypeScript interfaces for Research feature + */ + +/** + * Research application submitted by students + */ +export interface ResearchApplication { + id: string; + student_id: string; + student_name?: string; + student_email?: string; + app_status: 'Pending' | 'Approved' | 'Denied'; + gpa?: string; + major?: string; + year?: string; + why_interested?: string; + relevant_experience?: string; + resume_url?: string; + transcript_url?: string; + created_at?: string | Date; + updated_at?: string | Date; +} + +/** + * Filter state for research listings + */ +export interface ResearchFilters { + department?: string; + studentLevel?: string; + termsAvailable?: string; + searchText?: string; +} + +/** + * Form data for creating/editing research listings + */ +export interface ResearchFormData { + project_title: string; + project_description: string; + department: string; + image_url: string; + nature_of_job: string; + compensation: string; + faculty_contact: string; + phd_student_contact: string; + application_deadline: string; + hours_per_week: string; + prerequisites: string; + terms_available: string; + student_level: string; + application_requirements: string; + website: string; +} + +/** + * Props for StudentResearchView component + */ +export interface StudentResearchViewProps { + researchListings: import('@/app/models/ResearchModel').ResearchListing[]; + role: string; + uid: string; + department: string; + setDepartment: (dept: string) => void; + studentLevel: string; + setStudentLevel: (level: string) => void; + getResearchListings: () => void; + setResearchListings: ( + listings: import('@/app/models/ResearchModel').ResearchListing[] + ) => void; + termsAvailable: string; + setTermsAvailable: (terms: string) => void; +} + +/** + * Props for FacultyResearchView component + */ +export interface FacultyResearchViewProps { + researchListings: import('@/app/models/ResearchModel').ResearchListing[]; + role: string; + uid: string; + getResearchListings: () => void; + postNewResearchPosition: (formData: ResearchFormData) => Promise; +} + +/** + * Props for ProjectCard component + */ +export interface ProjectCardProps { + listing: import('@/app/models/ResearchModel').ResearchListing; + onEdit?: ( + listing: import('@/app/models/ResearchModel').ResearchListing + ) => void; + onShowApplications?: ( + listing: import('@/app/models/ResearchModel').ResearchListing + ) => void; + onDelete?: (listingId: string) => void; +} + +/** + * Props for ApplicationCard component + */ +export interface ApplicationCardProps { + listing: import('@/app/models/ResearchModel').ResearchListing; + uid: string; + onApplySuccess?: () => void; +} + +/** + * Props for Modal components + */ +export interface ResearchModalProps { + open: boolean; + onClose: () => void; + onSubmitSuccess: () => void; + firebaseQuery: (formData: ResearchFormData) => Promise; + uid: string; +} + +export interface EditResearchModalProps { + open: boolean; + onClose: () => void; + onSubmitSuccess: () => void; + listingData: import('@/app/models/ResearchModel').ResearchListing; + uid: string; +} diff --git a/src/utils/researchFilters.ts b/src/utils/researchFilters.ts new file mode 100644 index 0000000..3ec4a9b --- /dev/null +++ b/src/utils/researchFilters.ts @@ -0,0 +1,136 @@ +/** + * Filter utilities for Research listings + * Extracted from StudentResearchView for reusability and testing + */ +import { ResearchListing } from '@/app/models/ResearchModel'; +import { isDepartmentMatch } from '@/constants/research'; + +/** + * Filter research listings by search text + * Searches in project title, description, and faculty contact + */ +export function filterBySearchText( + listings: ResearchListing[], + searchText: string +): ResearchListing[] { + if (!searchText.trim()) return listings; + + const searchLower = searchText.toLowerCase().trim(); + + return listings.filter((listing) => { + const title = (listing.project_title || '').toLowerCase(); + const description = (listing.project_description || '').toLowerCase(); + const faculty = (listing.faculty_contact || '').toLowerCase(); + + return ( + title.includes(searchLower) || + description.includes(searchLower) || + faculty.includes(searchLower) + ); + }); +} + +/** + * Filter research listings by department + * Handles department name variations + */ +export function filterByDepartment( + listings: ResearchListing[], + department: string +): ResearchListing[] { + if (!department.trim()) return listings; + + return listings.filter((listing) => { + return isDepartmentMatch(listing.department, department); + }); +} + +/** + * Filter research listings by terms available + */ +export function filterByTerms( + listings: ResearchListing[], + terms: string +): ResearchListing[] { + if (!terms.trim()) return listings; + + const termsLower = terms.toLowerCase().trim(); + + return listings.filter((listing) => { + const listingTerms = (listing.terms_available || '').toLowerCase(); + return listingTerms.includes(termsLower); + }); +} + +/** + * Filter research listings by student level + */ +export function filterByStudentLevel( + listings: ResearchListing[], + studentLevel: string +): ResearchListing[] { + if (!studentLevel.trim()) return listings; + + const levelLower = studentLevel.toLowerCase().trim(); + + return listings.filter((listing) => { + const listingLevel = (listing.student_level || '').toLowerCase(); + return listingLevel.includes(levelLower); + }); +} + +/** + * Apply all filters to research listings + * This is the main entry point for filtering + */ +export function applyAllFilters( + listings: ResearchListing[], + filters: { + searchText?: string; + department?: string; + terms?: string; + studentLevel?: string; + } +): ResearchListing[] { + let filtered = listings; + + if (filters.searchText) { + filtered = filterBySearchText(filtered, filters.searchText); + } + + if (filters.department) { + filtered = filterByDepartment(filtered, filters.department); + } + + if (filters.terms) { + filtered = filterByTerms(filtered, filters.terms); + } + + if (filters.studentLevel) { + filtered = filterByStudentLevel(filtered, filters.studentLevel); + } + + return filtered; +} + +/** + * Sort research listings by application deadline (earliest first) + */ +export function sortByDeadline(listings: ResearchListing[]): ResearchListing[] { + return [...listings].sort((a, b) => { + const dateA = new Date(a.application_deadline).getTime(); + const dateB = new Date(b.application_deadline).getTime(); + return dateA - dateB; + }); +} + +/** + * Sort research listings by creation date (newest first) + */ +export function sortByNewest(listings: ResearchListing[]): ResearchListing[] { + return [...listings].sort((a, b) => { + // Assuming docID contains timestamp info or we have a created_at field + // For now, just maintain original order + return 0; + }); +} From ecf97c2c1ef08731702fd5129582ca05ee87964f Mon Sep 17 00:00:00 2001 From: ThomasOli Date: Sun, 8 Feb 2026 12:01:07 -0500 Subject: [PATCH 4/4] fix --- src/app/admin-applications/page.tsx | 3 +- src/app/faculty/page.tsx | 2 +- src/app/not-found.tsx | 2 +- src/app/profile/temp.tsx | 2 +- src/app/users/page.tsx | 4 +- src/component/ApplicantCard/ApplicantCard.jsx | 17 + src/component/ApplicantCard/style.css | 78 + .../ApplicantCardApprove.tsx | 350 +++++ src/component/ApplicantCardApprove/style.css | 91 ++ .../ApplicantCardApprovedeny.tsx | 510 +++++++ .../ApplicantCardApprovedeny/style.css | 117 ++ .../ApplicantCardAssign.tsx | 731 +++++++++ .../handleSendRenewEmail.ts | 38 + src/component/ApplicantCardAssign/style.css | 91 ++ .../ApplicantCardDeny/ApplicantCardDeny.tsx | 348 +++++ src/component/ApplicantCardDeny/style.css | 80 + .../ApplicationStatusCard.jsx | 50 + src/component/ApplicationStatusCard/style.css | 140 ++ .../ApplicationStatusCardAccepted.jsx | 54 + .../ApplicationStatusCardAccepted/style.css | 156 ++ .../ApplicationStatusCardDenied.jsx | 50 + .../ApplicationStatusCardDenied/style.css | 154 ++ .../ApplicationsCard/ApplicationsCard.jsx | 21 + src/component/ApplicationsCard/style.css | 42 + src/component/Bio/Bio.jsx | 27 + src/component/Bio/style.module.css | 66 + src/component/BottomMenu/BottomMenu.tsx | 230 +++ src/component/Breadcrumb/Breadcrumb.jsx | 39 + src/component/Card/Card.jsx | 35 + src/component/Card/style.css | 55 + src/component/ClassCard/ClassCard.jsx | 24 + src/component/ClassCard/style.css | 23 + src/component/CourseCard/CourseCard.jsx | 16 + src/component/CourseCard/style.css | 39 + src/component/CourseDetails/CourseDetails.tsx | 317 ++++ src/component/CourseDetails/style.css | 43 + src/component/CourseNavBar/CourseNavBar.jsx | 71 + src/component/CourseNavBar/style.css | 46 + src/component/CourseUnitInfo/CourseUnit.tsx | 93 ++ .../Dashboard/AdminCourses/Course.tsx | 10 + .../Dashboard/AdminCourses/CourseGrid.tsx | 482 ++++++ .../Dashboard/AdminCourses/Courses.tsx | 23 + .../Dashboard/Applications/AppStatus.tsx | 45 + .../Dashboard/Applications/AppView.tsx | 228 +++ .../Dashboard/Applications/Application.tsx | 456 ++++++ .../Applications/ApplicationDialog.tsx | 32 + .../Applications/ApplicationGrid.tsx | 1306 +++++++++++++++++ .../Dashboard/Applications/Applications.tsx | 38 + .../Dashboard/Applications/AssignView.tsx | 773 ++++++++++ .../Dashboard/Applications/AssignViewOnly.tsx | 595 ++++++++ .../Dashboard/Applications/AssignmentGrid.tsx | 1005 +++++++++++++ .../Dashboard/Applications/style.css | 123 ++ src/component/Dashboard/Courses/Course.tsx | 7 + .../Dashboard/Courses/CourseGrid.tsx | 520 +++++++ src/component/Dashboard/Courses/Courses.tsx | 18 + .../Dashboard/Courses/Create_Course.tsx | 319 ++++ .../Dashboard/Profile/DeleteUserButton.tsx | 92 ++ src/component/Dashboard/Profile/Profile.tsx | 26 + .../Dashboard/Users/ApprovalGrid.tsx | 443 ++++++ .../Dashboard/Users/FacultyStats.tsx | 19 + src/component/Dashboard/Users/StatsGrid.tsx | 404 +++++ src/component/Dashboard/Users/User.tsx | 10 + src/component/Dashboard/Users/UserGrid.tsx | 498 +++++++ src/component/Dashboard/Users/Users.tsx | 22 + src/component/Dashboard/Welcome/Welcome.tsx | 345 +++++ src/component/Dashboard/Welcome/style.css | 145 ++ .../Dashboard/Welcome/style.module.css | 128 ++ src/component/DashboardCard/DashboardCard.jsx | 19 + src/component/DashboardCard/style.css | 43 + src/component/EceLogoPng/CCLogo.svg | 9 + src/component/EceLogoPng/EceLogoPng.jsx | 5 + src/component/EceLogoPng/style.css | 11 + src/component/Enrollment/Enrollment.tsx | 93 ++ .../FacultyDetails/FacultyDetails.tsx | 230 +++ .../FormUtil/AddtlSemesterPrompt.tsx | 85 ++ .../FormUtil/AvailabilityCheckbox.tsx | 70 + src/component/FormUtil/DegreeSelect.tsx | 34 + src/component/FormUtil/DepartmentSelect.tsx | 47 + src/component/FormUtil/GPASelect.tsx | 51 + src/component/FormUtil/HourSelect.tsx | 37 + src/component/FormUtil/NationalitySelect.tsx | 246 ++++ src/component/FormUtil/PositionSelect.tsx | 36 + src/component/FormUtil/ProficiencySelect.tsx | 42 + src/component/FormUtil/RoleSelect.tsx | 33 + src/component/FormUtil/SemesterCheckbox.tsx | 59 + .../FormUtil/SemesterStatusSelect.tsx | 47 + src/component/Header/Header.module.scss | 11 + src/component/Header/Header.tsx | 177 +++ src/component/Header/UserIcon.jsx | 79 + src/component/HeaderCard/HeaderCard.tsx | 28 + src/component/HeaderCard/style.css | 60 + src/component/JobCard/JobCard.tsx | 33 + src/component/JobCard/style.css | 0 src/component/LogInCard/LogInCard.tsx | 276 ++++ src/component/LogInCard/style.css | 202 +++ src/component/Profile/Profile.jsx | 21 + src/component/Profile/style.css | 37 + .../SemesterSelection/SemesterSelection.tsx | 77 + src/component/SemesterSelection/style.css | 0 .../SemesterTimeline/SemesterTimeline.tsx | 35 + src/component/SemesterTimeline/style.css | 61 + src/component/SignIn/SignInForm.tsx | 116 ++ src/component/SignIn/style.css | 149 ++ src/component/SignIn/styleguide.css | 4 + src/component/SignOut/SignOutButton.tsx | 17 + src/component/SignUp/SignUpForm.tsx | 264 ++++ src/component/SignUpCard/SignUpCard.tsx | 440 ++++++ src/component/SignUpCard/style.css | 1 + src/component/SignUpCard/style.module.css | 448 ++++++ .../SmallClassCard/SmallClassCard.jsx | 24 + src/component/SmallClassCard/style.css | 23 + src/component/SmallHeader/SmallHeader.tsx | 16 + src/component/SmallHeader/style.css | 37 + src/component/Spinner/Spinner.tsx | 12 + src/component/Spinner/style.css | 22 + .../ThemeInteraction/ThemeToggleButton.tsx | 32 + src/component/Timeline/Timeline.tsx | 44 + src/component/Timeline/style.css | 60 + src/component/TopNavBar/TopNavBar.jsx | 20 + src/component/TopNavBar/style.css | 56 + .../TopNavBarSigned/TopNavBarSigned.jsx | 125 ++ src/component/TopNavBarSigned/style.css | 70 + src/component/UnderDevelopment.tsx | 27 + .../VerifyEmailCard/VerifyEmailCard.tsx | 73 + src/component/VerifyEmailCard/style.css | 203 +++ .../LoginLowFiWireframe.module.css | 291 ++++ .../LoginScreen/LoginLowFiWireframe.tsx | 102 ++ .../LoginScreen/color-block-frame.svg | 123 ++ .../Wireframes/LoginScreen/ece-logo.png | Bin 0 -> 3746 bytes src/components/TopBar/TopBar.tsx | 2 +- src/hooks/old/useFetchTempPastCourses.ts | 89 ++ src/hooks/old/usePastCourses.ts | 89 ++ 132 files changed, 17632 insertions(+), 8 deletions(-) create mode 100644 src/component/ApplicantCard/ApplicantCard.jsx create mode 100644 src/component/ApplicantCard/style.css create mode 100644 src/component/ApplicantCardApprove/ApplicantCardApprove.tsx create mode 100644 src/component/ApplicantCardApprove/style.css create mode 100644 src/component/ApplicantCardApprovedeny/ApplicantCardApprovedeny.tsx create mode 100644 src/component/ApplicantCardApprovedeny/style.css create mode 100644 src/component/ApplicantCardAssign/ApplicantCardAssign.tsx create mode 100644 src/component/ApplicantCardAssign/handleSendRenewEmail.ts create mode 100644 src/component/ApplicantCardAssign/style.css create mode 100644 src/component/ApplicantCardDeny/ApplicantCardDeny.tsx create mode 100644 src/component/ApplicantCardDeny/style.css create mode 100644 src/component/ApplicationStatusCard/ApplicationStatusCard.jsx create mode 100644 src/component/ApplicationStatusCard/style.css create mode 100644 src/component/ApplicationStatusCardAccepted/ApplicationStatusCardAccepted.jsx create mode 100644 src/component/ApplicationStatusCardAccepted/style.css create mode 100644 src/component/ApplicationStatusCardDenied/ApplicationStatusCardDenied.jsx create mode 100644 src/component/ApplicationStatusCardDenied/style.css create mode 100644 src/component/ApplicationsCard/ApplicationsCard.jsx create mode 100644 src/component/ApplicationsCard/style.css create mode 100644 src/component/Bio/Bio.jsx create mode 100644 src/component/Bio/style.module.css create mode 100644 src/component/BottomMenu/BottomMenu.tsx create mode 100644 src/component/Breadcrumb/Breadcrumb.jsx create mode 100644 src/component/Card/Card.jsx create mode 100644 src/component/Card/style.css create mode 100644 src/component/ClassCard/ClassCard.jsx create mode 100644 src/component/ClassCard/style.css create mode 100644 src/component/CourseCard/CourseCard.jsx create mode 100644 src/component/CourseCard/style.css create mode 100644 src/component/CourseDetails/CourseDetails.tsx create mode 100644 src/component/CourseDetails/style.css create mode 100644 src/component/CourseNavBar/CourseNavBar.jsx create mode 100644 src/component/CourseNavBar/style.css create mode 100644 src/component/CourseUnitInfo/CourseUnit.tsx create mode 100644 src/component/Dashboard/AdminCourses/Course.tsx create mode 100644 src/component/Dashboard/AdminCourses/CourseGrid.tsx create mode 100644 src/component/Dashboard/AdminCourses/Courses.tsx create mode 100644 src/component/Dashboard/Applications/AppStatus.tsx create mode 100644 src/component/Dashboard/Applications/AppView.tsx create mode 100644 src/component/Dashboard/Applications/Application.tsx create mode 100644 src/component/Dashboard/Applications/ApplicationDialog.tsx create mode 100644 src/component/Dashboard/Applications/ApplicationGrid.tsx create mode 100644 src/component/Dashboard/Applications/Applications.tsx create mode 100644 src/component/Dashboard/Applications/AssignView.tsx create mode 100644 src/component/Dashboard/Applications/AssignViewOnly.tsx create mode 100644 src/component/Dashboard/Applications/AssignmentGrid.tsx create mode 100644 src/component/Dashboard/Applications/style.css create mode 100644 src/component/Dashboard/Courses/Course.tsx create mode 100644 src/component/Dashboard/Courses/CourseGrid.tsx create mode 100644 src/component/Dashboard/Courses/Courses.tsx create mode 100644 src/component/Dashboard/Courses/Create_Course.tsx create mode 100644 src/component/Dashboard/Profile/DeleteUserButton.tsx create mode 100644 src/component/Dashboard/Profile/Profile.tsx create mode 100644 src/component/Dashboard/Users/ApprovalGrid.tsx create mode 100644 src/component/Dashboard/Users/FacultyStats.tsx create mode 100644 src/component/Dashboard/Users/StatsGrid.tsx create mode 100644 src/component/Dashboard/Users/User.tsx create mode 100644 src/component/Dashboard/Users/UserGrid.tsx create mode 100644 src/component/Dashboard/Users/Users.tsx create mode 100644 src/component/Dashboard/Welcome/Welcome.tsx create mode 100644 src/component/Dashboard/Welcome/style.css create mode 100644 src/component/Dashboard/Welcome/style.module.css create mode 100644 src/component/DashboardCard/DashboardCard.jsx create mode 100644 src/component/DashboardCard/style.css create mode 100644 src/component/EceLogoPng/CCLogo.svg create mode 100644 src/component/EceLogoPng/EceLogoPng.jsx create mode 100644 src/component/EceLogoPng/style.css create mode 100644 src/component/Enrollment/Enrollment.tsx create mode 100644 src/component/FacultyDetails/FacultyDetails.tsx create mode 100644 src/component/FormUtil/AddtlSemesterPrompt.tsx create mode 100644 src/component/FormUtil/AvailabilityCheckbox.tsx create mode 100644 src/component/FormUtil/DegreeSelect.tsx create mode 100644 src/component/FormUtil/DepartmentSelect.tsx create mode 100644 src/component/FormUtil/GPASelect.tsx create mode 100644 src/component/FormUtil/HourSelect.tsx create mode 100644 src/component/FormUtil/NationalitySelect.tsx create mode 100644 src/component/FormUtil/PositionSelect.tsx create mode 100644 src/component/FormUtil/ProficiencySelect.tsx create mode 100644 src/component/FormUtil/RoleSelect.tsx create mode 100644 src/component/FormUtil/SemesterCheckbox.tsx create mode 100644 src/component/FormUtil/SemesterStatusSelect.tsx create mode 100644 src/component/Header/Header.module.scss create mode 100644 src/component/Header/Header.tsx create mode 100644 src/component/Header/UserIcon.jsx create mode 100644 src/component/HeaderCard/HeaderCard.tsx create mode 100644 src/component/HeaderCard/style.css create mode 100644 src/component/JobCard/JobCard.tsx create mode 100644 src/component/JobCard/style.css create mode 100644 src/component/LogInCard/LogInCard.tsx create mode 100644 src/component/LogInCard/style.css create mode 100644 src/component/Profile/Profile.jsx create mode 100644 src/component/Profile/style.css create mode 100644 src/component/SemesterSelection/SemesterSelection.tsx create mode 100644 src/component/SemesterSelection/style.css create mode 100644 src/component/SemesterTimeline/SemesterTimeline.tsx create mode 100644 src/component/SemesterTimeline/style.css create mode 100644 src/component/SignIn/SignInForm.tsx create mode 100644 src/component/SignIn/style.css create mode 100644 src/component/SignIn/styleguide.css create mode 100644 src/component/SignOut/SignOutButton.tsx create mode 100644 src/component/SignUp/SignUpForm.tsx create mode 100644 src/component/SignUpCard/SignUpCard.tsx create mode 100644 src/component/SignUpCard/style.css create mode 100644 src/component/SignUpCard/style.module.css create mode 100644 src/component/SmallClassCard/SmallClassCard.jsx create mode 100644 src/component/SmallClassCard/style.css create mode 100644 src/component/SmallHeader/SmallHeader.tsx create mode 100644 src/component/SmallHeader/style.css create mode 100644 src/component/Spinner/Spinner.tsx create mode 100644 src/component/Spinner/style.css create mode 100644 src/component/ThemeInteraction/ThemeToggleButton.tsx create mode 100644 src/component/Timeline/Timeline.tsx create mode 100644 src/component/Timeline/style.css create mode 100644 src/component/TopNavBar/TopNavBar.jsx create mode 100644 src/component/TopNavBar/style.css create mode 100644 src/component/TopNavBarSigned/TopNavBarSigned.jsx create mode 100644 src/component/TopNavBarSigned/style.css create mode 100644 src/component/UnderDevelopment.tsx create mode 100644 src/component/VerifyEmailCard/VerifyEmailCard.tsx create mode 100644 src/component/VerifyEmailCard/style.css create mode 100644 src/component/Wireframes/LoginScreen/LoginLowFiWireframe.module.css create mode 100644 src/component/Wireframes/LoginScreen/LoginLowFiWireframe.tsx create mode 100644 src/component/Wireframes/LoginScreen/color-block-frame.svg create mode 100644 src/component/Wireframes/LoginScreen/ece-logo.png create mode 100644 src/hooks/old/useFetchTempPastCourses.ts create mode 100644 src/hooks/old/usePastCourses.ts diff --git a/src/app/admin-applications/page.tsx b/src/app/admin-applications/page.tsx index c44068e..2d45771 100644 --- a/src/app/admin-applications/page.tsx +++ b/src/app/admin-applications/page.tsx @@ -6,8 +6,7 @@ import { Toaster, toast } from 'react-hot-toast'; import GetUserRole from '@/firebase/util/GetUserRole'; import 'firebase/firestore'; -import Applications from '@/component/Dashboard/Applications/Applications'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; +import Applications from '@/components/Dashboard/Applications/Applications'; import PageLayout from '@/components/PageLayout/PageLayout'; import { CssBaseline } from '@mui/material'; import { getNavItems } from '@/hooks/useGetItems'; diff --git a/src/app/faculty/page.tsx b/src/app/faculty/page.tsx index 541d9c2..516c8ef 100644 --- a/src/app/faculty/page.tsx +++ b/src/app/faculty/page.tsx @@ -4,7 +4,7 @@ import { useSearchParams } from 'next/navigation'; import firebase from '@/firebase/firebase_config'; import 'firebase/firestore'; import FacultyDetails from '@/component/FacultyDetails/FacultyDetails'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; +import HeaderCard from '@/components/HeaderCard/HeaderCard'; import { FacultyStats } from '@/types/User'; // import { useFacultyStats } from '@/hooks/useFacultyStats'; import { Toaster } from 'react-hot-toast'; diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx index b5ef74a..3ad6029 100644 --- a/src/app/not-found.tsx +++ b/src/app/not-found.tsx @@ -1,5 +1,5 @@ 'use client'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; +import HeaderCard from '@/components/HeaderCard/HeaderCard'; import Link from 'next/link'; import { Toaster } from 'react-hot-toast'; import { redirect } from 'next/navigation'; diff --git a/src/app/profile/temp.tsx b/src/app/profile/temp.tsx index 5fb45ab..cc2bca0 100644 --- a/src/app/profile/temp.tsx +++ b/src/app/profile/temp.tsx @@ -14,7 +14,7 @@ import { Typography, } from '@mui/material'; import './style.css'; -import HeaderCard from '@/component/HeaderCard/HeaderCard'; +import HeaderCard from '@/components/HeaderCard/HeaderCard'; import DeleteUserButton from './DeleteUserButton'; import GetUserRole from '@/firebase/util/GetUserRole'; import { updateProfile } from 'firebase/auth'; diff --git a/src/app/users/page.tsx b/src/app/users/page.tsx index d4b53a9..30d18ef 100644 --- a/src/app/users/page.tsx +++ b/src/app/users/page.tsx @@ -16,8 +16,8 @@ import { getNavItems } from '@/hooks/useGetItems'; import { useAuth } from '@/firebase/auth/auth_context'; import GetUserRole from '@/firebase/util/GetUserRole'; -import UserGrid from '@/component/Dashboard/Users/UserGrid'; -import ApprovalGrid from '@/component/Dashboard/Users/ApprovalGrid'; +import UserGrid from '@/components/Dashboard/Users/UserGrid'; +import ApprovalGrid from '@/components/Dashboard/Users/ApprovalGrid'; interface PageProps {} diff --git a/src/component/ApplicantCard/ApplicantCard.jsx b/src/component/ApplicantCard/ApplicantCard.jsx new file mode 100644 index 0000000..cf06c15 --- /dev/null +++ b/src/component/ApplicantCard/ApplicantCard.jsx @@ -0,0 +1,17 @@ +import React from 'react'; +import './style.css'; + +export const ApplicantCard = () => { + return ( +
      +
      Firstname Lastname
      +
      UFID: 12345678
      +
      +
      +
      +
      Denied
      +
      +
      +
      + ); +}; diff --git a/src/component/ApplicantCard/style.css b/src/component/ApplicantCard/style.css new file mode 100644 index 0000000..02fde71 --- /dev/null +++ b/src/component/ApplicantCard/style.css @@ -0,0 +1,78 @@ +.applicant-card { + background-color: #ffffff; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 107px; + position: relative; + width: 1372px; + } + + .applicant-card .text-wrapper { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 24px; + font-weight: 400; + left: 133px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 16px; + } + + .applicant-card .div { + color: #959595; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 16px; + font-weight: 400; + left: 133px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 45px; + white-space: nowrap; + } + + .applicant-card .ellipse { + background-color: #9d9d9d94; + border: 2px solid; + border-color: #4c4c4c; + border-radius: 35.5px; + height: 71px; + left: 32px; + position: absolute; + top: 17px; + width: 71px; + } + + .applicant-card .applicant-status { + height: 57px; + left: 1195px; + position: absolute; + top: 24px; + width: 159px; + } + + .applicant-card .overlap-group { + background-color: #d327271f; + border: 2px solid; + border-color: #d32727; + border-radius: 10px; + height: 57px; + position: relative; + width: 157px; + } + + .applicant-card .text-wrapper-2 { + color: #d32727; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 24px; + font-weight: 500; + left: -2px; + letter-spacing: 0; + line-height: normal; + position: absolute; + text-align: center; + top: 12px; + width: 157px; + } + \ No newline at end of file diff --git a/src/component/ApplicantCardApprove/ApplicantCardApprove.tsx b/src/component/ApplicantCardApprove/ApplicantCardApprove.tsx new file mode 100644 index 0000000..28f3c4a --- /dev/null +++ b/src/component/ApplicantCardApprove/ApplicantCardApprove.tsx @@ -0,0 +1,350 @@ +import { FunctionComponent, useCallback } from 'react'; +import './style.css'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import Button from '@mui/material/Button'; + +import { query, where, collection, getDocs, getDoc } from 'firebase/firestore'; +interface ApplicantCardProps { + id: string; + uf_email: string; + firstname: string; + lastname: string; + number: string; + position: string; + semester: string; + availability: string; + department: string; + degree: string; + collegestatus: string; + qualifications: string; + resume: string; + plan: string; + gpa: string; + expanded: boolean; + onExpandToggle: any; + openReview: boolean; + setOpenReviewDialog: (value: boolean) => void; + currentStu: string; + setCurrentStu: (value: string) => void; + className: string; +} +const ApplicantCardApprove: FunctionComponent = ({ + id, + uf_email, + firstname, + lastname, + number, + position, + semester, + availability, + department, + degree, + collegestatus, + qualifications, + resume, + plan, + gpa, + expanded, + onExpandToggle, + openReview, + setOpenReviewDialog, + currentStu, + setCurrentStu, + + className, +}) => { + const db = firebase.firestore(); + const handleMoveReview = async (event: React.FormEvent) => { + event.preventDefault(); + + try { + const statusRef = db.collection('applications').doc(currentStu); + let doc = await getDoc(statusRef); + let coursesMap = doc.data().courses; + + coursesMap[className] = 'applied'; + await statusRef.update({ courses: coursesMap }); + console.log('Application moved successfully'); + window.location.reload(); + } catch (error) { + console.error('Error approving application:', error); + } + }; + + const handleCloseReview = () => { + setOpenReviewDialog(false); + }; + + const handleOpenReview = useCallback((event: any) => { + event?.stopPropagation(); + + setOpenReviewDialog(true); + setCurrentStu(id); + }, []); + + const renderReviewDialog = () => ( + + + Review Applicant + +
      + + + Are you sure you want to reevaluate this applicant? + + + + + + +
      +
      + ); + const handleCardClick = () => { + onExpandToggle(); + }; + + return ( + <> + {renderReviewDialog()} +
      + + ); +}; + +export default ApplicantCardApprove; diff --git a/src/component/ApplicantCardApprove/style.css b/src/component/ApplicantCardApprove/style.css new file mode 100644 index 0000000..080aadc --- /dev/null +++ b/src/component/ApplicantCardApprove/style.css @@ -0,0 +1,91 @@ +.applicantCardApprove1{ + position: relative; + margin: 0 28px 0 40px; + display: flex; + align-items: center; + text-align: left; + font-size: 24px; + color: #000; + + font-family: 'SF Pro Display' , Helvetica; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px rgba(0, 0, 0, 0.25); + justify-content: space-between; + cursor: pointer; + + } + + + + .ellipse { + + font-family: 'SF Pro Display' , Helvetica; + position: absolute; + height: 71px; + width: 71px; + margin: 17px 0 19px 32px; + border-radius: 50%; + background-color: rgba(158, 158, 158, 0.58); + border: 2px solid #4d4d4d; + box-sizing: border-box; + display: flex; + align-items: center; + justify-content: center; + } + .initial { + + font-family: 'SF Pro Display' , Helvetica; + color:#ffffff; + } + .name { + + font-family: 'SF Pro Display' , Helvetica; + margin: 17px 0 61px 133px; + } + .ufid { + + font-family: 'SF Pro Display' , Helvetica; + position: absolute; + margin: 46px 0 42px 133px; + font-size: 16px; + color: #9e9e9e; + } + + .thumbsContainer1{ + position: absolute; + right: 20px; + align-items: center; + margin: 24px 0 26px 0; + justify-content: center; + } + + + + .approved1 { + + font-family: 'SF Pro Display' , Helvetica; + font-size: 24px; + font-weight: 500; + color: #22884c; + text-align: left; + display: inline-block; + width: 80px; + } + + .applicantStatus3{ + + font-family: 'SF Pro Display' , Helvetica; + border-radius: 10px; + background-color:rgba(34, 136, 76, 0.12); + border: 2px solid #22884c; + box-sizing: border-box; + padding: 14px 55px 14px 30px; + + } + + + + + + /* Add any other styles as needed */ + diff --git a/src/component/ApplicantCardApprovedeny/ApplicantCardApprovedeny.tsx b/src/component/ApplicantCardApprovedeny/ApplicantCardApprovedeny.tsx new file mode 100644 index 0000000..0e9ab5b --- /dev/null +++ b/src/component/ApplicantCardApprovedeny/ApplicantCardApprovedeny.tsx @@ -0,0 +1,510 @@ +// @ts-nocheck +import { FunctionComponent, useCallback } from 'react'; +import './style.css'; +import ThumbDownOffAltIcon from '@mui/icons-material/ThumbDownOffAlt'; +import ThumbUpOffAltIcon from '@mui/icons-material/ThumbUpOffAlt'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import Button from '@mui/material/Button'; +import { wrap } from 'module'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; + +import { query, where, collection, getDocs, getDoc } from 'firebase/firestore'; +interface ApplicantCardProps { + id: string; + uf_email: string; + firstname: string; + lastname: string; + number: string; + position: string; + semester: string; + availability: string; + department: string; + degree: string; + collegestatus: string; + qualifications: string; + resume: string; + plan: string; + gpa: string; + expanded: boolean; + onExpandToggle: any; + openApprove: boolean; + openDeny: boolean; + setOpenApproveDialog: (value: boolean) => void; + setOpenDenyDialog: (value: boolean) => void; + currentStu: string; + setCurrentStu: (value: string) => void; + className: string; +} + +const ApplicantCardApprovedeny: FunctionComponent = ({ + id, + uf_email, + firstname, + lastname, + number, + position, + semester, + availability, + department, + degree, + collegestatus, + qualifications, + resume, + plan, + gpa, + expanded, + onExpandToggle, + openApprove, + openDeny, + setOpenApproveDialog, + setOpenDenyDialog, + currentStu, + + setCurrentStu, + className, +}) => { + const handleDenyEmail = async () => { + try { + const response = await fetch( + 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + type: 'applicationStatusDenied', + data: { + user: { + name: `${firstname ?? ''} ${lastname ?? ''}`.trim(), + email: uf_email, + }, + position: position, + classCode: className, + }, + }), + } + ); + + if (response.ok) { + const data = await response.json(); + console.log('Email sent successfully:', data); + } else { + throw new Error('Failed to send email'); + } + } catch (error) { + console.error('Error sending email:', error); + } + }; + + const db = firebase.firestore(); + + const handleApproveSubmit = async ( + event: React.FormEvent + ) => { + event.preventDefault(); + + try { + const statusRef = db.collection('applications').doc(currentStu); + let doc = await getDoc(statusRef); + let coursesMap = doc.data().courses; + + coursesMap[className] = 'accepted'; + await statusRef.update({ courses: coursesMap }); + console.log('Application approved successfully'); + window.location.reload(); + } catch (error) { + console.error('Error approving application:', error); + } + }; + + const handleDenySubmit = async (event: React.FormEvent) => { + event.preventDefault(); + try { + const statusRef = db.collection('applications').doc(currentStu); + let doc = await getDoc(statusRef); + let coursesMap = doc.data().courses; + + coursesMap[className] = 'denied'; + await statusRef.update({ courses: coursesMap }); + console.log('Application denied successfully'); + handleDenyEmail(); + window.location.reload(); + } catch (error) { + console.error('Error denying application:', error); + } + }; + + const handleCloseApprove = () => { + setOpenApproveDialog(false); + }; + + const handleCloseDeny = () => { + setOpenDenyDialog(false); + }; + + const onThumbUpClick = useCallback((event: any) => { + event?.stopPropagation(); + + setOpenApproveDialog(true); + setCurrentStu(id); + }, []); + + const onThumbDownIconClick = useCallback((event: any) => { + event?.stopPropagation(); + + setOpenDenyDialog(true); + setCurrentStu(id); + }, []); + + const renderApproveDialog = () => ( + + + {' '} + Approve Applicant + +
      + + + Are you sure you want to approve this applicant? + + + + + + +
      +
      + ); + const renderDenyDialog = () => ( + + + Deny Applicant + +
      + + + Are you sure you want to deny this applicant? + + + + + + +
      +
      + ); + + const handleCardClick = () => { + onExpandToggle(); // Call the callback function to update parent state + }; + + return ( + <> + {renderApproveDialog()} + {renderDenyDialog()} +
      + {!expanded && ( + <> +
      +
      +
      + {firstname[0].toUpperCase() + lastname[0].toUpperCase()} +
      +
      +
      +
      + {firstname} {lastname} +
      +
      {uf_email}
      +
      +
      + +
      + + + +
      +
      Review
      +
      +
      + + )} + + {expanded && ( +
      +
      +
      +
      + {firstname[0].toUpperCase() + lastname[0].toUpperCase()} +
      +
      +
      +
      + {firstname} {lastname} +
      + +
      +
      {uf_email}
      +
      {number}
      +
      +
      + + +
      +
      Review
      +
      +
      +
      +
      + +
      +
      +
      Applying for:
      +
      {position}
      +
      + +
      +
      Available Hours Per Week:
      +
      {availability.join(', ')}
      +
      + +

      +
      +
      +
      Department:
      +
      + {department} +
      +
      + +
      +
      Degree:
      +
      + {degree} +
      +
      + +
      +
      GPA:
      +
      + {gpa} +
      +
      +
      + +
      + Qualifications: +
      +
      + {qualifications} +
      + +
      + Resume Link: +
      + + {resume} + +
      +
      + )} +
      + + ); +}; + +export default ApplicantCardApprovedeny; diff --git a/src/component/ApplicantCardApprovedeny/style.css b/src/component/ApplicantCardApprovedeny/style.css new file mode 100644 index 0000000..dc8af1f --- /dev/null +++ b/src/component/ApplicantCardApprovedeny/style.css @@ -0,0 +1,117 @@ +.applicantCardApprovedeny1 { + position: relative; + margin: 0 28px 0 40px; + display: flex; + align-items: center; + + text-align: left; + font-size: 24px; + color: #000; + + font-family: "SF Pro Display-Regular", Helvetica; + + border-radius: 20px; + box-shadow: 0px 2px 20px 4px rgba(0, 0, 0, 0.25); + justify-content: space-between; + cursor: pointer; +} + +.ellipse { + height: 71px; + width: 71px; + margin: 17px 0 19px 32px; + border-radius: 50%; + background-color: rgba(158, 158, 158, 0.58); + border: 2px solid #4d4d4d; + box-sizing: border-box; + display: flex; + align-items: center; + justify-content: center; +} +.initials { + + font-family: 'SF Pro Display' , Helvetica; + color:#ffffff; +} +.name { + margin: 17px 0px 0px 133px; + white-space: nowrap; + +} +.number{ + margin: 50px 0 42px 350px; + font-size: 16px; + font-family: "SF Pro Display-Regular", Helvetica; + color: #9e9e9e; + +} + +.email1 { + position: absolute; + margin: 50px 0 42px 133px; + font-size: 16px; + font-family: "SF Pro Display-Regular", Helvetica; + color: #9e9e9e; +} + +.thumbsContainer { + position: absolute; + right: 20px; + align-items: center; + display: flex; + justify-content: space-around; + margin: 24px 0 26px 0; +} + +.thumbsUpIcon { + color: green; + cursor: pointer; + margin-right: 23px; + font-size: 2rem; +} + +.thumbsDownIcon { + color: red; + cursor: pointer; + margin-right: 31px; + font-size: 2rem; +} + +.review23 { + + font-size: 24px; + font-weight: 500; + font-family: "SF Pro Display-Regular", Helvetica !important; + color: #f2a900; + text-align: left; + display: inline-block; + width: 80px; + + +} +.applicantStatus23 { + + border-radius: 10px; + background-color: rgba(242, 169, 0, 0.12); + border: 2px solid #f2a900; + box-sizing: border-box; + padding: 14px 39px; + cursor: pointer; + display: inline-block; +} + +.description{ + margin-bottom: 31px; +} +.label50{ + margin-bottom: 31px; +} +.availability1{ + font-family: "SF Pro Display-Regular", "Helvetica"; + font-size: 20px; + font-weight: 400; + margin-bottom: 31px; + color:#4c4c4c; +} + +/* Add any other styles as needed */ diff --git a/src/component/ApplicantCardAssign/ApplicantCardAssign.tsx b/src/component/ApplicantCardAssign/ApplicantCardAssign.tsx new file mode 100644 index 0000000..c58e24d --- /dev/null +++ b/src/component/ApplicantCardAssign/ApplicantCardAssign.tsx @@ -0,0 +1,731 @@ +import { FunctionComponent, useCallback, useEffect, useState } from 'react'; +import './style.css'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import Button from '@mui/material/Button'; +import { Toaster, toast } from 'react-hot-toast'; +import { + AppBar, + Container, + Stack, + Paper, + Fade, + Box, + TextField, + Typography, +} from '@mui/material'; +import FocusTrap from '@mui/material/Unstable_TrapFocus'; +import { query, where, collection, getDocs, getDoc } from 'firebase/firestore'; +interface ApplicantCardProps { + id: string; + uf_email: string; + firstname: string; + lastname: string; + number: string; + position: string; + semester: string; + availability: string; + department: string; + degree: string; + collegestatus: string; + qualifications: string; + resume: string; + plan: string; + gpa: string; + expanded: boolean; + onExpandToggle: any; + openReview: boolean; + setOpenReviewDialog: (value: boolean) => void; + openRenew: boolean; + setOpenRenewDialog: (value: boolean) => void; + currentStu: string; + setCurrentStu: (value: string) => void; + className: string; +} +const ApplicantCardAssign: FunctionComponent = ({ + id, + uf_email, + firstname, + lastname, + number, + position, + semester, + availability, + department, + degree, + collegestatus, + qualifications, + resume, + plan, + gpa, + expanded, + onExpandToggle, + openReview, + setOpenReviewDialog, + openRenew, + setOpenRenewDialog, + currentStu, + setCurrentStu, + + className, +}) => { + const db = firebase.firestore(); + const [viewMessage, setViewMessage] = useState(false); + const [subject, setSubject] = useState( + () => localStorage.getItem('renewalSubject') || '' + ); + const [content, setContent] = useState( + () => localStorage.getItem('renewalContent') || '' + ); + const [errors, setErrors] = useState({ + subject: false, + content: false, + }); + const handleMoveReview = async (event: React.FormEvent) => { + event.preventDefault(); + + try { + const statusRef = db.collection('applications').doc(currentStu); + let doc = await getDoc(statusRef); + let coursesMap = doc.data()?.courses; + + coursesMap[className] = 'applied'; + await statusRef.update({ courses: coursesMap }); + window.location.reload(); + } catch (error) { + console.error('Error approving application:', error); + } + }; + + useEffect(() => { + setErrors({ + subject: subject.trim() === '', + content: content.trim() === '', + }); + }, [subject, content]); + + const handleSendRenwalEmail = async ( + event: React.FormEvent + ) => { + event.preventDefault(); + + if (errors.subject || errors.content) { + if (errors.subject) toast.error('Please enter a valid email subject!'); + if (errors.content) + toast.error('Please enter a valid email content section!'); + return; + } + try { + const response = await fetch( + 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + type: 'renewTA', + data: { + userEmail: uf_email, + message: content, + subject: subject, + }, + }), + } + ); + if (response.ok) { + toast.success('Email sent successfully'); + handleCloseDialog(); + } else { + let err; + try { + const json = await response.json(); + err = JSON.stringify(json); + } catch { + // fallback to plain text + err = await response.text(); + } + console.error('Cloud Function returned 400:', err); + throw new Error('Failed to send email'); + } + } catch (error) { + console.error('Error sending email:', error); + } + handleCloseDialog(); + toast.success('Email sent successfully'); + }; + + const handleCloseDialog = () => { + setOpenReviewDialog(false); + setOpenRenewDialog(false); + setViewMessage(false); + }; + + useEffect(() => { + if (openRenew) { + const draftSubj = localStorage.getItem('renewalSubject') ?? ''; + const draftCont = localStorage.getItem('renewalContent') ?? ''; + setSubject(draftSubj); + setContent(draftCont); + } + }, [openRenew]); + + const handleRenewalSave = () => { + handleSave(); + setViewMessage(false); + }; + const handleOpenReview = useCallback((event: any) => { + event?.stopPropagation(); + + setOpenReviewDialog(true); + setCurrentStu(id); + }, []); + + const handleViewMessage = () => { + setViewMessage(true); + }; + const handleOpenRenew = useCallback((event: any) => { + event?.stopPropagation(); + + setOpenRenewDialog(true); + setCurrentStu(id); + }, []); + + const handleSave = () => { + localStorage.setItem('renewalSubject', subject); + localStorage.setItem('renewalContent', content); + }; + const renderRenewDialog = () => + !viewMessage ? ( + + +
      Renew
      +
      + {firstname} {lastname} +
      +
      +
      + + + Are you sure you want to send a renewal to {firstname} {lastname}? + + + + + + + + +
      {' '} +
      + ) : ( + + +
      +
      + Renew {firstname} {lastname} +
      +
      + + Are you sure you want to send a renewal to {firstname} {lastname}? + +
      +
      + setSubject(e.target.value)} + value={subject} + error={errors.subject} + helperText={errors.subject ? 'Subject cannot be empty' : ''} + /> + setContent(e.target.value)} + sx={{ + '& textarea:focus::placeholder': { + opacity: 0, + transition: 'opacity 0.2s', + }, + }} + error={errors.content} + helperText={errors.content ? 'Content cannot be empty' : ''} + multiline + rows={10} + id="standard-basic" + placeholder="Content" + value={content} + /> +
      + + + +
      + + + + + + + + + + +
      +
      +
      +
      +
      + ); + + const renderReviewDialog = () => ( + + + Review Applicant + +
      + + + Are you sure you want to reevaluate this applicant? + + + + + + +
      +
      + ); + const handleCardClick = () => { + onExpandToggle(); + }; + + return ( + <> + {renderReviewDialog()} + {renderRenewDialog()} +
      + {!expanded && ( + <> +
      +
      +
      + {firstname[0].toUpperCase() + lastname[0].toUpperCase()} +
      +
      +
      Email: {uf_email}
      +
      + {firstname} {lastname} +
      +
      + +
      +
      +
      Renew
      +
      +
      + + )} + + {expanded && ( +
      +
      +
      +
      + {firstname[0].toUpperCase() + lastname[0].toUpperCase()} +
      +
      +
      +
      + {firstname} {lastname} +
      + +
      +
      +
      Renew
      +
      +
      +
      +
      {uf_email}
      +
      {number}
      +
      +
      +
      + +
      +
      +
      Applying for:
      +
      {position}
      +
      + +
      +
      Availability:
      +
      {availability.join(', ')}
      +
      + +

      +
      +
      +
      Department:
      +
      + {department} +
      +
      + +
      +
      Degree:
      +
      + {degree} +
      +
      + +
      +
      GPA:
      +
      + {gpa} +
      +
      +
      + +
      + Qualifications: +
      +
      + {qualifications} +
      +
      + Graduate Plan: +
      +
      + {plan} +
      +
      + Resume Link: +
      + {resume ? ( + + {resume} + + ) : ( +
      + Resume Missing +
      + )} +
      + +
      + )} +
      + + ); +}; + +export default ApplicantCardAssign; diff --git a/src/component/ApplicantCardAssign/handleSendRenewEmail.ts b/src/component/ApplicantCardAssign/handleSendRenewEmail.ts new file mode 100644 index 0000000..220f265 --- /dev/null +++ b/src/component/ApplicantCardAssign/handleSendRenewEmail.ts @@ -0,0 +1,38 @@ +// export function handleSendRenewEmail = async (firstName: string, lastName: string, email:string, position: string, classCode: string) => { +// try { + +// // Send email using fetched application data +// const response = await fetch( +// 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', +// { +// method: 'POST', +// headers: { +// 'Content-Type': 'application/json', +// }, +// body: JSON.stringify({ +// type: 'renewTA', +// data: { +// user: { +// name: `${firstName?? ''} ${ +// lastName ?? '' +// }`.trim(), +// email: email, +// }, +// position: position, +// classCode: classCode, +// }, +// }), +// } +// ); + +// if (response.ok) { +// const data = await response.json(); +// console.log('Email sent successfully:', data); +// } else { +// throw new Error('Failed to send email'); +// } + +// } catch (error) { +// console.error('Error sending email:', error); +// } +// }; diff --git a/src/component/ApplicantCardAssign/style.css b/src/component/ApplicantCardAssign/style.css new file mode 100644 index 0000000..0ab5496 --- /dev/null +++ b/src/component/ApplicantCardAssign/style.css @@ -0,0 +1,91 @@ +.applicantCardApprove1{ + position: relative; + margin: 0 28px 0 40px; + display: flex; + align-items: center; + text-align: left; + font-size: 24px; + color: #000; + + font-family: 'SF Pro Display' , Helvetica; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px rgba(0, 0, 0, 0.25); + justify-content: space-between; + cursor: pointer; + + } + + + + .ellipse { + + font-family: 'SF Pro Display' , Helvetica; + position: absolute; + height: 71px; + width: 71px; + margin: 17px 0 19px 32px; + border-radius: 50%; + background-color: rgba(158, 158, 158, 0.58); + border: 2px solid #4d4d4d; + box-sizing: border-box; + display: flex; + align-items: center; + justify-content: center; + } + .initial { + + font-family: 'SF Pro Display' , Helvetica; + color:#ffffff; + } + .name { + + font-family: 'SF Pro Display' , Helvetica; + margin: 17px 0 61px 133px; + } + .ufid { + + font-family: 'SF Pro Display' , Helvetica; + position: absolute; + margin: 46px 0 42px 133px; + font-size: 16px; + color: #9e9e9e; + } + + .thumbsContainer1{ + position: absolute; + right: 20px; + align-items: center; + margin: 24px 0 26px 0; + justify-content: center; + } + + + + .approved2 { + + font-family: 'SF Pro Display' , Helvetica; + font-size: 24px; + font-weight: 500; + color: #0038FF; + text-align: left; + display: inline-block; + width: 80px; + } + + .applicantStatus2{ + + font-family: 'SF Pro Display' , Helvetica; + border-radius: 10px; + background-color:#D1E2FF; + border: 2px solid #0038FF; + box-sizing: border-box; + padding: 14px 25px 14px 35px; + + } + + + + + + /* Add any other styles as needed */ + diff --git a/src/component/ApplicantCardDeny/ApplicantCardDeny.tsx b/src/component/ApplicantCardDeny/ApplicantCardDeny.tsx new file mode 100644 index 0000000..60c7757 --- /dev/null +++ b/src/component/ApplicantCardDeny/ApplicantCardDeny.tsx @@ -0,0 +1,348 @@ +import { FunctionComponent, useCallback } from 'react'; +import './style.css'; + +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import Button from '@mui/material/Button'; + +import { query, where, collection, getDocs, getDoc } from 'firebase/firestore'; +interface ApplicantCardProps { + id: string; + uf_email: string; + firstname: string; + lastname: string; + number: string; + position: string; + semester: string; + availability: string; + department: string; + degree: string; + collegestatus: string; + qualifications: string; + resume: string; + plan: string; + gpa: string; + expanded: boolean; + onExpandToggle: any; + openReview: boolean; + setOpenReviewDialog: (value: boolean) => void; + currentStu: string; + setCurrentStu: (value: string) => void; + className: string; +} + +const ApplicantCardDeny: FunctionComponent = ({ + id, + uf_email, + firstname, + lastname, + number, + position, + semester, + availability, + department, + degree, + collegestatus, + qualifications, + resume, + plan, + gpa, + expanded, + onExpandToggle, + openReview, + setOpenReviewDialog, + currentStu, + setCurrentStu, + className, +}) => { + const db = firebase.firestore(); + const handleMoveReview = async (event: React.FormEvent) => { + event.preventDefault(); + + try { + const statusRef = db.collection('applications').doc(currentStu); + let doc = await getDoc(statusRef); + let coursesMap = doc.data().courses; + + coursesMap[className] = 'applied'; + await statusRef.update({ courses: coursesMap }); + console.log('Application moved successfully'); + window.location.reload(); + } catch (error) { + console.error('Error approving application:', error); + } + }; + + const handleCloseReview = () => { + setOpenReviewDialog(false); + }; + + const handleOpenReview = useCallback((event: any) => { + event?.stopPropagation(); + setOpenReviewDialog(true); + setCurrentStu(id); + }, []); + + const renderReviewDialog = () => ( + + + Review Applicant + +
      + + + Are you sure you want to reevaluate this applicant? + + + + + + +
      +
      + ); + const handleCardClick = () => { + onExpandToggle(); + }; + + return ( + <> + {renderReviewDialog()} +
      + {!expanded && ( + <> +
      +
      +
      + {firstname[0].toUpperCase() + lastname[0].toUpperCase()} +
      +
      +
      Email: {uf_email}
      +
      + {firstname} {lastname} +
      +
      + +
      +
      +
      Denied
      +
      +
      + + )} + {expanded && ( +
      +
      +
      +
      + {firstname[0].toUpperCase() + lastname[0].toUpperCase()} +
      +
      +
      +
      + {firstname} {lastname} +
      + +
      +
      +
      Denied
      +
      +
      +
      +
      {uf_email}
      +
      {number}
      +
      +
      +
      + +
      +
      +
      Applying for:
      +
      {position}
      +
      + +
      +
      Availability:
      +
      {availability.join(', ')}
      +
      + +

      +
      +
      +
      Department:
      +
      + {department} +
      +
      + +
      +
      Degree:
      +
      + {degree} +
      +
      + +
      +
      GPA:
      +
      + {gpa} +
      +
      +
      + +
      + Qualifications: +
      +
      + {qualifications} +
      +
      + Graduate Plan: +
      +
      + {plan} +
      +
      + Resume Link: +
      + {resume ? ( + + {resume} + + ) : ( +
      + Resume Missing +
      + )} +
      + +
      + )} +
      + + ); +}; + +export default ApplicantCardDeny; diff --git a/src/component/ApplicantCardDeny/style.css b/src/component/ApplicantCardDeny/style.css new file mode 100644 index 0000000..9350500 --- /dev/null +++ b/src/component/ApplicantCardDeny/style.css @@ -0,0 +1,80 @@ +.applicantCardDeny1 { + position: relative; + margin: 0 28px 0 40px; + display: flex; + align-items: center; + text-align: left; + font-size: 24px; + color: #000; + font-family: 'SF Pro Display' , Helvetica; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px rgba(0, 0, 0, 0.25); + justify-content: space-between; + cursor: pointer; + } + + + .ellipse { + font-family: 'SF Pro Display' , Helvetica; + position: absolute; + height: 71px; + width: 71px; + margin: 17px 0 19px 32px; + border-radius: 50%; + background-color: rgba(158, 158, 158, 0.58); + border: 2px solid #4d4d4d; + box-sizing: border-box; + display: flex; + align-items: center; + justify-content: center; + + } + .initials { + font-family: 'SF Pro Display' , Helvetica; + color:#ffffff; + font-weight: 400; + font-family: 'SF Pro Display'; + } + .name { + font-family: 'SF Pro Display' , Helvetica; + margin: 17px 0 61px 133px; + white-space: nowrap; + } + .ufid { + font-family: 'SF Pro Display' , Helvetica; + position: absolute; + margin: 50px 0 42px 133px; + font-size: 16px; + color: #9e9e9e; + } + + .thumbsContainer4 { + position: absolute; + right: 20px; + align-items: center; + + margin: 24px 0 26px 0; + } + + + .deny { + font-family: 'SF Pro Display' , Helvetica; + font-size: 24px; + font-weight: 500; + color: #d32727; + text-align: left; + display: inline-block; + width: 80px; + } + .applicantStatus { + font-family: 'SF Pro Display' , Helvetica; + border-radius: 10px; + background-color: rgba(211, 39, 39, 0.12); + border: 2px solid #d32727; + box-sizing: border-box; + padding: 14px 39px 14px 43px; + + } + + /* Add any other styles as needed */ + diff --git a/src/component/ApplicationStatusCard/ApplicationStatusCard.jsx b/src/component/ApplicationStatusCard/ApplicationStatusCard.jsx new file mode 100644 index 0000000..3aead49 --- /dev/null +++ b/src/component/ApplicationStatusCard/ApplicationStatusCard.jsx @@ -0,0 +1,50 @@ +import PropTypes from 'prop-types'; +import React from 'react'; +import './style.css'; + +export const ApplicationStatusCard = ({ text, course, className }) => { + return ( +
      +
      +
      +
      Application
      +
      +
      +
      {text}
      +
      +
      +
      +
      + {course} +
      +
      +
      +
      +
      +
      +
      Status:
      +
      +
      +
      +
      Application Under Review
      +
      +
      +
      + ); +}; + +ApplicationStatusCard.propTypes = { + text: PropTypes.string.isRequired, // Ensuring text is always required + course: PropTypes.string.isRequired, // Ensuring course is always required + className: PropTypes.string, // Optional className for custom styling +}; + +ApplicationStatusCard.defaultProps = { + className: '', // Default to an empty string if no class is provided +}; diff --git a/src/component/ApplicationStatusCard/style.css b/src/component/ApplicationStatusCard/style.css new file mode 100644 index 0000000..223189e --- /dev/null +++ b/src/component/ApplicationStatusCard/style.css @@ -0,0 +1,140 @@ +.status-card2 { + background-color: #ffffff; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 222px; + position: relative; + width: 716px; + margin-bottom: 18.75px; +} + +.status-card2 .overlap { + height: 186px; + left: 34px; + position: absolute; + top: 12px; + width: 204px; +} + +.status-card2 .inner-content { + height: 38px; + left: 0; + position: absolute; + top: 0; + width: 159px; +} + +.status-card2 .text-wrapper-6 { + color: black; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 32px; + font-weight: 500; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; +} + +.status-card2 .coarse-assistant-wrapper { + height: 29px; + left: 0; + position: absolute; + top: 54px; + width: 172px; +} + +.status-card2 .text-wrapper-7 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 21px; + font-weight: 400; + left: 20; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 10px; +} + +.status-card2 .overlap-2 { + + color: black; + height: 100px; + left: 100px; + position: absolute; + top: 0; + width: 104px; +} + +.status-card2 .div-wrapper { + + color: black; + height: 19px; + left: 0; + position: absolute; + top: 88px; +} + +.status-card2 .text-wrapper-8 { + color: black; + font-size: 16px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; +} + +.status-card2 .rectangle { + background-color: #9d9d9d; + height: 2px; + left: 100px; + position: absolute; + top: 92px; + transform: rotate(90deg); + width: 186px; +} + +.status-card2 .inner-content-2 { + height: 29px; + left: 354px; + position: absolute; + top: 66px; + width: 197px; +} + +.status-card2 .application-button { + height: 43px; + left: 454px; + position: absolute; + top: 60px; + width: 226px; + margin-top: 10px; +} + +.status-card2 .overlap-group-2 { + background-color: #f2a9001f; + border: 1px solid; + border-color: #f2a900; + border-radius: 10px; + height: 43px; + position: relative; + width: 224px; +} + +.status-card2 .text-wrapper-10 { + color: #f2a900; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 15px; + font-weight: 500; + left: 20px; + letter-spacing: 0; + line-height: normal; + position: absolute; + text-align: center; + top: 11px; + width: 182px; +} \ No newline at end of file diff --git a/src/component/ApplicationStatusCardAccepted/ApplicationStatusCardAccepted.jsx b/src/component/ApplicationStatusCardAccepted/ApplicationStatusCardAccepted.jsx new file mode 100644 index 0000000..283792d --- /dev/null +++ b/src/component/ApplicationStatusCardAccepted/ApplicationStatusCardAccepted.jsx @@ -0,0 +1,54 @@ +import PropTypes from 'prop-types'; +import React from 'react'; +import './style.css'; + +export const ApplicationStatusCardAccepted = ({ text, course, className }) => { + return ( +
      +
      +
      +
      Application
      +
      +
      +
      {text}
      +
      +
      +
      +
      + {course} +
      +
      +
      +
      +
      +
      +
      Status:
      + +
      + Please check your email to begin the onboarding process. +
      +
      +
      +
      +
      Application Accepted!
      +
      +
      +
      + ); +}; + +ApplicationStatusCardAccepted.propTypes = { + text: PropTypes.string, + course: PropTypes.string, + className: PropTypes.string, +}; + +ApplicationStatusCardAccepted.defaultProps = { + className: '', // Default to an empty string if no class is provided +}; diff --git a/src/component/ApplicationStatusCardAccepted/style.css b/src/component/ApplicationStatusCardAccepted/style.css new file mode 100644 index 0000000..deb11d7 --- /dev/null +++ b/src/component/ApplicationStatusCardAccepted/style.css @@ -0,0 +1,156 @@ +.status-card3 { + background-color: #ffffff; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 222px; + position: relative; + width: 716px; + margin-bottom: 18.75px; + +} + +.status-card3 .overlap { + height: 186px; + left: 34px; + position: absolute; + top: 12px; + width: 204px; +} + +.status-card3 .inner-content { + height: 38px; + left: 0; + position: absolute; + top: 0; + width: 159px; +} + +.status-card3 .text-wrapper-6 { + color: black; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 32px; + font-weight: 500; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; +} + +.status-card3 .coarse-assistant-wrapper { + height: 29px; + left: 0; + position: absolute; + top: 54px; + width: 172px; +} + +.status-card3 .text-wrapper-7 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 21px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 10px; +} + +.status-card3 .overlap-2 { + + color: black; + height: 100px; + left: 100px; + position: absolute; + top: 0; + width: 104px; +} + +.status-card3 .div-wrapper { + + color: black; + height: 19px; + left: 0; + position: absolute; + top: 88px; +} + +.status-card3 .text-wrapper-8 { + color: black; + font-size: 16px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; +} + +.status-card3 .rectangle { + background-color: #9d9d9d; + height: 2px; + left: 100px; + position: absolute; + top: 92px; + transform: rotate(90deg); + width: 186px; +} + +.status-card3 .inner-content-2 { + height: 29px; + left: 354px; + + position: absolute; + top: 50px; + width: 197px; +} + +.status-card3 .text-wrapper-9 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 19px; + font-weight: 400; + left: 10px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 80px; + width: 300px; +} + +.status-card3 .application-button { + height: 43px; + left: 434px; + position: absolute; + top: 40px; + width: 226px; + margin-top: 10px; +} + +.status-card3 .overlap-group-34 { + background-color: #00f2301f; + border: 1px solid; + border-color: #00f230; + border-radius: 10px; + height: 43px; + position: relative; + width: 224px; +} + +.status-card3 .text-wrapper-19 { + color: #00a674; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 15px; + font-weight: 500; + left: 20px; + letter-spacing: 0; + line-height: normal; + position: absolute; + text-align: center; + top: 11px; + width: 182px; +} + diff --git a/src/component/ApplicationStatusCardDenied/ApplicationStatusCardDenied.jsx b/src/component/ApplicationStatusCardDenied/ApplicationStatusCardDenied.jsx new file mode 100644 index 0000000..a96b1fd --- /dev/null +++ b/src/component/ApplicationStatusCardDenied/ApplicationStatusCardDenied.jsx @@ -0,0 +1,50 @@ +import PropTypes from 'prop-types'; +import React from 'react'; +import './style.css'; + +export const ApplicationStatusCardDenied = ({ text, course, className }) => { + return ( +
      +
      +
      +
      Application
      +
      +
      +
      {text}
      +
      +
      +
      +
      + {course} +
      +
      +
      +
      +
      +
      +
      Status:
      +
      +
      +
      +
      Application Denied
      +
      +
      +
      + ); +}; + +ApplicationStatusCardDenied.propTypes = { + text: PropTypes.string, + course: PropTypes.string, + className: PropTypes.string, +}; + +ApplicationStatusCardDenied.defaultProps = { + className: '', // Default to an empty string if no class is provided +}; diff --git a/src/component/ApplicationStatusCardDenied/style.css b/src/component/ApplicationStatusCardDenied/style.css new file mode 100644 index 0000000..a407146 --- /dev/null +++ b/src/component/ApplicationStatusCardDenied/style.css @@ -0,0 +1,154 @@ +.status-card { + background-color: #ffffff; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 252px; + position: relative; + width: 716px; + margin-bottom: 18.75px; +} + +.status-card .overlap { + height: 186px; + left: 34px; + position: absolute; + top: 12px; + width: 204px; +} + +.status-card .inner-content { + height: 38px; + left: 0; + position: absolute; + top: 0; + width: 159px; +} + +.status-card .text-wrapper-6 { + color: black; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 32px; + font-weight: 500; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; +} + +.status-card .coarse-assistant-wrapper { + height: 29px; + left: 0; + position: absolute; + top: 54px; + width: 172px; +} + +.status-card .text-wrapper-7 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 21px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 10px; +} + +.status-card .overlap-2 { + + color: black; + height: 100px; + left: 100px; + position: absolute; + top: 0; + width: 104px; +} + +.status-card .div-wrapper { + + color: black; + height: 19px; + left: 0; + position: absolute; + top: 88px; +} + +.text-wrapper-8 { + color: black; + font-size: 16px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; +} + +.status-card .rectangle { + background-color: #9d9d9d; + height: 2px; + left: 90px; + position: absolute; + top: 112px; + transform: rotate(90deg); + width: 206px; +} + +.status-card .inner-content-2 { + height: 29px; + left: 354px; + position: absolute; + top: 66px; + width: 197px; +} + +.status-card .text-wrapper-9 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 19px; + font-weight: 400; + left: 10px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 80px; + width: 300px; +} + +.status-card .application-button { + height: 43px; + left: 454px; + position: absolute; + top: 60px; + width: 226px; + margin-top: 10px; +} + +.status-card .overlap-group-2 { + background-color: #f200491f; + border: 1px solid; + border-color: #f20049; + border-radius: 10px; + height: 43px; + position: relative; + width: 224px; +} + +.status-card .text-wrapper-10 { + color: #f20049; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 15px; + font-weight: 500; + left: 25px; + letter-spacing: 0; + line-height: normal; + position: absolute; + text-align: center; + top: 11px; + width: 182px; +} + diff --git a/src/component/ApplicationsCard/ApplicationsCard.jsx b/src/component/ApplicationsCard/ApplicationsCard.jsx new file mode 100644 index 0000000..1cef5ad --- /dev/null +++ b/src/component/ApplicationsCard/ApplicationsCard.jsx @@ -0,0 +1,21 @@ +import React from 'react'; +import './style.css'; +import PropTypes from 'prop-types'; + +export const ApplicationsCard = ({ + className, + applications = 'https://c.animaapp.com/vYQBTcnO/img/apply-1@2x.png', +}) => { + return ( +
      +
      + Applications +
      Applications
      +
      +
      + ); +}; + +ApplicationsCard.propTypes = { + applications: PropTypes.string, +}; diff --git a/src/component/ApplicationsCard/style.css b/src/component/ApplicationsCard/style.css new file mode 100644 index 0000000..3c004b6 --- /dev/null +++ b/src/component/ApplicationsCard/style.css @@ -0,0 +1,42 @@ +.applications { + background-color: #ffffff; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 183px; + width: 187px; + } + + .applications .inner-content-3 { + height: 143px; + left: 10px; + position: relative; + top: 8px; + width: 88px; + } + + .applications .text-wrapper-6{ + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 20px; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 5px; + white-space: nowrap; + margin-left: 30px; + } + + .applications .img-3 { + height: 74px; + left: 40px; + position: absolute; + top: 59px; + width: 86px; + } + + + + + + diff --git a/src/component/Bio/Bio.jsx b/src/component/Bio/Bio.jsx new file mode 100644 index 0000000..3cd2556 --- /dev/null +++ b/src/component/Bio/Bio.jsx @@ -0,0 +1,27 @@ +import React from 'react'; +import styles from './style.module.css'; + +export const Bio = ({ user, className }) => { + return ( +
      +
      + {user.displayName && ( +
      + {user.displayName != undefined + ? user.displayName + .split(' ') + .map((part) => + part[0] != undefined ? part[0].toUpperCase() : '' + ) + .join('') + : ''} +
      + )} +
      +
      +
      {user.displayName}
      +
      {user.email}
      +
      +
      + ); +}; diff --git a/src/component/Bio/style.module.css b/src/component/Bio/style.module.css new file mode 100644 index 0000000..ae1dae5 --- /dev/null +++ b/src/component/Bio/style.module.css @@ -0,0 +1,66 @@ +.fullnameandbio { + height: 295px; + position: relative; + width: 408px; + display: flex; + align-items: center; + flex-direction: column; +} + +.fullnameandbio .ellipse { + background-color: #9d9d9d; + border: 5px solid; + border-color: #ffffff; + border-radius: 100px; + height: 200px; + left: 26%; + position: absolute; + top: 0; + width: 200px; + display: flex; + align-items: center; + justify-content: center; +} +.fullnameandbio .initial { + color:#ffffff; + font-size: 100px; +} +.fullnameandbio .textwrapper { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 48px; + font-weight: 400; + margin: auto; + text-align: center; + letter-spacing: 0; + line-height: normal; + position: relative; + top: 200px; + white-space: nowrap; +} + +.fullnameandbio .div { + color: #6c6c6c; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 24px; + font-weight: 400; + text-align: center; + letter-spacing: 0; + line-height: normal; + position: relative; + top: 200px; +} + +.fullnameandbio .textwrapper2 { + color: #6c6c6c; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 14px; + font-weight: 400; + left: 308px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 190px; +} + + diff --git a/src/component/BottomMenu/BottomMenu.tsx b/src/component/BottomMenu/BottomMenu.tsx new file mode 100644 index 0000000..2bffb59 --- /dev/null +++ b/src/component/BottomMenu/BottomMenu.tsx @@ -0,0 +1,230 @@ +import * as React from 'react'; +import Box from '@mui/material/Box'; +import BottomNavigation from '@mui/material/BottomNavigation'; +import BottomNavigationAction from '@mui/material/BottomNavigationAction'; +import Paper from '@mui/material/Paper'; +// icons +import GroupIcon from '@mui/icons-material/Group'; // users +import MenuBookIcon from '@mui/icons-material/MenuBook'; // courses +import CollectionsBookmarkIcon from '@mui/icons-material/CollectionsBookmark'; // applications +import EditNoteIcon from '@mui/icons-material/EditNote'; // application +import AccountBoxIcon from '@mui/icons-material/AccountBox'; // profile + +/* Depending on whether or not the signed-in user is a student, faculty, or admin, + the bottom menu will be displaying different things. + + For a student: + - application (if applying or applied) or courses (if accepted) + + For a faculty member: + - applications + - courses + + For an admin: + - users + - courses + - applications + + For all: + - profile, with some kind of embedded settings + */ + +export type BottomMenuProps = { + user_role: string; + onComponentChange: (componentName: string) => void; +}; + +export default function BottomMenu(props: BottomMenuProps) { + const { user_role, onComponentChange } = props; + + const [value, setValue] = React.useState(''); + const ref = React.useRef(null); + + const handleChange = (event: React.SyntheticEvent, newValue: string) => { + setValue(newValue); + onComponentChange(newValue); + }; + + switch (user_role) { + case 'admin': + return ( + <> + + + + } + /> + } + /> + } + /> + } + /> + + + + + ); + case 'faculty': + return ( + <> + + + + } + /> + } + /> + } + /> + + + + + ); + case 'student_applying': + return ( + <> + + + + } + /> + } + /> + + + + + ); + case 'student_applied': + case 'student_accepted': + case 'student_denied': + return ( + <> + + + + } + /> + } + /> + + + + + ); + case 'student_assigned': + return ( + <> + + + + } + /> + } + /> + + + + + ); + default: + return ( + <> + + + + } + /> + + + + + ); + } +} diff --git a/src/component/Breadcrumb/Breadcrumb.jsx b/src/component/Breadcrumb/Breadcrumb.jsx new file mode 100644 index 0000000..0d594a7 --- /dev/null +++ b/src/component/Breadcrumb/Breadcrumb.jsx @@ -0,0 +1,39 @@ +import { usePathname } from 'next/navigation'; +import { Breadcrumbs } from '@mui/material'; +import Link from '@mui/material/Link'; +import Typography from '@mui/material/Typography'; + +export default function Breadcrumb() { + const pathname = usePathname(); + const pathSegments = pathname.split('/').filter(Boolean); + const breadcrumbs = pathSegments.slice(0, -1).map((segment) => { + const rawLabel = segment.split('%')[0]; + const label = rawLabel.charAt(0).toUpperCase() + rawLabel.slice(1); + return { + href: `/${segment}`, + label, + }; + }); + + const lastItem = pathSegments[pathSegments.length - 1].split('%')[0]; + return ( + + + Home + + {breadcrumbs.map((crumb) => ( + + {crumb.label} + + ))} + {lastItem && ( + {lastItem} + )} + + ); +} diff --git a/src/component/Card/Card.jsx b/src/component/Card/Card.jsx new file mode 100644 index 0000000..1b19943 --- /dev/null +++ b/src/component/Card/Card.jsx @@ -0,0 +1,35 @@ +import PropTypes from 'prop-types'; +import React from 'react'; +import './style.css'; + +export const Card = ({ + className = '', + text = 'As a student, Course Connect provides you with the opportunity to apply for TA, PI, or grader positions. Submit your application through our intuitive interface and keep track of its status. You'll receive notifications when you are assigned to a course, ensuring that you stay informed every step of the way. Once assigned, you can easily access and view your course(s) as an employee, making it convenient to manage your responsibilities.', + rectangleClassName, + imgLink, + text1 = 'Student', +}) => { + return ( +
      +
      +

      {text}

      +
      {text1}
      +
      + +
      + ); +}; + +Card.propTypes = { + className: PropTypes.string, + text: PropTypes.string, + text1: PropTypes.string, +}; diff --git a/src/component/Card/style.css b/src/component/Card/style.css new file mode 100644 index 0000000..c1a67d9 --- /dev/null +++ b/src/component/Card/style.css @@ -0,0 +1,55 @@ +.card { + background-color: #ffffff; + border: 3px solid; + border-color: #000000; + border-radius: 27px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 585px; + position: relative; + width: 398px; +} + +.card .inner-content { + height: 303px; + left: 25px; + position: absolute; + top: 182px; + width: 354px; +} + +.card .as-a-student-course { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + left: 2px; + letter-spacing: 0.3px; + line-height: 21px; + position: absolute; + top: 106px; + width: 348px; +} + +.card .student { + color: #000000; + font-family: "SF Pro Display-Bold", Helvetica; + font-size: 32px; + font-weight: 700; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 50px; + width: 244px; +} + +.rectangle { + left: 20px; + top: 12px; + width: 350px; + height: 200px; + position: absolute; +} + + + diff --git a/src/component/ClassCard/ClassCard.jsx b/src/component/ClassCard/ClassCard.jsx new file mode 100644 index 0000000..f3c5d9d --- /dev/null +++ b/src/component/ClassCard/ClassCard.jsx @@ -0,0 +1,24 @@ +// components/ClassCard.js +import React from 'react'; +import Link from 'next/link'; +import './style.css'; + +const ClassCard = ({ className, courseName, courseId, courseTitle }) => { + return ( + +
      +
      +
      {courseName}
      +
      +
      + + ); +}; + +export default ClassCard; diff --git a/src/component/ClassCard/style.css b/src/component/ClassCard/style.css new file mode 100644 index 0000000..f76949f --- /dev/null +++ b/src/component/ClassCard/style.css @@ -0,0 +1,23 @@ +.class-card { + background-color: #ffffff; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 107px; + position: relative; + width: 252px; + } + + .class-card .text-wrapper { + color: #000000; + font-family: "SF Pro Display-Bold", Helvetica; + font-size: 32px; + font-weight: 700; + left: 3px; + letter-spacing: 0; + line-height: normal; + position: absolute; + text-align: center; + top: 34px; + width: 246px; + } + \ No newline at end of file diff --git a/src/component/CourseCard/CourseCard.jsx b/src/component/CourseCard/CourseCard.jsx new file mode 100644 index 0000000..e1adf91 --- /dev/null +++ b/src/component/CourseCard/CourseCard.jsx @@ -0,0 +1,16 @@ +import React from 'react'; +import './style.css'; + +export const CourseCard = ({ + className, + course = 'https://c.animaapp.com/lmfJ7wLf/img/apply@2x.png', +}) => { + return ( +
      +
      +
      Courses
      + Apply +
      +
      + ); +}; diff --git a/src/component/CourseCard/style.css b/src/component/CourseCard/style.css new file mode 100644 index 0000000..324a6dd --- /dev/null +++ b/src/component/CourseCard/style.css @@ -0,0 +1,39 @@ +.course { + background-color: #ffffff; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 183px; + width: 187px; +} + + + + .course .inner-content { + height: 143px; + left: 34px; + position: relative; + top: 8px; + width: 114px; + } + + .course .img { + height: 74px; + left: 13px; + position: absolute; + top: 69px; + width: 86px; + } + + .course .text-wrapper-6 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 32px; + font-weight: 400; + left: 3px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; + } + \ No newline at end of file diff --git a/src/component/CourseDetails/CourseDetails.tsx b/src/component/CourseDetails/CourseDetails.tsx new file mode 100644 index 0000000..7eff921 --- /dev/null +++ b/src/component/CourseDetails/CourseDetails.tsx @@ -0,0 +1,317 @@ +'use client'; + +import React from 'react'; +import { + Box, + Typography, + Card, + CardContent, + Grid, + Paper, + Button, + Container, +} from '@mui/material'; +import LocationOnIcon from '@mui/icons-material/LocationOn'; +import './style.css'; +import Link from 'next/link'; +import EnrollmentInfo from '../Enrollment/Enrollment'; +import MailOutlineIcon from '@mui/icons-material/MailOutline'; +import PersonOutlineOutlinedIcon from '@mui/icons-material/PersonOutlineOutlined'; + +interface CourseDetailsProps { + courseName: string; + semester: string; + instructor: string; + email: string; + studentsEnrolled: number; + maxStudents: number; + credits: number; + courseCode: string; + department: string; + TAs: { name: string; email: string }[]; + title: string; + schedule: { day: string; time: string; location: string }[]; +} + +const CourseDetails: React.FC = ({ + courseName, + semester, + instructor, + email, + studentsEnrolled, + maxStudents, + credits, + courseCode, + department, + TAs, + title, + schedule, +}) => { + const cardStyle = { + boxShadow: '0 4px 8px rgba(0, 0, 0, 0.2)', + height: '85%', // Ensure cards stretch to fill height + }; + + // Helper function to format instructor name safely + const formatInstructorName = (name: string) => { + const parts = name.split(','); + if (parts.length === 2) { + return `${parts[1].trim()} ${parts[0].trim()}`; + } + return name; // Return as is if format is unexpected + }; + + return ( + + {/* Header Section */} + + + + {`${courseName} - ${title}`} + + + {semester} + + + + + + + + + Min-Max Credits + + + {credits} + + + + + + + + + Course Code + + + + {courseCode} + + + + + + + + + Department + + + {department} + + + + + + + + + + + {/* Instructor and Email Cards */} + + + + + + + + Instructor + + + + {formatInstructorName(instructor)} + + + + + + + + + + + Email + + + {email} + + + + + {/* Enrollment Info */} + + + + + + + + + {/* TAs and Schedule */} + + {/* TAs Section */} + + + {TAs.length > 0 ? 'TAs:' : 'No TAs assigned'} + + +
      + {TAs.map((ta, index) => ( + + + + + + + + + TA Name + + + + {ta.name} + + + + + + + + + + + + Email + + + + {ta.email != 'undef' ? ta.email : 'Missing'} + + + + + + + ))} +
      +
      +
      +
      + + {/* Schedule Section */} + + + Time and Location: + + {Array.isArray(schedule) ? ( + schedule.map((item, index) => ( + + + {item.day} | {item.time} + + + + + {item.location} + + + + )) + ) : ( + + None Listed{' '} + + )} + {} + + +
      + {/* Close Button */} + + + + + +
      + ); +}; + +export default CourseDetails; diff --git a/src/component/CourseDetails/style.css b/src/component/CourseDetails/style.css new file mode 100644 index 0000000..2576d05 --- /dev/null +++ b/src/component/CourseDetails/style.css @@ -0,0 +1,43 @@ +.course-details { + padding: 20px; + margin: 25px 50px; + border-radius: 50px; + +} + +.instructor, +.students-enrolled, +.course-info, +.tas, +.schedule { + margin-bottom: 20px; +} +.text-highlight { + color: #000; /* Change to desired text color */ + font-family: SF Pro Display; + font-weight: 400; + line-height: 36px; + word-wrap: break-word; +} + +.enrollment-bar { + background-color: lightgray; + border-radius: 5px; + height: 10px; + width: 100%; +} + +.enrollment-percentage { + height: 100%; + border-radius: 5px; +} + +.schedule-item { + display: flex; + align-items: center; + margin-bottom: 16px; +} + +.schedule-item .MuiSvgIcon-root { + margin-right: 8px; +} diff --git a/src/component/CourseNavBar/CourseNavBar.jsx b/src/component/CourseNavBar/CourseNavBar.jsx new file mode 100644 index 0000000..719eaf3 --- /dev/null +++ b/src/component/CourseNavBar/CourseNavBar.jsx @@ -0,0 +1,71 @@ +// CourseNavBar.js +import React, { useState } from 'react'; +import './style.css'; + +const CourseNavBar = (props) => { + const [selectedItem, setSelectedItem] = useState('Review'); + + const handleClick = (item) => { + setSelectedItem(item); + props.handleClick(item); + }; + + return ( +
      +
      handleClick('Review')} + > +
      + Needs Review +
      +
      +
      handleClick('Approved')} + > +
      + Approved +
      +
      +
      handleClick('Denied')} + > +
      + Denied +
      +
      +
      handleClick('Assigned')} + > +
      + Assigned +
      +
      +
      + ); +}; + +export default CourseNavBar; diff --git a/src/component/CourseNavBar/style.css b/src/component/CourseNavBar/style.css new file mode 100644 index 0000000..7867352 --- /dev/null +++ b/src/component/CourseNavBar/style.css @@ -0,0 +1,46 @@ +/* CourseNavBar.css */ + + +.courseNavBar { + display: flex; + justify-content: space-around; + align-items: center; + height: 46px; + /* Adjust the height as needed */ + width: 100%; + border-radius: 32px; + border: 2px solid #000000; + box-sizing: border-box; + +} + + +.courseNavBarItem { + position: relative; + border-radius: 32px; + width: 90%; + height: 40px; + object-fit: cover; + transition: background-color 0.3s ease; + margin-left: 2px; +} + +.courseNavBarItem:hover { + cursor: pointer; +} + +.courseNavBarItem.selected { + background-color: #562eba; + +} + +.oval-button { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + text-align: center; + font-size: 14px; + color: #000; + font-family: "SF Pro Display", Helvetica; +} diff --git a/src/component/CourseUnitInfo/CourseUnit.tsx b/src/component/CourseUnitInfo/CourseUnit.tsx new file mode 100644 index 0000000..966f367 --- /dev/null +++ b/src/component/CourseUnitInfo/CourseUnit.tsx @@ -0,0 +1,93 @@ +import * as React from 'react'; +import CircularProgress, { + CircularProgressProps, +} from '@mui/material/CircularProgress'; +import Typography from '@mui/material/Typography'; +import Box from '@mui/material/Box'; +import LinearProgress from '@mui/material/LinearProgress'; + +interface EnrollmentInfoProps extends CircularProgressProps { + current: number; + total: number; +} + +const CourseUnitInfo: React.FC = (props) => { + const { current, total, ...circularProgressProps } = props; + const percentage = (current / total) * 100; + const units = current.toString().padStart(2, '0'); + return ( + + + Course Units + + + + {units} + + + CU + + + of {total} CU + + + + + + + + {`${Math.round(percentage)}%`} + + + {'accumulated'} + + + + + + + Course Units Accumulated + + + {units} CU + + + + + ); +}; + +export default CourseUnitInfo; diff --git a/src/component/Dashboard/AdminCourses/Course.tsx b/src/component/Dashboard/AdminCourses/Course.tsx new file mode 100644 index 0000000..b3cb658 --- /dev/null +++ b/src/component/Dashboard/AdminCourses/Course.tsx @@ -0,0 +1,10 @@ +// individual user +// this could be a modal which pops up when a user is clicked on in the table +// same principle for application & courses in their respective tables +export default function Course() { + return ( + <> +

      individual user

      + + ); +} diff --git a/src/component/Dashboard/AdminCourses/CourseGrid.tsx b/src/component/Dashboard/AdminCourses/CourseGrid.tsx new file mode 100644 index 0000000..5ce2bf9 --- /dev/null +++ b/src/component/Dashboard/AdminCourses/CourseGrid.tsx @@ -0,0 +1,482 @@ +'use client'; +import * as React from 'react'; +import Box from '@mui/material/Box'; +import EditIcon from '@mui/icons-material/Edit'; +import DeleteIcon from '@mui/icons-material/DeleteOutlined'; +import SaveIcon from '@mui/icons-material/Save'; +import CancelIcon from '@mui/icons-material/Close'; +import { + GridRowModesModel, + GridRowsProp, + GridRowModes, + GridToolbarContainer, + GridToolbarExport, + GridToolbarFilterButton, + GridToolbarColumnsButton, + DataGrid, + GridColDef, + GridActionsCellItem, + GridEventListener, + GridRowId, + GridRowModel, + GridRowEditStopReasons, + useGridApiContext, + gridClasses, +} from '@mui/x-data-grid'; +import { + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + TextField, +} from '@mui/material'; +import { deleteUserHTTPRequest } from '@/firebase/auth/auth_delete_user'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import { LinearProgress, Button } from '@mui/material'; +import { alpha, styled } from '@mui/material/styles'; + +interface User { + id: string; + firstname: string; + lastname: string; + email: string; + password: string; + department: string; + role: string; + ufid: string; + isNew?: boolean; + mode?: 'edit' | 'view' | undefined; +} + +interface EditToolbarProps { + setUserData: (newRows: (oldRows: GridRowsProp) => GridRowsProp) => void; + setRowModesModel: ( + newModel: (oldModel: GridRowModesModel) => GridRowModesModel + ) => void; +} + +function EditToolbar(props: EditToolbarProps) { + const { setUserData, setRowModesModel } = props; + + // Add state to control the dialog open status + const [open, setOpen] = React.useState(false); + + return ( + + {/* Include your Dialog component here and pass the open state and setOpen function as props */} + + + + + ); +} + +interface UserGridProps { + userRole: string; +} + +export default function UserGrid(props: UserGridProps) { + const { userRole } = props; + const [userData, setUserData] = React.useState([]); + const [open, setOpen] = React.useState(false); + const [delDia, setDelDia] = React.useState(false); + const [delId, setDelId] = React.useState(); + + React.useEffect(() => { + const usersRef = firebase.firestore().collection('users'); + usersRef.get().then((querySnapshot) => { + const data = querySnapshot.docs.map( + (doc) => + ({ + id: doc.id, + ...doc.data(), + } as User) + ); + setUserData(data); + }); + }, []); + const handleDeleteDiagClose = () => { + setDelDia(false); + }; + const [rowModesModel, setRowModesModel] = React.useState( + {} + ); + + const handleRowEditStop: GridEventListener<'rowEditStop'> = ( + params, + event + ) => { + if (params.reason === GridRowEditStopReasons.rowFocusOut) { + event.defaultMuiPrevented = true; + } + }; + + const handleEditClick = (id: GridRowId) => () => { + setRowModesModel({ ...rowModesModel, [id]: { mode: GridRowModes.Edit } }); + }; + + const handleSaveClick = (id: GridRowId) => () => { + const updatedRow = userData.find((row) => row.id === id); + if (updatedRow) { + firebase + .firestore() + .collection('users') + .doc(id.toString()) + .update(updatedRow) + .then(() => { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View }, + }); + }) + .catch((error) => { + console.error('Error updating document: ', error); + }); + } else { + console.error('No matching user data found for id: ', id); + } + }; + const handleDel = (id: GridRowId) => () => { + setDelId(id); + setDelDia(true); + }; + const handleDeleteClick = (id: GridRowId) => { + firebase + .firestore() + .collection('users') + .doc(id.toString()) + .delete() + .then(() => { + deleteUserHTTPRequest(id.toString()); + setUserData(userData.filter((row) => row.id !== id)); + }) + .catch((error) => { + console.error('Error removing document: ', error); + }); + }; + + const handleSubmit = (e) => { + e.preventDefault(); + handleDeleteClick(delId); + setDelDia(false); + }; + function CustomToolbar() { + const apiRef = useGridApiContext(); + + return ( + + + + ); + } + + const handleCancelClick = (id: GridRowId) => () => { + const editedRow = userData.find((row) => row.id === id); + if (editedRow!.isNew) { + firebase + .firestore() + .collection('users') + .doc(id.toString()) + .delete() + .then(() => { + setUserData(userData.filter((row) => row.id !== id)); + }) + .catch((error) => { + console.error('Error removing document: ', error); + }); + } else { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View, ignoreModifications: true }, + }); + } + }; + + const processRowUpdate = (newRow: GridRowModel) => { + const updatedRow = { ...(newRow as User), isNew: false }; + if (updatedRow) { + if (updatedRow.isNew) { + return firebase + .firestore() + .collection('users') + .add(updatedRow) + .then(() => { + setUserData( + userData.map((row) => (row.id === newRow.id ? updatedRow : row)) + ); + return updatedRow; + }) + .catch((error) => { + console.error('Error adding document: ', error); + throw error; + }); + } else { + return firebase + .firestore() + .collection('users') + .doc(updatedRow.id) + .update(updatedRow) + .then(() => { + setUserData( + userData.map((row) => (row.id === newRow.id ? updatedRow : row)) + ); + return updatedRow; + }) + .catch((error) => { + console.error('Error updating document: ', error); + throw error; + }); + } + } else { + return Promise.reject( + new Error('No matching user data found for id: ' + newRow.id) + ); + } + }; + + const handleRowModesModelChange = (newRowModesModel: GridRowModesModel) => { + setRowModesModel(newRowModesModel); + }; + + const columns: GridColDef[] = [ + { + field: 'actions', + type: 'actions', + headerName: 'Actions', + width: 200, + cellClassName: 'actions', + getActions: ({ id }) => { + const isInEditMode = rowModesModel[id]?.mode === GridRowModes.Edit; + + if (isInEditMode) { + return [ + } + label="Save" + sx={{ + color: '#562EBA', + }} + onClick={handleSaveClick(id)} + />, + } + label="Cancel" + className="textPrimary" + onClick={handleCancelClick(id)} + color="inherit" + />, + ]; + } + + return [ + , + + , + ]; + }, + }, + { + field: 'firstname', + headerName: 'First Name', + width: 150, + editable: true, + }, + { field: 'lastname', headerName: 'Last Name', width: 150, editable: true }, + { field: 'email', headerName: 'Email', width: 250, editable: true }, + { field: 'password', headerName: 'Password', width: 200, editable: true }, + { + field: 'department', + headerName: 'Department', + width: 130, + editable: true, + }, + { field: 'role', headerName: 'Role', width: 150, editable: true }, + { field: 'id', headerName: 'User ID', width: 290, editable: true }, + ]; + const ODD_OPACITY = 0.2; + + const StripedDataGrid = styled(DataGrid)(({ theme }) => ({ + [`& .${gridClasses.row}.even`]: { + backgroundColor: '#562EBA1F', + '&:hover, &.Mui-hovered': { + backgroundColor: alpha(theme.palette.primary.main, ODD_OPACITY), + '@media (hover: none)': { + backgroundColor: 'transparent', + }, + }, + '&.Mui-selected': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + '&:hover, &.Mui-hovered': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + + theme.palette.action.selectedOpacity + + theme.palette.action.hoverOpacity + ), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + }, + }, + }, + }, + })); + return ( + + + + Delete User + +
      handleSubmit(e)}> + + + Are you sure you want to delete this user? + + + + + + + +
      +
      + + params.indexRelativeToCurrentPage % 2 === 0 ? 'even' : 'odd' + } + sx={{ borderRadius: '16px' }} + /> +
      + ); +} diff --git a/src/component/Dashboard/AdminCourses/Courses.tsx b/src/component/Dashboard/AdminCourses/Courses.tsx new file mode 100644 index 0000000..c435a34 --- /dev/null +++ b/src/component/Dashboard/AdminCourses/Courses.tsx @@ -0,0 +1,23 @@ +import Container from '@mui/material/Container'; +import CourseGrid from '../Courses/CourseGrid'; + +interface UsersProps { + userRole: string; + semester: string; + processing: boolean; +} + +export default function Users(props: UsersProps) { + const { userRole, semester, processing } = props; + return ( + <> + + + + + ); +} diff --git a/src/component/Dashboard/Applications/AppStatus.tsx b/src/component/Dashboard/Applications/AppStatus.tsx new file mode 100644 index 0000000..eef2c1a --- /dev/null +++ b/src/component/Dashboard/Applications/AppStatus.tsx @@ -0,0 +1,45 @@ +import SubmitAppDialog from './ApplicationDialog'; +/* +there are multiple states represented here: + 1. student has applied (student_applied) +simply display the application status + 2. student has been denied (student_denied) +display that the student has been denied and offer a dialog with the application form to resubmit + 3. student has been accepted but not assigned (student_accepted) +display that the student has been accepted and say that they will receive an email when +they have been assigned a course +*/ + +interface AppStatusProps { + user: any; + userRole: string; +} + +export default function ShowApplicationStatus(props: AppStatusProps) { + const { userRole, user } = props; + + if (userRole === 'student_applied') { + return ( + <> +

      Your application has been received.

      +

      It is under review.

      + + ); + } else if (userRole === 'student_denied') { + return ( + <> +

      Your application has been denied.

      +

      You can reapply below:

      + + + ); + } else if (userRole === 'student_accepted') { + return ( + <> +

      Your application has been accepted!

      +

      You shall be assigned a course soon.

      + + ); + } + return <>; +} diff --git a/src/component/Dashboard/Applications/AppView.tsx b/src/component/Dashboard/Applications/AppView.tsx new file mode 100644 index 0000000..af19136 --- /dev/null +++ b/src/component/Dashboard/Applications/AppView.tsx @@ -0,0 +1,228 @@ +import * as React from 'react'; +import './style.css'; +import { useCallback } from 'react'; + +import ThumbDownOffAltIcon from '@mui/icons-material/ThumbDownOffAlt'; +import ThumbUpOffAltIcon from '@mui/icons-material/ThumbUpOffAlt'; +import Box from '@mui/material/Box'; +import Typography from '@mui/material/Typography'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import { GridRowId } from '@mui/x-data-grid'; + +export interface AppViewProps { + uid: string; + close: () => void; + handleDenyClick: (id: GridRowId) => void; + handleOpenAssignmentDialog: (id: GridRowId) => void; +} + +export default function AppView({ + close, + uid, + handleDenyClick, + handleOpenAssignmentDialog, +}: AppViewProps) { + const [docData, setDocData] = React.useState(null); + + // get application object from uid + const applicationsRef = firebase.firestore().collection('applications'); + const docRef = applicationsRef.doc(uid); + + const onThumbUpClick = useCallback( + (event: any) => { + event?.stopPropagation(); + handleOpenAssignmentDialog(uid); + }, + [handleOpenAssignmentDialog, uid] + ); + + const onThumbDownIconClick = useCallback( + (event: any) => { + event?.stopPropagation(); + handleDenyClick(uid); + }, + [handleDenyClick, uid] + ); + + React.useEffect(() => { + docRef + .get() + .then((doc) => { + if (doc.exists) { + setDocData(doc.data()); + } else { + console.log('No such document!'); + } + }) + .catch((error) => { + console.log('Error getting document:', error); + }); + }, [uid, docRef]); // Only re-run the effect if uid changes + return ( + + {docData && ( + <> +
      +
      +
      +
      + {docData.firstname[0].toUpperCase() + + docData.lastname[0].toUpperCase()} +
      +
      +
      +
      + {docData.firstname} {docData.lastname} +
      + +
      +
      {docData.email}
      +
      {docData.phonenumber}
      +
      +
      +
      + + +
      +
      Review
      +
      +
      +
      + +
      +
      +
      Applying for:
      +
      {docData.position}
      +
      +
      +
      Semester(s):
      +
      {docData.available_semesters.join(', ')}
      +
      +
      +
      Availability:
      +
      + {docData.available_hours.join(', ')} +
      +
      +
      +
      All Course(s):
      +
      + {Object.entries(docData.courses) + .map(([key, value]) => key) + .join(', ')} +
      +
      +
      +
      Faculty Approved Course(s):
      +
      + {Object.entries(docData.courses) + .filter(([key, value]) => value == 'accepted') + .map(([key, value]) => key) + .join(', ')} +
      +
      + +
      +
      +
      +
      Department:
      +
      + {docData.department} +
      +
      + +
      +
      Degree:
      +
      + {docData.degree} +
      +
      + +
      +
      GPA:
      +
      + {docData.gpa} +
      +
      +
      + +
      + Qualifications: +
      +
      + {docData.qualifications} +
      +
      + Graduate Plan: +
      +
      + {docData.additionalprompt} +
      +
      + Resume Link: +
      + {docData.resume_link ? ( + + {docData.resume_link} + + ) : ( +
      + No resume link provided. +
      + )} +
      +
      + + )} +
      + ); +} diff --git a/src/component/Dashboard/Applications/Application.tsx b/src/component/Dashboard/Applications/Application.tsx new file mode 100644 index 0000000..bebd273 --- /dev/null +++ b/src/component/Dashboard/Applications/Application.tsx @@ -0,0 +1,456 @@ +'use client'; +import * as React from 'react'; +import Avatar from '@mui/material/Avatar'; +import Button from '@mui/material/Button'; +import CssBaseline from '@mui/material/CssBaseline'; +import TextField from '@mui/material/TextField'; +import Grid from '@mui/material/Grid'; +import Box from '@mui/material/Box'; +import EditNoteIcon from '@mui/icons-material/EditNote'; +import DepartmentSelect from '@/component/FormUtil/DepartmentSelect'; +import GPA_Select from '@/component/FormUtil/GPASelect'; +import Typography from '@mui/material/Typography'; +import Container from '@mui/material/Container'; +import DegreeSelect from '@/component/FormUtil/DegreeSelect'; +import SemesterStatusSelect from '@/component/FormUtil/SemesterStatusSelect'; +import NationalitySelect from '@/component/FormUtil/NationalitySelect'; +import ProficiencySelect from '@/component/FormUtil/ProficiencySelect'; +import PositionSelect from '@/component/FormUtil/PositionSelect'; +import AvailabilityCheckbox from '@/component/FormUtil/AvailabilityCheckbox'; +import SemesterCheckbox from '@/component/FormUtil/SemesterCheckbox'; +import AdditionalSemesterPrompt from '@/component/FormUtil/AddtlSemesterPrompt'; +import UpdateRole from '@/firebase/util/UpdateUserRole'; +import { useAuth } from '@/firebase/auth/auth_context'; +import { toast } from 'react-hot-toast'; +import { LinearProgress } from '@mui/material'; +import Snackbar from '@mui/material/Snackbar'; +import MuiAlert, { AlertProps } from '@mui/material/Alert'; + +import { useState } from 'react'; +// note that the application needs to be able to be connected to a specific faculty member +// so that the faculty member can view the application and accept/reject it +// the user can indicate whether or not it is unspecified I suppose? +// but that would leave a little bit of a mess. +// best to parse the existing courses and then have the user select +// from a list of existing courses +// ...yeah that's probably the best way to do it + +export default function Application() { + // get the current user's uid + + const { user } = useAuth(); + const userId = user.uid; + + // get the current date in month/day/year format + const current = new Date(); + const current_date = `${ + current.getMonth() + 1 + }-${current.getDate()}-${current.getFullYear()}`; + + // extract the nationality + const [nationality, setNationality] = React.useState(null); + + const [additionalPromptValue, setAdditionalPromptValue] = React.useState(''); + const handleAdditionalPromptChange = (newValue: string) => { + setAdditionalPromptValue(newValue); + }; + const [loading, setLoading] = useState(false); + const handleSubmit = async (event: React.FormEvent) => { + setLoading(true); + event.preventDefault(); + // extract the form data from the current event + const formData = new FormData(event.currentTarget); + + // extract availability checkbox's values + const availabilityCheckbox_seven = + formData.get('availabilityCheckbox_seven') === 'on'; + const availabilityCheckbox_fourteen = + formData.get('availabilityCheckbox_fourteen') === 'on'; + const availabilityCheckbox_twenty = + formData.get('availabilityCheckbox_twenty') === 'on'; + + const availabilityArray: string[] = []; + if (availabilityCheckbox_seven) { + availabilityArray.push('7'); + } + if (availabilityCheckbox_fourteen) { + availabilityArray.push('14'); + } + if (availabilityCheckbox_twenty) { + availabilityArray.push('20'); + } + + // extract semester checkbox's values + const semesterCheckbox_fall_2023 = + formData.get('semesterCheckbox_fall_2023') === 'on'; + const semesterCheckbox_spring_2024 = + formData.get('semesterCheckbox_spring_2024') === 'on'; + + const semesterArray: string[] = []; + if (semesterCheckbox_fall_2023) { + semesterArray.push('Fall 2023'); + } + if (semesterCheckbox_spring_2024) { + semesterArray.push('Spring 2024'); + } + + // get courses as array + const coursesString = formData.get('course-prompt') as string; + + const coursesArray = coursesString + .split(',') + .map((professorEmail) => professorEmail.trim()); + + // extract the specific user data from the form data into a parsable object + const applicationData = { + firstname: formData.get('firstName') as string, + lastname: formData.get('lastName') as string, + email: formData.get('email') as string, + ufid: formData.get('ufid') as string, + phonenumber: formData.get('phone-number') as string, + gpa: formData.get('gpa-select') as string, + department: formData.get('department-select') as string, + degree: formData.get('degrees-radio-group') as string, + semesterstatus: formData.get('semstatus-radio-group') as string, + additionalprompt: additionalPromptValue, + nationality: nationality as string, + englishproficiency: formData.get('proficiency-select') as string, + position: formData.get('positions-radio-group') as string, + available_hours: availabilityArray as string[], + available_semesters: semesterArray as string[], + courses: coursesArray as string[], + qualifications: formData.get('qualifications-prompt') as string, + uid: userId, + date: current_date, + status: 'Submitted', + }; + + if (!applicationData.email.includes('ufl')) { + toast.error('Please enter a valid ufl email!'); + setLoading(false); + return; + } else if (applicationData.firstname === '') { + toast.error('Please enter a valid first name!'); + setLoading(false); + return; + } else if (applicationData.lastname === '') { + toast.error('Please enter a valid last name!'); + setLoading(false); + return; + } else if (applicationData.phonenumber === '') { + toast.error('Please enter a valid phone number!'); + setLoading(false); + } else if ( + applicationData.degree === null || + applicationData.degree === '' + ) { + toast.error('Please select a degree!'); + setLoading(false); + return; + } else if ( + applicationData.department === null || + applicationData.department === '' + ) { + toast.error('Please select a department!'); + setLoading(false); + return; + } else if ( + applicationData.semesterstatus === null || + applicationData.semesterstatus === '' + ) { + toast.error('Please select a semester status!'); + setLoading(false); + return; + } else if ( + applicationData.englishproficiency === null || + applicationData.englishproficiency === '' + ) { + toast.error('Please select your english proficiency level!'); + setLoading(false); + return; + } else if ( + applicationData.nationality === null || + applicationData.nationality === '' + ) { + toast.error('Please select your nationality!'); + setLoading(false); + return; + } else if ( + applicationData.position === null || + applicationData.position === '' + ) { + toast.error('Please enter a position!'); + setLoading(false); + return; + } else if (applicationData.available_hours.length == 0) { + toast.error('Please enter your available hours!'); + setLoading(false); + return; + } else if (applicationData.available_semesters.length == 0) { + toast.error('Please enter your available semesters!'); + setLoading(false); + return; + } else if (applicationData.courses.length == 0) { + toast.error('Please enter your courses!'); + setLoading(false); + return; + } else { + // console.log(applicationData); // FOR DEBUGGING ONLY! + + // use fetch to send the application data to the server + // this goes to a cloud function which creates a document based on + // the data from the form, identified by the user's firebase auth uid + const response = await fetch( + 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/processApplicationForm', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(applicationData), + } + ); + + if (response.ok) { + console.log('SUCCESS: Application data sent to server successfully'); + // now, update the role of the user to student_applied + await UpdateRole(userId, 'student_applied'); + // then, refresh the page somehow to reflect the state changing + // so the form goes away and the user can see the status of their application + location.reload(); + } else { + toast.error('Application data failed to send to server!'); + console.log('ERROR: Application data failed to send to server'); + } + setLoading(false); + } + }; + const [success, setSuccess] = React.useState(false); + const Alert = React.forwardRef(function Alert( + props, + ref + ) { + return ; + }); + + const handleSuccess = ( + event?: React.SyntheticEvent | Event, + reason?: string + ) => { + if (reason === 'clickaway') { + return; + } + + setSuccess(false); + }; + return ( + + + + Application submitted successfully! + + + {loading ? : null} + + + + + + + TA/UPI/Grader Application + + + + Personal Information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Demographic Information + + + + + Please select your nationality, based on country of origin.{' '} +
      + Federal laws prohibit discrimination based on a person's + national origin, race, color, religion, disability, sex, and + familial status. This question is asked to confirm the + demographic basis for the applicant's proficiency in + English. +
      + +
      + + + Please select your proficiency in English. + + + +
      + + Position Information + + + + + Please select the position for which you are interested in + applying. + + + + + + Please select the semester(s) for which you are applying. + + + + + + Please select one or more options describing the number of hours + per week you will be available. + + + + + + Please list the course(s) for which you are applying, separated + by commas. + + + + + + Please provide your most recently calculated cumulative UF GPA. + + + + + + Please describe your qualifications for the position and + course(s) for which you are applying.
      + + If you have been a TA, UPI, or grader before, please mention + the course(s) and teacher(s) for which you worked. + {' '} +

      + Write about any relevant experience, such as teaching, tutoring, + grading, or coursework.
      +
      + +
      + +
      + + +
      +
      +
      + ); +} diff --git a/src/component/Dashboard/Applications/ApplicationDialog.tsx b/src/component/Dashboard/Applications/ApplicationDialog.tsx new file mode 100644 index 0000000..f9823f1 --- /dev/null +++ b/src/component/Dashboard/Applications/ApplicationDialog.tsx @@ -0,0 +1,32 @@ +import * as React from 'react'; +import Button from '@mui/material/Button'; +import Dialog from '@mui/material/Dialog'; +import DialogContent from '@mui/material/DialogContent'; +import Application from './Application'; +import { Toaster } from 'react-hot-toast'; + +export default function SubmitAppDialog() { + const [open, setOpen] = React.useState(false); + + const handleClickOpen = () => { + setOpen(true); + }; + + const handleClose = () => { + setOpen(false); + }; + + return ( +
      + + + + + + + +
      + ); +} diff --git a/src/component/Dashboard/Applications/ApplicationGrid.tsx b/src/component/Dashboard/Applications/ApplicationGrid.tsx new file mode 100644 index 0000000..8b98237 --- /dev/null +++ b/src/component/Dashboard/Applications/ApplicationGrid.tsx @@ -0,0 +1,1306 @@ +// @ts-nocheck + +'use client'; +import * as React from 'react'; +import { useState, useEffect } from 'react'; +import Box from '@mui/material/Box'; + +import EditIcon from '@mui/icons-material/Edit'; +import DeleteIcon from '@mui/icons-material/DeleteOutlined'; +import SaveIcon from '@mui/icons-material/Save'; +import CancelIcon from '@mui/icons-material/Close'; +import ZoomInIcon from '@mui/icons-material/ZoomIn'; +import ThumbUpAltIcon from '@mui/icons-material/ThumbUpAlt'; +import ThumbDownAltIcon from '@mui/icons-material/ThumbDownAlt'; +import Radio from '@mui/material/Radio'; +import RadioGroup from '@mui/material/RadioGroup'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; +import { + GridRowModesModel, + GridRowModes, + DataGrid, + GridColDef, + GridActionsCellItem, + GridEventListener, + GridRowId, + GridRowModel, + GridRowEditStopReasons, + GridRowsProp, + GridToolbarContainer, + GridToolbarExport, + GridToolbarFilterButton, + GridToolbarColumnsButton, + GridValueGetterParams, +} from '@mui/x-data-grid'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import { query, where, collection, getDocs, getDoc } from 'firebase/firestore'; +import { useAuth } from '@/firebase/auth/auth_context'; +import GetUserName from '@/firebase/util/GetUserName'; +import { alpha, styled } from '@mui/material/styles'; +import { gridClasses } from '@mui/x-data-grid'; + +import { + Dialog, + DialogContent, + DialogTitle, + DialogContentText, + Button, + TextField, + DialogActions, + LinearProgress, +} from '@mui/material'; +import { purple } from '@mui/material/colors'; + +import UnderDevelopment from '@/component/UnderDevelopment'; +import AppView from './AppView'; +import { ThumbDownOffAlt, ThumbUpOffAlt } from '@mui/icons-material'; + +interface Application { + id: string; + additionalprompt: string; + available_hours: string; + available_semesters: string; + courses: string[]; + date: string; + degree: string; + department: string; + email: string; + englishproficiency: string; + firstname: string; + gpa: string; + lastname: string; + nationality: string; + phonenumber: string; + position: string; + qualifications: string; + semesterstatus: string; + ufid: string; + isNew?: boolean; + mode?: 'edit' | 'view' | undefined; +} + +interface ApplicationGridProps { + userRole: string; +} + +function getFullName(params: GridValueGetterParams) { + return `${params?.row.firstname || ''} ${params?.row.lastname || ''}`; +} + +export default function ApplicationGrid(props: ApplicationGridProps) { + // current user + const { user } = useAuth(); + const { userRole } = props; + const userName = GetUserName(user?.uid); + const [paginationModel, setPaginationModel] = React.useState({ + page: 0, + pageSize: 25, + }); + const [hours, setHours] = React.useState(0); + + // application props + const [applicationData, setApplicationData] = React.useState( + [] + ); + const [valueRadio, setValueRadio] = React.useState(''); + + const handleChangeRadio = (event: React.ChangeEvent) => { + setValueRadio((event.target as HTMLInputElement).value); + }; + // assignment dialog pop-up view setup + const [openAssignmentDialog, setOpenAssignmentDialog] = React.useState(false); + const [openDenyDialog, setOpenDenyDialog] = React.useState(false); + + const handleOpenAssignmentDialog = async (id: GridRowId) => { + const statusRef = firebase + .firestore() + .collection('applications') + .doc(id.toString()); + + const doc = await getDoc(statusRef); + setCodes( + Object.entries(doc.data().courses) + .filter(([key, value]) => value == 'approved') + .map(([key, value]) => key) + ); + setSelectedUserGrid(id); + + setOpenAssignmentDialog(true); + }; + + const handleDenyAssignmentDialog = async (id: GridRowId) => { + const statusRef = firebase + .firestore() + .collection('applications') + .doc(id.toString()); + + const doc = await getDoc(statusRef); + + setCodes( + Object.entries(doc.data().courses) + .filter(([key, value]) => value == 'denied') // Change 'accepted' to 'denied' + .map(([key, value]) => key) + ); + + setSelectedUserGrid(id); + setOpenDenyDialog(true); + }; + + const handleCloseAssignmentDialog = () => { + setOpenAssignmentDialog(false); + }; + const handleCloseDenyDialog = () => { + setOpenDenyDialog(false); + }; + + const handleSubmitAssignment = async ( + event: React.FormEvent + ) => { + event.preventDefault(); + setLoading(true); + + try { + const student_uid = selectedUserGrid as string; + const statusRef = firebase + .firestore() + .collection('applications') + .doc(student_uid.toString()); + let doc = await getDoc(statusRef); + + const courseDetails = firebase + .firestore() + .collection('courses') + .doc(valueRadio); + const courseDoc = await getDoc(courseDetails); + + // Update student's application to approved + await firebase + .firestore() + .collection('applications') + .doc(student_uid.toString()) + .update({ + status: 'Admin_approved', + [`courses.${valueRadio}`]: 'approved', + }); + + // Get the current date in month/day/year format + const current = new Date(); + const current_date = `${ + current.getMonth() + 1 + }-${current.getDate()}-${current.getFullYear()}`; + + const assignmentObject = { + date: current_date as string, + student_uid: student_uid as string, + class_codes: valueRadio, + email: doc.data()?.email, + name: doc.data()?.firstname + ' ' + doc.data()?.lastname, + semesters: doc.data()?.available_semesters, + department: doc.data()?.department, + hours: [hours], + position: doc.data()?.position, + degree: doc.data()?.degree, + ufid: doc.data()?.ufid, + }; + + // Create the document within the "assignments" collection + const assignmentRef = firebase + .firestore() + .collection('assignments') + .doc(assignmentObject.student_uid); + + doc = await assignmentRef.get(); + let uid = assignmentObject.student_uid; + + if (doc.exists) { + let counter = 1; + let newRef = firebase + .firestore() + .collection('assignments') + .doc(`${uid}-${counter}`); + + // Loop to check for the next available document ID + while ((await newRef.get()).exists) { + counter++; + newRef = firebase + .firestore() + .collection('assignments') + .doc(`${uid}-${counter}`); + } + + // Create a new document with the updated UID and assignmentObject + await newRef.set(assignmentObject); + } else { + // Document does not exist, create the original document + await assignmentRef.set(assignmentObject); + } + + // Extract and process the professor emails + const emailArray = courseDoc + .data() + ?.professor_emails.split(';') + .map((email) => email.trim()); + + // Send emails after all documents have been fetched and updated + if (emailArray) { + for (const email of emailArray) { + try { + const response = await fetch( + 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + type: 'facultyAssignment', + data: { + userEmail: email, + position: doc.data()?.position, + classCode: courseDoc.data()?.code, + semester: courseDoc.data()?.semester, + }, + }), + } + ); + + if (response.ok) { + const data = await response.json(); + console.log('Email sent successfully:', data); + } else { + throw new Error('Failed to send email'); + } + } catch (error) { + console.error('Error sending email:', error); + } + } + } + + handleSendEmail(assignmentObject); + handleCloseAssignmentDialog(); + } catch (error) { + console.error('Error in handleSubmitAssignment:', error); + } finally { + setLoading(false); + } + }; + + // toolbar + interface EditToolbarProps { + setApplicationData: ( + newRows: (oldRows: GridRowsProp) => GridRowsProp + ) => void; + setRowModesModel: ( + newModel: (oldModel: GridRowModesModel) => GridRowModesModel + ) => void; + } + + function EditToolbar(props: EditToolbarProps) { + const { setApplicationData, setRowModesModel } = props; + + // Add state to control the dialog open status + const [open, setOpen] = React.useState(false); + + return ( + + + + + + ); + } + + // pop-up view setup + const [open, setOpen] = React.useState(false); + const [delDia, setDelDia] = React.useState(false); + const [delId, setDelId] = React.useState(); + + const [codes, setCodes] = React.useState([]); + const [selectedUserGrid, setSelectedUserGrid] = + React.useState(null); + + const handleClickOpenGrid = (id: GridRowId) => { + setSelectedUserGrid(id); + setOpen(true); + }; + + const handleClose = () => { + setOpen(false); + }; + + const handleDeleteDiagClose = () => { + setDelDia(false); + }; + + // fetching application data from firestore + const [loading, setLoading] = useState(false); + React.useEffect(() => { + const applicationsRef = firebase.firestore().collection('applications'); + + if (userRole === 'admin') { + const unsubscribe = applicationsRef.onSnapshot((querySnapshot) => { + const data = querySnapshot.docs + .filter(function (doc) { + if (doc.data().status != 'Admin_denied') { + if ( + doc.data().status == 'Admin_approved' && + Object.values(doc.data().courses).length < 2 + ) { + return false; + } + return true; + } else { + return false; + } + }) + .map( + (doc) => + ({ + id: doc.id, + ...doc.data(), + courses: Object.entries(doc.data().courses) + .filter(([key, value]) => value == 'approved') + .map(([key, value]) => key), + allcourses: Object.entries(doc.data().courses).map( + ([key, value]) => key + ), + } as Application) + ); + setApplicationData(data); + }); + // Clean up the subscription on unmount + return () => unsubscribe(); + } else if (userRole === 'faculty') { + // the faculty member can only see applications that specify the same class as they have + // get the courses that the application specifies + // find the courses that the faculty member teaches + // if there is an intersection, then the faculty member can see the application + + // find courses that the faculty member teaches + const facultyCourses = collection(firebase.firestore(), 'courses'); + const q = query( + facultyCourses, + where('professor_emails', 'array-contains', user?.email) + ); + const facultyCoursesSnapshot = getDocs(q); + + // now we have every course that the faculty member teaches + // we need the course code from each of them + // then we can compare them to the courses that the application specifies + // if there is an intersection, then the faculty member can see the application + + applicationsRef.get().then((querySnapshot) => { + const data = querySnapshot.docs.map( + (doc) => + ({ + id: doc.id, + ...doc.data(), + } as Application) + ); + setApplicationData(data); + }); + } + }, [userRole, user?.email]); + + const [rowModesModel, setRowModesModel] = React.useState( + {} + ); + + const handleRowEditStop: GridEventListener<'rowEditStop'> = ( + params, + event + ) => { + if (params.reason === GridRowEditStopReasons.rowFocusOut) { + event.defaultMuiPrevented = true; + } + }; + + const handleDenyEmail = async (id: GridRowId) => { + try { + const snapshot = await firebase + .firestore() + .collection('applications') + .doc(id.toString()) + .get(); + + if (snapshot.exists) { + const applicationData = snapshot.data() as Application; + + const response = await fetch( + 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + type: 'applicationStatusDenied', + data: { + user: { + name: `${applicationData.firstname ?? ''} ${ + applicationData.lastname ?? '' + }`.trim(), + email: applicationData.email, + }, + position: applicationData.position, + classCode: applicationData.courses, + }, + }), + } + ); + + if (response.ok) { + const data = await response.json(); + console.log('Email sent successfully:', data); + } else { + throw new Error('Failed to send email'); + } + } else { + throw new Error('Application data not found'); + } + } catch (error) { + console.error('Error sending email:', error); + } + }; + + const handleSendEmail = async (id: GridRowId) => { + try { + // Retrieve application data from Firestore + const snapshot = await firebase + .firestore() + .collection('applications') + .doc(id.student_uid.toString()) + .get(); + const snapshot2 = await firebase + .firestore() + .collection('assignments') + .doc(id.student_uid.toString()) + .get(); + + if (snapshot.exists) { + const applicationData = snapshot.data() as Application; + const assignmentData = snapshot2.data(); + // Send email using fetched application data + const response = await fetch( + 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + type: 'applicationStatusApproved', + data: { + user: { + name: `${applicationData.firstname ?? ''} ${ + applicationData.lastname ?? '' + }`.trim(), + email: applicationData.email, + }, + position: assignmentData.position, + classCode: assignmentData.class_codes, + }, + }), + } + ); + + if (response.ok) { + const data = await response.json(); + console.log('Email sent successfully:', data); + } else { + throw new Error('Failed to send email'); + } + } else { + throw new Error('Application data not found'); + } + } catch (error) { + console.error('Error sending email:', error); + } + }; + + // approve/deny click handlers + const handleDenyClick = async (id: GridRowId) => { + event.preventDefault(); + setLoading(true); + + try { + // Update the 'applications' collection in Firestore + await firebase + .firestore() + .collection('applications') + .doc(id.toString()) + .update({ status: 'Admin_denied' }); + + // Remove the denied row from the local state + setApplicationData((prevData) => { + const newData = prevData.filter((row) => row.id !== id); + return newData; // Only return the updated state without the denied row + }); + + await handleDenyEmail(id); + // Close the deny dialog + handleCloseDenyDialog(); + } catch (error) { + console.error('Error updating application document: ', error); + } finally { + setLoading(false); + } + }; + + const handleApproveClick = async (id: GridRowId) => { + setLoading(true); + try { + // Update the 'applications' collection + await firebase + .firestore() + .collection('applications') + .doc(id.toString()) + .update({ status: 'Approved' }); + + // Update the state locally to avoid reloading the entire data + setApplicationData((prevData) => + prevData.map((row) => + row.id === id ? { ...row, status: 'Approved' } : row + ) + ); + + // Send email notification or any other side effects + await handleSendEmail(id); + } catch (error) { + console.error('Error updating application document: ', error); + } finally { + setLoading(false); + } + }; + + const handleEditClick = (id: GridRowId) => () => { + setRowModesModel({ ...rowModesModel, [id]: { mode: GridRowModes.Edit } }); + }; + + const handleSaveClick = (id: GridRowId) => () => { + setLoading(true); + const updatedRow = applicationData.find((row) => row.id === id); + if (updatedRow) { + firebase + .firestore() + .collection('applications') + .doc(id.toString()) + .update(updatedRow) + .then(() => { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View }, + }); + setLoading(false); + }) + .catch((error) => { + setLoading(false); + console.error('Error updating document: ', error); + }); + } else { + console.error('No matching user data found for id: ', id); + } + }; + + const handleDel = (id: GridRowId) => () => { + setDelId(id); + setDelDia(true); + }; + const handleDeleteClick = (id: GridRowId) => { + setLoading(true); + firebase + .firestore() + .collection('applications') + .doc(id.toString()) + .delete() + .then(() => { + setLoading(false); + setApplicationData(applicationData.filter((row) => row.id !== id)); + }) + .catch((error) => { + setLoading(false); + console.error('Error removing document: ', error); + }); + }; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + handleDeleteClick(delId); + setDelDia(false); + }; + + const handleCancelClick = (id: GridRowId) => () => { + const editedRow = applicationData.find((row) => row.id === id); + if (editedRow!.isNew) { + firebase + .firestore() + .collection('applications') + .doc(id.toString()) + .delete() + .then(() => { + setApplicationData(applicationData.filter((row) => row.id !== id)); + }) + .catch((error) => { + console.error('Error removing document: ', error); + }); + } else { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View, ignoreModifications: true }, + }); + } + }; + + const processRowUpdate = (newRow: GridRowModel, oldRow: GridRowModel) => { + setLoading(true); + const availableHoursArray = + typeof newRow.availability === 'string' && newRow.availability + ? newRow.availability.split(',').map((hour) => hour.trim()) + : oldRow.availability; + + const availableSemestersArray = + typeof newRow.semesters === 'string' && newRow.semesters + ? newRow.semesters.split(',').map((semester) => semester.trim()) + : oldRow.semesters; + + const coursesArray = + typeof newRow.courses === 'string' && newRow.courses + ? newRow.courses.split(',').map((course) => course.trim()) + : oldRow.courses; + + const updatedRow = { + ...(newRow as Application), + availability: availableHoursArray, + semesters: availableSemestersArray, + courses: coursesArray, + isNew: false, + }; + + if (updatedRow) { + if (updatedRow.isNew) { + return firebase + .firestore() + .collection('applications') + .add(updatedRow) + .then(() => { + setApplicationData( + applicationData.map((row) => + row.id === newRow.id ? updatedRow : row + ) + ); + setLoading(false); + return updatedRow; + }) + .catch((error) => { + setLoading(false); + console.error('Error adding document: ', error); + throw error; + }); + } else { + return firebase + .firestore() + .collection('applications') + .doc(updatedRow.id) + .update(updatedRow) + .then(() => { + setApplicationData( + applicationData.map((row) => + row.id === newRow.id ? updatedRow : row + ) + ); + setLoading(false); + return updatedRow; + }) + .catch((error) => { + setLoading(false); + console.error('Error updating document: ', error); + throw error; + }); + } + } else { + setLoading(false); + return Promise.reject( + new Error('No matching user data found for id: ' + newRow.id) + ); + } + }; + + const handleRowModesModelChange = (newRowModesModel: GridRowModesModel) => { + setRowModesModel(newRowModesModel); + }; + + let columns: GridColDef[] = [ + { + field: 'actions', + type: 'actions', + headerName: 'Actions', + width: 370, + cellClassName: 'actions', + getActions: ({ id, row }) => { + const isInEditMode = rowModesModel[id]?.mode === GridRowModes.Edit; + + if (isInEditMode) { + return [ + } + label="Save" + sx={{ + color: 'primary.main', + }} + onClick={handleSaveClick(id)} + />, + } + label="Cancel" + onClick={handleCancelClick(id)} + color="inherit" + />, + ]; + } + + return [ + , + , + + , + } + label="Approve" + onClick={(event) => handleOpenAssignmentDialog(id)} + color="success" + />, + } + label="Deny" + onClick={() => handleDenyAssignmentDialog(id)} + color="error" + />, + ]; + }, + }, + { + field: 'fullname', + headerName: 'Full Name', + width: 200, + editable: false, + valueGetter: getFullName, + }, + + { field: 'email', headerName: 'Email', width: 230, editable: true }, + + { + field: 'degree', + headerName: 'Degree', + width: 100, + editable: true, + }, + + { + field: 'available_semesters', + headerName: 'Semester(s)', + width: 150, + editable: false, + }, + + { + field: 'allcourses', + headerName: 'All Course(s)', + width: 250, + editable: true, + }, + { + field: 'courses', + headerName: 'Faculty Approved Course(s)', + width: 250, + editable: true, + }, + + { field: 'position', headerName: 'Position', width: 70, editable: true }, + { field: 'date', headerName: 'Date', width: 100, editable: true }, + { + field: 'status', + headerName: 'Status', + width: 130, + editable: true, + renderCell: (params) => { + let color = '#f2a900'; + let backgroundColor = '#fffdf0'; + + if (params.value === 'Admin_approved') { + color = '#4caf50'; + backgroundColor = '#e8f5e9'; + } + + return ( + + {params.value} + + ); + }, + }, + , + ]; + + if (userRole === 'faculty') { + columns = [ + { + field: 'actions', + type: 'actions', + headerName: 'Actions', + width: 130, + cellClassName: 'actions', + getActions: ({ id }) => { + return [ + } + label="View" + onClick={(event) => handleClickOpenGrid(id)} + color="primary" + />, + } + label="Approve" + onClick={(event) => handleApproveClick(id)} + color="success" + />, + } + label="Deny" + onClick={(event) => handleDenyClick(id)} + color="error" + />, + ]; + }, + }, + { + field: 'ufid', + headerName: 'UFID', + width: 100, + editable: false, + }, + { field: 'position', headerName: 'Position', width: 70, editable: false }, + { + field: 'semesters', + headerName: 'Semester(s)', + width: 130, + editable: false, + }, + { + field: 'available_hours', + headerName: 'Hours', + width: 100, + editable: false, + }, + { + field: 'fullname', + headerName: 'Full Name', + width: 150, + editable: false, + valueGetter: getFullName, + }, + { field: 'email', headerName: 'Email', width: 200, editable: false }, + { field: 'courses', headerName: 'Courses', width: 200, editable: false }, + { + field: 'semesterstatus', + headerName: 'Academic Status', + width: 130, + editable: false, + }, + { field: 'date', headerName: 'Date', width: 80, editable: false }, + { + field: 'status', + headerName: 'App Status', + width: 100, + editable: false, + }, + ]; + } + const ODD_OPACITY = 0.2; + + const StripedDataGrid = styled(DataGrid)(({ theme }) => ({ + [`& .${gridClasses.row}.even`]: { + backgroundColor: '#562EBA1F', + '&:hover, &.Mui-hovered': { + backgroundColor: alpha(theme.palette.primary.main, ODD_OPACITY), + '@media (hover: none)': { + backgroundColor: 'transparent', + }, + }, + '&.Mui-selected': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + '&:hover, &.Mui-hovered': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + + theme.palette.action.selectedOpacity + + theme.palette.action.hoverOpacity + ), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + }, + }, + }, + }, + })); + + return ( + + {loading ? : null} + + params.indexRelativeToCurrentPage % 2 === 0 ? 'even' : 'odd' + } + sx={{ borderRadius: '16px' }} + /> + + {/* Display the application data of the selected user */} + {selectedUserGrid && ( + + + + )} + + + + + Delete Applicant + +
      handleSubmit(e)}> + + + Are you sure you want to delete this applicant? + + + + + + + +
      +
      + + + Course Assignment +
      + + {codes != [] ? ( + <> + + Please select the course code to which the student shall be + assigned and the hours the student will work. + +
      + + + {codes.map((code) => { + return ( + } + label={code.replace(/,/g, ', ')} + /> + ); + })} + +
      + { + setHours(event.target.value); + }} + > + {' '} + +
      {' '} + + ) : ( + + No faculty has accepted this student yet. + + )} +
      + + + + +
      +
      + + + + Deny Applicant + +
      + + + Are you sure you want to deny this applicant? + + + + + + + +
      +
      +
      + ); +} diff --git a/src/component/Dashboard/Applications/Applications.tsx b/src/component/Dashboard/Applications/Applications.tsx new file mode 100644 index 0000000..ada19cd --- /dev/null +++ b/src/component/Dashboard/Applications/Applications.tsx @@ -0,0 +1,38 @@ +import ApplicationGrid from './ApplicationGrid'; +import AssignmentGrid from './AssignmentGrid'; +import Container from '@mui/material/Container'; +// for admin and faculty views + +interface ApplicationsProps { + userRole: string; +} + +export default function Applications(props: ApplicationsProps) { + const { userRole } = props; + // if admin + if (userRole === 'admin') { + return ( + <> + +

      Applications

      + +

      Assignments

      + +
      + + ); + } + // if faculy + else if (userRole === 'faculty') { + return ( + <> + +

      Applications

      + +
      + + ); + } + // default: return nothing + return <>; +} diff --git a/src/component/Dashboard/Applications/AssignView.tsx b/src/component/Dashboard/Applications/AssignView.tsx new file mode 100644 index 0000000..9120700 --- /dev/null +++ b/src/component/Dashboard/Applications/AssignView.tsx @@ -0,0 +1,773 @@ +import * as React from 'react'; + +import TextField from '@mui/material/TextField'; +import Box from '@mui/material/Box'; +import Typography from '@mui/material/Typography'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import { Button, Grid, Input } from '@mui/material'; +import Paper from '@mui/material/Paper'; +import { table } from 'console'; +import { setDoc } from 'firebase/firestore'; + +export interface AppViewProps { + uid: string; +} + +export default function AppView({ uid }: AppViewProps) { + const [docData, setDocData] = React.useState(null); + const [studentName, setStudentName] = React.useState(''); + const [studentEmail, setStudentEmail] = React.useState(''); + const [studentId, setStudentId] = React.useState(''); + const [facultyId, setFacultyId] = React.useState(''); + const [startDate, setStartDate] = React.useState(''); + const [endDate, setEndDate] = React.useState(''); + const [hours, setHours] = React.useState(null); + const [title, setTitle] = React.useState(''); + const [percentage, setPercentage] = React.useState(''); + const [annualRate, setAnnualRate] = React.useState(''); + const [biweeklyRate, setBiweeklyRate] = React.useState(''); + const [targetAmt, setTargetAmt] = React.useState(''); + const [remote, setRemote] = React.useState(''); + + // get application object from uid + const applicationsRef = firebase.firestore().collection('assignments'); + const docRef = applicationsRef.doc(uid); + + function handleSave(event: any) { + setDoc(docRef, { + name: studentName, + email: studentEmail, + ufid: studentId, + supervisor_ufid: facultyId, + start_date: startDate, + end_date: endDate, + date: docData.date, + class_codes: docData.class_codes, + degree: docData.degree, + department: docData.department, + hours: Array.isArray(hours) ? hours : docData.hours, + position: docData.position, + semesters: docData.semesters, + student_uid: docData.student_uid, + title: title, + percentage: percentage, + annual_rate: annualRate, + biweekly_rate: biweeklyRate, + target_amount: targetAmt, + remote: remote, + }); + } + + React.useEffect(() => { + docRef + .get() + .then((doc) => { + if (doc.exists) { + setDocData(doc.data()); + console.log(doc.data()); + + setStudentName(doc.data().name); + setStudentEmail(doc.data().email); + setHours(doc.data().hours[0]); + if (doc.data().ufid === undefined) { + setStudentId(''); + } else { + setStudentId(doc.data().ufid); + } + + if (doc.data().supervisor_ufid === undefined) { + setFacultyId(''); + } else { + setFacultyId(doc.data().supervisor_ufid); + } + + if (doc.data().start_date === undefined) { + setStartDate(''); + } else { + setStartDate(doc.data().start_date); + } + + if (doc.data().end_date === undefined) { + setEndDate(''); + } else { + setEndDate(doc.data().end_date); + } + + if (doc.data().title === undefined) { + setTitle(''); + } else { + setTitle(doc.data().title); + } + + if (doc.data().percentage === undefined) { + setPercentage(''); + } else { + setPercentage(doc.data().percentage); + } + + if (doc.data().annual_rate === undefined) { + setAnnualRate(''); + } else { + setAnnualRate(doc.data().annual_rate); + } + + if (doc.data().biweekly_rate === undefined) { + setBiweeklyRate(''); + } else { + setBiweeklyRate(doc.data().biweekly_rate); + } + + if (doc.data().target_amount === undefined) { + setTargetAmt(''); + } else { + setTargetAmt(doc.data().target_amount); + } + + if (doc.data().remote === undefined) { + setRemote('No'); + } else { + setRemote(doc.data().remote); + } + console.log(studentName); + } else { + console.log('No such document!'); + } + }) + .catch((error) => { + console.log('Error getting document:', error); + }); + }, [uid]); // Only re-run the effect if uid changes + + return ( + + {docData && ( + + + + {[0, 1, 2, 3, 4, 5, 6, 7, 8].map((value) => { + if (value == 0) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Student Information: + + + + Name:{' '} + { + setStudentName(event.target.value); + }} + /> + + + + Email:{' '} + { + setStudentEmail(event.target.value); + }} + /> + + + + UFID:{' '} + { + setStudentId(event.target.value); + }} + /> + + + + ); + } else if (value == 1) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Supervisor Information: + + + + Supervisor Name: {docData.class_codes.split(' ')[4]} + + + + Supervisor Email: ----------- + + + + UFID:{' '} + { + setFacultyId(event.target.value); + }} + /> + + + + ); + } else if (value == 2) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Proxy Information: + + + + Proxy Name: Christophe Bobda + + + + Proxy Email: cbobda@ufl.edu + + + + UFID: ------ + + + + ); + } else if (value == 3) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Application Details: + + + + Requested Action: NEW HIRE + + + + Position Type: TA + + + + Degree Type: BS + + + + Available Hours: {docData.hours[0]} + + + + ); + } else if (value == 4) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Employment Duration: + + + + Semester: {docData.semesters} + + + + Starting Date:{' '} + { + setStartDate(event.target.value); + }} + /> + + + + End Date:{' '} + { + setEndDate(event.target.value); + }} + /> + + + + FTE: 15 Hours + + + + ); + } else if (value == 5) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Employment Details: + + + + Working Title:{' '} + { + setTitle(event.target.value); + }} + /> + + + + Duties: UPI in {docData.class_codes} + + + Remote:{' '} + { + setRemote(event.target.value); + }} + /> + + + + ); + } else if (value == 6) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Project Details: + + + + Project ID: 000108927 + + + + Project Name: DEPARTMENT TA/UPIS + + + + Percentage:{' '} + { + setPercentage(event.target.value); + }} + /> + + + + Hours:{' '} + { + setHours([event.target.value]); + }} + /> + + + + ); + } else if (value == 7) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Financial Details: + + + + Annual Rate:{' '} + { + setAnnualRate(event.target.value); + }} + /> + + + + Biweekly Rate:{' '} + { + setBiweeklyRate(event.target.value); + }} + />{' '} + + + + Hourly Rate: 15 + + + + Target Amount:{' '} + { + setTargetAmt(event.target.value); + }} + /> + + + + ); + } else { + return ( + + + + {/* */} + {/* theme.palette.mode === 'dark' ? '#1A2027' : '#fff', */} + {/* borderRadius: 4, */} + {/* }} */} + {/* /> */} + + ); + } + })} + + + + )} + + ); +} diff --git a/src/component/Dashboard/Applications/AssignViewOnly.tsx b/src/component/Dashboard/Applications/AssignViewOnly.tsx new file mode 100644 index 0000000..4566261 --- /dev/null +++ b/src/component/Dashboard/Applications/AssignViewOnly.tsx @@ -0,0 +1,595 @@ +import * as React from 'react'; + +import TextField from '@mui/material/TextField'; +import Box from '@mui/material/Box'; +import Typography from '@mui/material/Typography'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import { Button, Grid, Input } from '@mui/material'; +import Paper from '@mui/material/Paper'; +import { table } from 'console'; +import { setDoc } from 'firebase/firestore'; + +export interface AppViewProps { + uid: string; +} + +export default function AppView({ uid }: AppViewProps) { + const [docData, setDocData] = React.useState(null); + const [studentName, setStudentName] = React.useState(''); + const [studentEmail, setStudentEmail] = React.useState(''); + const [studentId, setStudentId] = React.useState(''); + const [facultyId, setFacultyId] = React.useState(''); + const [startDate, setStartDate] = React.useState(''); + const [endDate, setEndDate] = React.useState(''); + const [hours, setHours] = React.useState(null); + const [title, setTitle] = React.useState(''); + const [percentage, setPercentage] = React.useState(''); + const [annualRate, setAnnualRate] = React.useState(''); + const [biweeklyRate, setBiweeklyRate] = React.useState(''); + const [targetAmt, setTargetAmt] = React.useState(''); + const [remote, setRemote] = React.useState(''); + + // get application object from uid + const applicationsRef = firebase.firestore().collection('assignments'); + const docRef = applicationsRef.doc(uid); + + function handleSave(event: any) { + setDoc(docRef, { + name: studentName, + email: studentEmail, + ufid: studentId, + supervisor_ufid: facultyId, + start_date: startDate, + end_date: endDate, + date: docData.date, + class_codes: docData.class_codes, + degree: docData.degree, + department: docData.department, + hours: Array.isArray(hours) ? hours : docData.hours, + position: docData.position, + semesters: docData.semesters, + student_uid: docData.student_uid, + title: title, + percentage: percentage, + annual_rate: annualRate, + biweekly_rate: biweeklyRate, + target_amount: targetAmt, + remote: remote, + }); + } + + React.useEffect(() => { + docRef + .get() + .then((doc) => { + if (doc.exists) { + setDocData(doc.data()); + console.log(doc.data()); + + setStudentName(doc.data().name); + setStudentEmail(doc.data().email); + setHours(doc.data().hours[0]); + if (doc.data().ufid === undefined) { + setStudentId(''); + } else { + setStudentId(doc.data().ufid); + } + + if (doc.data().supervisor_ufid === undefined) { + setFacultyId(''); + } else { + setFacultyId(doc.data().supervisor_ufid); + } + + if (doc.data().start_date === undefined) { + setStartDate(''); + } else { + setStartDate(doc.data().start_date); + } + + if (doc.data().end_date === undefined) { + setEndDate(''); + } else { + setEndDate(doc.data().end_date); + } + + if (doc.data().title === undefined) { + setTitle(''); + } else { + setTitle(doc.data().title); + } + + if (doc.data().percentage === undefined) { + setPercentage(''); + } else { + setPercentage(doc.data().percentage); + } + + if (doc.data().annual_rate === undefined) { + setAnnualRate(''); + } else { + setAnnualRate(doc.data().annual_rate); + } + + if (doc.data().biweekly_rate === undefined) { + setBiweeklyRate(''); + } else { + setBiweeklyRate(doc.data().biweekly_rate); + } + + if (doc.data().target_amount === undefined) { + setTargetAmt(''); + } else { + setTargetAmt(doc.data().target_amount); + } + + if (doc.data().remote === undefined) { + setRemote('No'); + } else { + setRemote(doc.data().remote); + } + console.log(studentName); + } else { + console.log('No such document!'); + } + }) + .catch((error) => { + console.log('Error getting document:', error); + }); + }, [uid]); // Only re-run the effect if uid changes + + return ( + + {docData && ( + + + + {[0, 1, 2, 3, 4, 5, 6, 7, 8].map((value) => { + if (value == 0) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Student Information: + + + + Name: {docData.name} + + + + Email: {docData.email} + + + + UFID: {studentId} + + + + ); + } else if (value == 1) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Supervisor Information: + + + + Supervisor Name: {docData.class_codes.split(' ')[4]} + + + + Supervisor Email: ----------- + + + + UFID: {facultyId} + + + + ); + } else if (value == 2) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Proxy Information: + + + + Proxy Name: Christophe Bobda + + + + Proxy Email: cbobda@ufl.edu + + + + UFID: ------ + + + + ); + } else if (value == 3) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Application Details: + + + + Requested Action: NEW HIRE + + + + Position Type: TA + + + + Degree Type: BS + + + + Available Hours: {docData.hours[0]} + + + + ); + } else if (value == 4) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Employment Duration: + + + + Semester: {docData.semesters} + + + + Starting Date: {startDate} + + + + End Date:{endDate} + + + + FTE: 15 Hours + + + + ); + } else if (value == 5) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Employment Details: + + + + Working Title: {title} + + + + Duties: UPI in {docData.class_codes} + + + Remote: {remote} + + + + ); + } else if (value == 6) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Project Details: + + + + Project ID: 000108927 + + + + Project Name: DEPARTMENT TA/UPIS + + + + Percentage: {percentage} + + + + Hours: {docData.hours[0]} + + + + ); + } else if (value == 7) { + return ( + + + theme.palette.mode === 'dark' ? '#1A2027' : '#fff', + borderRadius: 4, + }} + > + + Financial Details: + + + + Annual Rate: {annualRate} + + + + Biweekly Rate: {biweeklyRate} + + + + Hourly Rate: 15 + + + + Target Amount: {targetAmt} + + + + ); + } else { + return ( + + {/* */} + {/* theme.palette.mode === 'dark' ? '#1A2027' : '#fff', */} + {/* borderRadius: 4, */} + {/* }} */} + {/* /> */} + + ); + } + })} + + + + )} + + ); +} diff --git a/src/component/Dashboard/Applications/AssignmentGrid.tsx b/src/component/Dashboard/Applications/AssignmentGrid.tsx new file mode 100644 index 0000000..f0d5fd7 --- /dev/null +++ b/src/component/Dashboard/Applications/AssignmentGrid.tsx @@ -0,0 +1,1005 @@ +'use client'; +import * as React from 'react'; +import { useState } from 'react'; +import Box from '@mui/material/Box'; +import DeleteIcon from '@mui/icons-material/DeleteOutlined'; +import SaveIcon from '@mui/icons-material/Save'; +import CancelIcon from '@mui/icons-material/Close'; +import ZoomInIcon from '@mui/icons-material/ZoomIn'; +import { + GridRowModesModel, + GridRowModes, + DataGrid, + GridColDef, + GridActionsCellItem, + GridEventListener, + GridRowId, + GridRowModel, + GridRowEditStopReasons, + GridRowsProp, + GridToolbarContainer, + GridToolbarExport, + GridToolbarFilterButton, + GridToolbarColumnsButton, +} from '@mui/x-data-grid'; + +import EditIcon from '@mui/icons-material/Edit'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import { alpha, styled } from '@mui/material/styles'; +import { gridClasses } from '@mui/x-data-grid'; + +import { getDoc, getDocs, collection, query, where } from 'firebase/firestore'; +import { + Button, + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + LinearProgress, + TextField, +} from '@mui/material'; +import UnderDevelopment from '@/component/UnderDevelopment'; +import AssignView from './AssignView'; +import AssignViewOnly from './AssignViewOnly'; + +interface Assignment { + id: string; + approver_name: string; + approver_role: string; + approver_uid: string; + date: string; + isNew?: boolean; + mode?: 'edit' | 'view' | undefined; + firstName: string; + lastName: string; + year: string; + fte: number; + pname: string; + pid: string; + hr: number; + bwr: number; +} + +interface AssignmentGridProps { + userRole: string; +} + +export default function AssignmentGrid(props: AssignmentGridProps) { + const [loading, setLoading] = useState(false); + const { userRole } = props; + const [assignmentData, setAssignmentData] = React.useState([]); + + // toolbar + interface EditToolbarProps { + setAssignmentData: ( + newRows: (oldRows: GridRowsProp) => GridRowsProp + ) => void; + setRowModesModel: ( + newModel: (oldModel: GridRowModesModel) => GridRowModesModel + ) => void; + } + + function EditToolbar(props: EditToolbarProps) { + const { setAssignmentData, setRowModesModel } = props; + + // Add state to control the dialog open status + const [open, setOpen] = React.useState(false); + + return ( + + + + + + ); + } + + // pop-up view setup + const [open, setOpen] = React.useState(false); + const [openView, setOpenView] = React.useState(false); + const [delDia, setDelDia] = React.useState(false); + const [loading2, setLoading2] = React.useState(false); + const [delId, setDelId] = React.useState(); + const [selectedUserGrid, setSelectedUserGrid] = + React.useState(null); + const [courseEmailMap, setCourseEmailMap] = React.useState(new Map()); + + const handleClickOpenGrid = (id: GridRowId) => { + setSelectedUserGrid(id); + setOpen(true); + }; + + const handleClickViewGrid = (id: GridRowId) => { + setSelectedUserGrid(id); + setOpenView(true); + }; + + const handleClose = () => { + setOpen(false); + }; + + const handleViewClose = () => { + setOpenView(false); + }; + const handleDeleteDiagClose = () => { + setDelDia(false); + }; + // assignment dialog pop-up view setup + const [openAssignmentDialog, setOpenAssignmentDialog] = React.useState(false); + const handleOpenAssignmentDialog = (id: GridRowId) => { + setSelectedUserGrid(id); + setOpenAssignmentDialog(true); + }; + const handleCloseAssignmentDialog = () => { + setOpenAssignmentDialog(false); + }; + + // application data from firestore + React.useEffect(() => { + const assignmentsRef = firebase.firestore().collection('assignments'); + + const unsubscribe = assignmentsRef.onSnapshot((querySnapshot) => { + const data = querySnapshot.docs.map( + (doc) => + ({ + id: doc.id, + ...doc.data(), + firstName: + doc.data().name != undefined + ? doc.data().name.split(' ')[0] + : ' ', + lastName: + doc.data().name != undefined + ? doc.data().name.split(' ')[1] + : ' ', + year: + doc.data().semesters != undefined + ? doc.data().semesters[0].split(' ')[1] + : ' ', + fte: 15, + pname: 'DEPARTMENT TA/UPIS', + pid: '000108927', + hr: 15, + } as Assignment) + ); + setAssignmentData(data); + }); + + const courseRef = firebase.firestore().collection('courses'); + const map = new Map(courseEmailMap); + courseRef.onSnapshot((querySnapshot) => { + const data = querySnapshot.docs.map((doc) => { + map.set(doc.id, doc.data().professor_emails); + }); + }); + setCourseEmailMap(map); + + // Clean up the subscription on unmount + return () => unsubscribe(); + }, []); + + const [rowModesModel, setRowModesModel] = React.useState( + {} + ); + + const handleRowEditStop: GridEventListener<'rowEditStop'> = ( + params, + event + ) => { + if (params.reason === GridRowEditStopReasons.rowFocusOut) { + event.defaultMuiPrevented = true; + } + }; + + const handleSubmitAssignment = async ( + event: React.FormEvent + ) => { + setLoading(true); + event.preventDefault(); + // extract the form data from the current event + const formData = new FormData(event.currentTarget); + + // get student's user id + const student_uid = selectedUserGrid as string; + + // get class numbers as array + const classNumberString = formData.get('class-numbers') as string; + const classNumberArray = classNumberString + .split(',') + .map((classNumber) => classNumber.trim()); + + // get the courses collection + const coursesRef = collection(firebase.firestore(), 'courses'); + const q = query(coursesRef, where('id', 'in', classNumberArray)); + const snapshot = await getDocs(q); + + // the snapshot will contain all the courses that match the class numbers in the array + // therefore, if the length of the array is greater than the length of the snapshot, + // it means that there is a class number in the array that does not exist in the database + // therefore, display an error + if (classNumberArray.length > snapshot.size) { + alert( + 'One or more of the class numbers you entered does not exist in the database. Please check your input and try again.' + ); + return; + } + + // now, get the users collection + const userRef = firebase.firestore().collection('users').doc(student_uid); + const userData = (await userRef.get()).data(); + //const userData = (await firebase.firestore().collection('users').doc(student_uid).get()).data(); + const userFullName = userData?.firstname + ' ' + userData?.lastname; + const userEmail = userData?.email; + + // for every class number, update the course with the student's information + classNumberArray.forEach(async (classNumber) => { + const courseRef = firebase + .firestore() + .collection('courses') + .doc(classNumber); + await courseRef.update({ + // the student's full name needs to be added to the course's helper_names array + helper_names: firebase.firestore.FieldValue.arrayUnion(userFullName), + // the student's email needs to be added to the course's helper_emails array + helper_emails: firebase.firestore.FieldValue.arrayUnion(userEmail), + }); + }); + + // then, update the student's role to 'student_assigned' + await userRef.update({ role: 'student_assigned' }); + + handleCloseAssignmentDialog(); + setLoading(false); + }; + + const handleEditClick = (id: GridRowId) => () => { + setRowModesModel({ ...rowModesModel, [id]: { mode: GridRowModes.Edit } }); + }; + + const handleSaveClick = (id: GridRowId) => () => { + setLoading(true); + const updatedRow = assignmentData.find((row) => row.id === id); + + if (updatedRow) { + firebase + .firestore() + .collection('assignments') + .doc(id.toString()) + .update(updatedRow) + .then(() => { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View }, + }); + setLoading(false); + }) + .catch((error) => { + setLoading(false); + console.error('Error updating document: ', error); + }); + } else { + setLoading(false); + console.error('No matching user data found for id: ', id); + } + }; + + const handleDeleteClick = (id: GridRowId) => { + setLoading(true); + firebase + .firestore() + .collection('assignments') + .doc(id.toString()) + .delete() + .then(() => { + setAssignmentData(assignmentData.filter((row) => row.id !== id)); + setLoading(false); + }) + .catch((error) => { + setLoading(false); + console.error('Error removing document: ', error); + }); + }; + const handleDel = (id: GridRowId) => () => { + setDelId(id); + setDelDia(true); + }; + + const handleCancelClick = (id: GridRowId) => () => { + setLoading(true); + const editedRow = assignmentData.find((row) => row.id === id); + if (editedRow!.isNew) { + firebase + .firestore() + .collection('assignments') + .doc(id.toString()) + .delete() + .then(() => { + setAssignmentData(assignmentData.filter((row) => row.id !== id)); + setLoading(false); + }) + .catch((error) => { + setLoading(false); + console.error('Error removing document: ', error); + }); + } else { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View, ignoreModifications: true }, + }); + setLoading(false); + } + }; + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + console.log(delId!.toString()); + handleDeleteClick(delId!); + setDelDia(false); + }; + + const processRowUpdate = (newRow: GridRowModel, oldRow: GridRowModel) => { + setLoading(true); + const updatedRow = { + ...(newRow as Assignment), + isNew: false, + }; + + if (updatedRow) { + if (updatedRow.isNew) { + return firebase + .firestore() + .collection('assignments') + .add(updatedRow) + .then(() => { + setAssignmentData( + assignmentData.map((row) => + row.id === newRow.id ? updatedRow : row + ) + ); + setLoading(false); + return updatedRow; + }) + .catch((error) => { + console.error('Error adding document: ', error); + setLoading(false); + throw error; + }); + } else { + return firebase + .firestore() + .collection('assignments') + .doc(updatedRow.id) + .update(updatedRow) + .then(() => { + setAssignmentData( + assignmentData.map((row) => + row.id === newRow.id ? updatedRow : row + ) + ); + setLoading(false); + return updatedRow; + }) + .catch((error) => { + setLoading(false); + console.error('Error updating document: ', error); + throw error; + }); + } + } else { + setLoading(false); + return Promise.reject( + new Error('No matching user data found for id: ' + newRow.id) + ); + } + }; + + const handleRowModesModelChange = (newRowModesModel: GridRowModesModel) => { + setRowModesModel(newRowModesModel); + }; + + let columns: GridColDef[] = [ + { + field: 'actions', + type: 'actions', + headerName: 'Actions', + width: 290, + + cellClassName: 'actions', + getActions: ({ id }) => { + const isInEditMode = rowModesModel[id]?.mode === GridRowModes.Edit; + + if (isInEditMode) { + return [ + } + label="Save" + sx={{ + color: 'primary.main', + }} + onClick={handleSaveClick(id)} + />, + } + label="Cancel" + onClick={handleCancelClick(id)} + color="inherit" + />, + ]; + } + + return [ + , + , + + , + ]; + }, + }, + { + field: 'ufid', + headerName: 'Student UFID', + width: 190, + editable: false, + }, + + { + field: 'firstName', + headerName: 'Student First Name', + width: 190, + editable: true, + }, + { + field: 'lastName', + headerName: 'Student Last Name', + width: 190, + editable: true, + }, + { + field: 'email', + headerName: 'Student Email', + width: 210, + editable: true, + }, + { + field: 'date', + headerName: 'Timestamp', + width: 210, + editable: true, + }, + { + field: 'supervisor_ufid', + headerName: 'Supervisor UFID', + width: 190, + editable: true, + }, + + // { + // field: 'sf', + // headerName: 'Supervisor First Name', + // width: 190, + // editable: true, + + // valueGetter: (params) => + // params.row.class_codes != undefined + // ? params.row.class_codes.split(' ')[2].split(',')[1] + // : ' ', + // }, + // { + // field: 'supervisorLastName', + // headerName: 'Supervisor Last Name', + // width: 190, + // editable: true, + + // valueGetter: (params) => + // params.row.class_codes != undefined + // ? params.row.class_codes.split(' ')[2].split(',')[0] + // : ' ', + // }, + // { + // field: 'supervisorEmail', + // headerName: 'Supervisor Email', + // width: 190, + // editable: true, + // valueGetter: (params) => { + // if (params.row.class_codes != undefined) { + // return courseEmailMap.get(params.row.class_codes); + // } else { + // return ' '; + // } + // }, + // }, + { + field: 'proxyUfid', + headerName: 'Proxy UFID', + width: 190, + editable: true, + }, + + { + field: 'proxyFirstName', + headerName: 'Proxy First Name', + width: 190, + editable: true, + valueGetter: (value) => { + return 'Christophe'; + }, + }, + { + field: 'proxyLastName', + headerName: 'Proxy Last Name', + width: 190, + editable: true, + valueGetter: (value) => { + return 'Bobda'; + }, + }, + + { + field: 'proxyEmail', + headerName: 'Proxy Email', + width: 190, + editable: true, + valueGetter: (value) => { + return 'cbobda@ufl.edu'; + }, + }, + { + field: 'action', + headerName: 'Requested Action', + width: 140, + editable: true, + + valueFormatter: (params) => 'NEW HIRE', + }, + + { + field: 'position', + headerName: 'Position Type', + width: 110, + editable: true, + valueFormatter: (value) => { + return 'TA'; + }, + }, + { + field: 'degree', + headerName: 'Degree Type', + width: 110, + editable: true, + }, + + { + field: 'semesters', + headerName: 'Semester', + width: 110, + editable: true, + valueGetter: (value) => { + return value; + }, + valueFormatter: (value) => { + const val = value as Array; + try { + if (val[0].includes('Fall')) { + return 'FALL'; + } + if (val[0].includes('Spring')) { + return 'SPRING'; + } + if (val[0].includes('Summer')) { + return 'SUMMER'; + } + } catch { + return 'FALL'; + } + }, + }, + + { + field: 'year', + headerName: 'Year', + width: 110, + editable: true, + }, + { + field: 'start_date', + headerName: 'Starting Date', + width: 100, + editable: true, + }, + { + field: 'end_date', + headerName: 'End Date', + width: 110, + editable: true, + }, + + { + field: 'pid', + headerName: 'Project Id', + width: 110, + editable: true, + }, + { + field: 'pname', + headerName: 'Project Name', + width: 240, + editable: true, + + valueFormatter: (params) => 'DEPARTMENT TA / UPIS', + }, + + { + field: 'percentage', + headerName: 'Percentage', + width: 110, + editable: true, + }, + { + field: 'hours', + headerName: 'Hours', + width: 140, + editable: true, + valueFormatter: (value) => { + return Number(value[0]); + }, + }, + + { + field: 'annual_rate', + headerName: 'Annual Rate', + width: 110, + editable: true, + }, + + { + field: 'biweekly_rate', + headerName: 'Biweekly Rate', + width: 110, + editable: true, + }, + { + field: 'hr', + headerName: 'Hourly Rate', + width: 110, + editable: true, + }, + + { + field: 'target_amount', + headerName: 'Target Amount', + width: 110, + editable: true, + }, + + { + field: 'title', + headerName: 'Working Title', + width: 110, + editable: true, + }, + + { + field: 'class_codes', + headerName: 'Duties', + width: 180, + editable: true, + valueFormatter: (value) => + `UPI in ${String(value ?? '').replace(/,/g, ' ')}`, + }, + + { + field: 'fte', + headerName: 'FTE', + width: 110, + // If FTE is derived from hours, editable should probably be false + editable: false, + valueGetter: (_value, row) => { + const h = row.hours?.[0]; + if (typeof h !== 'number') return null; + return Math.floor((h / 1.029411 / 40) * 100) / 100; + }, + valueFormatter: (value) => (value == null ? '' : String(value)), + }, + { + field: 'Imported', + headerName: 'Imported', + width: 140, + editable: false, + valueFormatter: (value) => { + return 'YES'; + }, + }, + { + field: 'remote', + headerName: 'Remote', + width: 140, + editable: false, + valueFormatter: (value) => { + if (value === undefined) { + return 'No'; + } + + return value; + }, + }, + ]; + const ODD_OPACITY = 0.2; + + const StripedDataGrid = styled(DataGrid)(({ theme }) => ({ + [`& .${gridClasses.row}.even`]: { + backgroundColor: '#562EBA1F', + '&:hover, &.Mui-hovered': { + backgroundColor: alpha(theme.palette.primary.main, ODD_OPACITY), + '@media (hover: none)': { + backgroundColor: 'transparent', + }, + }, + '&.Mui-selected': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + '&:hover, &.Mui-hovered': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + + theme.palette.action.selectedOpacity + + theme.palette.action.hoverOpacity + ), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + }, + }, + }, + }, + })); + + return ( + + {loading ? : null} + + params.indexRelativeToCurrentPage % 2 === 0 ? 'even' : 'odd' + } + sx={{ borderRadius: '16px' }} + /> + + + {'Edit Assignment Details'} + + + + {/* Display the application data of the selected user */} + {selectedUserGrid && ( +
      + {/* Display the user's application data in a different format */} + +
      + )} +
      +
      + + + + {'View Assignment Details'} + + + + {/* Display the application data of the selected user */} + {selectedUserGrid && ( +
      + {/* Display the user's application data in a different format */} + +
      + )} +
      +
      + + + + Delete Applicant + +
      handleSubmit(e)}> + + + Are you sure you want to delete this applicant? + + + + + + + +
      +
      + + + Course Assignment +
      + + + Please enter one or more class numbers to which the student shall + be assigned. + + + + + + + + +
      +
      +
      + ); +} diff --git a/src/component/Dashboard/Applications/style.css b/src/component/Dashboard/Applications/style.css new file mode 100644 index 0000000..8f117be --- /dev/null +++ b/src/component/Dashboard/Applications/style.css @@ -0,0 +1,123 @@ +.applicantCardApprovedeny1 { + position: relative; + margin: 0 28px 0 40px; + display: flex; + align-items: center; + + text-align: left; + font-size: 24px; + color: #000; + + font-family: "SF Pro Display-Regular", Helvetica; + + border-radius: 20px; + box-shadow: 0px 2px 20px 4px rgba(0, 0, 0, 0.25); + justify-content: space-between; + cursor: pointer; + } + + .ellipse5 { + height: 71px; + width: 71px; + margin: 17px 0 19px 24px; + border-radius: 50%; + background-color: rgba(158, 158, 158, 0.58); + border: 2px solid #4d4d4d; + box-sizing: border-box; + display: flex; + align-items: center; + justify-content: center; + font-size: 35px; + } + .initials { + + font-family: 'SF Pro Display' , Helvetica; + color:#ffffff; + } + .name5 { + margin: 17px 0px 0px 25px; + white-space: nowrap; + font-size: 23px; + font-family: "SF Pro Display-Regular", Helvetica; + } + .number{ + margin: 50px 0 42px 270px; + font-size: 16px; + font-family: "SF Pro Display-Regular", Helvetica; + color: #9e9e9e; + + } + + .email1 { + position: absolute; + margin: 50px 0 42px 25px; + font-size: 16px; + font-family: "SF Pro Display-Regular", Helvetica; + color: #9e9e9e; + } + + .thumbsContainer3 { + position: absolute; + right: 20px; + align-items: center; + display: flex; + justify-content: space-around; + margin: 24px 0 26px 0; + } + + .thumbsUpIcon { + color: green; + cursor: pointer; + margin-right: 23px; + font-size: 2rem; + } + + .thumbsDownIcon { + color: red; + cursor: pointer; + margin-right: 31px; + font-size: 2rem; + } + + .review23 { + + font-size: 23px; + font-weight: 500; + font-family: "SF Pro Display-Regular", Helvetica !important; + color: #f2a900; + text-align: center; + display: inline-block; + width: 80px; + + } + .applicantStatus231 { + + border-radius: 10px; + background-color: rgba(242, 169, 0, 0.12); + border: 2px solid #f2a900; + box-sizing: border-box; + padding: 11px 35px; + cursor: pointer; + display: inline-block; + } + + .description{ + margin-bottom: 31px; + } + .label50{ + font-family: "SF Pro Display-Regular", "Helvetica"; + font-size: 16px; + font-weight: 500; + margin-bottom: 20px; + color: #000000;; + } + .availability2{ + font-family: "SF Pro Display-Regular", "Helvetica"; + font-size: 16px; + font-weight: 400; + margin-bottom: 20px; + color:#4c4c4c; + } + + /* Add any other styles as needed */ + \ No newline at end of file diff --git a/src/component/Dashboard/Courses/Course.tsx b/src/component/Dashboard/Courses/Course.tsx new file mode 100644 index 0000000..b789dc0 --- /dev/null +++ b/src/component/Dashboard/Courses/Course.tsx @@ -0,0 +1,7 @@ +export default function Course() { + return ( + <> +

      Course (individual)

      + + ); +} diff --git a/src/component/Dashboard/Courses/CourseGrid.tsx b/src/component/Dashboard/Courses/CourseGrid.tsx new file mode 100644 index 0000000..63a10cc --- /dev/null +++ b/src/component/Dashboard/Courses/CourseGrid.tsx @@ -0,0 +1,520 @@ +'use client'; +import * as React from 'react'; +import { useState } from 'react'; +import Box from '@mui/material/Box'; +import EditIcon from '@mui/icons-material/Edit'; +import DeleteIcon from '@mui/icons-material/DeleteOutlined'; +import ZoomInIcon from '@mui/icons-material/ZoomIn'; +import SaveIcon from '@mui/icons-material/Save'; +import CancelIcon from '@mui/icons-material/Close'; +import Snackbar from '@mui/material/Snackbar'; +import MuiAlert, { AlertProps } from '@mui/material/Alert'; +import { + GridRowModesModel, + GridRowsProp, + GridRowModes, + GridToolbarContainer, + GridToolbarExport, + GridToolbarFilterButton, + GridToolbarColumnsButton, + DataGrid, + GridColDef, + GridActionsCellItem, + GridEventListener, + GridRowId, + GridRowModel, + GridRowEditStopReasons, + gridClasses, +} from '@mui/x-data-grid'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import { useAuth } from '@/firebase/auth/auth_context'; +import { + Dialog, + DialogContent, + DialogTitle, + LinearProgress, +} from '@mui/material'; +import UnderDevelopment from '@/component/UnderDevelopment'; +import { styled } from '@mui/material/styles'; +import { isE2EMode } from '@/utils/featureFlags'; + +interface Course { + id: string; + code: string; + title: string; + credits: string; + num_enrolled: string; + enrollment_cap: string; + professor_names: string[]; + professor_emails: string[]; + helper_names: string[]; + helper_emails: string[]; + isNew?: boolean; + mode?: 'edit' | 'view' | undefined; +} + +interface CourseGridProps { + userRole: string; + semester: string; + processing: boolean; +} + +export default function CourseGrid(props: CourseGridProps) { + const { userRole, semester, processing } = props; + const { user } = useAuth(); + const e2e = isE2EMode(); + const [success, setSuccess] = React.useState(false); + + const [loading, setLoading] = useState(false); + const [courseData, setCourseData] = React.useState([]); + const userEmail = user?.email; + + React.useEffect(() => { + console.log('SEM ' + semester); + if (e2e) { + setCourseData([]); + return; + } + const coursesRef = firebase + .firestore() + .collection('courses') + .where('semester', '==', semester); + if (userRole === 'admin') { + coursesRef.get().then((querySnapshot) => { + const data = querySnapshot.docs.map( + (doc) => + ({ + id: doc.id, + ...doc.data(), + } as Course) + ); + setCourseData(data); + }); + } else if (userRole === 'faculty') { + coursesRef + .where('professor_emails', 'array-contains', userEmail) + .get() + .then((querySnapshot) => { + const data = querySnapshot.docs.map( + (doc) => + ({ + id: doc.id, + ...doc.data(), + } as Course) + ); + setCourseData(data); + }); + } else if (userRole === 'student_assigned') { + coursesRef + .where('helper_emails', 'array-contains', userEmail) + .get() + .then((querySnapshot) => { + const data = querySnapshot.docs.map( + (doc) => + ({ + id: doc.id, + ...doc.data(), + } as Course) + ); + setCourseData(data); + }); + } + }, [userRole, userEmail, semester, processing, e2e]); + + const [open, setOpen] = React.useState(false); + const [selectedCourseGrid, setSelectedCourseGrid] = + React.useState(null); + + const handleClickOpenGrid = (id: GridRowId) => { + setSelectedCourseGrid(id); + setOpen(true); + }; + const handleClose = () => setOpen(false); + + interface EditToolbarProps { + setCourseData: (newRows: (oldRows: GridRowsProp) => GridRowsProp) => void; + setRowModesModel: ( + newModel: (oldModel: GridRowModesModel) => GridRowModesModel + ) => void; + } + + function EditToolbar(props: EditToolbarProps) { + const { setCourseData, setRowModesModel } = props; + const [open, setOpen] = React.useState(false); + if (userRole === 'faculty' || userRole === 'student_assigned') { + return ( + + + + + + ); + } + return ( + + + + + + ); + } + + const [rowModesModel, setRowModesModel] = React.useState( + {} + ); + + const handleRowEditStop: GridEventListener<'rowEditStop'> = ( + params, + event + ) => { + if (params.reason === GridRowEditStopReasons.rowFocusOut) + event.defaultMuiPrevented = true; + }; + + const handleEditClick = (id: GridRowId) => () => { + setLoading(true); + setRowModesModel({ ...rowModesModel, [id]: { mode: GridRowModes.Edit } }); + setLoading(false); + }; + const handleSaveClick = (id: GridRowId) => () => { + setLoading(true); + const updatedRow = courseData.find((row) => row.id === id); + if (updatedRow) { + firebase + .firestore() + .collection('courses') + .doc(id.toString()) + .update(updatedRow) + .then(() => { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View }, + }); + setLoading(false); + }) + .catch((error) => { + setLoading(false); + console.error('Error updating document: ', error); + }); + } else { + setLoading(false); + console.error('No matching course data found for id: ', id); + } + }; + const handleDeleteClick = (id: GridRowId) => () => { + setLoading(true); + firebase + .firestore() + .collection('courses') + .doc(id.toString()) + .delete() + .then(() => { + setCourseData(courseData.filter((row) => row.id !== id)); + setLoading(false); + }) + .catch((error) => { + setLoading(false); + console.error('Error removing document: ', error); + }); + }; + const handleCancelClick = (id: GridRowId) => () => { + setLoading(true); + const editedRow = courseData.find((row) => row.id === id); + if (editedRow!.isNew) { + firebase + .firestore() + .collection('courses') + .doc(id.toString()) + .delete() + .then(() => { + setCourseData(courseData.filter((row) => row.id !== id)); + setLoading(false); + }) + .catch((error) => { + setLoading(false); + console.error('Error removing document: ', error); + }); + } else { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View, ignoreModifications: true }, + }); + setLoading(false); + } + }; + + const processRowUpdate = (newRow: GridRowModel, oldRow: GridRowModel) => { + setLoading(true); + const professorEmailsArray = + typeof newRow.professor_emails === 'string' && newRow.professor_emails + ? newRow.professor_emails.split(',').map((p_email) => p_email.trim()) + : oldRow.professor_emails; + const professorNamesArray = + typeof newRow.professor_names === 'string' && newRow.professor_names + ? newRow.professor_names.split(',').map((p_name) => p_name.trim()) + : oldRow.professor_names; + const helperEmailsArray = + typeof newRow.helper_emails === 'string' && newRow.helper_emails + ? newRow.helper_emails.split(',').map((h_email) => h_email.trim()) + : oldRow.helper_emails; + const helperNamesArray = + typeof newRow.helper_names === 'string' && newRow.helper_names + ? newRow.helper_names.split(',').map((h_name) => h_name.trim()) + : oldRow.helper_names; + const updatedRow = { + ...(newRow as Course), + professor_emails: professorEmailsArray, + professor_names: professorNamesArray, + helper_emails: helperEmailsArray, + helper_names: helperNamesArray, + isNew: false, + }; + if (updatedRow) { + if (updatedRow.isNew) { + return firebase + .firestore() + .collection('courses') + .add(updatedRow) + .then(() => { + setCourseData( + courseData.map((row) => (row.id === newRow.id ? updatedRow : row)) + ); + setLoading(false); + return updatedRow; + }) + .catch((error) => { + setLoading(false); + console.error('Error adding document: ', error); + throw error; + }); + } else { + return firebase + .firestore() + .collection('courses') + .doc(updatedRow.id) + .update(updatedRow) + .then(() => { + setCourseData( + courseData.map((row) => (row.id === newRow.id ? updatedRow : row)) + ); + setLoading(false); + return updatedRow; + }) + .catch((error) => { + setLoading(false); + console.error('Error updating document: ', error); + throw error; + }); + } + } else { + setLoading(false); + return Promise.reject( + new Error('No matching course data found for id: ' + newRow.id) + ); + } + }; + const handleRowModesModelChange = (newRowModesModel: GridRowModesModel) => + setRowModesModel(newRowModesModel); + + let columns: GridColDef[] = [ + { field: 'code', headerName: 'Course Code', width: 130, editable: true }, + { field: 'title', headerName: 'Course Title', width: 200, editable: true }, + { field: 'credits', headerName: 'Credits', width: 100, editable: true }, + { field: 'enrolled', headerName: 'Enrolled', width: 100, editable: true }, + { + field: 'enrollment_cap', + headerName: 'Capacity', + width: 100, + editable: true, + }, + { + field: 'professor_names', + headerName: 'Professor Name', + width: 190, + editable: true, + }, + { + field: 'professor_emails', + headerName: 'Professor Email', + width: 170, + editable: true, + }, + { field: 'semester', headerName: 'Semester', width: 130, editable: true }, + { + field: 'actions', + type: 'actions', + headerName: 'Actions', + width: 130, + cellClassName: 'actions', + getActions: ({ id }) => { + const isInEditMode = rowModesModel[id]?.mode === GridRowModes.Edit; + if (isInEditMode) { + return [ + } + label="Save" + sx={{ color: 'primary.main' }} + onClick={handleSaveClick(id)} + />, + } + label="Cancel" + className="textPrimary" + onClick={handleCancelClick(id)} + color="inherit" + />, + ]; + } + return [ + } + label="View" + onClick={(event) => handleClickOpenGrid(id)} + color="primary" + />, + } + label="Edit" + className="textPrimary" + onClick={handleEditClick(id)} + color="inherit" + />, + } + label="Delete" + onClick={handleDeleteClick(id)} + color="inherit" + />, + ]; + }, + }, + ]; + + // ✅ UI-Only Styling Changes + const StripedDataGrid = styled(DataGrid)(({ theme }) => ({ + border: 'none', + borderRadius: '16px', + fontFamily: 'Inter, sans-serif', + fontSize: '0.95rem', + + '& .MuiDataGrid-columnHeaders': { + backgroundColor: '#D8C6F8', + color: '#1C003D', + fontWeight: 700, + borderBottom: 'none', + }, + + '& .MuiDataGrid-columnHeaderTitle': { + fontWeight: 700, + }, + '& .MuiDataGrid-columnHeader:first-of-type': { + paddingLeft: '20px', // ✅ adds spacing before first column header + }, + '& .MuiDataGrid-cell:first-of-type': { + paddingLeft: '25px', // ✅ adds spacing before first column cell + }, + + [`& .${gridClasses.row}.even`]: { + backgroundColor: '#FFFFFF', + }, + [`& .${gridClasses.row}.odd`]: { + backgroundColor: '#EEEEEE', + }, + + '& .MuiDataGrid-row:hover': { + backgroundColor: '#EFE6FF', + }, + + '& .MuiDataGrid-cell': { + borderBottom: '1px solid #ECE4FA', + }, + + '& .MuiDataGrid-footerContainer': { + borderTop: 'none', + }, + + '& .MuiTablePagination-root': { + color: '#5D3FC4', + fontWeight: 500, + }, + })); + + const Alert = React.forwardRef(function Alert( + props, + ref + ) { + return ; + }); + + const handleSuccess = ( + event?: React.SyntheticEvent | Event, + reason?: string + ) => { + if (reason === 'clickaway') return; + setSuccess(false); + }; + + return ( + <> + + + Created course successfully! + + + + + {loading ? : null} + + + console.error('Error processing row update: ', error) + } + slots={{ toolbar: EditToolbar }} + slotProps={{ toolbar: { setCourseData, setRowModesModel } }} + initialState={{ + pagination: { paginationModel: { pageSize: 25 } }, + }} + getRowClassName={(params) => + params.indexRelativeToCurrentPage % 2 === 0 ? 'even' : 'odd' + } + /> + + + {'Course Data'} + + {selectedCourseGrid && ( +
      +

      Class Number: {selectedCourseGrid}

      + +
      + )} +
      +
      +
      + + ); +} diff --git a/src/component/Dashboard/Courses/Courses.tsx b/src/component/Dashboard/Courses/Courses.tsx new file mode 100644 index 0000000..dd62d81 --- /dev/null +++ b/src/component/Dashboard/Courses/Courses.tsx @@ -0,0 +1,18 @@ +import Container from '@mui/material/Container'; +import CourseGrid from './CourseGrid'; + +interface CoursesProps { + userRole: string; +} + +export default function Courses(props: CoursesProps) { + const { userRole } = props; + return ( + <> + +

      Courses

      + +
      + + ); +} diff --git a/src/component/Dashboard/Courses/Create_Course.tsx b/src/component/Dashboard/Courses/Create_Course.tsx new file mode 100644 index 0000000..be0dfc3 --- /dev/null +++ b/src/component/Dashboard/Courses/Create_Course.tsx @@ -0,0 +1,319 @@ +import * as React from 'react'; +import Button from '@mui/material/Button'; +import TextField from '@mui/material/TextField'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import AddIcon from '@mui/icons-material/Add'; +import { GridRowsProp } from '@mui/x-data-grid'; +import { useState } from 'react'; +import toast, { Toaster } from 'react-hot-toast'; +import LinearProgress from '@mui/material/LinearProgress'; +import { CircularProgress } from '@mui/material'; +import Snackbar from '@mui/material/Snackbar'; +import MuiAlert, { AlertProps } from '@mui/material/Alert'; +interface CreateCourseDialogProps { + open: boolean; + setOpen: (value: boolean) => void; + setSuccess: (value: boolean) => void; + setCourseData: (newRows: (oldRows: GridRowsProp) => GridRowsProp) => void; +} + +const CreateCourseDialog: React.FC = ({ + open, + setOpen, + setSuccess, + setCourseData, +}) => { + const handleClickOpen = () => { + setOpen(true); + }; + + const handleClose = () => { + setOpen(false); + }; + const Alert = React.forwardRef(function Alert( + props, + ref + ) { + return ; + }); + const [loading, setLoading] = useState(false); + const handleSubmit = async (event: React.FormEvent) => { + setLoading(true); + + console.log(loading); + + event.preventDefault(); + // extract the form data from the current event + const formData = new FormData(event.currentTarget); + + const professorsNameString = formData.get('professor-names') as string; + const professorNameList = professorsNameString + .split(',') + .map((professorName) => professorName.trim()); + + const professorsEmailString = formData.get('professor-emails') as string; + const professorEmailList = professorsEmailString + .split(',') + .map((professorEmail) => professorEmail.trim()); + + // extract the specific user data from the form data into a parsable object + const courseData = { + code: formData.get('course-code') as string, + title: formData.get('course-title') as string, + id: formData.get('class-number') as string, + professor_names: professorNameList as string[], + professor_emails: professorEmailList as string[], + helper_names: [] as string[], + helper_emails: [] as string[], + credits: formData.get('course-credits') as string, + enrollment_cap: formData.get('enrollment-cap') as string, + num_enrolled: formData.get('num-enrolled') as string, + }; + + var testRegex = /^[a-zA-Z0-9]+$/; + var numberRegex = /^[0-9]+$/; + if (!testRegex.test(courseData.code)) { + toast.error( + 'Course code should only consist of number or letters (no spaces)!' + ); + return; + } else if (courseData.code === '') { + toast.error('Please enter a course code!'); + return; + } else if (courseData.title == '') { + toast.error('Please enter a course title!'); + return; + } else if (courseData.id.length != 5 || !numberRegex.test(courseData.id)) { + toast.error('Please enter a valid class number!'); + return; + } else if (courseData.professor_names.length == 0) { + toast.error('Please enter professor names!'); + return; + } else if (courseData.professor_emails.length == 0) { + toast.error('Please enter professor emails!'); + return; + } else if (courseData.credits === '') { + toast.error('Please enter the credit amount!'); + return; + } + + // console.log(courseData); // FOR DEBUGGING ONLY! + + if (courseData.enrollment_cap === '') { + courseData.enrollment_cap = '-1'; + } + + if (courseData.num_enrolled === '') { + courseData.num_enrolled = '-1'; + } + + // console.log(courseData); // FOR DEBUGGING ONLY! + + // use fetch to send the user data to the server + // this goes to a cloud function which creates a document based on + // the data from the form, identified by the user's firebase auth uid + const response = await fetch( + 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/processCreateCourseForm', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(courseData), + } + ); + + if (response.ok) { + console.log('SUCCESS: Course data sent to server successfully'); + // Update the course data with the new row + setCourseData((oldRows) => [...oldRows, courseData]); + setSuccess(true); + // close the dialog + handleClose(); + setLoading(false); + } else { + console.log('ERROR: Course data failed to send to server'); + toast.error('Course data failed to send to server!'); + setLoading(false); + } + }; + + return ( +
      + + + Create a Course +
      + + + To create a course manually, please enter the course information + in the form below. + + + The alphanumeric code of the course. +
      + Example: COP3502 + + } + /> + + The full title of the course. +
      + Example: Programming Fundamentals 1 + + } + /> + + The 5-digit class number of the course. +
      + Example: 12345 + + } + /> + + The full name(s) of the course's professor(s), separated + by commas if there are multiple. +
      + 1 professor example: Alberta Gator +
      2 professors example: Alberta Gator, Albert Gator + + } + /> + + The email(s) of the course's professor(s), separated by + commas if there are multiple. +
      + 1 professor example: alberta@ufl.edu +
      2 professors example: alberta@ufl.edu, albert@ufl.edu + + } + /> + + The amount of credits this course is worth. +
      + Example: 3 + + } + /> + + The maximum number of students who can enroll in this course. +
      + Example: 150 +
      + *NOTE*: THIS FIELD IS OPTIONAL. If left blank, it will default + to -1. + + } + /> + + The current number of students enrolled in this course. +
      + Example: 75 +
      + *NOTE*: THIS FIELD IS OPTIONAL. If left blank, it will default + to -1. + + } + /> +
      + + {loading ? : null} + + + +
      +
      +
      + ); +}; + +export default CreateCourseDialog; diff --git a/src/component/Dashboard/Profile/DeleteUserButton.tsx b/src/component/Dashboard/Profile/DeleteUserButton.tsx new file mode 100644 index 0000000..8cf55c9 --- /dev/null +++ b/src/component/Dashboard/Profile/DeleteUserButton.tsx @@ -0,0 +1,92 @@ +import * as React from 'react'; +import Button from '@mui/material/Button'; +import TextField from '@mui/material/TextField'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import PersonRemoveIcon from '@mui/icons-material/PersonRemove'; +import { HandleDeleteUser } from '@/firebase/auth/auth_delete_prompt'; + +interface CreateCourseDialogProps { + open: boolean; + setOpen: (value: boolean) => void; +} + +const DeleteUserDialog: React.FC = ({ + open, + setOpen, +}) => { + const handleClickOpen = () => { + setOpen(true); + }; + + const handleClose = () => { + setOpen(false); + }; + + const handleSubmit = async (event: React.FormEvent) => { + event.preventDefault(); + // extract the form data from the current event + const formData = new FormData(event.currentTarget); + + // extract the specific user data from the form data into a parsable object + const userData = { + email: formData.get('email-reverify') as string, + password: formData.get('password-reverify') as string, + }; + + // pass this into the delete user function which reverifies the user + // and then deletes the user from auth and the database + HandleDeleteUser(userData.email, userData.password); + }; + + return ( +
      + + + Create a Course +
      + + + To create a course manually, please enter the course information + in the form below. + + + + + + + + +
      +
      +
      + ); +}; + +export default DeleteUserDialog; diff --git a/src/component/Dashboard/Profile/Profile.tsx b/src/component/Dashboard/Profile/Profile.tsx new file mode 100644 index 0000000..a1fa854 --- /dev/null +++ b/src/component/Dashboard/Profile/Profile.tsx @@ -0,0 +1,26 @@ +'use client'; +import React from 'react'; +import Container from '@mui/material/Container'; +import UnderDevelopment from '@/component/UnderDevelopment'; +import DeleteUserButton from './DeleteUserButton'; + +interface ProfileProps { + userRole: string; + user: any; +} + +export default function Profile(props: ProfileProps) { + const { userRole, user } = props; + // Add state to control the dialog open status + const [open, setOpen] = React.useState(false); + + return ( + <> + +

      Profile

      + + +
      + + ); +} diff --git a/src/component/Dashboard/Users/ApprovalGrid.tsx b/src/component/Dashboard/Users/ApprovalGrid.tsx new file mode 100644 index 0000000..d4e24ec --- /dev/null +++ b/src/component/Dashboard/Users/ApprovalGrid.tsx @@ -0,0 +1,443 @@ +'use client'; +import * as React from 'react'; +import Box from '@mui/material/Box'; +import EditIcon from '@mui/icons-material/Edit'; +import DeleteIcon from '@mui/icons-material/DeleteOutlined'; +import ThumbUpOffAltIcon from '@mui/icons-material/ThumbUpOffAlt'; +import CancelIcon from '@mui/icons-material/Close'; +import SaveIcon from '@mui/icons-material/Save'; + +import { + GridRowModesModel, + GridRowsProp, + GridRowModes, + GridToolbarContainer, + GridToolbarExport, + GridToolbarFilterButton, + GridToolbarColumnsButton, + DataGrid, + GridColDef, + GridActionsCellItem, + GridEventListener, + GridRowId, + GridRowModel, + GridRowEditStopReasons, + useGridApiContext, + gridClasses, +} from '@mui/x-data-grid'; +import { Button } from '@mui/material'; +import { deleteUserHTTPRequest } from '@/firebase/auth/auth_delete_user'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import { LinearProgress } from '@mui/material'; +import { alpha, styled } from '@mui/material/styles'; +import CheckIcon from '@mui/icons-material/Check'; +import { ThumbDownOffAlt, ThumbUp, ThumbUpOffAlt } from '@mui/icons-material'; +interface User { + id: string; + firstname: string; + lastname: string; + email: string; + department: string; + role: string; + isNew?: boolean; + fullname: string; + mode?: 'edit' | 'view' | undefined; +} + +interface EditToolbarProps { + setApplicationData: ( + newRows: (oldRows: GridRowsProp) => GridRowsProp + ) => void; + setRowModesModel: ( + newModel: (oldModel: GridRowModesModel) => GridRowModesModel + ) => void; +} + +function EditToolbar(props: EditToolbarProps) { + const { setApplicationData, setRowModesModel } = props; + + // Add state to control the dialog open status + const [open, setOpen] = React.useState(false); + + return ( + + + + + + ); +} + +interface ApprovalGridProps { + userRole: string; +} + +export default function ApprovalGrid(props: ApprovalGridProps) { + const { userRole } = props; + const [userData, setUserData] = React.useState([]); + + React.useEffect(() => { + const usersRef = firebase + .firestore() + .collection('users') + .where('role', '==', 'unapproved'); + const unsubscribe = usersRef.onSnapshot((querySnapshot) => { + const data = querySnapshot.docs.map( + (doc) => + ({ + id: doc.id, + fullname: doc.data().firstname + ' ' + doc.data().lastname, + ...doc.data(), + } as User) + ); + + setUserData(data); + }); + + return () => unsubscribe(); + }, []); + + const [rowModesModel, setRowModesModel] = React.useState( + {} + ); + + const handleRowEditStop: GridEventListener<'rowEditStop'> = ( + params, + event + ) => { + if (params.reason === GridRowEditStopReasons.rowFocusOut) { + event.defaultMuiPrevented = true; + } + }; + + const handleEditClick = (id: GridRowId) => () => { + setRowModesModel({ ...rowModesModel, [id]: { mode: GridRowModes.Edit } }); + }; + + const handleSaveClick = (id: GridRowId) => () => { + const updatedRow = userData.find((row) => row.id === id); + if (updatedRow) { + firebase + .firestore() + .collection('users') + .doc(id.toString()) + .update(updatedRow) + .then(() => { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View }, + }); + }) + .catch((error) => { + console.error('Error updating document: ', error); + }); + } else { + console.error('No matching user data found for id: ', id); + } + }; + + const handleApproveClick = (id: GridRowId) => () => { + const updatedRow = userData.find((row) => row.id === id); + if (updatedRow) { + firebase + .firestore() + .collection('users') + .doc(id.toString()) + .update({ role: 'faculty' }) + .then(() => { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View }, + }); + }) + .catch((error) => { + console.error('Error updating document: ', error); + }); + } else { + console.error('No matching user data found for id: ', id); + } + }; + + const handleDenyClick = (id: GridRowId) => () => { + const updatedRow = userData.find((row) => row.id === id); + if (updatedRow) { + firebase + .firestore() + .collection('users') + .doc(id.toString()) + .update({ role: 'denied' }) + .then(() => { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View }, + }); + }) + .catch((error) => { + console.error('Error updating document: ', error); + }); + } else { + console.error('No matching user data found for id: ', id); + } + }; + + const handleDeleteClick = (id: GridRowId) => () => { + firebase + .firestore() + .collection('users') + .doc(id.toString()) + .delete() + .then(() => { + deleteUserHTTPRequest(id.toString()); + setUserData(userData.filter((row) => row.id !== id)); + }) + .catch((error) => { + console.error('Error removing document: ', error); + }); + }; + + const handleCancelClick = (id: GridRowId) => () => { + const editedRow = userData.find((row) => row.id === id); + if (editedRow!.isNew) { + firebase + .firestore() + .collection('users') + .doc(id.toString()) + .delete() + .then(() => { + setUserData(userData.filter((row) => row.id !== id)); + }) + .catch((error) => { + console.error('Error removing document: ', error); + }); + } else { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View, ignoreModifications: true }, + }); + } + }; + + const processRowUpdate = (newRow: GridRowModel) => { + const updatedRow = { ...(newRow as User), isNew: false }; + if (updatedRow) { + if (updatedRow.isNew) { + return firebase + .firestore() + .collection('users') + .add(updatedRow) + .then(() => { + setUserData( + userData.map((row) => (row.id === newRow.id ? updatedRow : row)) + ); + return updatedRow; + }) + .catch((error) => { + console.error('Error adding document: ', error); + throw error; + }); + } else { + return firebase + .firestore() + .collection('users') + .doc(updatedRow.id) + .update(updatedRow) + .then(() => { + setUserData( + userData.map((row) => (row.id === newRow.id ? updatedRow : row)) + ); + return updatedRow; + }) + .catch((error) => { + console.error('Error updating document: ', error); + throw error; + }); + } + } else { + return Promise.reject( + new Error('No matching user data found for id: ' + newRow.id) + ); + } + }; + + const handleRowModesModelChange = (newRowModesModel: GridRowModesModel) => { + setRowModesModel(newRowModesModel); + }; + + let columns: GridColDef[] = [ + { + field: 'actions', + type: 'actions', + headerName: 'Actions', + width: 280, + cellClassName: 'actions', + getActions: ({ id }) => { + const isInEditMode = rowModesModel[id]?.mode === GridRowModes.Edit; + + if (isInEditMode) { + return [ + } + label="Save" + sx={{ + color: 'primary.main', + }} + onClick={handleSaveClick(id)} + />, + } + label="Cancel" + onClick={handleCancelClick(id)} + color="inherit" + />, + ]; + } + + return [ + , + + , + } + label="Approve" + onClick={handleApproveClick(id)} + color="success" + />, + } + label="Deny" + onClick={handleDenyClick(id)} + color="error" + />, + ]; + }, + }, + { + field: 'fullname', + headerName: 'Full Name', + width: 202, + editable: true, + }, + { field: 'email', headerName: 'Email', width: 215, editable: true }, + { + field: 'department', + headerName: 'Department', + width: 119, + editable: true, + }, + { + field: 'courses', + headerName: 'Course Code', + width: 300, + editable: true, + }, + { + field: 'semester', + headerName: 'Semester', + width: 130, + editable: true, + }, + { field: 'role', headerName: 'Role', width: 100, editable: true }, + ]; + const ODD_OPACITY = 0.2; + + const StripedDataGrid = styled(DataGrid)(({ theme }) => ({ + [`& .${gridClasses.row}.even`]: { + backgroundColor: '#562EBA1F', + '&:hover, &.Mui-hovered': { + backgroundColor: alpha(theme.palette.primary.main, ODD_OPACITY), + '@media (hover: none)': { + backgroundColor: 'transparent', + }, + }, + '&.Mui-selected': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + '&:hover, &.Mui-hovered': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + + theme.palette.action.selectedOpacity + + theme.palette.action.hoverOpacity + ), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + }, + }, + }, + }, + })); + + return ( + + + params.indexRelativeToCurrentPage % 2 === 0 ? 'even' : 'odd' + } + sx={{ borderRadius: '16px' }} + /> + + ); +} diff --git a/src/component/Dashboard/Users/FacultyStats.tsx b/src/component/Dashboard/Users/FacultyStats.tsx new file mode 100644 index 0000000..9db1a4d --- /dev/null +++ b/src/component/Dashboard/Users/FacultyStats.tsx @@ -0,0 +1,19 @@ +import Container from '@mui/material/Container'; +import StatsGrid from './StatsGrid'; +import ApprovalGrid from './ApprovalGrid'; +interface UsersProps { + userRole: string; +} + +export default function FacultyStats(props: UsersProps) { + const { userRole } = props; + return ( + <> + +
      + +
      +
      + + ); +} diff --git a/src/component/Dashboard/Users/StatsGrid.tsx b/src/component/Dashboard/Users/StatsGrid.tsx new file mode 100644 index 0000000..fba367a --- /dev/null +++ b/src/component/Dashboard/Users/StatsGrid.tsx @@ -0,0 +1,404 @@ +// components/StatsGrid.tsx +'use client'; + +import * as React from 'react'; +import Box from '@mui/material/Box'; +import ZoomIn from '@mui/icons-material/ZoomIn'; +import DeleteIcon from '@mui/icons-material/DeleteOutlined'; +import { + GridRowModesModel, + GridToolbarContainer, + GridToolbarExport, + GridToolbarFilterButton, + GridToolbarColumnsButton, + DataGrid, + GridColDef, + GridActionsCellItem, + GridEventListener, + GridRowId, + GridRowModel, + GridRowEditStopReasons, + useGridApiContext, + gridClasses, +} from '@mui/x-data-grid'; +import { + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + LinearProgress, + Button, +} from '@mui/material'; +import Link from 'next/link'; +import { + useFacultyStats, + useDeleteFacultyStat, + useUpdateFacultyStat, +} from '@/hooks/useFacultyStats'; +import { User } from '@/types/User'; +import { alpha, styled } from '@mui/material/styles'; + +interface EditToolbarProps { + setRowModesModel: ( + newModel: (oldModel: GridRowModesModel) => GridRowModesModel + ) => void; +} + +function EditToolbar(props: EditToolbarProps) { + const { setRowModesModel } = props; + + return ( + + + + + + ); +} + +interface UserGridProps { + userRole: string; +} + +export default function StatsGrid(props: UserGridProps) { + const { userRole } = props; + const { data, isLoading, error } = useFacultyStats(); + const deleteMutation = useDeleteFacultyStat(); + const updateMutation = useUpdateFacultyStat(); + + const [delDia, setDelDia] = React.useState(false); + const [delId, setDelId] = React.useState(); + + const [rowModesModel, setRowModesModel] = React.useState( + {} + ); + + const handleDeleteDiagClose = () => { + setDelDia(false); + }; + + const handleRowEditStop: GridEventListener<'rowEditStop'> = ( + params, + event + ) => { + if (params.reason === GridRowEditStopReasons.rowFocusOut) { + event.defaultMuiPrevented = true; + } + }; + + const handleSaveClick = (id: GridRowId) => () => { + const updatedRow = data?.find((row) => row.id === id); + if (updatedRow) { + updateMutation.mutate(updatedRow); + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View }, + }); + } else { + console.error('No matching user data found for id: ', id); + } + }; + + const handleDel = (id: GridRowId) => () => { + setDelId(id.toString()); + setDelDia(true); + }; + + const handleDeleteClick = (id: string) => { + deleteMutation.mutate(id); + // deleteUserHTTPRequest(id); // Remove if redundant, as React Query handles refetching + }; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + if (delId) { + handleDeleteClick(delId); + } + setDelDia(false); + }; + + function CustomToolbar() { + const apiRef = useGridApiContext(); + + return ( + + + + ); + } + + const handleCancelClick = (id: GridRowId) => () => { + const editedRow = data?.find((row) => row.id === id); + if (editedRow && editedRow.isNew) { + deleteMutation.mutate(id); + } else { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View, ignoreModifications: true }, + }); + } + }; + + const processRowUpdate = async (newRow: GridRowModel) => { + const updatedRow = { ...(newRow as User), isNew: false }; + try { + await updateMutation.mutateAsync(updatedRow); + return updatedRow; + } catch (error) { + console.error('Error updating row:', error); + throw error; + } + }; + + const handleRowModesModelChange = (newRowModesModel: GridRowModesModel) => { + setRowModesModel(newRowModesModel); + }; + + const columns: GridColDef[] = [ + { + field: 'actions', + type: 'actions', + headerName: 'Actions', + width: 200, + cellClassName: 'actions', + getActions: ({ id }) => { + return [ + , + } + label="Delete" + onClick={handleDel(id)} + color="inherit" + />, + ]; + }, + }, + { + field: 'instructor', + headerName: 'Instructor', + width: 150, + editable: false, + }, + { + field: 'research_level', + headerName: 'Research Activity Level', + width: 200, + editable: false, + }, + { + field: 'teaching_load', + headerName: 'Teaching Load', + width: 200, + editable: false, + }, + // { + // field: 'teaching_load', + // headerName: 'Teaching Load', + // width: 200, + // editable: false, + // }, + // { + // field: 'acu2', + // headerName: 'Accumulated Course Credits', + // width: 220, + // editable: true, + // }, + // { field: 'cd', headerName: 'Credit Deficit', width: 150, editable: true }, + // { field: 'ce', headerName: 'Credit Excess', width: 150, editable: true }, + // { + // field: 'tot', + // headerName: 'Total Classes Taught (3yrs)', + // width: 200, + // editable: true, + // }, + // { + // field: 'acu3', + // headerName: 'Average Course Units', + // width: 170, + // editable: true, + // }, + // { field: 'lc', headerName: 'Lab Courses', width: 150, editable: true }, + ]; + + const ODD_OPACITY = 0.2; + + const StripedDataGrid = styled(DataGrid)(({ theme }) => ({ + [`& .${gridClasses.row}.even`]: { + backgroundColor: '#562EBA1F', + '&:hover, &.Mui-hovered': { + backgroundColor: alpha(theme.palette.primary.main, ODD_OPACITY), + '@media (hover: none)': { + backgroundColor: 'transparent', + }, + }, + '&.Mui-selected': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + '&:hover, &.Mui-hovered': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + + theme.palette.action.selectedOpacity + + theme.palette.action.hoverOpacity + ), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + }, + }, + }, + }, + })); + + if (isLoading) { + return ; + } + + if (error) { + return
      Error loading data
      ; + } + + return ( + + + + Delete Instructor + +
      + + + Are you sure you want to delete this instructor? + + + + + + + +
      +
      + row.instructor} + rowModesModel={rowModesModel} + onRowModesModelChange={handleRowModesModelChange} + onRowEditStop={handleRowEditStop} + processRowUpdate={processRowUpdate} + initialState={{ + pagination: { paginationModel: { pageSize: 25 } }, + }} + getRowClassName={(params) => + params.indexRelativeToCurrentPage % 2 === 0 ? 'even' : 'odd' + } + sx={{ borderRadius: '16px' }} + /> +
      + ); +} diff --git a/src/component/Dashboard/Users/User.tsx b/src/component/Dashboard/Users/User.tsx new file mode 100644 index 0000000..fc64f13 --- /dev/null +++ b/src/component/Dashboard/Users/User.tsx @@ -0,0 +1,10 @@ +// individual user +// this could be a modal which pops up when a user is clicked on in the table +// same principle for application & courses in their respective tables +export default function User() { + return ( + <> +

      individual user

      + + ); +} diff --git a/src/component/Dashboard/Users/UserGrid.tsx b/src/component/Dashboard/Users/UserGrid.tsx new file mode 100644 index 0000000..dcd31d9 --- /dev/null +++ b/src/component/Dashboard/Users/UserGrid.tsx @@ -0,0 +1,498 @@ +'use client'; +import * as React from 'react'; +import Box from '@mui/material/Box'; +import EditIcon from '@mui/icons-material/Edit'; +import DeleteIcon from '@mui/icons-material/DeleteOutlined'; +import SaveIcon from '@mui/icons-material/Save'; +import CancelIcon from '@mui/icons-material/Close'; +import { + GridRowModesModel, + GridRowsProp, + GridRowModes, + GridToolbarContainer, + GridToolbarExport, + GridToolbarFilterButton, + GridToolbarColumnsButton, + DataGrid, + GridColDef, + GridActionsCellItem, + GridEventListener, + GridRowId, + GridRowModel, + GridRowEditStopReasons, + useGridApiContext, + gridClasses, +} from '@mui/x-data-grid'; +import { + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + TextField, +} from '@mui/material'; +import { deleteUserHTTPRequest } from '@/firebase/auth/auth_delete_user'; +import firebase from '@/firebase/firebase_config'; +import 'firebase/firestore'; +import { LinearProgress, Button } from '@mui/material'; +import { alpha, styled } from '@mui/material/styles'; +import { isE2EMode } from '@/utils/featureFlags'; + +interface User { + id: string; + firstname: string; + lastname: string; + email: string; + password: string; + department: string; + role: string; + ufid: string; + isNew?: boolean; + mode?: 'edit' | 'view' | undefined; +} + +interface EditToolbarProps { + setUserData: (newRows: (oldRows: GridRowsProp) => GridRowsProp) => void; + setRowModesModel: ( + newModel: (oldModel: GridRowModesModel) => GridRowModesModel + ) => void; +} + +function EditToolbar(props: EditToolbarProps) { + const { setUserData, setRowModesModel } = props; + + // Add state to control the dialog open status + const [open, setOpen] = React.useState(false); + + return ( + + {/* Include your Dialog component here and pass the open state and setOpen function as props */} + + + + + ); +} + +interface UserGridProps { + userRole: string; +} + +export default function UserGrid(props: UserGridProps) { + const { userRole } = props; + const e2e = isE2EMode(); + const [userData, setUserData] = React.useState([]); + const [open, setOpen] = React.useState(false); + const [delDia, setDelDia] = React.useState(false); + const [delId, setDelId] = React.useState(); + + React.useEffect(() => { + if (e2e) { + setUserData([]); + return; + } + const usersRef = firebase.firestore().collection('users'); + const unsubscribe = usersRef.onSnapshot((querySnapshot) => { + const data = querySnapshot.docs.map( + (doc) => + ({ + id: doc.id, + fullname: doc.data().firstname + ' ' + doc.data().lastname, + ...doc.data(), + } as unknown as User) + ); + + setUserData(data); + }); + + return () => unsubscribe(); + }, [e2e]); + const handleDeleteDiagClose = () => { + setDelDia(false); + }; + const [rowModesModel, setRowModesModel] = React.useState( + {} + ); + + const handleRowEditStop: GridEventListener<'rowEditStop'> = ( + params, + event + ) => { + if (params.reason === GridRowEditStopReasons.rowFocusOut) { + event.defaultMuiPrevented = true; + } + }; + + const handleEditClick = (id: GridRowId) => () => { + setRowModesModel({ ...rowModesModel, [id]: { mode: GridRowModes.Edit } }); + }; + + const handleSaveClick = (id: GridRowId) => () => { + console.log('Clicked Save for ID:', id); + console.log('Current userData:', userData); + + const updatedRow = userData.find((row) => row.id === id); + if (updatedRow) { + firebase + .firestore() + .collection('users') + .doc(id.toString()) + .update(updatedRow) + .then(() => { + console.log('Document successfully updated!'); + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View }, + }); + }) + .catch((error) => { + console.error('Error updating document: ', error); + }); + } else { + console.error('No matching user data found for id: ', id); + } + }; + + const handleDel = (id: GridRowId) => () => { + setDelId(id); + setDelDia(true); + }; + + const handleDeleteClick = (id: GridRowId) => { + firebase + .firestore() + .collection('users') + .doc(id.toString()) + .delete() + .then(() => { + deleteUserHTTPRequest(id.toString()); + setUserData(userData.filter((row) => row.id !== id)); + }) + .catch((error) => { + console.error('Error removing document: ', error); + }); + }; + + const handleSubmit = (e) => { + e.preventDefault(); + console.log(delId.toString()); + handleDeleteClick(delId); + setDelDia(false); + }; + function CustomToolbar() { + const apiRef = useGridApiContext(); + + return ( + + + + ); + } + + const handleCancelClick = (id: GridRowId) => () => { + const editedRow = userData.find((row) => row.id === id); + if (editedRow!.isNew) { + firebase + .firestore() + .collection('users') + .doc(id.toString()) + .delete() + .then(() => { + setUserData(userData.filter((row) => row.id !== id)); + }) + .catch((error) => { + console.error('Error removing document: ', error); + }); + } else { + setRowModesModel({ + ...rowModesModel, + [id]: { mode: GridRowModes.View, ignoreModifications: true }, + }); + } + }; + + const processRowUpdate = (newRow: GridRowModel) => { + const updatedRow = { ...(newRow as User), isNew: false }; + if (updatedRow) { + if (updatedRow.isNew) { + return firebase + .firestore() + .collection('users') + .add(updatedRow) + .then(() => { + setUserData( + userData.map((row) => (row.id === newRow.id ? updatedRow : row)) + ); + return updatedRow; + }) + .catch((error) => { + console.error('Error adding document: ', error); + throw error; + }); + } else { + return firebase + .firestore() + .collection('users') + .doc(updatedRow.id) + .update(updatedRow) + .then(() => { + setUserData( + userData.map((row) => (row.id === newRow.id ? updatedRow : row)) + ); + return updatedRow; + }) + .catch((error) => { + console.error('Error updating document: ', error); + throw error; + }); + } + } else { + return Promise.reject( + new Error('No matching user data found for id: ' + newRow.id) + ); + } + }; + + const handleRowModesModelChange = (newRowModesModel: GridRowModesModel) => { + setRowModesModel(newRowModesModel); + }; + + const columns: GridColDef[] = [ + { + field: 'actions', + type: 'actions', + headerName: 'Actions', + width: 200, + cellClassName: 'actions', + getActions: ({ id }) => { + const isInEditMode = rowModesModel[id]?.mode === GridRowModes.Edit; + + if (isInEditMode) { + return [ + } + label="Save" + sx={{ + color: '#562EBA', + }} + onClick={handleSaveClick(id)} + />, + } + label="Cancel" + className="textPrimary" + onClick={handleCancelClick(id)} + color="inherit" + />, + ]; + } + + return [ + , + + , + ]; + }, + }, + { + field: 'firstname', + headerName: 'First Name', + width: 150, + editable: true, + }, + { field: 'lastname', headerName: 'Last Name', width: 150, editable: true }, + { field: 'email', headerName: 'Email', width: 250, editable: true }, + { + field: 'department', + headerName: 'Department', + width: 130, + editable: true, + }, + { field: 'role', headerName: 'Role', width: 150, editable: true }, + { field: 'id', headerName: 'User ID', width: 290, editable: true }, + ]; + const ODD_OPACITY = 0.2; + + const StripedDataGrid = styled(DataGrid)(({ theme }) => ({ + [`& .${gridClasses.row}.even`]: { + backgroundColor: '#562EBA1F', + '&:hover, &.Mui-hovered': { + backgroundColor: alpha(theme.palette.primary.main, ODD_OPACITY), + '@media (hover: none)': { + backgroundColor: 'transparent', + }, + }, + '&.Mui-selected': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + '&:hover, &.Mui-hovered': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + + theme.palette.action.selectedOpacity + + theme.palette.action.hoverOpacity + ), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: alpha( + theme.palette.primary.main, + ODD_OPACITY + theme.palette.action.selectedOpacity + ), + }, + }, + }, + }, + })); + return ( + + + + Delete User + +
      handleSubmit(e)}> + + + Are you sure you want to delete this user? + + + + + + + +
      +
      + + params.indexRelativeToCurrentPage % 2 === 0 ? 'even' : 'odd' + } + sx={{ borderRadius: '16px' }} + /> +
      + ); +} diff --git a/src/component/Dashboard/Users/Users.tsx b/src/component/Dashboard/Users/Users.tsx new file mode 100644 index 0000000..577886a --- /dev/null +++ b/src/component/Dashboard/Users/Users.tsx @@ -0,0 +1,22 @@ +import Container from '@mui/material/Container'; +import UserGrid from './UserGrid'; +import ApprovalGrid from './ApprovalGrid'; +interface UsersProps { + userRole: string; +} + +export default function Users(props: UsersProps) { + const { userRole } = props; + return ( + <> + +
      +

      All Users

      + +
      +

      Unapproved Users

      + +
      + + ); +} diff --git a/src/component/Dashboard/Welcome/Welcome.tsx b/src/component/Dashboard/Welcome/Welcome.tsx new file mode 100644 index 0000000..cbb555b --- /dev/null +++ b/src/component/Dashboard/Welcome/Welcome.tsx @@ -0,0 +1,345 @@ +import { Toaster } from 'react-hot-toast'; +import { EceLogoPng } from '@/component/EceLogoPng/EceLogoPng'; +import { DashboardCard } from '@/components/DashboardCard/DashboardCard'; +import { Bio } from '@/components/Bio/Bio'; +import { TopNavBarSigned } from '@/component/TopNavBarSigned/TopNavBarSigned'; +import styles from './style.module.css'; +import { VerifyEmailCard } from '@/component/VerifyEmailCard/VerifyEmailCard'; +import Link from 'next/link'; + +interface DashboardProps { + user: any; + userRole: string; + emailVerified: any; +} + +export default function DashboardWelcome(props: DashboardProps) { + const { userRole, user, emailVerified } = props; + return ( + <> + +
      +
      + {!emailVerified && userRole != 'admin' && ( +
      +
      +
      +
      +
      + Gradients +
      +
      +
      + + + +
      Home
      +
      +
      + {' '} + +
      +
      +
      +
      + )} + + {(userRole == 'student_applying' || userRole == 'Student') && + emailVerified && ( +
      +
      +
      +
      +
      + Gradients +
      +
      +
      + + + +
      Home
      +
      +
      + + + + + + +
      +
      + )} + {userRole == 'unapproved' && emailVerified && ( +
      +
      +
      +
      +
      + Gradients +
      +
      +
      + + + +
      Home
      +
      + +
      +
      +
      + Waiting on Admin Approval +
      +
      + Thank you for signing up for Course Connect as a faculty + member. Your account request is currently pending approval + by the administrator. You will receive an email notification + once your account has been approved or denied. +
      +
      +
      +
      + //
      + )} + + {(userRole == 'student_applied' || + userRole == 'student_accepted' || + userRole == 'student_denied') && + emailVerified && ( +
      +
      +
      +
      +
      + Gradients +
      +
      +
      + + + +
      Home
      +
      +
      + + + + + + + + + +
      +
      + )} + + {userRole == 'faculty' && emailVerified && ( +
      +
      +
      +
      +
      + Gradients +
      +
      +
      + + + +
      Home
      +
      +
      + + + + + + + + + + + + +
      +
      + )} + + {userRole == 'admin' && ( +
      +
      +
      +
      +
      + Gradients +
      +
      +
      + + + +
      Home
      +
      +
      + + + + + + + + + + + + + +
      +
      + )} +
      +
      + + ); +} diff --git a/src/component/Dashboard/Welcome/style.css b/src/component/Dashboard/Welcome/style.css new file mode 100644 index 0000000..79ac377 --- /dev/null +++ b/src/component/Dashboard/Welcome/style.css @@ -0,0 +1,145 @@ +.student-landing-page { + background-color: #FFFFFF; + display: flex; + flex-direction: row; + justify-content: center; + width: 100%; +} +.student-landing-page .overlap-wrapper { + background-color: #FFFFFF; + height: 1024px; + width: 100%; +} +.student-landing-page .overlap { + background-color: #F9F9F9; + height: 1024px; + position: relative; + width: 100%; + display:flex; + + +} +.student-landing-page .overlap-2 { + height: 545px; + left: 0; + position: absolute; + top: 0; + width: 100%; + +} +.student-landing-page .color-block-frame { + height: 350px; + left: 0; + overflow: hidden; + position: absolute; + top: 0; + width: 100%; +} +.student-landing-page .overlap-group-2 { + height: 458px; + left: -5px; + position: relative; + width: 100%; +} +.student-landing-page .color-block { + background-color: #001776; + height: 458px; + left: 5px; + position: absolute; + top: 0; + width: 100%; +} +.student-landing-page .GRADIENTS { + height: 350px; + left: 5px; + position: absolute; + top: 0; + width: 100%; +} +.student-landing-page .glass-card { + -webkit-backdrop-filter: blur(200px) brightness(100%); + backdrop-filter: blur(200px) brightness(100%); + background-blend-mode: luminosity; + background-color: #00000024; + height: 458px; + left: 0; + position: absolute; + top: 0; + width: 101%; +} +.student-landing-page .ece-logo-png-2 { + left: 27px !important; + position: absolute !important; + top: 23px !important; +} +.student-landing-page .full-name-and-bio-instance { + left: 38% !important; + position: absolute !important; + top: 250px !important; +} +.student-landing-page .top-nav-bar-signed-in { + left: 80% !important; + position: absolute !important; + top: 27px !important; +} +.student-landing-page .text-wrapper-8 { + color: #FFFFFF; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 50px; + font-weight: 500; + left: 45%; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 114px; + width: 133px; +} +.student-landing-page .profile-instance { + left: 52% !important; + position: absolute !important; + top: 640px !important; +} +.student-landing-page .apply-instance { + left: 38% !important; + position: absolute !important; + top: 640px !important; +} +.student-landing-page .profile-instance2 { + left: 58% !important; + position: absolute !important; + top: 640px !important; +} +.student-landing-page .apply-instance2 { + left: 44% !important; + position: absolute !important; + top: 640px !important; +} +.student-landing-page .status-instance { + left: 30% !important; + position: absolute !important; + top: 640px !important; +} +.student-landing-page .applications-instance { + left: 30% !important; + position: absolute !important; + top: 640px !important; +} +.student-landing-page .course-instance { + left: 44% !important; + position: absolute !important; + top: 640px !important; +} + + +.profileinstance5{ + position: absolute !important; + top: 640px !important; +} + + + + + + + + diff --git a/src/component/Dashboard/Welcome/style.module.css b/src/component/Dashboard/Welcome/style.module.css new file mode 100644 index 0000000..a1193c2 --- /dev/null +++ b/src/component/Dashboard/Welcome/style.module.css @@ -0,0 +1,128 @@ +.studentlandingpage { + display: flex; + flex-direction: row; + justify-content: center; + position: absolute; + width: 100%; + height: 100%; +} + +.studentlandingpage .overlapwrapper { + width: 100%; +} + +.studentlandingpage .overlap { + position: absolute; + width: 100%; + +} + +.studentlandingpage .overlap2 { + + height: 545px; + left: 0; + position: absolute; + top: 0; + width: 100%; +} + +.studentlandingpage .colorblockframe { + height: 350px; + left: 0; + overflow: hidden; + position: absolute; + top: 0; + width: 100%; +} + +.studentlandingpage .overlapgroup2 { + height: 458px; + left: -5px; + position: absolute; + width: 100%; +} + +.studentlandingpage .colorblock { + background-color: #001776; + height: 458px; + left: 5px; + position: absolute; + top: 0; + width: 100%; +} + +.studentlandingpage .GRADIENTS { + height: 350px; + left: 5px; + position: absolute; + top: 0; + width: 100%; +} + +.studentlandingpage .glasscard { + -webkit-backdrop-filter: blur(200px) brightness(100%); + backdrop-filter: blur(200px) brightness(100%); + background-blend-mode: luminosity; + height: 458px; + left: 0; + position: absolute; + top: 0; + width: 101%; +} + +.studentlandingpage .ecelogopng2 { + left: 27px !important; + position: absolute !important; + top: 23px !important; +} + +.studentlandingpage .fullnameandbioinstance { + left: 50%; + top: 250px !important; + position: absolute; + transform: translateY(-50%); + transform: translateX(-50%); +} + +.studentlandingpage .topnavbarsignedin { + right: 70px; + top: 27px !important; + position: absolute; + +} + +.studentlandingpage .textwrapper8 { + color: #ffffff; + font-family: 'SF Pro Display-Medium', Helvetica; + font-size: 50px; + font-weight: 500; + letter-spacing: 0; + line-height: normal; + position: absolute; + left: 50%; + transform: translateY(-50%); + transform: translateX(-50%); + top: 150px; +} + +.container { + display: flex; + flex-direction: row; + position: absolute; + left: 50%; + gap: 50px; + top: 700px; + transform: translate(-50%, -50%); + +} + + +@media (max-width: 570px) { + .ecelogopng2 { + display: none; + } + .container{ + flex-direction: column; + margin-top: 380px; + } +} \ No newline at end of file diff --git a/src/component/DashboardCard/DashboardCard.jsx b/src/component/DashboardCard/DashboardCard.jsx new file mode 100644 index 0000000..61f921a --- /dev/null +++ b/src/component/DashboardCard/DashboardCard.jsx @@ -0,0 +1,19 @@ +import PropTypes from 'prop-types'; +import React from 'react'; +import './style.css'; +export const DashboardCard = ({ className, image, text }) => { + return ( +
      +
      + Card +
      {text}
      +
      +
      + ); +}; + +DashboardCard.propTypes = { + image: PropTypes.string, + text: PropTypes.string, + clickable: PropTypes.bool, +}; diff --git a/src/component/DashboardCard/style.css b/src/component/DashboardCard/style.css new file mode 100644 index 0000000..729c7c1 --- /dev/null +++ b/src/component/DashboardCard/style.css @@ -0,0 +1,43 @@ + +.dashboardcard { + background-color: #ffffff; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 183px; + width: 187px; + display: flex; + align-items: center; + justify-content: center; + position: relative; + margin-bottom: 50px; +} + +.dashboardcard .innercontent2 { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + width: 100%; + height: 100%; + position: relative; +} + +.dashboardcard .text-wrapper-6 { + position: absolute; + top: 20px; /* Adjust this value to position the text */ + width: 100%; + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 20px; + font-weight: 400; + text-align: center; + z-index: 1; /* Ensure the text is above the image */ +} + +.dashboardcard .img2 { + height: 74px; + width: 86px; + position: absolute; + top: 70px; +} diff --git a/src/component/EceLogoPng/CCLogo.svg b/src/component/EceLogoPng/CCLogo.svg new file mode 100644 index 0000000..7f3cdf1 --- /dev/null +++ b/src/component/EceLogoPng/CCLogo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/component/EceLogoPng/EceLogoPng.jsx b/src/component/EceLogoPng/EceLogoPng.jsx new file mode 100644 index 0000000..4047eaf --- /dev/null +++ b/src/component/EceLogoPng/EceLogoPng.jsx @@ -0,0 +1,5 @@ +import React from 'react'; +import './style.css'; +export const EceLogoPng = ({ className }) => { + return
      ; +}; diff --git a/src/component/EceLogoPng/style.css b/src/component/EceLogoPng/style.css new file mode 100644 index 0000000..1e77cb8 --- /dev/null +++ b/src/component/EceLogoPng/style.css @@ -0,0 +1,11 @@ +.ece-logo-png { + background-image: url(CCLogo.svg); + background-position: 0% 0%; + position: relative; + background-size: 60%; + background-repeat: no-repeat; + height: 40px; + width: 300px; + position: fixed; +} + diff --git a/src/component/Enrollment/Enrollment.tsx b/src/component/Enrollment/Enrollment.tsx new file mode 100644 index 0000000..df7ef4c --- /dev/null +++ b/src/component/Enrollment/Enrollment.tsx @@ -0,0 +1,93 @@ +import * as React from 'react'; +import CircularProgress, { + CircularProgressProps, +} from '@mui/material/CircularProgress'; +import Typography from '@mui/material/Typography'; +import Box from '@mui/material/Box'; +import LinearProgress from '@mui/material/LinearProgress'; + +interface EnrollmentInfoProps extends CircularProgressProps { + students: number; + capacity: number; +} + +const EnrollmentInfo: React.FC = (props) => { + const { students, capacity, ...circularProgressProps } = props; + const percentage = capacity === 0 ? 0 : (students / capacity) * 100; + + return ( + + + Students Enrolled + + + + {students} + + + students + + + of {capacity} cap + + + + + = 100 ? 100 : percentage} + size={250} + thickness={4} + {...circularProgressProps} + sx={{ color: '#562EBA' }} + /> + + + {`${Math.round(percentage)}%`} + + + {'Student Enrolled'} + + + + + + + Students enrolled + + + {students} students + + + = 100 ? 100 : percentage} + sx={{ height: '8px', borderRadius: '4px', color: '#562EBA' }} + /> + + ); +}; + +export default EnrollmentInfo; diff --git a/src/component/FacultyDetails/FacultyDetails.tsx b/src/component/FacultyDetails/FacultyDetails.tsx new file mode 100644 index 0000000..c845710 --- /dev/null +++ b/src/component/FacultyDetails/FacultyDetails.tsx @@ -0,0 +1,230 @@ +'use client'; + +import React, { Component, ReactNode, useState } from 'react'; +import { + Box, + Typography, + Card, + CardContent, + Grid, + Paper, + Button, + Container, +} from '@mui/material'; +import LocationOnIcon from '@mui/icons-material/LocationOn'; +import Link from 'next/link'; +import MailOutlineIcon from '@mui/icons-material/MailOutline'; +import PersonOutlineOutlinedIcon from '@mui/icons-material/PersonOutlineOutlined'; +import CourseUnitInfo from '../CourseUnitInfo/CourseUnit'; +import { FacultyStats } from '@/types/User'; +import useFetchTempPastCourses from '@/hooks/old/useFetchTempPastCourses'; +import { Timeline } from '../Timeline/Timeline'; +import SmallClassCard from '../SmallClassCard/SmallClassCard'; + +interface FacultyDetailsProps { + instructor: string; + research_level: string; +} + +const getColors = (research_level: string) => { + if (research_level === 'Low') { + return { + color: '#D32727', + background: '#d327271f', // 8-digit hex (the "1f" part is alpha) + }; + } else if (research_level === 'Mid') { + return { + color: '#f2a900', + background: 'rgba(242, 169, 0, 0.12)', + }; + } else if (research_level === 'High') { + // defaults to 'High' or anything else + return { + color: '#22884C', + background: 'rgba(34, 136, 76, 0.12)', + }; + } else { + return; + } +}; + +const FacultyDetails: React.FC = ({ + // id, // Firestore document ID + // accumulatedUnits, + // assignedUnits, + // averageUnits, + // creditDeficit, + // creditExcess, + // email, + // firstname, + // labCourse, + // lastname, + // researchActivity, + // classesTaught, + // ufid, + instructor, + research_level, +}) => { + const [selectedYear, setSelectedYear] = useState(0); + + const currentYear = new Date().getFullYear(); + const year = currentYear - selectedYear; + + const semesterArray = [`Spring ${year}`, `Summer ${year}`, `Fall ${year}`]; + const researchColors = getColors(research_level); + + const cardStyle = { + boxShadow: '0 4px 8px rgba(0, 0, 0, 0.2)', + height: '85%', + }; + + const { pastCourses, loadingPast, error } = useFetchTempPastCourses( + semesterArray, + instructor + ); + // // Helper function to format instructor name safely + // const formatInstructorName = (name: string) => { + // const parts = name.split(','); + // if (parts.length === 2) { + // return `${parts[1].trim()} ${parts[0].trim()}`; + // } + // return name; // Return as is if format is unexpected + // }; + + return ( + + + + + + {`${instructor.split(',')[1]} ${ + instructor.split(',')[0] + }`} + {/* {email} + UFID: {ufid} */} + + + + + + {/* */} + + + + + Credit Deficit + {/* + {creditDeficit} CU + */} + + + + + Credit Excess + {/* + {creditExcess} CU + */} + + + + + + + + Total Classes Taught + + {/* {classesTaught} Classes */} + + + + + + + + Average Credit Units + + {/* {averageUnits} CU */} + + + + + + + + + + + + + Research Activity Level + + {research_level} + + + + + + + Lab Course + {/* {lab} */} + + + + + + + Classes Taught (last 3 years) + + + {loadingPast ? ( +
      Loading past courses...
      + ) : pastCourses.length !== 0 ? ( +
      + {pastCourses.map((course, index) => ( +
      + +
      + ))} +
      + ) : ( +
      No past courses available.
      + )} + + + +
      + ); +}; + +export default FacultyDetails; diff --git a/src/component/FormUtil/AddtlSemesterPrompt.tsx b/src/component/FormUtil/AddtlSemesterPrompt.tsx new file mode 100644 index 0000000..d94cfd3 --- /dev/null +++ b/src/component/FormUtil/AddtlSemesterPrompt.tsx @@ -0,0 +1,85 @@ +import * as React from 'react'; +import Radio from '@mui/material/Radio'; +import RadioGroup from '@mui/material/RadioGroup'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; +import FormLabel from '@mui/material/FormLabel'; + +export interface AdditionalSemesterPromptProps { + semester: string; + onValueChange: (value: string) => void; +} + +export default function AdditionalSemesterPrompt({ + semester, + onValueChange, +}: AdditionalSemesterPromptProps) { + const [value, setValue] = React.useState(''); + const handleChange = (event: React.ChangeEvent) => { + setValue((event.target as HTMLInputElement).value); + }; + + React.useEffect(() => { + onValueChange(value); // call the passed in prop function + }, [value, onValueChange]); + + if (semester === 'Undergraduate') { + return ( + + + Graduate School Plans + + + } + label="I do not plan on going to graduate school." + /> + } + label="Yes; I plan on immediately continuing to graduate school at UF." + /> + } + label="Yes; I plan on immediately continuing to graduate school, but not at UF." + /> + + + ); + } else if (semester === 'Graduate') { + return ( + + + Fee Waiver Status + + + } + label="Yes, I will need a fee waiver in order to be a peer instructor." + /> + } + label="No, I will not need a fee waiver in order to be a peer instructor." + /> + + + ); + } + return <>; +} diff --git a/src/component/FormUtil/AvailabilityCheckbox.tsx b/src/component/FormUtil/AvailabilityCheckbox.tsx new file mode 100644 index 0000000..1165951 --- /dev/null +++ b/src/component/FormUtil/AvailabilityCheckbox.tsx @@ -0,0 +1,70 @@ +import * as React from 'react'; +import Box from '@mui/material/Box'; +import FormControl from '@mui/material/FormControl'; +import FormGroup from '@mui/material/FormGroup'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import Checkbox from '@mui/material/Checkbox'; + +interface CheckboxProps { + name: string; +} + +export default function AvailabilityCheckbox({ name }: CheckboxProps) { + const [state, setState] = React.useState({ + seven: false, + fourteen: false, + twenty: false, + }); + + const handleChange = (event: React.ChangeEvent) => { + // Extract the original name from the event target name by removing the prefix + const originalName = event.target.name.replace(`${name}_`, ''); + + setState({ + ...state, + [originalName]: event.target.checked, + }); + }; + + const { seven, fourteen, twenty } = state; + const error = [seven, fourteen, twenty].filter((v) => v).length !== 2; + + return ( + + + + + } + label="7 hrs/week" + /> + + } + label="14 hrs/week" + /> + + } + label="20 hrs/week" + /> + + + + ); +} diff --git a/src/component/FormUtil/DegreeSelect.tsx b/src/component/FormUtil/DegreeSelect.tsx new file mode 100644 index 0000000..a3dea09 --- /dev/null +++ b/src/component/FormUtil/DegreeSelect.tsx @@ -0,0 +1,34 @@ +import * as React from 'react'; +import Radio from '@mui/material/Radio'; +import RadioGroup from '@mui/material/RadioGroup'; +import FormHelperText from '@mui/material/FormHelperText'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; +import FormLabel from '@mui/material/FormLabel'; + +export default function DegreeSelect() { + const [value, setValue] = React.useState(''); + + const handleChange = (event: React.ChangeEvent) => { + setValue((event.target as HTMLInputElement).value); + }; + + return ( + + + Degree + + + } label="BS" /> + } label="MS" /> + } label="PhD" /> + + + ); +} diff --git a/src/component/FormUtil/DepartmentSelect.tsx b/src/component/FormUtil/DepartmentSelect.tsx new file mode 100644 index 0000000..0e766fe --- /dev/null +++ b/src/component/FormUtil/DepartmentSelect.tsx @@ -0,0 +1,47 @@ +import * as React from 'react'; +import Box from '@mui/material/Box'; +import InputLabel from '@mui/material/InputLabel'; +import MenuItem from '@mui/material/MenuItem'; +import FormControl from '@mui/material/FormControl'; +import Select, { SelectChangeEvent } from '@mui/material/Select'; + +export default function DepartmentSelect() { + const [department, setDepartment] = React.useState(''); + + const handleChange = (event: SelectChangeEvent) => { + setDepartment(event.target.value as string); + }; + + // InputLabel props: https://mui.com/material-ui/api/input-label/#props + // for example, "required" + + return ( + + + + Department + + + + + ); +} diff --git a/src/component/FormUtil/GPASelect.tsx b/src/component/FormUtil/GPASelect.tsx new file mode 100644 index 0000000..d5a41f0 --- /dev/null +++ b/src/component/FormUtil/GPASelect.tsx @@ -0,0 +1,51 @@ +import * as React from 'react'; +import Box from '@mui/material/Box'; +import InputLabel from '@mui/material/InputLabel'; +import MenuItem from '@mui/material/MenuItem'; +import FormControl from '@mui/material/FormControl'; +import FormHelperText from '@mui/material/FormHelperText'; +import Select, { SelectChangeEvent } from '@mui/material/Select'; + +export default function GPA_Select() { + const [gpa, setGPA] = React.useState(''); + + const handleChange = (event: SelectChangeEvent) => { + setGPA(event.target.value as string); + }; + + // InputLabel props: https://mui.com/material-ui/api/input-label/#props + // for example, "required" + + return ( + + + + GPA + + + + Select your GPA on a 4.0 scale. Please visit{' '} + + ONE.UF + {' '} + to confirm. + + + + ); +} diff --git a/src/component/FormUtil/HourSelect.tsx b/src/component/FormUtil/HourSelect.tsx new file mode 100644 index 0000000..b18d22a --- /dev/null +++ b/src/component/FormUtil/HourSelect.tsx @@ -0,0 +1,37 @@ +import * as React from 'react'; +import Radio from '@mui/material/Radio'; +import RadioGroup from '@mui/material/RadioGroup'; +import FormHelperText from '@mui/material/FormHelperText'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; +import FormLabel from '@mui/material/FormLabel'; + +export default function HourSelect() { + const [value, setValue] = React.useState(''); + + const handleChange = (event: React.ChangeEvent) => { + setValue((event.target as HTMLInputElement).value); + }; + + return ( + + + Hours + + + } label="7" /> + } label="14" /> + } label="20" /> + + + Please select the number of hours per week they will work. + + + ); +} diff --git a/src/component/FormUtil/NationalitySelect.tsx b/src/component/FormUtil/NationalitySelect.tsx new file mode 100644 index 0000000..4ad8ac0 --- /dev/null +++ b/src/component/FormUtil/NationalitySelect.tsx @@ -0,0 +1,246 @@ +import * as React from 'react'; +import TextField from '@mui/material/TextField'; +import Autocomplete from '@mui/material/Autocomplete'; +import Chip from '@mui/material/Chip'; + +// important autocomplete warning fix +// https://stackoverflow.com/questions/75818761/material-ui-autocomplete-warning-a-props-object-containing-a-key-prop-is-be + +interface NationalitySelectProps { + onNationalityChange: (value: string | null) => void; +} + +export default function NationalitySelect({ + onNationalityChange, +}: NationalitySelectProps) { + const [value, setValue] = React.useState(null); + const [inputValue, setInputValue] = React.useState(''); + + return ( + { + setValue(newValue); + onNationalityChange(newValue); + }} + inputValue={inputValue} + onInputChange={(event, newInputValue) => { + setInputValue(newInputValue); + }} + id="nationality-select" + options={nationalities} + renderInput={(params) => ( + + )} + renderOption={(props, option) => { + return ( +
    1. + {option} +
    2. + ); + }} + renderTags={(tagValue, getTagProps) => { + return tagValue.map((option, index) => ( + + )); + }} + /> + ); +} + +// list of nationalities from https://gist.github.com/didats/8154290 +const nationalities = [ + 'Afghan', + 'Albanian', + 'Algerian', + 'American', + 'Andorran', + 'Angolan', + 'Antiguans', + 'Argentinean', + 'Armenian', + 'Australian', + 'Austrian', + 'Azerbaijani', + 'Bahamian', + 'Bahraini', + 'Bangladeshi', + 'Barbadian', + 'Barbudans', + 'Batswana', + 'Belarusian', + 'Belgian', + 'Belizean', + 'Beninese', + 'Bhutanese', + 'Bolivian', + 'Bosnian', + 'Brazilian', + 'British', + 'Bruneian', + 'Bulgarian', + 'Burkinabe', + 'Burmese', + 'Burundian', + 'Cambodian', + 'Cameroonian', + 'Canadian', + 'Cape Verdean', + 'Central African', + 'Chadian', + 'Chilean', + 'Chinese', + 'Colombian', + 'Comoran', + 'Congolese', + 'Costa Rican', + 'Croatian', + 'Cuban', + 'Cypriot', + 'Czech', + 'Danish', + 'Djibouti', + 'Dominican', + 'Dutch', + 'East Timorese', + 'Ecuadorean', + 'Egyptian', + 'Emirian', + 'Equatorial Guinean', + 'Eritrean', + 'Estonian', + 'Ethiopian', + 'Fijian', + 'Filipino', + 'Finnish', + 'French', + 'Gabonese', + 'Gambian', + 'Georgian', + 'German', + 'Ghanaian', + 'Greek', + 'Grenadian', + 'Guatemalan', + 'Guinea-Bissauan', + 'Guinean', + 'Guyanese', + 'Haitian', + 'Herzegovinian', + 'Honduran', + 'Hungarian', + 'Icelander', + 'Indian', + 'Indonesian', + 'Iranian', + 'Iraqi', + 'Irish', + 'Israeli', + 'Italian', + 'Ivorian', + 'Jamaican', + 'Japanese', + 'Jordanian', + 'Kazakhstani', + 'Kenyan', + 'Kittian and Nevisian', + 'Kuwaiti', + 'Kyrgyz', + 'Laotian', + 'Latvian', + 'Lebanese', + 'Liberian', + 'Libyan', + 'Liechtensteiner', + 'Lithuanian', + 'Luxembourger', + 'Macedonian', + 'Malagasy', + 'Malawian', + 'Malaysian', + 'Maldivan', + 'Malian', + 'Maltese', + 'Marshallese', + 'Mauritanian', + 'Mauritian', + 'Mexican', + 'Micronesian', + 'Moldovan', + 'Monacan', + 'Mongolian', + 'Moroccan', + 'Mosotho', + 'Motswana', + 'Mozambican', + 'Namibian', + 'Nauruan', + 'Nepalese', + 'New Zealander', + 'Ni-Vanuatu', + 'Nicaraguan', + 'Nigerien', + 'North Korean', + 'Northern Irish', + 'Norwegian', + 'Omani', + 'Pakistani', + 'Palauan', + 'Panamanian', + 'Papua New Guinean', + 'Paraguayan', + 'Peruvian', + 'Polish', + 'Portuguese', + 'Qatari', + 'Romanian', + 'Russian', + 'Rwandan', + 'Saint Lucian', + 'Salvadoran', + 'Samoan', + 'San Marinese', + 'Sao Tomean', + 'Saudi', + 'Scottish', + 'Senegalese', + 'Serbian', + 'Seychellois', + 'Sierra Leonean', + 'Singaporean', + 'Slovakian', + 'Slovenian', + 'Solomon Islander', + 'Somali', + 'South African', + 'South Korean', + 'Spanish', + 'Sri Lankan', + 'Sudanese', + 'Surinamer', + 'Swazi', + 'Swedish', + 'Swiss', + 'Syrian', + 'Taiwanese', + 'Tajik', + 'Tanzanian', + 'Thai', + 'Togolese', + 'Tongan', + 'Trinidadian or Tobagonian', + 'Tunisian', + 'Turkish', + 'Tuvaluan', + 'Ugandan', + 'Ukrainian', + 'Uruguayan', + 'Uzbekistani', + 'Venezuelan', + 'Vietnamese', + 'Welsh', + 'Yemenite', + 'Zambian', + 'Zimbabwean', +]; diff --git a/src/component/FormUtil/PositionSelect.tsx b/src/component/FormUtil/PositionSelect.tsx new file mode 100644 index 0000000..5fe97e7 --- /dev/null +++ b/src/component/FormUtil/PositionSelect.tsx @@ -0,0 +1,36 @@ +import * as React from 'react'; +import Radio from '@mui/material/Radio'; +import RadioGroup from '@mui/material/RadioGroup'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; + +export default function PositionSelect() { + const [value, setValue] = React.useState(''); + + const handleChange = (event: React.ChangeEvent) => { + setValue((event.target as HTMLInputElement).value); + }; + + return ( + + + } + label="Teaching Assistant (TA)" + /> + } + label="Undergraduate Peer Instructor (UPI)" + /> + } label="Grader" /> + + + ); +} diff --git a/src/component/FormUtil/ProficiencySelect.tsx b/src/component/FormUtil/ProficiencySelect.tsx new file mode 100644 index 0000000..0b130d2 --- /dev/null +++ b/src/component/FormUtil/ProficiencySelect.tsx @@ -0,0 +1,42 @@ +import * as React from 'react'; +import Box from '@mui/material/Box'; +import InputLabel from '@mui/material/InputLabel'; +import MenuItem from '@mui/material/MenuItem'; +import FormControl from '@mui/material/FormControl'; +import Select, { SelectChangeEvent } from '@mui/material/Select'; + +export default function ProficiencySelect() { + const [proficiency, setProficiency] = React.useState(''); + + const handleChange = (event: SelectChangeEvent) => { + setProficiency(event.target.value as string); + }; + + // InputLabel props: https://mui.com/material-ui/api/input-label/#props + // for example, "required" + + return ( + + + + English Proficiency + + + + + ); +} diff --git a/src/component/FormUtil/RoleSelect.tsx b/src/component/FormUtil/RoleSelect.tsx new file mode 100644 index 0000000..60bcfd2 --- /dev/null +++ b/src/component/FormUtil/RoleSelect.tsx @@ -0,0 +1,33 @@ +import * as React from 'react'; +import Radio from '@mui/material/Radio'; +import RadioGroup from '@mui/material/RadioGroup'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; +import FormLabel from '@mui/material/FormLabel'; + +export default function RoleSelect() { + const [value, setValue] = React.useState(''); + + const handleChange = (event: React.ChangeEvent) => { + setValue((event.target as HTMLInputElement).value); + }; + + return ( + + + } + label="Student" + /> + } label="Faculty" /> + + + ); +} diff --git a/src/component/FormUtil/SemesterCheckbox.tsx b/src/component/FormUtil/SemesterCheckbox.tsx new file mode 100644 index 0000000..435cfcf --- /dev/null +++ b/src/component/FormUtil/SemesterCheckbox.tsx @@ -0,0 +1,59 @@ +import * as React from 'react'; +import Box from '@mui/material/Box'; +import FormControl from '@mui/material/FormControl'; +import FormGroup from '@mui/material/FormGroup'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import Checkbox from '@mui/material/Checkbox'; + +interface CheckboxProps { + name: string; +} + +export default function SemesterCheckbox({ name }: CheckboxProps) { + const [state, setState] = React.useState({ + fall_2024: false, + spring_2025: false, + }); + + const handleChange = (event: React.ChangeEvent) => { + // Extract the original name from the event target name by removing the prefix + const originalName = event.target.name.replace(`${name}_`, ''); + + setState({ + ...state, + [originalName]: event.target.checked, + }); + }; + + const { fall_2024, spring_2025 } = state; + const error = [fall_2024, spring_2025].filter((v) => v).length !== 2; + + return ( + + + + + } + label="Fall 2024" + /> + + } + label="Spring 2025" + /> + + + + ); +} diff --git a/src/component/FormUtil/SemesterStatusSelect.tsx b/src/component/FormUtil/SemesterStatusSelect.tsx new file mode 100644 index 0000000..c26af65 --- /dev/null +++ b/src/component/FormUtil/SemesterStatusSelect.tsx @@ -0,0 +1,47 @@ +import * as React from 'react'; +import Radio from '@mui/material/Radio'; +import RadioGroup from '@mui/material/RadioGroup'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; +import FormLabel from '@mui/material/FormLabel'; +import { AdditionalSemesterPromptProps } from './AddtlSemesterPrompt'; + +interface SemesterStatusSelectProps { + component: React.ComponentType; + onValueChange: (value: string) => void; +} + +export default function SemesterStatusSelect(props: SemesterStatusSelectProps) { + const [value, setValue] = React.useState(''); + + const handleChange = (event: React.ChangeEvent) => { + setValue((event.target as HTMLInputElement).value); + }; + + return ( + + + Upcoming Semester Status + + + } + label="Undergraduate" + /> + } + label="Graduate" + /> + + + + ); +} diff --git a/src/component/Header/Header.module.scss b/src/component/Header/Header.module.scss new file mode 100644 index 0000000..64671db --- /dev/null +++ b/src/component/Header/Header.module.scss @@ -0,0 +1,11 @@ +@media (max-width: 600px) { + .rightIcons { + padding-left: 0px + } +} + +@media (min-width: 601px) { + .rightIcons { + padding-left: 60px + } +} \ No newline at end of file diff --git a/src/component/Header/Header.tsx b/src/component/Header/Header.tsx new file mode 100644 index 0000000..e551dc3 --- /dev/null +++ b/src/component/Header/Header.tsx @@ -0,0 +1,177 @@ +import * as React from 'react'; +import AppBar from '@mui/material/AppBar'; +import Box from '@mui/material/Box'; +import Toolbar from '@mui/material/Toolbar'; +import IconButton from '@mui/material/IconButton'; +import Typography from '@mui/material/Typography'; +import Link from '@mui/material/Link'; +import Menu from '@mui/material/Menu'; +import MenuIcon from '@mui/icons-material/Menu'; +import Container from '@mui/material/Container'; +import Button from '@mui/material/Button'; +import Tooltip from '@mui/material/Tooltip'; +import MenuItem from '@mui/material/MenuItem'; +import ThemeToggleButton from '../ThemeInteraction/ThemeToggleButton'; +import scss from './Header.module.scss'; +import UserIcon from './UserIcon'; +import handleSignOut from '@/firebase/auth/auth_signout'; + +import { useAuth } from '@/firebase/auth/auth_context'; +// user information reference: https://firebase.google.com/docs/auth/web/manage-users + +const pages = ['about', 'features']; +const pageLabels = { + about: 'About', + features: 'Features', +}; + +export type HeaderProps = { + ColorModeContext: React.Context<{ toggleColorMode: () => void }>; +}; + +const Header = (props: HeaderProps) => { + const { ColorModeContext } = props; + const { user } = useAuth(); + const [anchorElNav, setAnchorElNav] = React.useState( + null + ); + const [anchorElUser, setAnchorElUser] = React.useState( + null + ); + + const handleOpenNavMenu = (event: React.MouseEvent) => { + setAnchorElNav(event.currentTarget); + }; + const handleOpenUserMenu = (event: React.MouseEvent) => { + setAnchorElUser(event.currentTarget); + }; + + const handleCloseNavMenu = () => { + setAnchorElNav(null); + }; + + const handleCloseUserMenu = () => { + setAnchorElUser(null); + }; + + return ( + + + + + CourseConnect + + + + + + + + {pages.map((page) => ( + + + {pageLabels[page as keyof typeof pageLabels]} + + + ))} + + + + + {pages.map((page) => ( + + ))} + + + + + + + + + + + + + user ? handleSignOut() : (window.location.href = '/') + } + > + + {user ? 'Logout' : 'Login'} + + + + + + + + + ); +}; +export default Header; diff --git a/src/component/Header/UserIcon.jsx b/src/component/Header/UserIcon.jsx new file mode 100644 index 0000000..92da87d --- /dev/null +++ b/src/component/Header/UserIcon.jsx @@ -0,0 +1,79 @@ +// icons +import PersonIcon from '@mui/icons-material/Person'; // not signed in +import EngineeringIcon from '@mui/icons-material/Engineering'; // admin +import BadgeIcon from '@mui/icons-material/Badge'; // faculty +import SchoolIcon from '@mui/icons-material/School'; // student +import Avatar from '@mui/material/Avatar'; // avatar component to be exported + +import React, { useEffect } from 'react'; +import { useAuth } from '@/firebase/auth/auth_context'; +import firebase from '@/firebase/firebase_config'; +import { useDocument } from 'react-firebase-hooks/firestore'; + +function chooseIcon(role) { + switch (role) { + case 'admin': + return ( + + + + ); + case 'faculty': + return ( + + + + ); + case 'student_applying': + case 'student_applied': + case 'student_accepted': + case 'student_assigned': + case 'student_denied': + return ( + + + + ); + default: + return ( + + + + ); + } +} + +function UserAvatar({ userId }) { + const { user } = useAuth(); + const db = firebase.firestore(); + const userRef = db.collection('users').doc(userId); + const [userSnapshot, loading, error] = useDocument(userRef); + const userData = userSnapshot?.data(); + const role = userData?.role; + + useEffect(() => { + if (user && user.uid && !loading && !error) { + userRef.get(); + } + }, [user, userRef, loading, error]); + + if (error) { + return

      Error: {error.message}

      ; + } + + return <>{chooseIcon(role)}; +} + +export default function UserIcon() { + const { user } = useAuth(); + + if (!user) { + return ( + + + + ); + } + + return ; +} diff --git a/src/component/HeaderCard/HeaderCard.tsx b/src/component/HeaderCard/HeaderCard.tsx new file mode 100644 index 0000000..80de740 --- /dev/null +++ b/src/component/HeaderCard/HeaderCard.tsx @@ -0,0 +1,28 @@ +// components/HeaderCard/HeaderCard.tsx +import React, { FC } from 'react'; +import { EceLogoPng } from '@/component/EceLogoPng/EceLogoPng'; +import { TopNavBarSigned } from '@/component/TopNavBarSigned/TopNavBarSigned'; +import './style.css'; +import Breadcrumb from '../Breadcrumb/Breadcrumb'; + +interface HeaderCardProps { + text: string; +} + +const HeaderCard = ({ text }: HeaderCardProps) => { + return ( +
      + +
      + +
      +
      + ); +}; + +export default HeaderCard; diff --git a/src/component/HeaderCard/style.css b/src/component/HeaderCard/style.css new file mode 100644 index 0000000..46bb93a --- /dev/null +++ b/src/component/HeaderCard/style.css @@ -0,0 +1,60 @@ +/* components/HeaderCard/style.css */ +.header { + position: relative; + height: 300px; + background: linear-gradient( + 90deg, + #21207a 0%, + #34218f 10%, + #33228e 20%, + #1b5c93 30%, + #159ca5 35%, + #19a0a7 38%, + #2196a7 41%, + #306e9c 46%, + #35228f 60%, + #34218f 70%, + #241b75 80%, + #231d7b 90%, + #21207a 100% + ); + display: flex; + + padding: 1.5rem 1rem; + color: #fff; + +} +.header .ece-logo-png-2 { + position:absolute; + margin-left: 10px; + } + + .header .top-nav-bar-signed-in { + position: absolute; + right: 85px; + + } + +.header .text-wrapper-10 { + color: #ffffff; + font-family: 'SF Pro Display-Medium', Helvetica; + font-size: 50px; + font-weight: 500; + letter-spacing: 0; + line-height: normal; + position: absolute; + left: 50%; + transform: translateY(-50%); + transform: translateX(-50%); + top: 120px; +} +.header .crumbs{ + position:absolute; + top:360px; + left:50px; +} +@media (max-width: 570px) { + .ece-logo-png-2 { + display: none; + } +} \ No newline at end of file diff --git a/src/component/JobCard/JobCard.tsx b/src/component/JobCard/JobCard.tsx new file mode 100644 index 0000000..8880ca0 --- /dev/null +++ b/src/component/JobCard/JobCard.tsx @@ -0,0 +1,33 @@ +import React from 'react'; +import './style.css'; +import { Paper } from '@mui/material'; + +interface JobProps { + title: string; + department: string; + faculty: string; + terms: string[]; + level: string[]; + occupancy: number; + description: string; + mentor: string; + prereq: string; + credits: string; + stipend: string; + requirements: string; + deadline: string; + website: string; + contact: string; +} +export const JobCard = (props: JobProps) => { + return ( + +
      {props.title}
      +
      {props.department}
      +
      +
      {props.department}
      + +
      {props.description}
      +
      + ); +}; diff --git a/src/component/JobCard/style.css b/src/component/JobCard/style.css new file mode 100644 index 0000000..e69de29 diff --git a/src/component/LogInCard/LogInCard.tsx b/src/component/LogInCard/LogInCard.tsx new file mode 100644 index 0000000..19b25f5 --- /dev/null +++ b/src/component/LogInCard/LogInCard.tsx @@ -0,0 +1,276 @@ +'use client'; +import { getAuth, sendPasswordResetEmail } from 'firebase/auth'; + +import React from 'react'; +import Dialog from '@mui/material/Dialog'; +import Button from '@mui/material/Button'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import Divider from '@mui/material/Divider'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import handleSignIn from '../../firebase/auth/auth_signin_password'; +import { useState } from 'react'; +import './style.css'; +import MuiAlert, { AlertProps } from '@mui/material/Alert'; +import { TextField } from '@mui/material'; +import Link from 'next/link'; +import FormControl from '@mui/material/FormControl'; +import { toast } from 'react-hot-toast'; + +import 'firebase/firestore'; +export const LogInCard = ({ + className, + setSignup, +}: { + className: any; + setSignup: (val: boolean) => void; +}) => { + var res; + const [loading, setLoading] = useState(false); + const [success, setSuccess] = useState(false); + const [email, setEmail] = useState(''); + const [emailVal, setEmailVal] = useState(''); + const [password, setPassword] = useState(''); + const [open, setOpen] = React.useState(false); + const handleClose = () => { + setOpen(false); + }; + + const handleForgotPassword = (e: any) => { + //handleSignOut(); + e.preventDefault(); + const auth = getAuth(); + sendPasswordResetEmail(auth, emailVal) + .then(() => { + // Password reset email sent! + // .. + toast.success('Password reset email sent!'); + }) + .catch((error) => { + const errorCode = error.code; + const errorMessage = error.message; + // .. + console.log(error); + }); + setOpen(false); + }; + const Alert = React.forwardRef(function Alert( + props, + ref + ) { + return ; + }); + const handleSubmit = async (event: any) => { + setLoading(true); + event.preventDefault(); + res = await handleSignIn(email, password); + // Loading bar toggle + if (!res) { + setLoading(false); + } else { + setSuccess(true); + } + }; + return ( +
      + + + Reset Password + +
      handleForgotPassword(e)}> + + + Please enter the email associated with your account. This allows + us to send you a link where you can reset the account password. + +
      +
      + + + setEmailVal(val.target.value)} + required + fullWidth + id="email" + label="Email" + autoFocus + /> + +
      + + + + + +
      +
      +
      { + void handleSubmit(e); + }} + > +
      Log In
      + + +
      +
      Email
      +
      +
      + ) => { + setEmail(event.target.value); + }} + id="email" + name="email" + autoComplete="email" + autoFocus + /> +
      +
      +
      +
      +
      Password
      +
      +
      + ) => { + setPassword(event.target.value); + }} + autoComplete="current-password" + /> +
      +
      +
      + +
      + +
      +
      + +
      + +
      + Don't have an account? +
      + +
      + +
      + ); +}; diff --git a/src/component/LogInCard/style.css b/src/component/LogInCard/style.css new file mode 100644 index 0000000..4baf3f3 --- /dev/null +++ b/src/component/LogInCard/style.css @@ -0,0 +1,202 @@ +.log-in-card { + background-color: #ffffff; + border-radius: 40px; + box-shadow: 0px 4px 35px #00000014; + height: 537px; + position: relative; + width: 539px; +} + +.log-in-card .input { + display: block; + width: 100%; + padding: 0.5rem 0.8rem 0.5rem 0.8rem; + margin: 0.9vw 0; + border: 0; + border-radius: 5px; + font-size: 20px; + outline: none; + +} + +.log-in-card .welcome-to-course { + color: transparent; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 24px; + font-weight: 400; + left: 44px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 43px; +} + +.log-in-card .text-wrapper { + color: #000000; +} + +.log-in-card .span { + color: #562eba; + font-family: "SF Pro Display-Bold", Helvetica; + font-weight: 700; +} + +.log-in-card .div { + color: #000000; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 55px; + font-weight: 500; + left: 44px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 30px; + white-space: nowrap; + +} + +.log-in-card .email-address-input { + height: 91px; + left: 44px; + position: absolute; + top: 150px; + width: 453px; +} + +.log-in-card .text-wrapper-2 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 18px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; +} + +.log-in-card .overlap-group-wrapper { + height: 57px; + left: 0; + position: absolute; + top: 34px; + width: 453px; +} + +.log-in-card .overlap-group { + background-color: #ffffff; + border-radius: 40px; + height: 57px; + position: relative; + width: 451px; +} + +.log-in-card .text-wrapper-3 { + color: #6c6c6c; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + left: 24px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 18px; + white-space: nowrap; + outline: none; +} + +.log-in-card .password-input { + height: 91px; + left: 44px; + position: absolute; + top: 260px; + width: 453px; +} + + +.log-in-card .text-wrapper-4:hover { + cursor: pointer; + text-decoration: underline; +} + +.log-in-card .sign-in-button { + height: 54px; + left: 44px; + position: absolute; + top: 385px; + width: 453px; + display: flex; + justify-content: center; + align-items: center; +} +.log-in-card .password-forgot-text { + height: 54px; + left: 44px; + position: absolute; + top: 445px; + width: 453px; + display: flex; + justify-content: center; + align-items: center; +} +.log-in-card .sign-up-text { + height: 54px; + left: 44px; + position: absolute; + top: 480px; + width: 453px; + display: flex; + gap:3px; + justify-content: center; + align-items: center; +} + +.log-in-card .overlap { + background-color: #562eba; + border-radius: 10px; + box-shadow: 0px 4px 19px #7793414c; + height: 54px; + position: relative; + width + : 451px; + display: flex; + justify-content: center; + align-items: center; + width: 100%; +} + +.log-in-card .overlap:hover { + cursor: pointer; +} + + + +.log-in-card .text-wrapper-5 { + color: #ffffff; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 16px; + font-weight: 500; + letter-spacing: 0; + line-height: normal; + text-align: center; /* Centers the text within the button */ + width: 100%; +} + + +@media (max-width: 570px) { + .log-in-card{ + max-width: 100%; + } + .log-in-card .overlap { + width: 300px; + } + .log-in-card .sign-in-button { + left: -20px; + } + .log-in-card .text-wrapper-4{ + left: 270px; + } +} + + diff --git a/src/component/Profile/Profile.jsx b/src/component/Profile/Profile.jsx new file mode 100644 index 0000000..97a64f1 --- /dev/null +++ b/src/component/Profile/Profile.jsx @@ -0,0 +1,21 @@ +import PropTypes from 'prop-types'; +import React from 'react'; +import './style.css'; + +export const Profile = ({ + className, + profile = 'https://c.animaapp.com/vYQBTcnO/img/profile-1@2x.png', +}) => { + return ( +
      +
      +
      Profile
      + Profile +
      +
      + ); +}; + +Profile.propTypes = { + profile: PropTypes.string, +}; diff --git a/src/component/Profile/style.css b/src/component/Profile/style.css new file mode 100644 index 0000000..169f91b --- /dev/null +++ b/src/component/Profile/style.css @@ -0,0 +1,37 @@ +.profile { + background-color: #ffffff; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 183px; + width: 187px; +} + +.profile .inner-content { + height: 140px; + left: 48px; + position: relative; + top: 8px; + width: 89px; +} + +.profile .text-wrapper-6 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 20px; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 5px; + white-space: nowrap; + margin-left: 20px; +} + +.profile .img { + height: 87px; + left: 5px; + position: absolute; + top: 53px; + width: 87px; +} + diff --git a/src/component/SemesterSelection/SemesterSelection.tsx b/src/component/SemesterSelection/SemesterSelection.tsx new file mode 100644 index 0000000..bff249a --- /dev/null +++ b/src/component/SemesterSelection/SemesterSelection.tsx @@ -0,0 +1,77 @@ +import React from 'react'; +import Select, { GroupBase } from 'react-select'; +import makeAnimated from 'react-select/animated'; +import { SelectSemester } from '@/types/User'; +// Custom option type + +const animatedComponents = makeAnimated(); + +// Generate semesters as an array of SelectSemester objects +const generateSemesters = (): SelectSemester[] => { + const currentYear = new Date().getFullYear(); + const currentMonth = new Date().getMonth() + 1; + const startYear = 2024; + const semesters: SelectSemester[] = [ + { value: `Spring 2023`, label: `Spring 2023` }, + ]; + + for (let year = startYear; year <= currentYear; year++) { + semesters.push({ value: `Fall ${year - 1}`, label: `Fall ${year - 1}` }); + + if (year < currentYear || currentMonth >= 6) { + semesters.push({ value: `Spring ${year}`, label: `Spring ${year}` }); + } + + if (year < currentYear || currentMonth >= 9) { + semesters.push({ value: `Summer ${year}`, label: `Summer ${year}` }); + } + } + + return semesters; +}; + +interface SemesterSelectionProps { + selectedSemesters: SelectSemester[]; + setSelectedSemesters: (semesters: SelectSemester[]) => void; +} + +const SemesterSelection: React.FC = ({ + selectedSemesters, + setSelectedSemesters, +}) => { + // Use the generated semesters + const allSemesters = generateSemesters(); + + // Handle changes from the Select component + const handleChange = (selectedOptions: any) => { + setSelectedSemesters(selectedOptions); + }; + // Custom styles for React Select + const customStyles = { + container: (provided: any) => ({ + ...provided, + width: '600px', + }), + control: (provided: any) => ({ + ...provided, + borderRadius: '', // Rounded border + }), + }; + + return ( +
      + > + closeMenuOnSelect={false} + components={animatedComponents} + isMulti + options={allSemesters} + value={selectedSemesters} + onChange={handleChange} + placeholder="Select Semester" + styles={customStyles} + /> +
      + ); +}; + +export default SemesterSelection; diff --git a/src/component/SemesterSelection/style.css b/src/component/SemesterSelection/style.css new file mode 100644 index 0000000..e69de29 diff --git a/src/component/SemesterTimeline/SemesterTimeline.tsx b/src/component/SemesterTimeline/SemesterTimeline.tsx new file mode 100644 index 0000000..f855be3 --- /dev/null +++ b/src/component/SemesterTimeline/SemesterTimeline.tsx @@ -0,0 +1,35 @@ +import React from 'react'; +import './style.css'; + +interface TimelineProps { + selectedSemester: number; + setSelectedSemester: React.Dispatch>; + semesters: string[]; +} + +export const SemesterTimeline = ({ + selectedSemester, + setSelectedSemester, + semesters, +}: TimelineProps): JSX.Element => { + return ( +
      + {semesters.map((semester, index) => ( +
      setSelectedSemester(index)} + > +
      +
      {semester}
      +
      + {index === 0 ? 'Current Semester' : 'Upcoming Semester'} +
      +
      +
      + ))} +
      + ); +}; diff --git a/src/component/SemesterTimeline/style.css b/src/component/SemesterTimeline/style.css new file mode 100644 index 0000000..e1fb6df --- /dev/null +++ b/src/component/SemesterTimeline/style.css @@ -0,0 +1,61 @@ +.tab-bar { + display: flex; + justify-content: space-around; + align-items: center; + width: 650px; /* Set a fixed width */ + height: 80px; /* Set a fixed height */ + background-color: #fff; + border: 1px solid #ccc; + border-radius: 16px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); + } + + .element-year, .element-years { + cursor: pointer; + padding: 0px 69px; + text-align: center; + position: relative; + + } + + .element-year:hover, .element-years:hover { + background-color: #f0f0f0; + border-radius: 16px; + + } + + .element-year.selected, .element-years.selected { + font-weight: bold; + } + + .element-year.selected::after, .element-years.selected::after { + content: ''; + display: block; + width: 130%; + height: 6px; + background-color: #562eba; + left: 0; + margin-left: -10px; + margin-top: -5px; + border-radius: 4.27px; + } + + .div { + margin: 10px; + } + + .text-wrapper, .text-wrapper-3 { + font-size: 24px; + margin-bottom: 1px; + } + + .text-wrapper-2, .text-wrapper-4 { + font-size: 14px; + color: #666; + } + + .selected-year-info { + margin-top: 20px; + font-size: 18px; + } + \ No newline at end of file diff --git a/src/component/SignIn/SignInForm.tsx b/src/component/SignIn/SignInForm.tsx new file mode 100644 index 0000000..074c949 --- /dev/null +++ b/src/component/SignIn/SignInForm.tsx @@ -0,0 +1,116 @@ +'use client'; +import * as React from 'react'; +import Avatar from '@mui/material/Avatar'; +import Button from '@mui/material/Button'; +import CssBaseline from '@mui/material/CssBaseline'; +import TextField from '@mui/material/TextField'; +import KeyIcon from '@mui/icons-material/Key'; +import Link from '@mui/material/Link'; +import Grid from '@mui/material/Grid'; +import Box from '@mui/material/Box'; +import Typography from '@mui/material/Typography'; +import Container from '@mui/material/Container'; +import LinearProgress from '@mui/material/LinearProgress'; +import handleSignIn from '../../firebase/auth/auth_signin_password'; +import toast, { Toaster } from 'react-hot-toast'; +import { useState } from 'react'; +import CircularProgress from '@mui/material/CircularProgress'; +import Snackbar from '@mui/material/Snackbar'; +import MuiAlert, { AlertProps } from '@mui/material/Alert'; + +export default function SignIn() { + var res; + const [loading, setLoading] = useState(false); + const [success, setSuccess] = useState(false); + const Alert = React.forwardRef(function Alert( + props, + ref + ) { + return ; + }); + const handleSubmit = async (event: React.FormEvent) => { + setLoading(true); + event.preventDefault(); + const data = new FormData(event.currentTarget); + res = await handleSignIn( + data.get('email') as string, + data.get('password') as string + ); + console.log(res); + + if (!res) { + setLoading(false); + } else { + setSuccess(true); + } + }; + + return ( + + + + Sign in successful! + + + + + + + + + Sign in + + + {loading ? : null} + + + + + + + Forgot password? + + + + + {"Don't have an account? Sign Up"} + + + + + + + ); +} diff --git a/src/component/SignIn/style.css b/src/component/SignIn/style.css new file mode 100644 index 0000000..57b8aa6 --- /dev/null +++ b/src/component/SignIn/style.css @@ -0,0 +1,149 @@ +.log-in-card { + background-color: #ffffff; + border-radius: 40px; + box-shadow: 0px 4px 35px #00000014; + height: 627px; + position: relative; + width: 539px; +} + +.log-in-card .welcome-to-course { + color: transparent; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 24px; + font-weight: 400; + left: 44px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 43px; +} + +.log-in-card .text-wrapper { + color: #000000; +} + +.log-in-card .span { + color: #562eba; + font-family: "SF Pro Display-Bold", Helvetica; + font-weight: 700; +} + +.log-in-card .div { + color: #000000; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 55px; + font-weight: 500; + left: 44px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 76px; + white-space: nowrap; +} + +.log-in-card .email-address-input { + height: 91px; + left: 44px; + position: absolute; + top: 204px; + width: 453px; +} + +.log-in-card .text-wrapper-2 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 18px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; +} + +.log-in-card .overlap-group-wrapper { + height: 57px; + left: 0; + position: absolute; + top: 34px; + width: 453px; +} + +.log-in-card .overlap-group { + background-color: #ffffff; + border-radius: 9px; + height: 57px; + position: relative; + width: 451px; +} + +.log-in-card .text-wrapper-3 { + color: #6c6c6c; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + left: 24px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 18px; + white-space: nowrap; +} + +.log-in-card .password-input { + height: 91px; + left: 44px; + position: absolute; + top: 331px; + width: 453px; +} + +.log-in-card .text-wrapper-4 { + color: #4c4c4c; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + left: 387px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 436px; + white-space: nowrap; +} + +.log-in-card .sign-in-button { + height: 54px; + left: 44px; + position: absolute; + top: 501px; + width: 453px; +} + +.log-in-card .overlap { + background-color: #562eba; + border-radius: 10px; + box-shadow: 0px 4px 19px #7793414c; + height: 54px; + position: relative; + width: 451px; +} + +.log-in-card .text-wrapper-5 { + color: #ffffff; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 16px; + font-weight: 500; + left: 198px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 15px; + width: 56px; +} + + div.vspace1em { + clear: both; + height: 1em; + } diff --git a/src/component/SignIn/styleguide.css b/src/component/SignIn/styleguide.css new file mode 100644 index 0000000..02755ae --- /dev/null +++ b/src/component/SignIn/styleguide.css @@ -0,0 +1,4 @@ +:root { + --buttons-accent-titles: rgba(86, 46, 186, 1); +} + diff --git a/src/component/SignOut/SignOutButton.tsx b/src/component/SignOut/SignOutButton.tsx new file mode 100644 index 0000000..a20d2b7 --- /dev/null +++ b/src/component/SignOut/SignOutButton.tsx @@ -0,0 +1,17 @@ +'use client'; +import * as React from 'react'; +import Button from '@mui/material/Button'; +import LogoutIcon from '@mui/icons-material/Logout'; +import handleSignOut from '../../firebase/auth/auth_signout'; + +export default function IconLabelButtons() { + return ( + + ); +} diff --git a/src/component/SignUp/SignUpForm.tsx b/src/component/SignUp/SignUpForm.tsx new file mode 100644 index 0000000..167b370 --- /dev/null +++ b/src/component/SignUp/SignUpForm.tsx @@ -0,0 +1,264 @@ +'use client'; +import * as React from 'react'; +import toast, { Toaster } from 'react-hot-toast'; +import { useState } from 'react'; +import Avatar from '@mui/material/Avatar'; +import Button from '@mui/material/Button'; +import CssBaseline from '@mui/material/CssBaseline'; +import TextField from '@mui/material/TextField'; +import Link from '@mui/material/Link'; +import Grid from '@mui/material/Grid'; +import Box from '@mui/material/Box'; +import AccountCircleIcon from '@mui/icons-material/AccountCircle'; +import Typography from '@mui/material/Typography'; +import Container from '@mui/material/Container'; +import DepartmentSelect from '../FormUtil/DepartmentSelect'; +import RoleSelect from '../FormUtil/RoleSelect'; +import LinearProgress from '@mui/material/LinearProgress'; +import handleSignUp from '../../firebase/auth/auth_signup_password'; +import handleSignIn from '@/firebase/auth/auth_signin_password'; +import Snackbar from '@mui/material/Snackbar'; +import MuiAlert, { AlertProps } from '@mui/material/Alert'; + +export default function SignUpForm() { + const Alert = React.forwardRef(function Alert( + props, + ref + ) { + return ; + }); + function isStrongPassword(password: string): boolean { + // Check if the password is at least 8 characters long + if (password.length < 8) { + toast.error('Password should contain at least 8 letters!'); + return false; + } + + const uppercaseRegex = /[A-Z]/; + const lowercaseRegex = /[a-z]/; + const numberRegex = /[0-9]/; + const specialCharacterRegex = /[!@#$%^&*()_+{}\[\]:;<>,.?~\\/-]/; + + if (!uppercaseRegex.test(password)) { + toast.error('Password should contain at least one uppercase letter!'); + return false; + } + if (!lowercaseRegex.test(password)) { + toast.error('Password should contain at least one lowercase letter!'); + + return false; + } + if (!numberRegex.test(password)) { + toast.error('Password should contain at least one number!'); + + return false; + } + if (!specialCharacterRegex.test(password)) { + toast.error( + 'Password should contain at least one special case character!' + ); + + return false; + } + + return true; + } + + const [loading, setLoading] = useState(false); + const [success, setSuccess] = useState(false); + const handleSubmit = async (event: React.FormEvent) => { + setLoading(true); + event.preventDefault(); + // extract the form data from the current event + const formData = new FormData(event.currentTarget); + // extract the specific user data from the form data into a parsable object + const userData = { + firstname: formData.get('firstName') as string, + lastname: formData.get('lastName') as string, + email: formData.get('email') as string, + password: formData.get('password') as string, + department: formData.get('department-select') as string, + role: formData.get('roles-radio-group') as string, + ufid: formData.get('ufid') as string, + uid: '', + }; + + // add the following: + if (userData.firstname === '') { + toast.error('Invalid first name!'); + } else if (/[0-9]/.test(userData.firstname)) { + toast.error('First name should only contain letters!'); + } else if (userData.lastname == '') { + toast.error('Invalid last name!'); + } else if (!/^[0-9]+$/.test(userData.ufid) || userData.ufid.length < 6) { + toast.error('UFID should only contain numbers with no spaces or dashes!'); + } else if (userData.role === null) { + toast.error('Please select a role!'); + } else if (userData.department === '') { + toast.error('Please select a department!'); + } else if (userData.password === '') { + toast.error('Please enter a password!'); + } else if (!isStrongPassword(userData.password)) { + console.log('invalid password'); + } else if (userData.ufid == '') { + toast.error('Please enter your UFID!'); + } else { + const uid_from_signup = await handleSignUp( + userData.firstname + ' ' + userData.lastname, + userData.email, + userData.password + ); + userData.uid = uid_from_signup; + + if (userData.uid === '-1' || userData.uid === '') { + toast.error('This UFID is Already in Use!'); + + // error: user not created + // display some kind of snackbar or toast saying UFID is already in use + } else if ( + userData.uid === '-2' || + userData.uid === '-4' || + userData.uid == '-3' + ) { + toast.error('Please Enter a Valid Email Adress!'); + } else if (userData.uid == '-5') { + toast.error('Email adress is already in use by another account!'); + } else { + // use fetch to send the user data to the server + // this goes to a cloud function which creates a document based on + // the data from the form, identified by the user's firebase auth uid + + const response = await fetch( + 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/processSignUpForm', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(userData), + } + ); + + if (response.ok) { + setSuccess(true); + console.log('SUCCESS: User data sent to server successfully'); + // then, sign in the user + handleSignIn(userData.email, userData.password); + } else { + console.log('ERROR: User data failed to send to server'); + // display some kind of snackbar or toast saying data failed to send to server + } + } + } + + setLoading(false); + }; + + return ( + + + + Signup successfull! + + + + + + + + + Sign up + + + + {loading ? : null} +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Already have an account? Sign in + + + +
      +
      +
      + ); +} diff --git a/src/component/SignUpCard/SignUpCard.tsx b/src/component/SignUpCard/SignUpCard.tsx new file mode 100644 index 0000000..a7f955a --- /dev/null +++ b/src/component/SignUpCard/SignUpCard.tsx @@ -0,0 +1,440 @@ +'use client'; +import React from 'react'; +import { useState } from 'react'; +import { + FormControl, + FormControlLabel, + FormLabel, + InputLabel, + MenuItem, + Radio, + RadioGroup, + Select, + SelectChangeEvent, + Snackbar, + TextField, + Divider, +} from '@mui/material'; +import handleSignUp from '../../firebase/auth/auth_signup_password'; +import handleSignIn from '@/firebase/auth/auth_signin_password'; + +import styles from './style.module.css'; +import MuiAlert, { AlertProps } from '@mui/material/Alert'; +import { toast } from 'react-hot-toast'; +export const SignUpCard = ({ + className, + setSignup, +}: { + className: any; + setSignup: (val: boolean) => void; +}) => { + const [firstName, setFirstName] = useState(''); + const [lastName, setLastName] = useState(''); + const [password, setPassword] = useState(''); + const [ufid, setUFID] = useState(''); + const [department, setDepartment] = useState(''); + const [role, setRole] = useState(''); + const [confirmedPassword, setConfirmedPassword] = useState(''); + const [email, setEmail] = useState(''); + const [label, setLabel] = useState('ECE'); + const [roleLabel, setRoleLabel] = useState('Student'); + + const Alert = React.forwardRef(function Alert( + props, + ref + ) { + return ; + }); + + const handleNotificationEmail = async () => { + if (role == 'unapproved') { + try { + const response = await fetch( + 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/sendEmail', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + type: 'unapprovedUser', + data: { + user: { + name: `${firstName ?? ''} ${lastName ?? ''}`.trim(), + email: email, + }, + }, + }), + } + ); + + if (response.ok) { + const data = await response.json(); + console.log('Email sent successfully:', data); + } else { + throw new Error('Failed to send email'); + } + } catch (error) { + console.error('Error sending email:', error); + } + } + }; + + function isStrongPassword(password: string): boolean { + // Check if the password is at least 8 characters long + if (password.length < 8) { + toast.error('Password should contain at least 8 characters!'); + return false; + } + + const uppercaseRegex = /[A-Z]/; + const lowercaseRegex = /[a-z]/; + const numberRegex = /[0-9]/; + const specialCharacterRegex = /[!@#$%^&*()_+{}\[\]:;<>,.?~\\/-]/; + + if (!uppercaseRegex.test(password)) { + toast.error('Password should contain at least one uppercase letter!'); + return false; + } + if (!lowercaseRegex.test(password)) { + toast.error('Password should contain at least one lowercase letter!'); + + return false; + } + if (!numberRegex.test(password)) { + toast.error('Password should contain at least one number!'); + + return false; + } + if (!specialCharacterRegex.test(password)) { + toast.error( + 'Password should contain at least one special case character!' + ); + + return false; + } + + return true; + } + + const [loading, setLoading] = useState(false); + const [success, setSuccess] = useState(false); + const handleSubmit = async (event: any) => { + setLoading(true); + event.preventDefault(); + // extract the specific user data from the form data into a parsable object + const userData = { + firstname: firstName, + lastname: lastName, + email: email, + password: password, + confirmedpassword: confirmedPassword, + department: department, + role: role, + ufid: ufid, + uid: '', + }; + + // add the following: + if (userData.firstname === '') { + toast.error('Please enter a first name!'); + } else if (/[0-9]/.test(userData.firstname)) { + toast.error('First name should only contain letters!'); + } else if (userData.lastname == '') { + toast.error('Please enter a last name!'); + } else if (userData.role === null || userData.role === '') { + toast.error('Please select a role!'); + } else if (userData.department === '') { + toast.error('Please select a department!'); + } else if (userData.password === '') { + toast.error('Please enter a password!'); + } else if (userData.confirmedpassword != userData.password) { + toast.error('Passwords should match!'); + } else if (!isStrongPassword(userData.password)) { + console.log('invalid password'); + } else { + const uid_from_signup = await handleSignUp( + userData.firstname + ' ' + userData.lastname, + userData.email, + userData.password + ); + userData.uid = uid_from_signup; + + if (userData.uid === '-1' || userData.uid === '') { + toast.error('This UFID is Already in Use!'); + + // error: user not created + // display some kind of snackbar or toast saying UFID is already in use + } else if ( + userData.uid === '-2' || + userData.uid === '-4' || + userData.uid == '-3' + ) { + toast.error('Please Enter a Valid Email Adress!'); + } else if (userData.uid == '-5') { + toast.error('Email adress is already in use by another account!'); + } else { + // use fetch to send the user data to the server + // this goes to a cloud function which creates a document based on + // the data from the form, identified by the user's firebase auth uid + + const response = await fetch( + 'https://us-central1-courseconnect-c6a7b.cloudfunctions.net/processSignUpForm', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(userData), + } + ); + + if (response.ok) { + setSuccess(true); + console.log('SUCCESS: User data sent to server successfully'); + // then, sign in the user + handleSignIn(userData.email, userData.password); + } else { + console.log('ERROR: User data failed to send to server'); + // display some kind of snackbar or toast saying data failed to send to server + } + + handleNotificationEmail(); + } + } + + setLoading(false); + }; + + return ( +
      + + + Signup successfull! + + +
      +
      +
      Sign Up
      + +
      +
      First Name
      +
      +
      + ) => { + setFirstName(event.target.value); + }} + id="first-name" + name="first-name" + autoComplete="given-name" + autoFocus + /> +
      +
      +
      +
      +
      Role
      +
      + { + setRole(event.target.value); + setRoleLabel(''); + }} + className={styles.textwrapper9} + > + Student + Faculty + +
      +
      + +
      +
      +
      Department
      +
      + { + setDepartment(event.target.value); + setLabel(''); + }} + size="small" + className={styles.textwrapper9} + > + ECE + CISE + ESSIE + MAE + MSE + ABE + CHE + ISE + EED + BME + +
      +
      +
      +
      +
      Last Name
      +
      +
      + ) => { + setLastName(event.target.value); + }} + id="full-width" + name="first-name" + size="small" + autoComplete="given-name" + autoFocus + /> +
      +
      +
      + +
      +
      Enter email address
      +
      +
      + ) => { + setEmail(event.target.value); + }} + id="email" + name="email" + size="small" + autoComplete="email" + autoFocus + /> +
      +
      +
      +
      +
      Enter password
      +
      Confirm password
      +
      +
      + ) => { + setPassword(event.target.value); + }} + autoComplete="current-password" + /> +
      +
      +
      +
      + ) => { + setConfirmedPassword(event.target.value); + }} + autoComplete="current-password" + /> +
      +
      +
      +
      + *If you are going to create a Faculty account, + please make sure to sign up using the same email that you use for + Onbase/Course Registration. +
      +
      + Already have an account? +

      + +
      +
      +
      + +
      +
      +
      +
      + ); +}; diff --git a/src/component/SignUpCard/style.css b/src/component/SignUpCard/style.css new file mode 100644 index 0000000..3538089 --- /dev/null +++ b/src/component/SignUpCard/style.css @@ -0,0 +1 @@ +fatal: path 'src/component/SignUpCard/style.css' exists on disk, but not in 'main' diff --git a/src/component/SignUpCard/style.module.css b/src/component/SignUpCard/style.module.css new file mode 100644 index 0000000..f0c5ae7 --- /dev/null +++ b/src/component/SignUpCard/style.module.css @@ -0,0 +1,448 @@ +.box { + height: 800px; + width: 539px; +} + +.box .overlap { + background-color: #ffffff; + border-radius: 40px; + box-shadow: 0px 4px 35px #00000014; + height: 750px; + position: relative; + width: 539px; +} + +.box .textwrapper { + color: #000000; +} + +.box .span { + color: #562eba; + font-family: "SF Pro Display-Bold", Helvetica; + font-weight: 700; +} + +.box .div { + color: #000000; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 55px; + font-weight: 500; + left: 25px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 35px; + white-space: nowrap; + width: 179px; + gap:5px; +} + +.box .firstnameinput { + height: 89px; + left: 25px; + position: absolute; + top: 150px; + width: 240px; +} +.box .signintext { + height: 54px; + left: 25px; + position: absolute; + top: 695px; + width: 453px; + display: flex; + gap:3px; + justify-content: center; + align-items: center; +} +.box .textwrapper2 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 18px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; + width: 90px; +} + +.box .overlapgroupwrapper { + position: absolute; + top: 33px; + width: 240px; +} + +.box .overlapgroup { + background-color: #ffffff; + border-radius: 20px; + position: relative; + width: 240px; +} + +.box .textwrapper3 { + color: #6d6d6d; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + letter-spacing: 0; + line-height: normal; + position: absolute; + white-space: nowrap; + width: 230px; +} + + +.box .textwrapperlongbox { + color: #6d6d6d; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 18px; + white-space: nowrap; + width: 490px; +} + +.box .circle { + height: 22px; + left: 5px; + position: absolute; + top: 29px; + width: 22px; +} + +.box .img { + height: 22px; + left: 113px; + position: absolute; + top: 29px; + width: 22px; +} + +.box .textwrapper5 { + color: #6d6d6d; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + left: 37px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 30px; + white-space: nowrap; + width: 50px; +} + +.box .textwrapper6 { + color: #6d6d6d; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + left: 143px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 30px; + white-space: nowrap; + width: 46px; +} + +.box .departmentinput { + height: 89px; + left: 25px; + position: absolute; + top: 505px; + width: 193px; +} +.box .roleinput { + left: 280px; + position: absolute; + top: 505px; + width: 193px; +} +.box .departmentdropdown { + height: 89px; + position: relative; + width: 197px; +} + +.box .textwrapper7 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 18px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; + width: 99px; +} + +.box .overlapgroup2 { + background-color: #ffffff; + border-radius: 9px; + left: 0; + position: absolute; + top: 33px; + width: 193px; +} + +.box .textwrapper8 { + color: #6d6d6d; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + left: 24px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 18px; + white-space: nowrap; + width: 75px; +} + +.box .arrowdropdown { + height: 23px; + left: 161px; + position: absolute; + top: 16px; + width: 24px; +} + +.box .lastnameinput { + height: 89px; + left: 280px; + position: absolute; + top: 150px; + width: 195px; +} + +.box .UFIDinput { + height: 89px; + left: 302px; + position: absolute; + top: 536px; + width: 195px; +} + +.box .textwrapper9 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 18px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; + width: 230px; +} +.box .textwrapper4 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 18px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; + width: 42px; +} + +.box .textwrapper10 { + color: #6d6d6d; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + left: 24px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 18px; + white-space: nowrap; + width: 150px; +} + +.box .emailaddressinput { + height: 89px; + left: 25px; + position: absolute; + top: 240px; + width: 453px; +} + +.box .textwrapper11 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 18px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; + width: 147px; +} + +.box .divwrapper { + left: 0; + position: absolute; + top: 15px; + width: 453px; +} + +.box .overlapgroup3 { + background-color: #ffffff; + border-radius: 9px; + position: relative; + width: 451px; +} + +.box .textwrapper12 { + color: #6d6d6d; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + left: 24px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 18px; + white-space: nowrap; + width: 88px; +} + +.box .passwordinput { + height: 187px; + left: 25px; + position: absolute; + top: 330px; + width: 455px; +} + +.box .textwrapper13 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 18px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; + width: 117px; +} + +.box .textwrapper14 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 18px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 90px; + white-space: nowrap; + width: 138px; +} + +.box .textwrapper15 { + color: #6d6d6d; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 15px; + font-weight: 400; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 18px; + white-space: nowrap; + width: 188px; +} + +.box .confirmpassword { + left: 0; + position: absolute; + top: 100px; + width: 453px; +} + +.box .signinbutton { + all: unset; + box-sizing: border-box; + height: 53px; + left: 25px; + position: absolute; + top: 600px; + width: 490px; + display: flex; + justify-content: center; + align-items: center; +} + +.box .overlap2 { + background-color: #6739B7; + border-radius: 10px; + box-shadow: 0px 4px 19px #7793414c; + height: 45px; + position: relative; + width: 490px; +} +.box .overlap2:hover{ + cursor: pointer; +} + + +.box .textwrapper16 { + color: #ffffff; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 16px; + font-weight: 500; + letter-spacing: 0; + line-height: normal; + white-space: nowrap; + width: 100%; + text-align: center; +} +.box .facultytext{ + position:absolute; + top: 660px; + font-family: SF Pro Display; + font-size: 12px; + color: #4D4D4D; + word-wrap: break-word; + font-weight: 300; + margin-left: 45px; + margin-right: 45px; + +} + + +@media (max-width: 570px) { + .box .facultytext{ + max-width: 60%; + } + .box .signinbutton{ + width: 350px; + top: 780px; + left: 50px; + } + +.box .lastnameinput { + left: 240px; + +} + +} diff --git a/src/component/SmallClassCard/SmallClassCard.jsx b/src/component/SmallClassCard/SmallClassCard.jsx new file mode 100644 index 0000000..99b5106 --- /dev/null +++ b/src/component/SmallClassCard/SmallClassCard.jsx @@ -0,0 +1,24 @@ +import React from 'react'; +import Link from 'next/link'; +import './style.css'; + +const SmallClassCard = ({ className, courseName, courseId, onGoing }) => { + return ( + +
      +
      +
      {courseName}
      +
      +
      + + ); +}; + +export default SmallClassCard; diff --git a/src/component/SmallClassCard/style.css b/src/component/SmallClassCard/style.css new file mode 100644 index 0000000..c56067c --- /dev/null +++ b/src/component/SmallClassCard/style.css @@ -0,0 +1,23 @@ +.small-class-card { + background-color: #ffffff; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 76px; + width: 180px; + position: relative; + } + + .small-class-card .text-wrapper { + color: #000000; + font-family: "SF Pro Display-Bold", Helvetica; + font-size: 25px; + font-weight: 700; + left: 2px; + letter-spacing: 0; + line-height: normal; + position: absolute; + text-align: center; + top: 24px; + width: 180px; + } + \ No newline at end of file diff --git a/src/component/SmallHeader/SmallHeader.tsx b/src/component/SmallHeader/SmallHeader.tsx new file mode 100644 index 0000000..3cfcf99 --- /dev/null +++ b/src/component/SmallHeader/SmallHeader.tsx @@ -0,0 +1,16 @@ +// NavBar.tsx +import React from 'react'; +import './style.css'; +import { EceLogoPng } from '../EceLogoPng/EceLogoPng'; +import { TopNavBarSigned } from '../TopNavBarSigned/TopNavBarSigned'; + +const SmallHeader = () => { + return ( + + ); +}; + +export default SmallHeader; diff --git a/src/component/SmallHeader/style.css b/src/component/SmallHeader/style.css new file mode 100644 index 0000000..14e88c0 --- /dev/null +++ b/src/component/SmallHeader/style.css @@ -0,0 +1,37 @@ +.navbar { + position: relative; + height: 60px; + background: linear-gradient( + 90deg, + #21207a 0%, + #34218f 10%, + #33228e 20%, + #1b5c93 30%, + #159ca5 35%, + #19a0a7 38%, + #2196a7 41%, + #306e9c 46%, + #35228f 60%, + #34218f 70%, + #241b75 80%, + #231d7b 90%, + #21207a 100% + ); + display: flex; + align-items: center; + padding: 0 1rem; + color: #fff; + justify-content: space-between; +} +.navbar .ece-logo-png-2 { + left: 27px; + height: 80px; + width: 300px; + top:10px; + } + + .navbar .top-nav-bar-signed-in { + right: 90px; + } + + \ No newline at end of file diff --git a/src/component/Spinner/Spinner.tsx b/src/component/Spinner/Spinner.tsx new file mode 100644 index 0000000..ef10e97 --- /dev/null +++ b/src/component/Spinner/Spinner.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import './style.css'; + +const Spinner: React.FC = () => { + return ( +
      +
      +
      + ); +}; + +export default Spinner; diff --git a/src/component/Spinner/style.css b/src/component/Spinner/style.css new file mode 100644 index 0000000..05d8522 --- /dev/null +++ b/src/component/Spinner/style.css @@ -0,0 +1,22 @@ +/* Spinner.css */ +.spinner-container { + display: flex; + justify-content: center; + align-items: center; + height: 100vh; /* Full height of the viewport */ + } + + .spinner { + border: 8px solid #f3f3f3; /* Light grey */ + border-top: 8px solid #3498db; /* Blue */ + border-radius: 50%; + width: 60px; + height: 60px; + animation: spin 1s linear infinite; + } + + @keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } + } + \ No newline at end of file diff --git a/src/component/ThemeInteraction/ThemeToggleButton.tsx b/src/component/ThemeInteraction/ThemeToggleButton.tsx new file mode 100644 index 0000000..42faf9a --- /dev/null +++ b/src/component/ThemeInteraction/ThemeToggleButton.tsx @@ -0,0 +1,32 @@ +'use client'; +import IconButton from '@mui/material/IconButton'; +import LightModeIcon from '@mui/icons-material/LightMode'; +import NightsStayIcon from '@mui/icons-material/NightsStay'; +import React from 'react'; +import { useTheme } from '@mui/material/styles'; + +export type ThemeToggleButtonProps = { + ColorModeContext: React.Context<{ toggleColorMode: () => void }>; +}; + +const ThemeToggleButton = (props: ThemeToggleButtonProps) => { + const { + ColorModeContext = React.createContext({ toggleColorMode: () => {} }), + } = props; + const theme = useTheme(); + const colorMode = React.useContext(ColorModeContext); + return ( + <> + + {theme.palette.mode === 'dark' ? : } + + + ); +}; + +export default ThemeToggleButton; diff --git a/src/component/Timeline/Timeline.tsx b/src/component/Timeline/Timeline.tsx new file mode 100644 index 0000000..49bd9b7 --- /dev/null +++ b/src/component/Timeline/Timeline.tsx @@ -0,0 +1,44 @@ +import React from 'react'; +import './style.css'; + +interface TimelineProps { + selectedYear: number; + setSelectedYear: React.Dispatch>; +} + +export const Timeline = ({ + selectedYear, + setSelectedYear, +}: TimelineProps): JSX.Element => { + return ( +
      +
      setSelectedYear(1)} + > +
      +
      1
      +
      year ago
      +
      +
      +
      setSelectedYear(2)} + > +
      +
      2
      +
      year ago
      +
      +
      +
      setSelectedYear(3)} + > +
      +
      3
      +
      year ago
      +
      +
      +
      + ); +}; diff --git a/src/component/Timeline/style.css b/src/component/Timeline/style.css new file mode 100644 index 0000000..b02d390 --- /dev/null +++ b/src/component/Timeline/style.css @@ -0,0 +1,60 @@ +tab-bar { + display: flex; + justify-content: space-around; + align-items: center; + width: 650px; /* Set a fixed width */ + height: 80px; /* Set a fixed height */ + background-color: #fff; + border: 1px solid #ccc; + border-radius: 16px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); + } + + .element-year, .element-years { + cursor: pointer; + padding: 0px 69px; + text-align: center; + position: relative; + + } + + .element-year:hover, .element-years:hover { + background-color: #f0f0f0; + border-radius: 16px; + + } + + .element-year.selected, .element-years.selected { + font-weight: bold; + } + + .element-year.selected::after, .element-years.selected::after { + content: ''; + display: block; + width: 130%; + height: 6px; + background-color: #562eba; + left: 0; + margin-left: -10px; + margin-top: -5px; + border-radius: 4.27px; + } + + .div { + margin: 10px; + } + + .text-wrapper, .text-wrapper-3 { + font-size: 24px; + margin-bottom: 1px; + } + + .text-wrapper-2, .text-wrapper-4 { + font-size: 14px; + color: #666; + } + + .selected-year-info { + margin-top: 20px; + font-size: 18px; + } \ No newline at end of file diff --git a/src/component/TopNavBar/TopNavBar.jsx b/src/component/TopNavBar/TopNavBar.jsx new file mode 100644 index 0000000..d94a874 --- /dev/null +++ b/src/component/TopNavBar/TopNavBar.jsx @@ -0,0 +1,20 @@ +import React from 'react'; +import './style.css'; +import Link from 'next/link'; + +export const TopNavBar = ({ className }) => { + return ( +
      + +
      About
      + + +
      + ); +}; diff --git a/src/component/TopNavBar/style.css b/src/component/TopNavBar/style.css new file mode 100644 index 0000000..2ceed8b --- /dev/null +++ b/src/component/TopNavBar/style.css @@ -0,0 +1,56 @@ +.top-nav-bar { + height: 37px; + position: fixed; + width: 279px; +} + +.top-nav-bar .text-wrapper-3 { + color: #ffffff; + font-family: "SF Pro Display-Bold", Helvetica; + font-size: 18px; + font-weight: 700; + left: 100px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 8px; + white-space: nowrap; + width: 53px; +} + +.top-nav-bar .text-wrapper-4 { + color: #000000; + font-family: "SF Pro Display-Bold", Helvetica; + font-size: 18px; + font-weight: 700; + left: 28px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 9px; + white-space: nowrap; + width: 59px; +} + + + +.top-nav-bar .overlap-group { + background-color: #ffffff; + border-radius: 10px; + height: 37px; + position: relative; + width: 105px; +} + +.top-nav-bar .logout-button { + all: unset; + box-sizing: border-box; + height: 37px; + left: 207px; + position: absolute; + top: 0; + width: 117px; + cursor: pointer; + +} + diff --git a/src/component/TopNavBarSigned/TopNavBarSigned.jsx b/src/component/TopNavBarSigned/TopNavBarSigned.jsx new file mode 100644 index 0000000..7514835 --- /dev/null +++ b/src/component/TopNavBarSigned/TopNavBarSigned.jsx @@ -0,0 +1,125 @@ +import React from 'react'; +import './style.css'; +import Link from 'next/link'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; + +import Button from '@mui/material/Button'; +import handleSignOut from '@/firebase/auth/auth_signout'; +export const TopNavBarSigned = ({ className }) => { + const [open, setOpen] = React.useState(false); + const handleClose = () => { + setOpen(false); + }; + const handleSubmit = () => { + handleSignOut(); + setOpen(false); + }; + return ( +
      + +
      About
      + + + +
      Home
      + + + + + + + Logout + +
      + + + Are you sure you want to logout? + + + + + + + +
      +
      +
      + ); +}; diff --git a/src/component/TopNavBarSigned/style.css b/src/component/TopNavBarSigned/style.css new file mode 100644 index 0000000..35faec8 --- /dev/null +++ b/src/component/TopNavBarSigned/style.css @@ -0,0 +1,70 @@ +.top-nav-bar-signed { + height: 37px; + position: fixed; + width: 279px; +} + +.top-nav-bar-signed .text-wrapper-3 { + color: #ffffff; + font-family: "SF Pro Display-Bold", Helvetica; + font-size: 16px; + font-weight: 700; + left: 100px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 8px; + white-space: nowrap; + width: 53px; +} + +.top-nav-bar-signed .text-wrapper-4 { + color: #ffffff; + font-family: "SF Pro Display-Bold", Helvetica; + font-size: 16px; + font-weight: 700; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 8px; + white-space: nowrap; + width: 51px; +} + +.top-nav-bar-signed .logout-button { + all: unset; + box-sizing: border-box; + height: 37px; + left: 207px; + position: absolute; + top: 0; + width: 117px; + cursor: pointer; + +} + + +.top-nav-bar-signed .overlap-group { + background-color: #ffffff; + border-radius: 10px; + height: 36px; + position: relative; + width: 130px; +} + +.top-nav-bar-signed .text-wrapper-5 { + color: #000000; + font-family: "SF Pro Display-Bold", Helvetica; + font-size: 16px; + font-weight: 700; + left: 38px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 9px; + white-space: nowrap; + width: 59px; +} + + diff --git a/src/component/UnderDevelopment.tsx b/src/component/UnderDevelopment.tsx new file mode 100644 index 0000000..f46e137 --- /dev/null +++ b/src/component/UnderDevelopment.tsx @@ -0,0 +1,27 @@ +import { Box } from '@mui/material'; +export default function UnderDevelopment() { + // create a centered, medium box with a small grey border outline with centered text + // and a message that the component is under development + + return ( + <> + +

      + 🚧 This page or component is under development. 🚧 +

      +
      + + ); +} diff --git a/src/component/VerifyEmailCard/VerifyEmailCard.tsx b/src/component/VerifyEmailCard/VerifyEmailCard.tsx new file mode 100644 index 0000000..ea7ba08 --- /dev/null +++ b/src/component/VerifyEmailCard/VerifyEmailCard.tsx @@ -0,0 +1,73 @@ +import PropTypes from 'prop-types'; +import React from 'react'; +import './style.css'; + +import { toast } from 'react-hot-toast'; +import { useAuth } from '@/firebase/auth/auth_context'; + +export const VerifyEmailCard = ({ email }) => { + const { user } = useAuth(); + return ( +
      +
      +
      +
      Verify Email
      +
      +
      +
      + We have sent a verification email to{' '} +
      +
      +
      +
      +
      + {email} +
      +
      +
      +
      +
      + Please verify your email to continue...{' '} +
      +
      +
      +
      + Didn't get the verification email?{' '} +
      +
      +
      +
      +
      + user + .sendEmailVerification() + .then(function () { + // Email verification sent + toast.success('Resent Verification Email!'); + }) + .catch(function (error: any) { + console.error(error); + }) + } + className="verification" + > + {' '} + Resend Verification Email +
      +
      +
      +
      +
      + ); +}; + +VerifyEmailCard.propTypes = { + email: PropTypes.string, +}; diff --git a/src/component/VerifyEmailCard/style.css b/src/component/VerifyEmailCard/style.css new file mode 100644 index 0000000..667c29a --- /dev/null +++ b/src/component/VerifyEmailCard/style.css @@ -0,0 +1,203 @@ +.status-card2 { + background-color: #ffffff; + border-radius: 20px; + box-shadow: 0px 2px 20px 4px #00000040; + height: 322px; + position: relative; + width: 456px; +} + +.status-card2 .overlap { + height: 186px; + left: 34px; + position: absolute; + top: 12px; + width: 204px; +} + +.status-card2 .inner-content { + height: 38px; + left: 0; + position: absolute; + top: 0; + width: 159px; +} + +.status-card2 .text-wrapper-6 { + color: #562EBA; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 30px; + font-weight: 700; + left: 65%; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; +} + +.status-card2 .coarse-assistant-wrapper { + height: 29px; + left: 30px; + position: absolute; + top: 54px; + width: 572px; +} + +.status-card2 .text-wrapper-7 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 21px; + font-weight: 400; + left: 30; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 10px; +} + +.status-card2 .overlap-2 { + + color: black; + height: 100px; + left: 100px; + position: absolute; + top: 0; + width: 104px; +} + +.status-card2 .div-wrapper { + + color: black; + height: 19px; + left: 0; + position: absolute; + top: 88px; +} + +.status-card2 .text-wrapper-8 { + color: black; + font-size: 16px; + font-weight: 400; + left: 0; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 0; + white-space: nowrap; +} + +.status-card2 .rectangle { + background-color: #9d9d9d; + height: 2px; + left: 100px; + position: absolute; + top: 92px; + transform: rotate(90deg); + width: 186px; +} + +.status-card2 .inner-content-2 { + height: 29px; + left: 354px; + position: absolute; + top: 66px; + width: 197px; +} + +.status-card2 .text-wrapper-9 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 24px; + font-weight: 400; + left: 100px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 10px; +} + +.status-card2 .application-button { + height: 43px; + left: 454px; + position: absolute; + top: 60px; + width: 226px; + margin-top: 10px; +} + +.status-card2 .overlap-group-2 { + background-color: #f2a9001f; + border: 1px solid; + border-color: #f2a900; + border-radius: 10px; + height: 43px; + position: relative; + width: 224px; +} + +.status-card2 .text-wrapper-10 { + color: #f2a900; + font-family: "SF Pro Display-Medium", Helvetica; + font-size: 15px; + font-weight: 500; + left: 20px; + letter-spacing: 0; + line-height: normal; + position: absolute; + text-align: center; + top: 11px; + width: 182px; +} + +.status-card2 .coarse-assistant-wrapper2 { + height: 29px; + left: 30px; + position: absolute; + top: 119px; + width: 572px; +} + +.status-card2 .text-wrapper-8 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 21px; + font-weight: 400; + left: 30; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 10px; +} + +.status-card2 .coarse-assistant-wrapper3 { + height: 29px; + left: 10px; + position: absolute; + top: 209px; + width: 572px; +} + +.status-card2 .text-wrapper-9 { + color: #000000; + font-family: "SF Pro Display-Regular", Helvetica; + font-size: 21px; + font-weight: 400; + left: 33px; + letter-spacing: 0; + line-height: normal; + position: absolute; + top: 10px; +} +.verification { + color: #6c6c6c; + font-size: 18px; + width: 300px; + margin-top: 167px; + margin-left: -1px; +} +.verification:hover{ + cursor: pointer; + color: #562EBA; + text-decoration: underline; +} \ No newline at end of file diff --git a/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.module.css b/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.module.css new file mode 100644 index 0000000..55886f0 --- /dev/null +++ b/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.module.css @@ -0,0 +1,291 @@ +.colorBlockFrame { + position: absolute; + top: 0; + left: 0; + width: 1440px; + height: 458px; + overflow: hidden; + } + .connectingBrightMinds { + margin: 0; + } + .blankLine { + margin: 0; + font-weight: 300; + font-family: var(--font-poppins); + } + .connectingBrightMindsContainer { + position: absolute; + top: 124px; + left: 7px; + display: inline-block; + width: 394px; + height: 30px; + } + .signInTo1 { + position: absolute; + top: 0; + left: 0; + font-weight: 500; + } + .courseConnect { + top: 48px; + left: 0; + font-size: 60px; + display: inline-block; + } + .courseConnect, + .signInTitle, + .signInTo { + position: absolute; + width: 549px; + } + .signInTo { + top: 0; + left: 0; + height: 120px; + font-size: 40px; + } + .signInTitle { + top: 141px; + left: 73px; + height: 154px; + } + .ifYouDont, + .youCanRegisterContainer { + position: absolute; + top: 0; + left: 0; + display: inline-block; + width: 308px; + } + .youCanRegisterContainer { + top: 30px; + cursor: pointer; + } + .registerHereText { + position: absolute; + top: 351px; + left: 80px; + width: 308px; + height: 54px; + } + .loginLowFiWireframeChild { + position: absolute; + top: 402.5px; + left: 149.5px; + border-top: 1px solid var(--color-white); + box-sizing: border-box; + width: 127px; + height: 1px; + } + .logInCardChild { + position: absolute; + height: 100%; + width: 100%; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: var(--br-21xl); + background-color: var(--color-white); + box-shadow: 0 4px 35px rgba(0, 0, 0, 0.08); + } + .courseConnect1 { + color: var(--color-darkblue); + } + .signIn, + .welcomeToCourseContainer { + position: absolute; + top: 7.02%; + left: 8.16%; + font-size: var(--font-size-5xl); + } + .signIn { + top: 12.28%; + font-size: var(--font-size-36xl); + font-weight: 500; + } + .enterEmailAddress, + .usernameInput { + position: absolute; + top: 0; + left: 0; + } + .usernameInput { + height: 100%; + width: 100%; + right: 0; + bottom: 0; + border-radius: var(--br-4xs); + background-color: var(--color-white); + } + .emailAddress, + .emailInput { + position: absolute; + top: 31.58%; + left: 5.32%; + } + .emailInput { + height: 62.64%; + width: 100%; + top: 37.36%; + right: 0; + bottom: 0; + left: 0; + font-size: var(--font-size-mini); + color: var(--color-dimgray-100); + } + .emailAddressInput, + .passwordInput { + position: absolute; + height: 14.51%; + width: 83.67%; + top: 32.54%; + right: 8.16%; + bottom: 52.95%; + left: 8.16%; + } + .passwordInput { + top: 52.79%; + bottom: 32.7%; + } + .forgotPassword { + position: absolute; + top: 69.7%; + left: 71.8%; + font-size: var(--font-size-mini); + color: var(--color-dimgray-200); + } + .signInButtonChild { + position: absolute; + height: 100%; + width: 100%; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: var(--br-3xs); + background-color: var(--color-darkblue); + box-shadow: 0 4px 19px rgba(119, 147, 65, 0.3); + } + .signIn1 { + position: absolute; + width: 12.42%; + top: 27.78%; + left: 43.9%; + font-weight: 500; + display: inline-block; + } + .signInButton { + position: absolute; + height: 8.61%; + width: 83.67%; + top: 79.9%; + right: 8.16%; + bottom: 11.48%; + left: 8.16%; + cursor: pointer; + font-size: var(--font-size-base); + color: var(--color-white); + } + .logInCard { + position: absolute; + top: 150px; + left: 801px; + width: 539px; + height: 627px; + font-size: var(--font-size-lg); + color: var(--color-black); + } + .eceLogoPng21 { + position: absolute; + height: 100%; + width: 100%; + top: 0; + right: 0; + bottom: 0; + left: 0; + max-width: 100%; + overflow: hidden; + max-height: 100%; + object-fit: cover; + } + .eceLogoPng2 { + position: absolute; + top: 23px; + left: 27px; + width: 68px; + height: 49px; + } + .signInButtonItem { + position: absolute; + height: 100%; + width: 100%; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: var(--br-3xs); + background-color: var(--color-white); + } + .login { + position: absolute; + height: 48.65%; + width: 84.44%; + top: 24.32%; + left: 8.15%; + display: inline-block; + } + .signInButton1 { + position: absolute; + height: 100.54%; + width: 67.16%; + top: 0; + right: -15.92%; + bottom: -0.54%; + left: 48.76%; + } + .about, + .logInButton { + position: absolute; + left: 0; + } + .about { + height: 100%; + width: 100%; + top: 0; + display: inline-block; + } + .logInButton { + height: 48.91%; + width: 27.36%; + top: 24.46%; + right: 72.64%; + bottom: 26.63%; + cursor: pointer; + text-align: left; + color: var(--color-white); + } + .topNavBar { + position: absolute; + top: 27px; + left: 1167px; + width: 201px; + height: 36.8px; + text-align: center; + font-size: var(--font-size-lg); + color: var(--color-black); + } + .loginLowFiWireframe { + position: relative; + background-color: var(--color-white); + width: 100%; + height: 900px; + overflow: hidden; + text-align: left; + font-size: var(--font-size-xl); + color: var(--color-white); + font-family: var(--font-sf-pro-display); + } + \ No newline at end of file diff --git a/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.tsx b/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.tsx new file mode 100644 index 0000000..09869e7 --- /dev/null +++ b/src/component/Wireframes/LoginScreen/LoginLowFiWireframe.tsx @@ -0,0 +1,102 @@ +'use client'; +import { FunctionComponent, useCallback } from 'react'; +import Image from 'next/image'; +import styles from './LoginLowFiWireframe.module.css'; + +const LoginLowFiWireframe: FunctionComponent = () => { + const onYouCanRegisterClick = useCallback(() => { + // Please sync "sign-up Low-fi wireframe" to the project + }, []); + + const onSignInButtonClick = useCallback(() => { + // Please sync "Student landing page - applying" to the project + }, []); + + const onLogInButtonClick = useCallback(() => { + // Please sync "About Page 1" to the project + }, []); + + return ( +
      + +
      +
      +

      + Connecting Bright Minds for a Brighter Future +

      +

       

      +
      +
      +
      {`Sign in to `}
      + Course Connect +
      +
      +
      +
      + If you don’t have an account register +
      +
      + {`You can `} + Register here ! +
      +
      +
      +
      +
      +
      + {`Welcome to `} + Course Connect +
      +
      Sign in
      +
      +
      Enter email address
      +
      +
      +
      Email address
      +
      +
      +
      +
      Enter password
      +
      +
      +
      Password
      +
      +
      +
      Forgot Password
      +
      +
      +
      Sign in
      +
      +
      +
      + +
      +
      +
      +
      + Login +
      +
      + About +
      +
      +
      + ); +}; + +export default LoginLowFiWireframe; diff --git a/src/component/Wireframes/LoginScreen/color-block-frame.svg b/src/component/Wireframes/LoginScreen/color-block-frame.svg new file mode 100644 index 0000000..5ec9f67 --- /dev/null +++ b/src/component/Wireframes/LoginScreen/color-block-frame.svg @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/component/Wireframes/LoginScreen/ece-logo.png b/src/component/Wireframes/LoginScreen/ece-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..97d3fbb9719ecf0baa942d5400cb377850e971e5 GIT binary patch literal 3746 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 { + const [pastCourses, setPastCourses] = useState([]); + const [loadingPast, setLoading] = useState(false); + const [error, setError] = useState(null); + const db = firebase.firestore(); + const coursesCache = useRef<{ [semester: string]: CourseType[] }>({}); + + useEffect(() => { + const fetchPastCourses = async () => { + // If no email or no selected semester, clear courses and exit. + if (!name || selectedYears.length === 0) { + setPastCourses([]); + return; + } + + try { + setLoading(true); + setError(null); + + // Helper function to process each Firestore snapshot. + const processSnapshot = ( + snapshot: firebase.firestore.QuerySnapshot, + semester: string + ): CourseType[] => { + const courses = snapshot.docs + .filter((doc) => { + const data = doc.data(); + return data.code != null; + }) + .map((doc) => { + const data = doc.data(); + return { + id: doc.id, + code: data.code, + courseId: data.class_number, + semester, + } as CourseType; + }); + // Cache the courses for this semester. + coursesCache.current[semester] = courses; + return courses; + }; + + // Create a promise for each semester. + const queryPromises = selectedYears.map((semester) => { + if (coursesCache.current[semester]) { + // Return cached data if it exists. + return Promise.resolve(coursesCache.current[semester]); + } + + return db + .collection('past-courses') + .where('semester', '==', semester) + .where('professor_names', '==', name) + .get() + .then((snapshot) => processSnapshot(snapshot, semester)) + .catch((error) => { + console.error(`Error fetching courses for ${semester}:`, error); + return []; // Return empty array for this semester on error. + }); + }); + + // Wait for all queries to complete. + const coursesPerSemester = await Promise.all(queryPromises); + // Flatten the array of arrays into one array. + const allCourses = coursesPerSemester.flat(); + setPastCourses(allCourses); + } catch (err) { + console.error(err); + setError('Failed to fetch courses. Please try again later.'); + } finally { + setLoading(false); + } + }; + + fetchPastCourses(); + }, [selectedYears, name]); // Use a stable dependency for selectedYears + + return { pastCourses, loadingPast, error }; +}; + +export default useFetchTempPastCourses; diff --git a/src/hooks/old/usePastCourses.ts b/src/hooks/old/usePastCourses.ts new file mode 100644 index 0000000..b5996bf --- /dev/null +++ b/src/hooks/old/usePastCourses.ts @@ -0,0 +1,89 @@ +import { useEffect, useRef, useState } from 'react'; +import firebase from '@/firebase/firebase_config'; +import { CourseType } from '@/types/User'; + +const useFetchPastCourses = ( + selectedYears: string[], + uemail: string | null | undefined +) => { + const [pastCourses, setPastCourses] = useState([]); + const [loadingPast, setLoading] = useState(false); + const [error, setError] = useState(null); + const db = firebase.firestore(); + const coursesCache = useRef<{ [semester: string]: CourseType[] }>({}); + + useEffect(() => { + const fetchPastCourses = async () => { + // If no email or no selected semester, clear courses and exit. + if (!uemail || selectedYears.length === 0) { + setPastCourses([]); + return; + } + + try { + setLoading(true); + setError(null); + + // Helper function to process each Firestore snapshot. + const processSnapshot = ( + snapshot: firebase.firestore.QuerySnapshot, + semester: string + ): CourseType[] => { + const courses = snapshot.docs + .filter((doc) => { + const data = doc.data(); + return data.code != null; + }) + .map((doc) => { + const data = doc.data(); + return { + id: doc.id, + code: data.code, + courseId: data.class_number, + semester, + } as CourseType; + }); + // Cache the courses for this semester. + coursesCache.current[semester] = courses; + return courses; + }; + + // Create a promise for each semester. + const queryPromises = selectedYears.map((semester) => { + if (coursesCache.current[semester]) { + // Return cached data if it exists. + return Promise.resolve(coursesCache.current[semester]); + } + + return db + .collection('past-courses') + .where('semester', '==', semester) + .where('professor_emails', '==', uemail) + .get() + .then((snapshot) => processSnapshot(snapshot, semester)) + .catch((error) => { + console.error(`Error fetching courses for ${semester}:`, error); + return []; // Return empty array for this semester on error. + }); + }); + + // Wait for all queries to complete. + const coursesPerSemester = await Promise.all(queryPromises); + // Flatten the array of arrays into one array. + const allCourses = coursesPerSemester.flat(); + setPastCourses(allCourses); + } catch (err) { + console.error(err); + setError('Failed to fetch courses. Please try again later.'); + } finally { + setLoading(false); + } + }; + + fetchPastCourses(); + }, [selectedYears, uemail]); // Use a stable dependency for selectedYears + + return { pastCourses, loadingPast, error }; +}; + +export default useFetchPastCourses;