Skip to content

Commit a3e1c82

Browse files
committed
Merge branch 'dev' of https://github.com/imaginer-dev/DateLeaf into 164---ui-ν”„λ‘œν•„-μˆ˜μ •-κ΅¬ν˜„
2 parents 78409ab + 5d62fa6 commit a3e1c82

File tree

9 files changed

+151
-154
lines changed

9 files changed

+151
-154
lines changed

β€ŽREADME.mdβ€Ž

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,33 @@
11
# DateLeaf
2+
> **DateLeaf**λŠ” λ‹€μˆ˜μ˜ μ‚¬λžŒλ“€κ³Όμ˜ **λͺ¨μž„ μ‹œκ°„**을 보닀 **νŽΈλ¦¬ν•˜κ²Œ κ³„νš**ν•˜κΈ° μœ„ν•œ **μŠ€μΌ€μ€„λŸ¬** μž…λ‹ˆλ‹€.
3+
<br><br>
4+
λͺ¨μž„을 μž‘μœΌλ©΄μ„œ λͺ¨λ“  μΈμ›μ˜ 일정을 일일이 λ§žμΆ”κΈ° μ–΄λ €μšΈ λ•Œ,<br>
5+
맀번 번거둜운 νˆ¬ν‘œμ™€ 생각지 λͺ»ν•œ μ΄μ€‘μ•½μ†μœΌλ‘œ λ‚œκ°ν•  λ•Œ,<br>
6+
ν•œ λ²ˆμ— λ„ˆλ¬΄ λ§Žμ€ μŠ€μΌ€μ₯΄μ΄ λ°œμƒν•˜μ—¬ λ‚˜μ‘°μ°¨λ„ λͺ¨λ“  일정을 κΈ°μ–΅ν•˜κΈ° νž˜λ“€ λ•Œ,<br>
7+
μ„œλ‘œμ˜ 일정을 μž…λ ₯만 ν•˜λ©΄ λͺ¨λ‘κ°€ κ°€λŠ₯ν•œ λ‚ μ§œμ™€ μ‹œκ°„μ„ μžλ™μœΌλ‘œ κ³„μ‚°ν•˜μ—¬<br>
8+
보닀 νŽΈλ¦¬ν•˜κ²Œ λͺ¨μž„ κ³„νšμ„ μ„ΈμšΈμˆ˜ μžˆλ„λ‘ λ„μ™€μ€λ‹ˆλ‹€.
29

3-
<h2 tabindex="-1" class="heading-element" dir="auto"> μΉœκ΅¬μ™€ ν•¨κ»˜ν•˜λŠ” 일정 관리 μ„œλΉ„μŠ€ <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.date-leaf.com"><img src="https://www.date-leaf.com" width="30" data-canonical-src="" style="max-width: 100%;"></a></h2>
10+
![intro](https://github.com/imaginer-dev/DateLeaf/assets/81802112/57386410-3cda-438d-9368-9216991f607f)
411

5-
β€˜λ‚ μ§œβ€˜μ™€ β€˜μžŽμ‚¬κ·€β€˜λ₯Ό κ²°ν•©ν•˜μ—¬, μ‹œκ°„μ΄ μžμ—°μŠ€λŸ½κ²Œ 흐λ₯΄λŠ” 것을 λ‚˜νƒ€λ‚΄λ©°, 각 일정이 μžŽμ‚¬κ·€μ²˜λŸΌ ν•˜λ‚˜ν•˜λ‚˜ μ†Œμ€‘ν•¨μ„ κ°•μ‘°ν•©λ‹ˆλ‹€.
612

7-
<img src="https://camo.githubusercontent.com/9b8caad5e3d6b3d65bf1a7f5552ffd8136bdf6e0e9d2a79884a5d52c367b9e10/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f547970655363726970742d342e382e342d3331373843363f6c6f676f3d74797065736372697074" data-canonical-src="https://img.shields.io/badge/TypeScript-4.8.4-3178C6?logo=typescript" style="max-width: 100%;">
13+
## WHAT FOR?
14+
ν˜„λŒ€μ‚¬νšŒμ— 뢈고 μžˆλŠ” μžκΈ°κ³„λ°œ 열풍은, μΌμ‹œμ μΈ μœ ν–‰μ„ λ„˜μ–΄ ν•˜λ‚˜μ˜ μ‚¬νšŒ ν˜„μƒμœΌλ‘œ μžλ¦¬λ§€κΉ€ν•˜μ˜€μŠ΅λ‹ˆλ‹€.<br>
15+
μ΄λŸ¬ν•œ μžκΈ°κ³„λ°œμ˜ μ‹œλŒ€μ— μ‚¬λžŒλ“€μ€ 규λͺ¨λ„ μ’…λ₯˜λ„ λ‹€μ–‘ν•œ λͺ¨μž„ ν™œλ™μ„ ν•˜κ²Œλ˜λŠ”λ°<br>
16+
κ·Έλ•Œλ§ˆλ‹€ μˆ˜λ§Žμ€ μΌμ •λ“€μ˜ μ‘°μœ¨μ—μ„œ μ˜€λŠ” ν”Όλ‘œκ°€ 즐기고자 μ‹œμž‘ν•œ 일이 되렀 νž˜λ“€μ–΄μ§€λŠ” μ΄μœ κ°€ λ˜κΈ°λ„ ν•©λ‹ˆλ‹€.<br>
17+
μš°λ¦¬λŠ” κ·ΈλŸ¬ν•œ μ‚¬λžŒλ“€μ˜ λΆˆνŽΈν•¨μ„ μΈμ§€ν•˜μ˜€κ³ , 이 뢀뢄을 μžλ™ν™”λ‘œ λ§Œλ“€μ–΄μ„œ 보닀 νŽΈλ¦¬ν•˜κ²Œ λͺ¨μž„ κ³„νšμ„ μ„ΈμšΈμˆ˜ μžˆλ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€.
818

9-
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">πŸš€ ν”„λ‘œμ νŠΈ μ†Œκ°œ</h2><a id="user-content--ν”„λ‘œμ νŠΈ-μ†Œκ°œ" class="anchor" aria-label="Permalink: πŸš€ ν”„λ‘œμ νŠΈ μ†Œκ°œ" href="#-ν”„λ‘œμ νŠΈ-μ†Œκ°œ"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
19+
## YOU CAN DO.
20+
![image](https://github.com/imaginer-dev/DateLeaf/assets/81802112/6663f95b-a2b0-4faa-830b-8e1ba1e7bf39)
1021

11-
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">πŸ›  μ£Όμš” κΈ°λŠ₯</h2><a id="user-content--μ£Όμš”-κΈ°λŠ₯" class="anchor" aria-label="Permalink: πŸ›  μ£Όμš” κΈ°λŠ₯" href="#-μ£Όμš”-κΈ°λŠ₯"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
22+
![image](https://github.com/imaginer-dev/DateLeaf/assets/81802112/04b0f787-c0d4-4088-8978-0f9adf97604b)
1223

13-
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">πŸ“š νŒ€ IMAGINER 개발 일지</h2><a id="user-content--νŒ€-IMAGINER-개발-일지" class="anchor" aria-label="Permalink: πŸ“š νŒ€ IMAGINER 개발 일지" href="#-νŒ€-IMAGINER-개발-일지"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
24+
## WHAT WE DO
25+
26+
27+
## WE USED
28+
![image](https://github.com/imaginer-dev/DateLeaf/assets/81802112/3cd4ee87-e28a-49d1-81ba-cef8bd8c46b7)
29+
30+
## OUR CHALLENGE
31+
32+
## WHO WE ARE
33+
μ΄μ˜ˆμ„œ

β€Žsrc/apis/personalScheduleApi.tsβ€Ž

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,14 @@ import supabase from '@/supabase';
22
import { Events } from '@/utils/index';
33

44
export const getPersonalSchedule = async () => {
5-
const { data, error } = await supabase.from('personal_schedules').select();
5+
const { data: userData, error: userError } = await supabase.auth.getUser();
6+
7+
if (userError) {
8+
throw userError;
9+
}
10+
11+
const { data, error } = await supabase.from('personal_schedules').select('*').eq('user_id', userData.user.id);
12+
613
if (error) {
714
throw error;
815
}

β€Žsrc/components/MyCalendar/CreateEventButton.tsxβ€Ž

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import DialogButton from '@/components/common/DialogButton';
21
import { InputRef } from '../common/InputForm.tsx';
32
import { useState, useRef, useEffect } from 'react';
43
import { Events } from '@/utils/index.ts';
@@ -11,7 +10,7 @@ export interface eventProps {
1110
end_date?: string;
1211
}
1312

14-
const CreateEventButton = ({ id, title, start_date, end_date }: eventProps) => {
13+
const CreateEventDialog = ({ id, title, start_date, end_date }: eventProps) => {
1514
const [eventTitle, setTitle] = useState('');
1615
const [startDate, setStartDate] = useState('');
1716
const [endDate, setEndDate] = useState('');
@@ -54,13 +53,21 @@ const CreateEventButton = ({ id, title, start_date, end_date }: eventProps) => {
5453
end: endDate === '' ? startDate : endDate,
5554
};
5655
if (id) {
57-
updatePersonalSchedule(id, newEvent).catch((err) => {
58-
console.log(err);
59-
});
56+
updatePersonalSchedule(id, newEvent)
57+
.then(() => {
58+
location.href = '/';
59+
})
60+
.catch((err) => {
61+
console.log(err);
62+
});
6063
} else {
61-
addPersonalSchedule(newEvent).catch((err) => {
62-
console.log(err);
63-
});
64+
addPersonalSchedule(newEvent)
65+
.then(() => {
66+
location.href = '/';
67+
})
68+
.catch((err) => {
69+
console.log(err);
70+
});
6471
}
6572
}
6673

@@ -78,7 +85,7 @@ const CreateEventButton = ({ id, title, start_date, end_date }: eventProps) => {
7885
}
7986
};
8087

81-
const eventForm = (
88+
return (
8289
<div>
8390
<hr className="mt-1" />
8491
<InputRef title="일정 제λͺ©" placeholder="μƒˆ 일정 제λͺ©" onChange={onTitleChanged} ref={titleRef} />
@@ -90,16 +97,6 @@ const CreateEventButton = ({ id, title, start_date, end_date }: eventProps) => {
9097
</button>
9198
</div>
9299
);
93-
return (
94-
<div className="p-8 pl-0 pr-0">
95-
<DialogButton
96-
classname="btn bg-primary text-base-100 w-full"
97-
name={id ? 'μˆ˜μ •' : 'μƒˆ 일정 μΆ”κ°€ν•˜κΈ°'}
98-
title={id ? '일정 μˆ˜μ •' : '일정 μΆ”κ°€'}
99-
desc={''}
100-
children={eventForm}
101-
/>
102-
</div>
103-
);
104100
};
105-
export default CreateEventButton;
101+
102+
export default CreateEventDialog;

β€Žsrc/components/common/Calendar.tsxβ€Ž

Lines changed: 32 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
import FullCalendar from '@fullcalendar/react';
22
import dayGridPlugin from '@fullcalendar/daygrid';
33
import interactionPlugin from '@fullcalendar/interaction';
4-
import { useRef, useState, useEffect, useCallback } from 'react';
5-
// import { formatDateRange, formatTime } from '../../utils/dateUtils';
6-
import { Events, DB_Events } from '../../utils/index.ts';
7-
import { formatDateRange } from '../../utils/dateUtils';
8-
import CreateEventButton from '@/components/MyCalendar/CreateEventButton.tsx';
4+
import { useCallback, useEffect, useRef, useState } from 'react';
5+
import { DB_Events, Events } from '@/utils';
6+
import { formatDateRange } from '@/utils/dateUtils.ts';
7+
import CreateEventDialog from '@/components/MyCalendar/CreateEventButton.tsx';
8+
import Dialog from './Dialog.tsx';
9+
10+
interface DialogElement {
11+
openModal: () => void;
12+
closeModal: () => void;
13+
}
914

1015
interface EventInfo {
1116
timeText: string;
@@ -31,20 +36,6 @@ export default function Calendar({ db_events, onDeleteClicked }: CalendarProps)
3136
const [selectedEvents, setSelectedEvents] = useState<DB_Events[]>([]);
3237
const [selectedDate, setSelectedDate] = useState<string | null>(null);
3338

34-
/*
35-
const handleDateClick = (clickInfo: EventClickArg) => {
36-
if (clickInfo.event.start) {
37-
const clickStartDate = new Date(clickInfo.event.start);
38-
setSelectedDate(clickStartDate);
39-
40-
const clickedStartDate = new Date(clickInfo.event.start).toDateString();
41-
setSelectedEvents(events.filter((event) => new Date(event.start).toDateString() === clickedStartDate));
42-
} else {
43-
console.log('not available');
44-
}
45-
};
46-
*/
47-
4839
const handleDateSelection = (dateClickInfo: { dateStr: string }) => {
4940
console.log(dateClickInfo);
5041
const clickedDateStr = dateClickInfo.dateStr;
@@ -82,47 +73,12 @@ export default function Calendar({ db_events, onDeleteClicked }: CalendarProps)
8273
setCalendarHeight(window.innerWidth < 768 ? 500 : 'auto');
8374
}, []);
8475

85-
/*
86-
const updateTitle = () => {
87-
const calendarApi = calendarRef?.current?.getApi();
88-
if (calendarApi) {
89-
const calendarView = calendarApi.view;
90-
console.log('View start date:', calendarView.currentStart);
91-
92-
const date = new Date(calendarView.currentStart);
93-
const year = date.getFullYear();
94-
const month = (date.getMonth() + 1).toString().padStart(2, '0');
95-
const newTitle = `${year}.${month}`;
96-
97-
const titleElement = document.querySelector('.fc-toolbar-title');
98-
if (titleElement) {
99-
titleElement.textContent = newTitle;
100-
}
101-
}
102-
};
103-
*/
104-
10576
useEffect(() => {
106-
/*
107-
const calendarApi = calendarRef?.current?.getApi();
108-
if (calendarApi) {
109-
calendarApi.on('datesSet', updateTitle);
110-
}
111-
112-
updateTitle(); // μ»΄ν¬λ„ŒνŠΈ 마운트 μ‹œ 제λͺ© μ—…λ°μ΄νŠΈ
113-
*/
114-
115-
/* μΊ˜λ¦°λ” - λ°˜μ‘ν˜• μ‚¬μ΄μ¦ˆ */
11677
window.addEventListener('resize', updateSize);
11778
updateSize(); // μ»΄ν¬λ„ŒνŠΈ 마운트 μ‹œ ν™”λ©΄ 크기에 λ”°λ₯Έ μ—…λ°μ΄νŠΈ
11879

11980
return () => {
12081
window.removeEventListener('resize', updateSize);
121-
/*
122-
if (calendarApi) {
123-
calendarApi.off('datesSet', updateTitle);
124-
}
125-
*/
12682
};
12783
}, [updateSize]);
12884

@@ -191,6 +147,13 @@ function EventCards({ events, date, onDelete }: EventCardsProps) {
191147
console.log(events, date);
192148
const [menuOpen, setMenuOpen] = useState(-1);
193149

150+
const dialogRef = useRef<DialogElement | null>(null);
151+
const openModal = (dialogRef: React.RefObject<DialogElement>) => {
152+
if (dialogRef.current) {
153+
dialogRef.current?.openModal();
154+
}
155+
};
156+
194157
if (!events.length) {
195158
return (
196159
<div className="min-h-[150px] min-w-[240px] bg-white p-4 text-black">
@@ -225,14 +188,22 @@ function EventCards({ events, date, onDelete }: EventCardsProps) {
225188
{menuOpen === index && (
226189
<div className="absolute right-0 top-10 z-10 rounded-lg bg-white shadow-md">
227190
<ul>
228-
<li className="cursor-pointer p-2 hover:bg-gray-100">
229-
<CreateEventButton
230-
id={event.id}
231-
title={event.title}
232-
start_date={event.start_date}
233-
end_date={event.end_date}
234-
/>
191+
<li className="cursor-pointer p-2 hover:bg-gray-100" onClick={() => openModal(dialogRef)}>
192+
μˆ˜μ •
235193
</li>
194+
<Dialog
195+
ref={dialogRef}
196+
title="일정 μˆ˜μ •"
197+
desc={''}
198+
children={
199+
<CreateEventDialog
200+
id={event.id}
201+
title={event.title}
202+
start_date={event.start_date}
203+
end_date={event.end_date}
204+
/>
205+
}
206+
/>
236207
<li className="cursor-pointer p-2 hover:bg-gray-100" onClick={() => onDelete(event.id)}>
237208
μ‚­μ œ
238209
</li>

β€Žsrc/main.tsxβ€Ž

Lines changed: 36 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,24 @@
11
import ReactDOM from 'react-dom/client';
22
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
33
import './styles/index.css';
4-
import App from './App.tsx';
5-
import TextInputForm from './pages/InputFormTest.tsx';
64
import { createBrowserRouter, RouterProvider } from 'react-router-dom';
75
import ChangePasswordPage from './pages/ChangePasswordPage.tsx';
8-
import { JoinPage, LoginPage, ResetPwPage, NotFound, Policy } from './pages/index.ts';
6+
import { JoinPage, LoginPage, NotFound, Policy, ResetPwPage } from './pages/index.ts';
97
import ProtectedRoute from './providers/ProtectedRoute.tsx';
108
import EditGroupSchedule from './pages/EditGroupSchedulePage.tsx';
119
import AddGroupSchedulePage from './pages/AddGroupSchedulePage.tsx';
1210
import GroupSchedulePage from './pages/GroupSchedulePage.tsx';
1311
import ProfilePage from './pages/ProfilePage.tsx';
12+
import App from '@/App.tsx';
1413

1514
const router = createBrowserRouter([
1615
{
1716
path: '/',
17+
element: <ProtectedRoute />,
1818
children: [
1919
{
2020
index: true,
21-
element: (
22-
<ProtectedRoute>
23-
<App />
24-
</ProtectedRoute>
25-
),
21+
element: <App />,
2622
},
2723
{
2824
path: '/group/:groupId/edit/:scheduleId',
@@ -37,50 +33,42 @@ const router = createBrowserRouter([
3733
element: <AddGroupSchedulePage />,
3834
},
3935
{
40-
path: '/login',
41-
element: <LoginPage />,
42-
},
43-
{
44-
path: '/join',
45-
element: <JoinPage />,
46-
},
47-
{
48-
path: '/editPw',
49-
element: <ResetPwPage />,
50-
},
51-
{
52-
path: '/change-password',
53-
element: <ChangePasswordPage />,
54-
},
55-
{
56-
path: '*',
57-
element: <NotFound />,
58-
},
59-
{
60-
path: '/test',
61-
children: [
62-
{
63-
path: 'inputForm',
64-
element: <TextInputForm />,
65-
},
66-
],
36+
path: '/profile',
37+
element: <ProfilePage />,
6738
},
39+
],
40+
},
41+
{
42+
path: '/login',
43+
element: <LoginPage />,
44+
},
45+
{
46+
path: '/join',
47+
element: <JoinPage />,
48+
},
49+
{
50+
path: '/editPw',
51+
element: <ResetPwPage />,
52+
},
53+
{
54+
path: '/change-password',
55+
element: <ChangePasswordPage />,
56+
},
57+
{
58+
path: '*',
59+
element: <NotFound />,
60+
},
61+
62+
{
63+
path: '/policy',
64+
children: [
6865
{
69-
path: '/policy',
70-
children: [
71-
{
72-
path: 'personalInfo',
73-
element: <Policy.PersonalInfoPage />,
74-
},
75-
{
76-
path: 'usecondition',
77-
element: <Policy.UseConditionPage />,
78-
},
79-
],
66+
path: 'personalInfo',
67+
element: <Policy.PersonalInfoPage />,
8068
},
8169
{
82-
path: '/profile',
83-
element: <ProfilePage />,
70+
path: 'usecondition',
71+
element: <Policy.UseConditionPage />,
8472
},
8573
],
8674
},

β€Žsrc/pages/GroupSchedulePage.tsxβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import AppBar from '@/components/common/AppBar';
22
import HamburgerButton from '@/components/common/SideBar/HamburgerButton';
33
import Calendar from '@/components/common/Calendar';
4-
import CreateEventButton from '@/components/MyCalendar/CreateEventButton';
4+
import CreateEventDialog from '@/components/MyCalendar/CreateEventButton';
55
import { useParams } from 'react-router-dom';
66
import { useGetOneGroupSchedule } from '@/react-queries/useGetOneGroupSchedule';
77
import { Loading } from '.';
@@ -42,7 +42,7 @@ const GroupSchedulePage = () => {
4242
</div>
4343
</div>
4444
</main>
45-
<CreateEventButton />
45+
<CreateEventDialog />
4646
</div>
4747
);
4848
};

0 commit comments

Comments
Β (0)