@@ -23,6 +23,7 @@ import {
23
23
removeMember ,
24
24
} from "api/queries/groups" ;
25
25
import type { Group , ReducedUser , User } from "api/typesGenerated" ;
26
+ import { ErrorAlert } from "components/Alert/ErrorAlert" ;
26
27
import { AvatarData } from "components/AvatarData/AvatarData" ;
27
28
import { DeleteDialog } from "components/Dialogs/DeleteDialog/DeleteDialog" ;
28
29
import { EmptyState } from "components/EmptyState/EmptyState" ;
@@ -53,16 +54,20 @@ import { isEveryoneGroup } from "utils/groups";
53
54
import { pageTitle } from "utils/page" ;
54
55
55
56
export const GroupPage :FC = ( ) => {
56
- const { groupId } = useParams ( ) as { groupId :string } ;
57
+ const { groupName } = useParams ( ) as { groupName :string } ;
57
58
const queryClient = useQueryClient ( ) ;
58
59
const navigate = useNavigate ( ) ;
59
- const groupQuery = useQuery ( group ( groupId ) ) ;
60
+ const groupQuery = useQuery ( group ( groupName ) ) ;
60
61
const groupData = groupQuery . data ;
61
- const { data :permissions } = useQuery ( groupPermissions ( groupId ) ) ;
62
+ const { data :permissions } = useQuery (
63
+ groupData !== undefined
64
+ ?groupPermissions ( groupData . id )
65
+ :{ enabled :false } ,
66
+ ) ;
62
67
const addMemberMutation = useMutation ( addMember ( queryClient ) ) ;
63
68
const deleteGroupMutation = useMutation ( deleteGroup ( queryClient ) ) ;
64
69
const [ isDeletingGroup , setIsDeletingGroup ] = useState ( false ) ;
65
- const isLoading = ! groupData || ! permissions ;
70
+ const isLoading = groupQuery . isLoading || ! groupData || ! permissions ;
66
71
const canUpdateGroup = permissions ?permissions . canUpdateGroup :false ;
67
72
68
73
const helmet = (
@@ -75,6 +80,10 @@ export const GroupPage: FC = () => {
75
80
</ Helmet >
76
81
) ;
77
82
83
+ if ( groupQuery . error ) {
84
+ return < ErrorAlert error = { groupQuery . error } /> ;
85
+ }
86
+
78
87
if ( isLoading ) {
79
88
return (
80
89
< >
@@ -83,6 +92,7 @@ export const GroupPage: FC = () => {
83
92
</ >
84
93
) ;
85
94
}
95
+ const groupId = groupData . id ;
86
96
87
97
return (
88
98
< >
@@ -137,6 +147,7 @@ export const GroupPage: FC = () => {
137
147
userId :user . id ,
138
148
} ) ;
139
149
reset ( ) ;
150
+ await groupQuery . refetch ( ) ;
140
151
} catch ( error ) {
141
152
displayError ( getErrorMessage ( error , "Failed to add member." ) ) ;
142
153
}