@@ -16,12 +16,15 @@ import {
1616 useStore
1717} from "@code0-tech/pictor" ;
1818import { UserService } from "@edition/user/services/User.service" ;
19+ import Link from "next/link" ;
1920import { notFound } from "next/navigation" ;
2021import { UserDataTableComponent } from "@edition/user/components/UserDataTableComponent" ;
2122import { DataTableFilterProps , DataTableSortProps } from "@code0-tech/pictor/dist/components/data-table/DataTable" ;
2223import { UserDataTableFilterInputComponent } from "@edition/user/components/UserDataTableFilterInputComponent" ;
24+ import { UserEditDialogComponent } from "@edition/user/components/UserEditDialogComponent" ;
2325import { IconMinus , IconSortAscending , IconSortDescending } from "@tabler/icons-react" ;
2426import { useUserSession } from "@edition/user/hooks/User.session.hook" ;
27+ import { User } from "@code0-tech/sagittarius-graphql-types" ;
2528
2629export 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