From 4c6be210a3e6cca77369c133cde9d47b79ebbb84 Mon Sep 17 00:00:00 2001 From: Titouan Rigoudy Date: Fri, 5 Nov 2021 19:16:09 +0100 Subject: [PATCH] Handle user not found scenario. --- src/modules/user/UserDetails.tsx | 44 ++++++++++++-------------------- src/modules/user/UsersPane.tsx | 24 ++++++++++++++--- 2 files changed, 37 insertions(+), 31 deletions(-) diff --git a/src/modules/user/UserDetails.tsx b/src/modules/user/UserDetails.tsx index c55cb2a..c05a077 100644 --- a/src/modules/user/UserDetails.tsx +++ b/src/modules/user/UserDetails.tsx @@ -3,34 +3,24 @@ import { FC } from "react"; import { UserState } from "modules/user/slice"; interface Props { - user?: UserState; + user: UserState; } -const UserDetails: FC = ({ user }) => { - if (user === undefined) { - return ( -
-

Select a user

-
- ); - } - - return ( -
- Name: {user.name} -
- Status: {user.status} -
- Average speed: {user.averageSpeed} -
# Downloads: {user.numDownloads} -
# Files: {user.numFiles} -
# Folders: {user.numFolders} -
# Free slots: {user.numFreeSlots} -
- Country: {user.country} -
-
- ); -}; +const UserDetails: FC = ({ user }) => ( +
+ Name: {user.name} +
+ Status: {user.status} +
+ Average speed: {user.averageSpeed} +
# Downloads: {user.numDownloads} +
# Files: {user.numFiles} +
# Folders: {user.numFolders} +
# Free slots: {user.numFreeSlots} +
+ Country: {user.country} +
+
+); export default UserDetails; diff --git a/src/modules/user/UsersPane.tsx b/src/modules/user/UsersPane.tsx index e15312c..ebbf94a 100644 --- a/src/modules/user/UsersPane.tsx +++ b/src/modules/user/UsersPane.tsx @@ -16,13 +16,29 @@ interface UrlParams { userId: string; } +interface BannerProps { + title: string; +} + +const UserInfoBanner: FC = ({ title }) => { + return ( +
+

{title}

+
+ ); +}; + const UserInfoPane: FC = ({ users }) => { const { userId } = useParams(); - let user; - if (userId !== undefined) { - const name = decode(userId); - user = users[name]; + if (userId === undefined) { + return ; + } + + const name = decode(userId); + const user = users[name]; + if (user === undefined) { + return ; } return ;