1- import React from 'react'
1+ import React , { useState } from 'react'
2+ import { FaGithub } from 'react-icons/fa'
3+ import { FcGoogle } from 'react-icons/fc'
24import Toggle from 'react-toggle'
35import 'react-toggle/style.css'
4- import { Button , ChipsSet } from 'src/components/Elements'
6+ import { Button , ChipsSet , ConfirmModal } from 'src/components/Elements'
57import { Footer } from 'src/components/Layout'
68import { SettingsContentLayout } from 'src/components/Layout/SettingsContentLayout'
79import { useAuth , User } from 'src/features/auth'
@@ -20,26 +22,42 @@ import { Option } from 'src/types'
2022import { DNDSettings } from './DNDSettings'
2123import './generalSettings.css'
2224
25+ // TODO Maybe we should create a separate folder in components for UserInfo ?
2326interface UserInfoProps {
2427 user : User
2528}
2629
2730const UserInfo = ( { user } : UserInfoProps ) => {
2831 const { logout, providerId } = useAuth ( )
2932 const providerName = providerId ?. split ( '.' ) [ 0 ] || 'Unknown'
33+ const [ showLogout , setShowLogout ] = useState ( false )
3034
3135 return (
3236 < div className = "userContent" >
37+ < ConfirmModal
38+ showModal = { showLogout }
39+ title = "Logout !"
40+ description = "Are you sure you want to logout ?"
41+ onClose = { ( ) => setShowLogout ( false ) }
42+ onConfirm = { logout }
43+ />
3344 { user ?. imageURL && < img src = { user . imageURL } className = "userImage" > </ img > }
3445 < div className = "userInfos" >
3546 < div className = "userName" > { user . name } </ div >
36- < div className = "sub providerId" >
47+ < div className = "sub" >
48+ { providerId == 'github.com' ? (
49+ < FaGithub size = { 18 } />
50+ ) : providerId == 'google.com' ? (
51+ < FcGoogle size = { 18 } />
52+ ) : null }
3753 Connected with < span className = "capitalize" > { providerName } </ span >
3854 </ div >
55+ < div >
56+ < Button className = "logoutBtn" onClick = { ( ) => setShowLogout ( true ) } size = "small" >
57+ Logout
58+ </ Button >
59+ </ div >
3960 </ div >
40- < Button onClick = { logout } size = "small" >
41- Logout
42- </ Button >
4361 </ div >
4462 )
4563}
@@ -49,7 +67,6 @@ export const GeneralSettings = () => {
4967 openLinksNewTab,
5068 listingMode,
5169 theme,
52- searchEngine,
5370 maxVisibleCards,
5471 setTheme,
5572 setListingMode,
0 commit comments