deletion of messages (failing on server)

This commit is contained in:
grimhilt
2023-05-06 13:23:13 +02:00
parent 2c7b4f1c78
commit b137263bef
13 changed files with 129 additions and 24 deletions

View File

@@ -42,6 +42,30 @@ const setFlag = (flag: string, loadingState: Ref<boolean>) => {
loadingState.value = false;
});
};
const deleteEverywhere = () => {
if (!room?.value || !props.msg) return;
API.deleteEverywhere({ mailboxId: room.value?.mailboxId, messageId: props.msg?.id })
.then((res) => {
store.commit("removeMsg", { roomId: room.value?.id, messageId: props.msg?.id });
})
.catch((err) => {
console.log(err);
});
};
const deleteRemoteOnly = () => {
if (!room?.value || !props.msg) return;
API.deleteRemoteOnly({ mailboxId: room.value?.mailboxId, messageId: props.msg?.id })
.then((res) => {
if (!hasFlag(props.msg?.flags, "\\Deleted")) {
store.commit("addFlag", { roomId: room.value?.id, messageId: props.msg?.id, flag: "\\Deleted" });
}
})
.catch((err) => {
console.log(err);
});
};
</script>
<template>
@@ -71,25 +95,14 @@ const setFlag = (flag: string, loadingState: Ref<boolean>) => {
:classes="hasFlag(props.msg?.flags, '\\Flagged') ? 'warn' : ''"
v-tooltip="hasFlag(props.msg?.flags, '\\Flagged') ? 'Unflag' : 'Flag'"
/>
<!--
<SvgLoader
v-if="isSeenFc(props.msg?.flags)"
svg="mail-check-line"
class="option"
v-tooltip="'Mark unread'"
:loading="seenLoading"
/>
<SvgLoader
v-if="!isSeenFc(props.msg?.flags)"
svg="mail-unread-line"
class="option"
v-tooltip="'Mark as read'"
:loading="seenLoading"
/> -->
</span>
<SvgLoader svg="reply-line" class="option" />
<SvgLoader svg="delete-bin-4-line" class="option" classes="danger" v-tooltip="'Delete from server'" />
<SvgLoader svg="delete-bin-6-line" class="option" classes="danger" v-tooltip="'Delete everywhere'" />
<span @click="deleteRemoteOnly()">
<SvgLoader svg="delete-bin-4-line" class="option" classes="danger" v-tooltip="'Delete from remote'" />
</span>
<span @click="deleteEverywhere()">
<SvgLoader svg="delete-bin-6-line" class="option" classes="danger" v-tooltip="'Delete everywhere'" />
</span>
<SvgLoader svg="share-forward-line" class="option" />
<SvgLoader svg="reply-all-line" class="option" />
</div>