@@ -104,7 +104,8 @@ export function Calendar() {
104
104
} , [ updateSize ] ) ;
105
105
106
106
return (
107
- < div >
107
+ < div >
108
+ < div className = "rounded bg-white p-6 px-4 sm:px-0" >
108
109
< FullCalendar
109
110
ref = { calendarRef }
110
111
plugins = { [ dayGridPlugin , interactionPlugin ] }
@@ -138,7 +139,10 @@ export function Calendar() {
138
139
nextButton : { click : handleNext } ,
139
140
} }
140
141
/>
142
+ </ div >
143
+ < div className = 'mt-10' >
141
144
{ selectedDate && < EventCards events = { selectedEvents } date = { selectedDate } /> }
145
+ </ div >
142
146
</ div >
143
147
) ;
144
148
}
@@ -162,10 +166,12 @@ function renderEventContent(eventInfo: EventInfo) {
162
166
}
163
167
164
168
function EventCards ( { events, date } : EventCardsProps ) {
169
+ const [ menuOpen , setMenuOpen ] = useState ( - 1 ) ;
170
+
165
171
if ( ! date ) {
166
172
return < div > No date provided</ div > ; // date가 null인 경우 처리
167
173
}
168
-
174
+
169
175
const formattedDate = new Date ( date )
170
176
. toLocaleDateString ( 'ko-KR' , {
171
177
year : 'numeric' ,
@@ -174,16 +180,29 @@ function EventCards({ events, date }: EventCardsProps) {
174
180
} )
175
181
. replace ( / \. / g, '.' )
176
182
. slice ( 0 , - 1 ) ;
177
- console . log ( formattedDate ) ;
178
183
179
184
return (
180
185
< div >
181
- < h2 > { formattedDate } </ h2 >
182
- < div className = "flex overflow-x-auto" >
186
+ < h2 className = "ml-2" > { formattedDate } </ h2 >
187
+ < div className = "flex overflow-x-auto gap-5 " >
183
188
{ events . map ( ( event , index ) => (
184
- < div key = { index } className = "m-2 min-w-[200px ] bg-blue-200 p-2 text-white " >
189
+ < div key = { index } className = "min-w-[240px] min-h-[150px ] bg-white p-4 text-black relative " >
185
190
< h3 > { event . title } </ h3 >
186
- < p > { new Date ( event . start ) . toLocaleTimeString ( ) } </ p >
191
+ < p className = "text-xs mt-1" > { new Date ( event . start ) . toLocaleTimeString ( ) } </ p >
192
+ { /* 메뉴 버튼 */ }
193
+ < div className = "flex flex-col items-center justify-center cursor-pointer absolute top-2 right-2" onClick = { ( ) => setMenuOpen ( menuOpen === index ? - 1 : index ) } >
194
+ < div className = "w-1 h-1 bg-[#429400] rounded-full mb-1" > </ div >
195
+ < div className = "w-1 h-1 bg-[#429400] rounded-full mb-1" > </ div >
196
+ < div className = "w-1 h-1 bg-[#429400] rounded-full" > </ div >
197
+ </ div >
198
+ { menuOpen === index && (
199
+ < div className = "absolute right-0 top-10 bg-white shadow-md rounded-lg z-10" >
200
+ < ul >
201
+ < li className = "p-2 hover:bg-gray-100 cursor-pointer" > 편집</ li >
202
+ < li className = "p-2 hover:bg-gray-100 cursor-pointer" > 삭제</ li >
203
+ </ ul >
204
+ </ div >
205
+ ) }
187
206
</ div >
188
207
) ) }
189
208
</ div >
0 commit comments