@@ -5,12 +5,12 @@ import interactionPlugin from '@fullcalendar/interaction';
5
5
import { useRef , useState , useEffect } from 'react' ;
6
6
7
7
type Event = {
8
- title : string ;
9
- start : Date | string ;
10
- }
8
+ title : string ;
9
+ start : Date | string ;
10
+ } ;
11
11
interface EventCardsProps {
12
- events : Event [ ] ;
13
- date : Date | string | null ;
12
+ events : Event [ ] ;
13
+ date : Date | string | null ;
14
14
}
15
15
16
16
const events = [
@@ -27,18 +27,16 @@ export function Calendar() {
27
27
const [ selectedDate , setSelectedDate ] = useState < Date | null > ( null ) ;
28
28
29
29
const handleDateClick = ( clickInfo : EventClickArg ) => {
30
- if ( clickInfo . event . start ) {
31
- const clickStartDate = new Date ( clickInfo . event . start ) ;
32
- setSelectedDate ( clickStartDate ) ;
33
-
34
- const clickedStartDate = new Date ( clickInfo . event . start ) . toDateString ( ) ;
35
- setSelectedEvents ( events . filter ( event =>
36
- new Date ( event . start ) . toDateString ( ) === clickedStartDate
37
- ) ) ;
30
+ if ( clickInfo . event . start ) {
31
+ const clickStartDate = new Date ( clickInfo . event . start ) ;
32
+ setSelectedDate ( clickStartDate ) ;
33
+
34
+ const clickedStartDate = new Date ( clickInfo . event . start ) . toDateString ( ) ;
35
+ setSelectedEvents ( events . filter ( ( event ) => new Date ( event . start ) . toDateString ( ) === clickedStartDate ) ) ;
38
36
} else {
39
- console . log ( " not available" ) ;
37
+ console . log ( ' not available' ) ;
40
38
}
41
- }
39
+ } ;
42
40
43
41
const handlePrev = ( ) => {
44
42
const calendarApi = calendarRef ?. current ?. getApi ( ) ;
@@ -136,11 +134,11 @@ export function Calendar() {
136
134
right : 'nextButton' ,
137
135
} }
138
136
customButtons = { {
139
- prevButton : { click : handlePrev } ,
140
- nextButton : { click : handleNext } ,
137
+ prevButton : { click : handlePrev } ,
138
+ nextButton : { click : handleNext } ,
141
139
} }
142
140
/>
143
- { selectedDate && < EventCards events = { selectedEvents } date = { selectedDate } /> }
141
+ { selectedDate && < EventCards events = { selectedEvents } date = { selectedDate } /> }
144
142
</ div >
145
143
) ;
146
144
}
@@ -163,32 +161,32 @@ function renderEventContent(eventInfo: EventInfo) {
163
161
) ;
164
162
}
165
163
166
-
167
164
function EventCards ( { events, date } : EventCardsProps ) {
168
- if ( ! date ) {
169
- return < div > No date provided</ div > ; // date가 null인 경우 처리
170
- }
171
-
172
- const formattedDate = new Date ( date ) . toLocaleDateString ( 'ko-KR' , {
173
- year : 'numeric' ,
174
- month : '2-digit' ,
175
- day : '2-digit'
176
- } ) . replace ( / \. / g, "." ) . slice ( 0 , - 1 ) ;
177
- console . log ( formattedDate )
178
-
179
- return (
180
- < div >
181
- < h2 > { formattedDate } </ h2 >
182
- < div className = "flex overflow-x-auto" >
183
- { events . map ( ( event , index ) => (
184
- < div key = { index } className = "min-w-[200px] m-2 p-2 bg-blue-200 text-white" >
185
- < h3 > { event . title } </ h3 >
186
- < p > { new Date ( event . start ) . toLocaleTimeString ( ) } </ p >
187
- </ div >
188
- ) ) }
189
- </ div >
190
-
191
- </ div >
192
-
193
- ) ;
194
- }
165
+ if ( ! date ) {
166
+ return < div > No date provided</ div > ; // date가 null인 경우 처리
167
+ }
168
+
169
+ const formattedDate = new Date ( date )
170
+ . toLocaleDateString ( 'ko-KR' , {
171
+ year : 'numeric' ,
172
+ month : '2-digit' ,
173
+ day : '2-digit' ,
174
+ } )
175
+ . replace ( / \. / g, '.' )
176
+ . slice ( 0 , - 1 ) ;
177
+ console . log ( formattedDate ) ;
178
+
179
+ return (
180
+ < div >
181
+ < h2 > { formattedDate } </ h2 >
182
+ < div className = "flex overflow-x-auto" >
183
+ { events . map ( ( event , index ) => (
184
+ < div key = { index } className = "m-2 min-w-[200px] bg-blue-200 p-2 text-white" >
185
+ < h3 > { event . title } </ h3 >
186
+ < p > { new Date ( event . start ) . toLocaleTimeString ( ) } </ p >
187
+ </ div >
188
+ ) ) }
189
+ </ div >
190
+ </ div >
191
+ ) ;
192
+ }
0 commit comments