diff --git a/client/src/App.tsx b/client/src/App.tsx index 20fcfc0..b751edb 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -3,13 +3,15 @@ import {BrowserRouter, Routes, Route} from 'react-router-dom'; import './App.css'; import MainQrCheckIn from './pages/QrCheckIn/MainQrCheckIn'; import EventDetail from './pages/EventDetail/EventDetail'; +import MainEventList from './pages/MainEventList/MainEventList'; function App() { return ( + } /> + } /> } /> - } /> ); diff --git a/client/src/components/event_detail/CheckInTable/CheckInTable.tsx b/client/src/components/event_detail/CheckInTable/CheckInTable.tsx index 56a8705..c5467de 100644 --- a/client/src/components/event_detail/CheckInTable/CheckInTable.tsx +++ b/client/src/components/event_detail/CheckInTable/CheckInTable.tsx @@ -2,8 +2,12 @@ import React from 'react'; import * as Styled from './CheckInTable.styles'; import useCheckInStudent from '../../../hooks/useCheckInStudent'; -const CheckInTable = () => { - const {students} = useCheckInStudent('8'); +interface CheckInTableProps { + eventId: string; +} + +const CheckInTable: React.FC = ({eventId}) => { + const {students} = useCheckInStudent(eventId); const eventStudentStatusImage = (rowEventStudentStatus: string) => { if (rowEventStudentStatus === 'CHECK_IN') { @@ -13,6 +17,7 @@ const CheckInTable = () => { Not Check In ); }; + return ( <> diff --git a/client/src/pages/EventDetail/EventDetail.tsx b/client/src/pages/EventDetail/EventDetail.tsx index 0461154..8ff824c 100644 --- a/client/src/pages/EventDetail/EventDetail.tsx +++ b/client/src/pages/EventDetail/EventDetail.tsx @@ -1,22 +1,26 @@ import React from 'react'; import * as Styled from './EventDetail.styles'; -import {useNavigate} from 'react-router-dom'; +import {useNavigate, useLocation} from 'react-router-dom'; import CheckInTable from '../../components/event_detail/CheckInTable/CheckInTable'; import Header from '../../components/common/Header/Header'; import SearchAndButtonFrame from '../../components/common/SearchAndButtonFrame/SearchAndButtonFrame'; const EventDetail = () => { const navigate = useNavigate(); + const location = useLocation(); + const eventId: string = location.state?.eventId || 'No Event ID'; // 전달된 eventId 받기 + const navigateToQrScanner = () => { navigate('/qrScan'); }; + return (
검색 박스 준비 중... 🙇🏻‍♂️
- +

Event ID: {eventId}

{/* 전달받은 eventId 표시 */} {'qrCheckIn'} { onClick={navigateToQrScanner} />
- +
); diff --git a/client/src/pages/MainEventList/MainEventList.tsx b/client/src/pages/MainEventList/MainEventList.tsx new file mode 100644 index 0000000..51239ad --- /dev/null +++ b/client/src/pages/MainEventList/MainEventList.tsx @@ -0,0 +1,33 @@ +import React from 'react'; +import {useNavigate} from 'react-router-dom'; + +const MainEventList = () => { + const [eventId, setEventId] = React.useState(null); + const navigate = useNavigate(); + + // Handle changes in the input field and update the state + const handleEventIdChange = (event: React.ChangeEvent) => { + setEventId(event.target.value); + }; + + // Navigate to event detail with eventId + const navigateToEventDetail = () => { + if (eventId) { + navigate('/eventDetail', {state: {eventId}}); + } + }; + + return ( +
+ + +
+ ); +}; + +export default MainEventList;