@@ -15,6 +15,7 @@ import PageLayout from '../../components/PageLayout';
1515import { useCurrentUser , useCurrentUserSecureSettings , useSingleUserSettings } from '../../hooks/users.hooks' ;
1616import ErrorPage from '../ErrorPage' ;
1717import UserSecureSettings from './UserSecureSettings/UserSecureSettings' ;
18+ import { useAllTeams } from '../../hooks/teams.hooks' ;
1819
1920const NERSwitch = styled ( ( props : SwitchProps ) => (
2021 < Switch focusVisibleClassName = ".Mui-focusVisible" disableRipple { ...props } />
@@ -80,16 +81,20 @@ const Settings: React.FC = () => {
8081 error : secureSettingsError ,
8182 data : userSecureSettings
8283 } = useCurrentUserSecureSettings ( ) ;
84+ const { isLoading : allTeamsIsLoading , isError : allTeamsIsError , data : teams , error : allTeamsError } = useAllTeams ( ) ;
8385
8486 if ( secureSettingsIsError ) return < ErrorPage error = { secureSettingsError } message = { secureSettingsError . message } /> ;
8587 if ( settingsIsError ) return < ErrorPage error = { settingsError } message = { settingsError . message } /> ;
88+ if ( allTeamsIsError ) return < ErrorPage error = { allTeamsError } message = { allTeamsError . message } /> ;
8689 if (
8790 auth . isLoading ||
8891 ! auth . user ||
8992 settingsIsLoading ||
9093 ! userSettingsData ||
9194 secureSettingsIsLoading ||
92- ! userSecureSettings
95+ ! userSecureSettings ||
96+ allTeamsIsLoading ||
97+ ! teams
9398 )
9499 return < LoadingIndicator /> ;
95100
@@ -100,6 +105,10 @@ const Settings: React.FC = () => {
100105 } , 2000 ) ;
101106 } ;
102107
108+ const userTeams = teams . filter ( ( team ) =>
109+ team . members . some ( ( member ) => member . userId === user . userId || team . head . userId === user . userId )
110+ ) ;
111+
103112 return (
104113 < PageLayout title = "Settings" >
105114 { showAlert && < Alert severity = "info" > Haha { auth . user ?. firstName } bye bye!</ Alert > }
@@ -145,6 +154,12 @@ const Settings: React.FC = () => {
145154 < Grid item md = { 4 } lg = { 2 } >
146155 < DetailDisplay label = "Role" content = { user . role } />
147156 </ Grid >
157+ < Grid item md = { 4 } lg = { 3 } >
158+ < DetailDisplay
159+ label = "Teams"
160+ content = { userTeams . length === 0 ? 'None' : userTeams . map ( ( team ) => team . teamName ) . join ( ', ' ) }
161+ />
162+ </ Grid >
148163 </ Grid >
149164 </ PageBlock >
150165 < UserSettings currentSettings = { userSettingsData } />
0 commit comments