This commit is contained in:
Presley
2022-04-22 17:27:42 +00:00
parent b73fb80a9b
commit fc5ec160f9
4 changed files with 26 additions and 16 deletions
+1 -1
View File
@@ -77,7 +77,7 @@ export const AppRouter: React.FC = () => (
/>
</Route>
<Route path="users" >
<Route path="users">
<Route
index
element={
+9 -1
View File
@@ -14,6 +14,14 @@ export const UsersPage: React.FC = () => {
if (usersState.matches("error")) {
return <ErrorSummary error={getUsersError} />
} else {
return <UsersPageView users={users} pager={pager} openUserCreationDialog={() => {navigate("/users/create")}} />
return (
<UsersPageView
users={users}
pager={pager}
openUserCreationDialog={() => {
navigate("/users/create")
}}
/>
)
}
}
+6 -2
View File
@@ -7,7 +7,7 @@ import { UsersTable } from "../../components/UsersTable/UsersTable"
export const Language = {
pageTitle: "Users",
pageSubtitle: (pager: Pager | undefined): string => (pager ? `${pager.total} total` : ""),
newUserButton: "New User"
newUserButton: "New User",
}
export interface UsersPageViewProps {
@@ -21,7 +21,11 @@ export const UsersPageView: React.FC<UsersPageViewProps> = ({ users, pager, open
return (
<div className={styles.flexColumn}>
<Header title={Language.pageTitle} subTitle={Language.pageSubtitle(pager)} action={{ text: Language.newUserButton, onClick: openUserCreationDialog}}/>
<Header
title={Language.pageTitle}
subTitle={Language.pageSubtitle(pager)}
action={{ text: Language.newUserButton, onClick: openUserCreationDialog }}
/>
<UsersTable users={users} />
</div>
)
+10 -12
View File
@@ -6,7 +6,7 @@ import { displayError } from "../../components/GlobalSnackbar/utils"
const Language = {
createUserError: "Unable to create user",
createUserSuccess: "Successfully created user"
createUserSuccess: "Successfully created user",
}
export interface UsersContext {
@@ -16,7 +16,7 @@ export interface UsersContext {
createUserError?: Error | unknown
}
export type UsersEvent = { type: "GET_USERS" } | { type: "CREATE", user: GenTypes.CreateUserRequest }
export type UsersEvent = { type: "GET_USERS" } | { type: "CREATE"; user: GenTypes.CreateUserRequest }
export const usersMachine = createMachine(
{
@@ -27,7 +27,7 @@ export const usersMachine = createMachine(
services: {} as {
getUsers: {
data: Types.PagedUsers
},
}
createUser: {
data: GenTypes.User
}
@@ -42,7 +42,7 @@ export const usersMachine = createMachine(
idle: {
on: {
GET_USERS: "gettingUsers",
CREATE: "creatingUser"
CREATE: "creatingUser",
},
},
gettingUsers: {
@@ -70,14 +70,14 @@ export const usersMachine = createMachine(
id: "createUser",
onDone: {
target: "gettingUsers",
actions: "displayCreateUserSuccess"
actions: "displayCreateUserSuccess",
},
onError: {
target: "idle",
actions: "displayCreateUserError"
}
actions: "displayCreateUserError",
},
},
tags: "loading"
tags: "loading",
},
error: {
on: {
@@ -89,9 +89,7 @@ export const usersMachine = createMachine(
{
services: {
getUsers: API.getUsers,
createUser: (_, event) => (
API.createUser(event.user)
)
createUser: (_, event) => API.createUser(event.user),
},
actions: {
assignUsers: assign({
@@ -110,7 +108,7 @@ export const usersMachine = createMachine(
},
displayCreateUserSuccess: () => {
displayError(Language.createUserSuccess)
}
},
},
},
)