Improve invitation dialog
This commit is contained in:
@@ -5,10 +5,12 @@ const i18n = useI18n();
|
||||
const t = i18n.t;
|
||||
|
||||
import { ref, useTemplateRef } from 'vue';
|
||||
import { Dialog, TextInput, EmailInput, FormGroup, Button, InputGroup, Spinner } from '@cloudron/pankow';
|
||||
import { Dialog, TextInput, EmailInput, FormGroup, Button, InputGroup, ProgressBar } from '@cloudron/pankow';
|
||||
import { copyToClipboard } from '@cloudron/pankow/utils';
|
||||
import UsersModel from '../models/UsersModel.js';
|
||||
|
||||
const emit = defineEmits([ 'refreshRequired' ]);
|
||||
|
||||
const usersModel = UsersModel.create();
|
||||
|
||||
const dialog = useTemplateRef('dialog');
|
||||
@@ -44,7 +46,16 @@ defineExpose({
|
||||
dialog.value.open();
|
||||
|
||||
const [error, result] = await usersModel.inviteLink(u.id);
|
||||
if (error) return console.error(error);
|
||||
if (error) {
|
||||
if (error.status === 409) {
|
||||
emit('refreshRequired');
|
||||
dialog.value.close();
|
||||
} else {
|
||||
console.error(error);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
inviteLink.value = result;
|
||||
}
|
||||
});
|
||||
@@ -59,7 +70,7 @@ defineExpose({
|
||||
>
|
||||
<div>
|
||||
<div v-if="!inviteLink" style="text-align: center;">
|
||||
<Spinner class="pankow-spinner-large"/>
|
||||
<ProgressBar mode="indeterminate" :show-label="false" :slim="true"/>
|
||||
</div>
|
||||
<div v-else>
|
||||
<FormGroup>
|
||||
|
||||
Reference in New Issue
Block a user