Skip to content

Commit f363e84

Browse files
committed
feat: enhance UsersPage with user editing functionality and invite link
1 parent 6098a80 commit f363e84

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

src/packages/ce/src/user/pages/UsersPage.tsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,15 @@ import {
1616
useStore
1717
} from "@code0-tech/pictor";
1818
import {UserService} from "@edition/user/services/User.service";
19+
import Link from "next/link";
1920
import {notFound} from "next/navigation";
2021
import {UserDataTableComponent} from "@edition/user/components/UserDataTableComponent";
2122
import {DataTableFilterProps, DataTableSortProps} from "@code0-tech/pictor/dist/components/data-table/DataTable";
2223
import {UserDataTableFilterInputComponent} from "@edition/user/components/UserDataTableFilterInputComponent";
24+
import {UserEditDialogComponent} from "@edition/user/components/UserEditDialogComponent";
2325
import {IconMinus, IconSortAscending, IconSortDescending} from "@tabler/icons-react";
2426
import {useUserSession} from "@edition/user/hooks/User.session.hook";
27+
import {User} from "@code0-tech/sagittarius-graphql-types";
2528

2629
export const UsersPage: React.FC = () => {
2730

@@ -32,6 +35,7 @@ export const UsersPage: React.FC = () => {
3235

3336
const [filter, setFilter] = React.useState<DataTableFilterProps>({})
3437
const [sort, setSort] = React.useState<DataTableSortProps>({})
38+
const [editUserId, setEditUserId] = React.useState<User['id'] | undefined>(undefined)
3539

3640
if (currentUser && !currentUser.admin) {
3741
notFound()
@@ -54,7 +58,9 @@ export const UsersPage: React.FC = () => {
5458
</Text>
5559
</Flex>
5660
<ButtonGroup>
57-
<Button color={"success"}>Invite</Button>
61+
<Link href={`/users/invite`}>
62+
<Button color={"success"}>Invite</Button>
63+
</Link>
5864
<Menu>
5965
<MenuTrigger asChild>
6066
<Button color={"secondary"} variant={"filled"}>Sort</Button>
@@ -124,6 +130,12 @@ export const UsersPage: React.FC = () => {
124130
<UserDataTableFilterInputComponent onChange={filter => setFilter(filter)}/>
125131
</div>
126132
<Spacing spacing={"xl"}/>
127-
<UserDataTableComponent sort={sort} filter={filter}/>
133+
<UserDataTableComponent sort={sort} filter={filter}
134+
onSelect={(item) => setEditUserId(item?.id)}/>
135+
<UserEditDialogComponent userId={editUserId}
136+
open={editUserId !== undefined}
137+
onOpenChange={(open) => {
138+
if (!open) setEditUserId(undefined)
139+
}}/>
128140
</div>
129141
}

0 commit comments

Comments
 (0)