2424 <v-divider />
2525
2626 <v-card-text class =" mt-4 mb-0 pb-1" >
27- <v-row align =" center" >
28- <v-col cols =" 12" >
29- <v-select
30- v-model =" newRole"
31- :items =" items"
32- label =" Role"
33- :error-messages =" errorMessage"
34- require
35- data-test =" role-select"
36- />
37- </v-col >
38- </v-row >
27+ <RoleSelect
28+ v-model =" newRole"
29+ data-test =" role-select"
30+ />
3931 </v-card-text >
4032
4133 <v-card-actions >
6153<script setup lang="ts">
6254import { ref } from " vue" ;
6355import axios from " axios" ;
64- import { INamespaceMember } from " @/interfaces/INamespace" ;
56+ import { BasicRole , INamespaceMember } from " @/interfaces/INamespace" ;
6557import { useStore } from " @/store" ;
6658import handleError from " @/utils/handleError" ;
6759import useSnackbar from " @/helpers/snackbar" ;
6860import BaseDialog from " @/components/BaseDialog.vue" ;
61+ import RoleSelect from " @/components/Team/RoleSelect.vue" ;
6962
7063const { member, hasAuthorization } = defineProps <{
7164 member: INamespaceMember ;
@@ -76,9 +69,7 @@ const emit = defineEmits(["update"]);
7669const store = useStore ();
7770const snackbar = useSnackbar ();
7871const showDialog = ref (false );
79- const newRole = ref (member .role );
80- const errorMessage = ref (" " );
81- const items = [" administrator" , " operator" , " observer" ];
72+ const newRole = ref (member .role as BasicRole );
8273
8374const close = () => {
8475 showDialog .value = false ;
@@ -94,23 +85,20 @@ const handleEditMemberError = (error: unknown) => {
9485 const status = error .response ?.status ;
9586 switch (status ) {
9687 case 400 :
97- errorMessage . value = " The user isn't linked to the namespace." ;
88+ snackbar . showError ( " The user isn't linked to the namespace." ) ;
9889 break ;
9990 case 403 :
100- errorMessage . value = " You don't have permission to assign a role to the user." ;
91+ snackbar . showError ( " You don't have permission to assign a role to the user." ) ;
10192 break ;
10293 case 404 :
103- errorMessage . value = " The username doesn't exist." ;
94+ snackbar . showError ( " The username doesn't exist." ) ;
10495 break ;
10596 default :
106- handleError ( error );
97+ snackbar . showError ( " Failed to update user role. " );
10798 }
99+ } else snackbar .showError (" Failed to update user role." );
108100
109- snackbar .showError (" Failed to update user role." );
110- } else {
111- snackbar .showError (" Failed to update user role." );
112- handleError (error );
113- }
101+ handleError (error );
114102};
115103
116104const editMember = async () => {
0 commit comments