chore: show loader when deleting a question or comment

This commit is contained in:
Rotimi Best
2023-12-13 14:28:10 +03:00
parent 60a3de662e
commit ed5e6fab3b
3 changed files with 30 additions and 4 deletions
@@ -7,6 +7,7 @@
export let onCancel = () => {};
export let open = false;
export let isQuestion = false;
export let isDeleting = false;
</script>
<Modal
@@ -32,6 +33,7 @@
variant={VARIANTS.CONTAINED}
label="Yes, delete"
onClick={onDelete}
isLoading={isDeleting}
/>
</div>
</div>
@@ -67,11 +67,13 @@
let isEditMode = false;
let deleteComment = {
shouldDelete: false,
commentId: ''
commentId: '',
isDeleting: false
};
let deleteQuestion = {
shouldDelete: false,
questionId: ''
questionId: '',
isDeleting: false
};
let editContent = {
title: '',
@@ -267,11 +269,15 @@
async function handleDelete(isQuestion: boolean) {
if (!isQuestion) {
deleteComment.isDeleting = true;
const { error } = await supabase
.from('community_answer')
.delete()
.match({ id: deleteComment.commentId });
deleteComment.isDeleting = false;
if (error) {
snackbar.error('Error deleting comments');
console.log('Error deleting comments', error);
@@ -286,6 +292,7 @@
// Handle only delete comment
return;
}
deleteQuestion.isDeleting = true;
const { error: commentDeleteError } = await supabase
.from('community_answer')
@@ -295,6 +302,8 @@
if (commentDeleteError) {
snackbar.error('Error deleting comments');
console.log('Error deleting comments', commentDeleteError);
deleteQuestion.isDeleting = false;
return;
}
@@ -311,6 +320,7 @@
snackbar.success('Deleted successfully');
goto(`/lms/community`);
deleteQuestion.isDeleting = false;
}
$: browser && fetchCommunityQuestion(slug);
@@ -322,6 +332,7 @@
<DeleteModal
bind:open={deleteQuestion.shouldDelete}
bind:isDeleting={deleteQuestion.isDeleting}
onCancel={() => {
deleteQuestion.shouldDelete = false;
deleteQuestion.questionId = '';
@@ -332,6 +343,7 @@
<DeleteModal
bind:open={deleteComment.shouldDelete}
isDeleting={deleteComment.isDeleting}
onCancel={() => {
deleteComment.shouldDelete = false;
deleteComment.commentId = '';
@@ -67,11 +67,13 @@
let isEditMode = false;
let deleteComment = {
shouldDelete: false,
commentId: ''
commentId: '',
isDeleting: false
};
let deleteQuestion = {
shouldDelete: false,
questionId: ''
questionId: '',
isDeleting: false
};
let editContent = {
title: '',
@@ -267,11 +269,15 @@
async function handleDelete(isQuestion: boolean) {
if (!isQuestion) {
deleteComment.isDeleting = true;
const { error } = await supabase
.from('community_answer')
.delete()
.match({ id: deleteComment.commentId });
deleteComment.isDeleting = false;
if (error) {
snackbar.error('Error deleting comments');
console.log('Error deleting comments', error);
@@ -286,6 +292,7 @@
// Handle only delete comment
return;
}
deleteQuestion.isDeleting = true;
const { error: commentDeleteError } = await supabase
.from('community_answer')
@@ -295,6 +302,8 @@
if (commentDeleteError) {
snackbar.error('Error deleting comments');
console.log('Error deleting comments', commentDeleteError);
deleteQuestion.isDeleting = false;
return;
}
@@ -311,6 +320,7 @@
snackbar.success('Deleted successfully');
goto(`${$currentOrgPath}/community`);
deleteQuestion.isDeleting = false;
}
$: browser && fetchCommunityQuestion(slug);
@@ -322,6 +332,7 @@
<DeleteModal
bind:open={deleteQuestion.shouldDelete}
bind:isDeleting={deleteQuestion.isDeleting}
onCancel={() => {
deleteQuestion.shouldDelete = false;
deleteQuestion.questionId = '';
@@ -332,6 +343,7 @@
<DeleteModal
bind:open={deleteComment.shouldDelete}
isDeleting={deleteComment.isDeleting}
onCancel={() => {
deleteComment.shouldDelete = false;
deleteComment.commentId = '';