From 0f8568e615b04bc2e23b5848b3adde2c590012dc Mon Sep 17 00:00:00 2001 From: bconti123 Date: Sun, 14 Jun 2026 20:36:49 -0700 Subject: [PATCH 1/2] fix: toggle checkInReady on regular event click --- .../components/manageProjects/editProject.jsx | 57 +++++++------------ 1 file changed, 21 insertions(+), 36 deletions(-) diff --git a/client/src/components/manageProjects/editProject.jsx b/client/src/components/manageProjects/editProject.jsx index 9c93d745f..49b5877eb 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 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)} + > Date: Sun, 14 Jun 2026 20:51:28 -0700 Subject: [PATCH 2/2] Removed React at the line 1 --- client/src/components/manageProjects/editProject.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/components/manageProjects/editProject.jsx b/client/src/components/manageProjects/editProject.jsx index 49b5877eb..fdc081696 100644 --- a/client/src/components/manageProjects/editProject.jsx +++ b/client/src/components/manageProjects/editProject.jsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect, useCallback } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import ProjectForm from '../ProjectForm'; import { additionalInputsForEdit, simpleInputs } from '../data'; import TitledBox from '../parts/boxes/TitledBox';