Fix invite stuff

This commit is contained in:
Natsumi
2025-05-26 04:53:17 +10:00
parent 2f019ac038
commit 8b93bf5d57
15 changed files with 136 additions and 147 deletions

View File

@@ -42,6 +42,7 @@
const $message = instance.proxy.$message;
const API = inject('API');
const clearInviteImageUpload = inject('clearInviteImageUpload');
const props = defineProps({
editAndSendInviteDialog: {
@@ -181,7 +182,7 @@
notificationRequest
.sendRequestInvitePhoto(I.params, I.userId)
.catch((err) => {
this.clearInviteImageUpload();
clearInviteImageUpload();
throw err;
})
.then((args) => {

View File

@@ -160,7 +160,7 @@
:send-invite-dialog="sendInviteDialog"
:invite-dialog="inviteDialog"
:upload-image="uploadImage"
@close-invite-dialog="closeInviteDialog" />
@closeInviteDialog="closeInviteDialog" />
</safe-dialog>
</template>
@@ -180,6 +180,7 @@
const userStatusClass = inject('userStatusClass');
const userImage = inject('userImage');
const API = inject('API');
const clearInviteImageUpload = inject('clearInviteImageUpload');
const props = defineProps({
inviteDialog: {
@@ -209,10 +210,14 @@
}
});
const emit = defineEmits(['clearInviteImageUpload', 'inviteImageUpload', 'closeInviteDialog']);
const emit = defineEmits(['closeInviteDialog']);
const sendInviteDialogVisible = ref(false);
const sendInviteDialog = ref({ message: '', messageSlot: 0, userId: '', messageType: '', params: {} });
const sendInviteDialog = ref({
messageSlot: {},
userId: '',
params: {}
});
function closeInviteDialog() {
emit('closeInviteDialog');
@@ -222,17 +227,13 @@
sendInviteDialog.value = {
params,
userId,
messageType: 'invite'
messageSlot: {}
};
inviteMessagesRequest.refreshInviteMessageTableData('message');
clearInviteImageUpload();
sendInviteDialogVisible.value = true;
}
function clearInviteImageUpload() {
emit('clearInviteImageUpload');
}
function addSelfToInvite() {
const D = props.inviteDialog;
if (!D.userIds.includes(API.currentUser.id)) {

View File

@@ -33,6 +33,7 @@
const $message = instance.proxy.$message;
const API = inject('API');
const clearInviteImageUpload = inject('clearInviteImageUpload');
const props = defineProps({
visible: {
@@ -62,6 +63,8 @@
function sendInviteConfirm() {
const D = props.sendInviteDialog;
const J = props.inviteDialog;
const messageType = D.messageSlot.messageType;
const slot = D.messageSlot.slot;
if (J?.visible) {
const inviteLoop = () => {
if (J.userIds.length > 0) {
@@ -82,7 +85,7 @@
instanceId: J.worldId,
worldId: J.worldId,
worldName: J.worldName,
messageSlot: D.messageSlot
messageSlot: slot
},
receiverUserId
)
@@ -94,7 +97,7 @@
instanceId: J.worldId,
worldId: J.worldId,
worldName: J.worldName,
messageSlot: D.messageSlot
messageSlot: slot
},
receiverUserId
)
@@ -110,8 +113,8 @@
}
};
inviteLoop();
} else if (D.messageType === 'invite') {
D.params.messageSlot = D.messageSlot;
} else if (messageType === 'invite') {
D.params.messageSlot = slot;
if (props.uploadImage) {
notificationRequest
.sendInvitePhoto(D.params, D.userId)
@@ -139,13 +142,13 @@
return args;
});
}
} else if (D.messageType === 'requestInvite') {
D.params.requestSlot = D.messageSlot;
} else if (messageType === 'request') {
D.params.requestSlot = slot;
if (props.uploadImage) {
notificationRequest
.sendRequestInvitePhoto(D.params, D.userId)
.catch((err) => {
this.clearInviteImageUpload();
clearInviteImageUpload();
throw err;
})
.then((args) => {

View File

@@ -1,7 +1,7 @@
<template>
<safe-dialog
class="x-dialog"
:visible.sync="sendInviteDialogVisible"
:visible="sendInviteDialogVisible"
:title="t('dialog.invite_message.header')"
width="800px"
append-to-body
@@ -61,7 +61,7 @@
type="text"
icon="el-icon-edit"
size="mini"
@click.stop="showEditAndSendInviteDialog('message', scope.row)"></el-button>
@click.stop="showEditAndSendInviteDialog(scope.row)"></el-button>
</template>
</el-table-column>
</data-tables>
@@ -98,6 +98,7 @@
const { t } = useI18n();
const API = inject('API');
const inviteImageUpload = inject('inviteImageUpload');
const props = defineProps({
sendInviteDialogVisible: {
@@ -123,34 +124,25 @@
}
});
const emit = defineEmits(['inviteImageUpload', 'update:sendInviteDialogVisible', 'closeInviteDialog']);
const emit = defineEmits(['closeInviteDialog', 'update:sendInviteDialogVisible']);
const isSendInviteConfirmDialogVisible = ref(false);
const editAndSendInviteDialog = ref({
visible: false,
messageType: '',
newMessage: '',
inviteMessage: {}
newMessage: ''
});
function inviteImageUpload(event) {
emit('inviteImageUpload', event);
}
function showSendInviteConfirmDialog(val) {
function showSendInviteConfirmDialog(row) {
props.sendInviteDialog.messageSlot = row;
isSendInviteConfirmDialogVisible.value = true;
//
props.sendInviteDialog.messageSlot = val.slot;
}
function showEditAndSendInviteDialog(messageType, inviteMessage) {
// todo
function showEditAndSendInviteDialog(row) {
props.sendInviteDialog.messageSlot = row;
editAndSendInviteDialog.value = {
newMessage: inviteMessage.message,
visible: true,
messageType,
inviteMessage
visible: true
};
}