File tree Expand file tree Collapse file tree 5 files changed +56
-11
lines changed Expand file tree Collapse file tree 5 files changed +56
-11
lines changed Original file line number Diff line number Diff line change 1
1
# DateLeaf
2
+
2
3
> ** DateLeaf** 는 다수의 사람들과의 ** 모임 시간** 을 보다 ** 편리하게 계획** 하기 위한 ** 스케줄러** 입니다.
3
- <br> <br >
4
- 모임을 잡으면서 모든 인원의 일정을 일일이 맞추기 어려울 때,<br>
5
- 매번 번거로운 투표와 생각지 못한 이중약속으로 난감할 때,<br>
6
- 한 번에 너무 많은 스케쥴이 발생하여 나조차도 모든 일정을 기억하기 힘들 때,<br>
7
- 서로의 일정을 입력만 하면 모두가 가능한 날짜와 시간을 자동으로 계산하여<br>
8
- 보다 편리하게 모임 계획을 세울수 있도록 도와줍니다.
4
+ > <br ><br >
5
+ > 모임을 잡으면서 모든 인원의 일정을 일일이 맞추기 어려울 때,<br >
6
+ > 매번 번거로운 투표와 생각지 못한 이중약속으로 난감할 때,<br >
7
+ > 한 번에 너무 많은 스케쥴이 발생하여 나조차도 모든 일정을 기억하기 힘들 때,<br >
8
+ > 서로의 일정을 입력만 하면 모두가 가능한 날짜와 시간을 자동으로 계산하여<br >
9
+ > 보다 편리하게 모임 계획을 세울수 있도록 도와줍니다.
9
10
10
11
![ intro] ( https://github.com/imaginer-dev/DateLeaf/assets/81802112/57386410-3cda-438d-9368-9216991f607f )
11
12
12
-
13
13
## WHAT FOR?
14
+
14
15
현대사회에 불고 있는 자기계발 열풍은, 일시적인 유행을 넘어 하나의 사회 현상으로 자리매김하였습니다.<br >
15
16
이러한 자기계발의 시대에 사람들은 규모도 종류도 다양한 모임 활동을 하게되는데<br >
16
17
그때마다 수많은 일정들의 조율에서 오는 피로가 즐기고자 시작한 일이 되려 힘들어지는 이유가 되기도 합니다.<br >
17
18
우리는 그러한 사람들의 불편함을 인지하였고, 이 부분을 자동화로 만들어서 보다 편리하게 모임 계획을 세울수 있도록 했습니다.
18
19
19
20
## YOU CAN DO.
21
+
20
22
![ image] ( https://github.com/imaginer-dev/DateLeaf/assets/81802112/6663f95b-a2b0-4faa-830b-8e1ba1e7bf39 )
21
23
22
24
![ image] ( https://github.com/imaginer-dev/DateLeaf/assets/81802112/04b0f787-c0d4-4088-8978-0f9adf97604b )
23
25
24
26
## WHAT WE DO
25
27
26
-
27
28
## WE USED
29
+
28
30
![ image] ( https://github.com/imaginer-dev/DateLeaf/assets/81802112/3cd4ee87-e28a-49d1-81ba-cef8bd8c46b7 )
29
31
30
32
## OUR CHALLENGE
31
33
32
34
## WHO WE ARE
35
+
33
36
이예서
Original file line number Diff line number Diff line change @@ -70,3 +70,12 @@ export const searchUser = async (nickname: string) => {
70
70
71
71
return profiles ;
72
72
} ;
73
+
74
+ export const signOut = async ( ) => {
75
+ const { error } = await supabase . auth . signOut ( ) ;
76
+ if ( error ) {
77
+ throw error ;
78
+ }
79
+
80
+ return true ;
81
+ } ;
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ import SideBarGroupList from './SideBarGroupList';
3
3
import SideBarProfile from './SideBarProfile' ;
4
4
import { useNavigate } from 'react-router-dom' ;
5
5
import { useEffect } from 'react' ;
6
+ import SideBarSignOutButton from '@/components/common/SideBar/SideBarSignOutButton.tsx' ;
6
7
7
8
const HamburgerButton = ( ) => {
8
9
const { data : user , isLoading, isError } = useGetProfile ( ) ;
@@ -33,9 +34,12 @@ const HamburgerButton = () => {
33
34
</ label >
34
35
< div className = "drawer-side lg:w-80" >
35
36
< label htmlFor = "my-drawer-3" aria-label = "close sidebar" className = "drawer-overlay" > </ label >
36
- < ul className = "menu min-h-full w-80 bg-base-200 p-4" >
37
- < SideBarProfile imageUrl = { user ?. image_url ?? null } userName = { user ?. user_name ?? '' } />
38
- < SideBarGroupList userId = { user ?. id ?? '' } />
37
+ < ul className = "menu min-h-full w-80 flex-col justify-between bg-base-200 p-4" >
38
+ < div >
39
+ < SideBarProfile imageUrl = { user ?. image_url ?? null } userName = { user ?. user_name ?? '' } />
40
+ < SideBarGroupList userId = { user ?. id ?? '' } />
41
+ </ div >
42
+ < SideBarSignOutButton />
39
43
</ ul >
40
44
</ div >
41
45
</ div >
Original file line number Diff line number Diff line change
1
+ import { useSignOut } from '@/react-queries/useSignOut.ts' ;
2
+ import { useNavigate } from 'react-router-dom' ;
3
+
4
+ export default function SideBarSignOutButton ( ) {
5
+ const { mutate } = useSignOut ( ) ;
6
+ const navigate = useNavigate ( ) ;
7
+
8
+ const onClick = ( ) => {
9
+ mutate ( undefined , {
10
+ onSuccess : ( ) => {
11
+ navigate ( '/login' ) ;
12
+ } ,
13
+ } ) ;
14
+ } ;
15
+
16
+ return (
17
+ < button onClick = { onClick } className = { 'btn btn-error font-bold' } >
18
+ Sign Out
19
+ </ button >
20
+ ) ;
21
+ }
Original file line number Diff line number Diff line change
1
+ import { useMutation } from '@tanstack/react-query' ;
2
+ import { signOut } from '@/apis/authApis.ts' ;
3
+
4
+ export const useSignOut = ( ) =>
5
+ useMutation ( {
6
+ mutationKey : [ 'signOut' ] ,
7
+ mutationFn : signOut ,
8
+ } ) ;
You can’t perform that action at this time.
0 commit comments