Skip to content

Commit 261ef9e

Browse files
feat: replace company name in settings page with user's name (#167)
1 parent 4f582e8 commit 261ef9e

File tree

3 files changed

+29
-12
lines changed

3 files changed

+29
-12
lines changed

src/assets/ts/components/settings.tsx

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { useDispatch } from 'react-redux';
44
import classNames from 'classnames';
55

66
import { AppDispatch } from '@/store';
7-
import { getCompany, getUser } from '@/main';
7+
import { getUserData, getUser } from '@/main';
88
import { PopupSpinner } from '@/components/popup-spinner';
99
import { navigateToProposal } from '@/utils/navigation';
1010
import { handleSignOut } from '@/utils/auth';
@@ -13,26 +13,32 @@ import { HomeIcon } from '@/components/home-icon';
1313
export const Settings: React.FC = () => {
1414
const dispatch = useDispatch<AppDispatch>();
1515
const [isButtonLoading, setIsButtonLoading] = useState<boolean>(false);
16-
const [companyName, setCompanyName] = useState<string>('');
16+
const [firstName, setFirstName] = useState<string>('');
17+
const [lastName, setLastName] = useState<string>('');
18+
const [email, setEmail] = useState<string>('');
1719
const [isViewLoading, setIsViewLoading] = useState<boolean>(false);
1820

19-
const getCompanyData = async (): Promise<void> => {
21+
const setUserData = async (): Promise<void> => {
2022
setIsViewLoading(true);
2123

2224
const { token } = await getUser();
2325

2426
try {
25-
const company = await getCompany({ token });
26-
setCompanyName(company);
27+
const userData = await getUserData({ token });
28+
setFirstName(userData.first_name);
29+
setLastName(userData.last_name);
30+
setEmail(userData.email);
2731
} catch {
28-
setCompanyName('');
32+
setFirstName('');
33+
setLastName('');
34+
setEmail('');
2935
} finally {
3036
setIsViewLoading(false);
3137
}
3238
};
3339

3440
useEffect(() => {
35-
getCompanyData();
41+
setUserData();
3642
}, []);
3743

3844
const handleHomeButtonClick = (): void => {
@@ -62,9 +68,17 @@ export const Settings: React.FC = () => {
6268
signed in
6369
</h3>
6470

65-
{companyName && (
71+
{(firstName || lastName || email) && (
6672
<p className="text-muted">
67-
You are signed in as a member of <strong>{companyName}</strong>.
73+
You are signed in as{' '}
74+
<strong>
75+
{firstName && lastName
76+
? `${firstName} ${lastName}`
77+
: email
78+
? `${email}`
79+
: `${firstName || lastName || ''}`}
80+
</strong>
81+
.
6882
</p>
6983
)}
7084
</div>

src/assets/ts/main.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,14 +139,14 @@ export function getTeamInfo(
139139
});
140140
}
141141

142-
export async function getCompany(user: User): Promise<string> {
143-
const result = await callApi('GET', `v4/users/`, null, user.token).then(
142+
export async function getUserData(user: User): Promise<UserResponse> {
143+
const result = await callApi('GET', `v4.1/users/`, null, user.token).then(
144144
(response: ApiResponseData[]) => {
145145
return response as UserResponse[];
146146
},
147147
);
148148

149-
return result[0].company;
149+
return result[0];
150150
}
151151

152152
export function getAssetDashboardLink(

src/assets/ts/types/screenly-api.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ export interface AssetResponse extends ApiResponseData {
1111

1212
export interface UserResponse extends ApiResponseData {
1313
company: string;
14+
email: string;
15+
first_name: string;
16+
last_name: string;
1417
}
1518

1619
export interface TeamResponse extends ApiResponseData {

0 commit comments

Comments
 (0)