diff --git a/client/src/components/manageProjects/editProject.jsx b/client/src/components/manageProjects/editProject.jsx index 9c93d745f..fdc081696 100644 --- a/client/src/components/manageProjects/editProject.jsx +++ b/client/src/components/manageProjects/editProject.jsx @@ -1,29 +1,29 @@ -import React, { useState, useEffect, useCallback } from 'react'; -import EditMeetingTimes from './editMeetingTimes'; -import CreateNewEvent from './createNewEvent'; -import readableEvent from './utilities/readableEvent'; +import { useCallback, useEffect, useState } from 'react'; import ProjectForm from '../ProjectForm'; -import { simpleInputs, additionalInputsForEdit } from '../data'; +import { additionalInputsForEdit, simpleInputs } from '../data'; import TitledBox from '../parts/boxes/TitledBox'; import TitledBoxIFrame from '../parts/boxes/TitledBoxIFrame'; +import CreateNewEvent from './createNewEvent'; +import EditMeetingTimes from './editMeetingTimes'; +import readableEvent from './utilities/readableEvent'; -import { styled } from '@mui/material/styles'; import CloseIcon from '@mui/icons-material/Close'; +import { styled } from '@mui/material/styles'; import EditIcon from '../../svg/Icon_Edit.svg?react'; import PlusIcon from '../../svg/PlusIcon.svg?react'; import { - Typography, Box, + Button, Dialog, - DialogTitle, DialogContent, + DialogTitle, IconButton, - Button, List, ListItem, ListItemButton, ListItemText, + Typography, } from '@mui/material'; import EditProjectMembers from './editPMs/editProjectMembers'; @@ -170,7 +170,7 @@ const EditProject = ({ } setLastOpenedEventId(null); }, - [lastOpenedEventId] + [lastOpenedEventId], ); // `handleOpenCreateNewModal`: Sets the state to open the Create New Event modal @@ -197,7 +197,7 @@ const EditProject = ({ // eslint-disable-next-line no-underscore-dangle .filter((e) => e?.project?._id === projectToEdit._id) .map((item) => ({ ...item, ...readableEvent(item), raw: item })) - .reverse() // sorts most recent events first + .reverse(), // sorts most recent events first ); } }, [projectToEdit, regularEvents, setRegularEventsState]); @@ -211,7 +211,7 @@ const EditProject = ({ // eslint-disable-next-line no-underscore-dangle .filter((e) => e?.project?._id === projectToEdit._id) .map((item) => readableEvent(item)) - .sort((a, b) => a.dayOfTheWeekNumber - b.dayOfTheWeekNumber) + .sort((a, b) => a.dayOfTheWeekNumber - b.dayOfTheWeekNumber), ); } }, [projectToEdit, recurringEvents, setREvents]); @@ -219,12 +219,7 @@ const EditProject = ({ return ( {/* Dialog for editing recurring meeting times */} - + {/* Dialog for creating new events */} - + - handleSelectEvent(event)} - > + handleSelectEvent(event)}> - - {' '} - {`${event.description}`} - + {`${event.description}`} {' '} @@ -456,7 +441,6 @@ const EditProject = ({ : event._id // Uses stable _id for normal renders } updateRegularEvent={updateRegularEvent} - handleSelectEvent={handleSelectEvent} // Pass handler for modal opening. /> ))} @@ -468,16 +452,17 @@ const EditProject = ({ /** * RegularEvent: Displays a single regular event item within a list. - * It's responsible for rendering event details and handling selection to open an edit modal. + * It's responsible for rendering event details and toggling the event's check-in readiness when clicked. * @param {Object} event - The regular event object to display. Includes details like name, time, type, and check-in status. - * @param {Function} updateRegularEvent - A function to call when a regular event needs to be updated. (Note: Not directly used in the provided JSX, but passed as a prop.) - * @param {Function} handleSelectEvent - A callback function to invoke when the event item is clicked, typically to select it and open a corresponding edit modal. + * @param {Function} updateRegularEvent - A callback invoked when the item is clicked to toggle the event's `checkInReady` status. * @returns {ReactElement} - A list item component representing a single regular event, with clickable functionality. */ -const RegularEvent = ({ event, updateRegularEvent, handleSelectEvent }) => { +const RegularEvent = ({ event, updateRegularEvent }) => { return ( - handleSelectEvent(event)}> + updateRegularEvent({ checkInReady: !event.checkInReady }, event._id)} + >