use provider instead of props in options

This commit is contained in:
grimhilt
2023-04-13 12:15:04 +02:00
parent e43ab6cfe1
commit 0b950ba7a7
4 changed files with 44 additions and 34 deletions

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { defineProps, PropType } from "vue";
import { defineProps, inject, PropType } from "vue";
import { Message } from "@/store/models/model";
import API from "@/services/imapAPI";
import store from "@/store/store";
@@ -7,24 +7,24 @@ import { isSeenFc } from "@/utils/flagsUtils";
const props = defineProps({
msg: Object as PropType<Message>,
mailboxId: Number,
roomId: Number,
});
const room: any = inject("room");
const setFlag = (flag: string) => {
// todo loading
if (!props.mailboxId || !props.msg) return;
if (!room?.value || !props.msg) return;
let apiCall = isSeenFc(props.msg?.flags) ? API.removeFlag : API.addFlag;
apiCall({
mailboxId: props.mailboxId,
mailboxId: room.value?.mailboxId,
messageId: props.msg?.id,
flag: flag,
})
.then((res) => {
if (isSeenFc(props.msg?.flags)) {
store.commit("removeFlag", { roomId: props.roomId, messageId: props.msg?.id, flag: flag });
store.commit("removeFlag", { roomId: room.value?.id, messageId: props.msg?.id, flag: flag });
} else {
store.commit("addFlag", { roomId: props.roomId, messageId: props.msg?.id, flag: flag });
store.commit("addFlag", { roomId: room.value?.id, messageId: props.msg?.id, flag: flag });
}
})
.catch((err) => {