mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-06 22:46:06 +02:00
Fix invite response, small fixes
This commit is contained in:
@@ -568,8 +568,8 @@
|
|||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="avatarDialog.visible">
|
<template v-if="avatarDialog.visible">
|
||||||
<SetAvatarTagsDialog :set-avatar-tags-dialog="setAvatarTagsDialog" />
|
<SetAvatarTagsDialog v-model:setAvatarTagsDialog="setAvatarTagsDialog" />
|
||||||
<SetAvatarStylesDialog :set-avatar-styles-dialog="setAvatarStylesDialog" />
|
<SetAvatarStylesDialog v-model:setAvatarStylesDialog="setAvatarStylesDialog" />
|
||||||
<ChangeAvatarImageDialog
|
<ChangeAvatarImageDialog
|
||||||
v-model:changeAvatarImageDialogVisible="changeAvatarImageDialogVisible"
|
v-model:changeAvatarImageDialogVisible="changeAvatarImageDialogVisible"
|
||||||
v-model:previousImageUrl="previousImageUrl" />
|
v-model:previousImageUrl="previousImageUrl" />
|
||||||
@@ -649,7 +649,7 @@
|
|||||||
const treeData = ref([]);
|
const treeData = ref([]);
|
||||||
const timeSpent = ref(0);
|
const timeSpent = ref(0);
|
||||||
const memo = ref('');
|
const memo = ref('');
|
||||||
const setAvatarTagsDialog = reactive({
|
const setAvatarTagsDialog = ref({
|
||||||
visible: false,
|
visible: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
ownAvatars: [],
|
ownAvatars: [],
|
||||||
@@ -663,7 +663,7 @@
|
|||||||
contentAdult: false,
|
contentAdult: false,
|
||||||
contentSex: false
|
contentSex: false
|
||||||
});
|
});
|
||||||
const setAvatarStylesDialog = reactive({
|
const setAvatarStylesDialog = ref({
|
||||||
visible: false,
|
visible: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
avatarId: '',
|
avatarId: '',
|
||||||
@@ -1063,7 +1063,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function showSetAvatarTagsDialog(avatarId) {
|
function showSetAvatarTagsDialog(avatarId) {
|
||||||
const D = setAvatarTagsDialog;
|
const D = setAvatarTagsDialog.value;
|
||||||
D.visible = true;
|
D.visible = true;
|
||||||
D.loading = true;
|
D.loading = true;
|
||||||
D.ownAvatars = [];
|
D.ownAvatars = [];
|
||||||
@@ -1130,7 +1130,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function showSetAvatarStylesDialog() {
|
function showSetAvatarStylesDialog() {
|
||||||
const D = setAvatarStylesDialog;
|
const D = setAvatarStylesDialog.value;
|
||||||
D.visible = true;
|
D.visible = true;
|
||||||
D.loading = true;
|
D.loading = true;
|
||||||
D.avatarId = avatarDialog.value.id;
|
D.avatarId = avatarDialog.value.id;
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
ref="setAvatarStylesDialog"
|
ref="setAvatarStylesDialog"
|
||||||
class="x-dialog"
|
class="x-dialog"
|
||||||
v-model="setAvatarStylesDialog.visible"
|
:model-value="setAvatarStylesDialog.visible"
|
||||||
|
@close="closeSetAvatarStylesDialog"
|
||||||
:title="t('dialog.set_avatar_styles.header')"
|
:title="t('dialog.set_avatar_styles.header')"
|
||||||
width="400px"
|
width="400px"
|
||||||
append-to-body>
|
append-to-body>
|
||||||
@@ -50,10 +51,8 @@
|
|||||||
style="margin-top: 10px"></el-input>
|
style="margin-top: 10px"></el-input>
|
||||||
</template>
|
</template>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button size="small" @click="setAvatarStylesDialog.visible = false">{{
|
<el-button @click="closeSetAvatarStylesDialog">{{ t('dialog.set_avatar_styles.cancel') }}</el-button>
|
||||||
t('dialog.set_avatar_styles.cancel')
|
<el-button type="primary" @click="saveSetAvatarStylesDialog">{{
|
||||||
}}</el-button>
|
|
||||||
<el-button type="primary" size="small" @click="saveSetAvatarStylesDialog">{{
|
|
||||||
t('dialog.set_avatar_styles.save')
|
t('dialog.set_avatar_styles.save')
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</template>
|
</template>
|
||||||
@@ -61,12 +60,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { watch } from 'vue';
|
import { watch, defineEmits } from 'vue';
|
||||||
|
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { arraysMatch } from '../../../shared/utils';
|
import { arraysMatch } from '../../../shared/utils';
|
||||||
import { avatarRequest } from '../../../api';
|
import { avatarRequest } from '../../../api';
|
||||||
import { useAvatarStore } from '../../../stores';
|
import { useAvatarStore } from '../../../stores';
|
||||||
|
import { ElMessage } from 'element-plus';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const { applyAvatar } = useAvatarStore();
|
const { applyAvatar } = useAvatarStore();
|
||||||
@@ -78,6 +78,8 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const emit = defineEmits(['update:setAvatarStylesDialog']);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => props.setAvatarStylesDialog.visible,
|
() => props.setAvatarStylesDialog.visible,
|
||||||
(newVal) => {
|
(newVal) => {
|
||||||
@@ -99,6 +101,13 @@
|
|||||||
props.setAvatarStylesDialog.availableAvatarStylesMap = stylesMap;
|
props.setAvatarStylesDialog.availableAvatarStylesMap = stylesMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function closeSetAvatarStylesDialog() {
|
||||||
|
emit('update:setAvatarStylesDialog', {
|
||||||
|
...props.setAvatarStylesDialog,
|
||||||
|
visible: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function saveSetAvatarStylesDialog() {
|
function saveSetAvatarStylesDialog() {
|
||||||
const primaryStyleId =
|
const primaryStyleId =
|
||||||
props.setAvatarStylesDialog.availableAvatarStylesMap.get(props.setAvatarStylesDialog.primaryStyle) || '';
|
props.setAvatarStylesDialog.availableAvatarStylesMap.get(props.setAvatarStylesDialog.primaryStyle) || '';
|
||||||
@@ -127,7 +136,7 @@
|
|||||||
props.setAvatarStylesDialog.initialSecondaryStyle === props.setAvatarStylesDialog.secondaryStyle &&
|
props.setAvatarStylesDialog.initialSecondaryStyle === props.setAvatarStylesDialog.secondaryStyle &&
|
||||||
arraysMatch(props.setAvatarStylesDialog.initialTags, tags)
|
arraysMatch(props.setAvatarStylesDialog.initialTags, tags)
|
||||||
) {
|
) {
|
||||||
props.setAvatarStylesDialog.visible = false;
|
closeSetAvatarStylesDialog();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,11 +150,11 @@
|
|||||||
.saveAvatar(params)
|
.saveAvatar(params)
|
||||||
.then((args) => {
|
.then((args) => {
|
||||||
applyAvatar(args.json);
|
applyAvatar(args.json);
|
||||||
$message.success(t('dialog.set_avatar_styles.save_success'));
|
ElMessage({ message: t('dialog.set_avatar_styles.save_success'), type: 'success' });
|
||||||
props.setAvatarStylesDialog.visible = false;
|
closeSetAvatarStylesDialog();
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
$message.error(t('dialog.set_avatar_styles.save_failed'));
|
ElMessage({ message: t('dialog.set_avatar_styles.save_failed'), type: 'error' });
|
||||||
console.error('Error saving avatar styles:', error);
|
console.error('Error saving avatar styles:', error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
ref="setAvatarTagsDialog"
|
ref="setAvatarTagsDialog"
|
||||||
class="x-dialog"
|
class="x-dialog"
|
||||||
v-model="setAvatarTagsDialog.visible"
|
:model-value="setAvatarTagsDialog.visible"
|
||||||
|
@close="closeSetAvatarTagsDialog"
|
||||||
:title="t('dialog.set_avatar_tags.header')"
|
:title="t('dialog.set_avatar_tags.header')"
|
||||||
width="770px"
|
width="770px"
|
||||||
append-to-body>
|
append-to-body>
|
||||||
@@ -82,10 +83,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button size="small" @click="setAvatarTagsDialog.visible = false">{{
|
<el-button @click="closeSetAvatarTagsDialog">{{ t('dialog.set_avatar_tags.cancel') }}</el-button>
|
||||||
t('dialog.set_avatar_tags.cancel')
|
<el-button type="primary" @click="saveSetAvatarTagsDialog">{{
|
||||||
}}</el-button>
|
|
||||||
<el-button type="primary" size="small" @click="saveSetAvatarTagsDialog">{{
|
|
||||||
t('dialog.set_avatar_tags.save')
|
t('dialog.set_avatar_tags.save')
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</template>
|
</template>
|
||||||
@@ -96,7 +95,7 @@
|
|||||||
import { Loading } from '@element-plus/icons-vue';
|
import { Loading } from '@element-plus/icons-vue';
|
||||||
import { ElMessage } from 'element-plus';
|
import { ElMessage } from 'element-plus';
|
||||||
|
|
||||||
import { watch } from 'vue';
|
import { watch, defineEmits } from 'vue';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { avatarRequest } from '../../../api';
|
import { avatarRequest } from '../../../api';
|
||||||
import { useAvatarStore } from '../../../stores';
|
import { useAvatarStore } from '../../../stores';
|
||||||
@@ -111,6 +110,8 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const emit = defineEmits(['update:setAvatarTagsDialog']);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => props.setAvatarTagsDialog.visible,
|
() => props.setAvatarTagsDialog.visible,
|
||||||
(newVal) => {
|
(newVal) => {
|
||||||
@@ -122,6 +123,13 @@
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
function closeSetAvatarTagsDialog() {
|
||||||
|
emit('update:setAvatarTagsDialog', {
|
||||||
|
...props.setAvatarTagsDialog,
|
||||||
|
visible: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function updateSelectedAvatarTags() {
|
function updateSelectedAvatarTags() {
|
||||||
const D = props.setAvatarTagsDialog;
|
const D = props.setAvatarTagsDialog;
|
||||||
if (D.contentHorror) {
|
if (D.contentHorror) {
|
||||||
@@ -186,7 +194,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// props.setAvatarTagsDialog.forceUpdate++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function setAvatarTagsSelectToggle() {
|
function setAvatarTagsSelectToggle() {
|
||||||
|
|||||||
@@ -726,7 +726,7 @@
|
|||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane name="Posts" :label="t('dialog.group.posts.header')" lazy>
|
<el-tab-pane name="Posts" :label="t('dialog.group.posts.header')" lazy>
|
||||||
<template v-if="groupDialog.visible">
|
<template v-if="groupDialog.visible">
|
||||||
<span style="margin-right: 10px"
|
<span style="margin-right: 10px; vertical-align: top"
|
||||||
>{{ t('dialog.group.posts.posts_count') }} {{ groupDialog.posts.length }}</span
|
>{{ t('dialog.group.posts.posts_count') }} {{ groupDialog.posts.length }}</span
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
class="x-dialog"
|
class="x-dialog"
|
||||||
v-model="inviteDialog.visible"
|
:model-value="inviteDialog.visible"
|
||||||
:title="t('dialog.invite.header')"
|
:title="t('dialog.invite.header')"
|
||||||
width="500px"
|
width="500px"
|
||||||
append-to-body>
|
append-to-body>
|
||||||
@@ -163,8 +163,8 @@
|
|||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
<SendInviteDialog
|
<SendInviteDialog
|
||||||
:send-invite-dialog-visible="sendInviteDialogVisible"
|
v-model:sendInviteDialogVisible="sendInviteDialogVisible"
|
||||||
:send-invite-dialog="sendInviteDialog"
|
v-model:sendInviteDialog="sendInviteDialog"
|
||||||
:invite-dialog="inviteDialog"
|
:invite-dialog="inviteDialog"
|
||||||
@closeInviteDialog="closeInviteDialog" />
|
@closeInviteDialog="closeInviteDialog" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
class="x-dialog"
|
class="x-dialog"
|
||||||
:model-value="visible"
|
:model-value="isSendInviteConfirmDialogVisible"
|
||||||
:title="t('dialog.invite_message.header')"
|
:title="t('dialog.invite_message.header')"
|
||||||
width="400px"
|
width="400px"
|
||||||
append-to-body
|
append-to-body
|
||||||
@@ -11,10 +11,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button type="small" @click="cancelInviteConfirm">
|
<el-button type="default" @click="cancelInviteConfirm">
|
||||||
{{ t('dialog.invite_message.cancel') }}
|
{{ t('dialog.invite_message.cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" size="small" @click="sendInviteConfirm">
|
<el-button type="primary" @click="sendInviteConfirm">
|
||||||
{{ t('dialog.invite_message.confirm') }}
|
{{ t('dialog.invite_message.confirm') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
const { currentUser } = storeToRefs(useUserStore());
|
const { currentUser } = storeToRefs(useUserStore());
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
visible: {
|
isSendInviteConfirmDialogVisible: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
@@ -51,10 +51,10 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(['update:model-value', 'closeInviteDialog']);
|
const emit = defineEmits(['update:isSendInviteConfirmDialogVisible', 'closeInviteDialog']);
|
||||||
|
|
||||||
function cancelInviteConfirm() {
|
function cancelInviteConfirm() {
|
||||||
emit('update:model-value', false);
|
emit('update:isSendInviteConfirmDialogVisible', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendInviteConfirm() {
|
function sendInviteConfirm() {
|
||||||
@@ -110,7 +110,8 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
inviteLoop();
|
inviteLoop();
|
||||||
} else if (messageType === 'invite') {
|
} else if (messageType === 'message') {
|
||||||
|
// invite message
|
||||||
D.params.messageSlot = slot;
|
D.params.messageSlot = slot;
|
||||||
if (uploadImage.value) {
|
if (uploadImage.value) {
|
||||||
notificationRequest
|
notificationRequest
|
||||||
|
|||||||
@@ -75,13 +75,15 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
<SendInviteConfirmDialog
|
<SendInviteConfirmDialog
|
||||||
v-model="isSendInviteConfirmDialogVisible"
|
v-model:isSendInviteConfirmDialogVisible="isSendInviteConfirmDialogVisible"
|
||||||
:send-invite-dialog="sendInviteDialog"
|
:sendInviteDialog="sendInviteDialog"
|
||||||
|
@update:sendInviteDialog="emit('update:sendInviteDialog', $event)"
|
||||||
:invite-dialog="inviteDialog"
|
:invite-dialog="inviteDialog"
|
||||||
@closeInviteDialog="closeInviteDialog" />
|
@closeInviteDialog="closeInviteDialog" />
|
||||||
<EditAndSendInviteDialog
|
<EditAndSendInviteDialog
|
||||||
:edit-and-send-invite-dialog="editAndSendInviteDialog"
|
:edit-and-send-invite-dialog="editAndSendInviteDialog"
|
||||||
:send-invite-dialog="sendInviteDialog"
|
:sendInviteDialog="sendInviteDialog"
|
||||||
|
@update:sendInviteDialog="emit('update:sendInviteDialog', $event)"
|
||||||
:invite-dialog="inviteDialog"
|
:invite-dialog="inviteDialog"
|
||||||
@closeInviteDialog="closeInviteDialog" />
|
@closeInviteDialog="closeInviteDialog" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@@ -120,7 +122,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(['closeInviteDialog', 'update:sendInviteDialogVisible']);
|
const emit = defineEmits(['closeInviteDialog', 'update:sendInviteDialogVisible', 'update:sendInviteDialog']);
|
||||||
|
|
||||||
const isSendInviteConfirmDialogVisible = ref(false);
|
const isSendInviteConfirmDialogVisible = ref(false);
|
||||||
|
|
||||||
@@ -130,12 +132,12 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
function showSendInviteConfirmDialog(row) {
|
function showSendInviteConfirmDialog(row) {
|
||||||
props.sendInviteDialog.messageSlot = row;
|
emit('update:sendInviteDialog', { ...props.sendInviteDialog, messageSlot: row });
|
||||||
isSendInviteConfirmDialogVisible.value = true;
|
isSendInviteConfirmDialogVisible.value = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function showEditAndSendInviteDialog(row) {
|
function showEditAndSendInviteDialog(row) {
|
||||||
props.sendInviteDialog.messageSlot = row;
|
emit('update:sendInviteDialog', { ...props.sendInviteDialog, messageSlot: row });
|
||||||
editAndSendInviteDialog.value = {
|
editAndSendInviteDialog.value = {
|
||||||
newMessage: row.message,
|
newMessage: row.message,
|
||||||
visible: true
|
visible: true
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
class="x-dialog"
|
class="x-dialog"
|
||||||
:model-value="sendInviteRequestDialogVisible"
|
:model-value="sendInviteRequestDialogVisible"
|
||||||
@update:model-value="$emit('update:sendInviteRequestDialogVisible', $event)"
|
|
||||||
:title="t('dialog.invite_request_message.header')"
|
:title="t('dialog.invite_request_message.header')"
|
||||||
width="800px"
|
width="800px"
|
||||||
append-to-body
|
append-to-body
|
||||||
@@ -49,13 +48,15 @@
|
|||||||
}}</el-button>
|
}}</el-button>
|
||||||
</template>
|
</template>
|
||||||
<SendInviteConfirmDialog
|
<SendInviteConfirmDialog
|
||||||
v-model="isSendInviteConfirmDialogVisible"
|
v-model:isSendInviteConfirmDialogVisible="isSendInviteConfirmDialogVisible"
|
||||||
:send-invite-dialog="sendInviteDialog"
|
:sendInviteDialog="sendInviteDialog"
|
||||||
|
@update:sendInviteDialog="emit('update:sendInviteDialog', $event)"
|
||||||
:invite-dialog="inviteDialog"
|
:invite-dialog="inviteDialog"
|
||||||
@closeInviteDialog="closeInviteDialog" />
|
@closeInviteDialog="closeInviteDialog" />
|
||||||
<EditAndSendInviteDialog
|
<EditAndSendInviteDialog
|
||||||
:edit-and-send-invite-dialog="editAndSendInviteDialog"
|
:edit-and-send-invite-dialog="editAndSendInviteDialog"
|
||||||
:send-invite-dialog="sendInviteDialog"
|
:sendInviteDialog="sendInviteDialog"
|
||||||
|
@update:sendInviteDialog="emit('update:sendInviteDialog', $event)"
|
||||||
:invite-dialog="inviteDialog"
|
:invite-dialog="inviteDialog"
|
||||||
@closeInviteDialog="closeInviteDialog" />
|
@closeInviteDialog="closeInviteDialog" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@@ -96,7 +97,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(['update:sendInviteRequestDialogVisible', 'closeInviteDialog']);
|
const emit = defineEmits(['update:sendInviteRequestDialogVisible', 'closeInviteDialog', 'update:sendInviteDialog']);
|
||||||
|
|
||||||
const isSendInviteConfirmDialogVisible = ref(false);
|
const isSendInviteConfirmDialogVisible = ref(false);
|
||||||
|
|
||||||
@@ -106,12 +107,12 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
function showSendInviteConfirmDialog(row) {
|
function showSendInviteConfirmDialog(row) {
|
||||||
props.sendInviteDialog.messageSlot = row;
|
emit('update:sendInviteDialog', { ...props.sendInviteDialog, messageSlot: row });
|
||||||
isSendInviteConfirmDialogVisible.value = true;
|
isSendInviteConfirmDialogVisible.value = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function showEditAndSendInviteDialog(row) {
|
function showEditAndSendInviteDialog(row) {
|
||||||
props.sendInviteDialog.messageSlot = row;
|
emit('update:sendInviteDialog', { ...props.sendInviteDialog, messageSlot: row });
|
||||||
editAndSendInviteDialog.value = {
|
editAndSendInviteDialog.value = {
|
||||||
newMessage: row.message,
|
newMessage: row.message,
|
||||||
visible: true
|
visible: true
|
||||||
|
|||||||
@@ -1727,12 +1727,12 @@
|
|||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
<SendInviteDialog
|
<SendInviteDialog
|
||||||
:send-invite-dialog-visible="sendInviteDialogVisible"
|
v-model:sendInviteDialogVisible="sendInviteDialogVisible"
|
||||||
:send-invite-dialog="sendInviteDialog"
|
v-model:sendInviteDialog="sendInviteDialog"
|
||||||
@closeInviteDialog="closeInviteDialog" />
|
@closeInviteDialog="closeInviteDialog" />
|
||||||
<SendInviteRequestDialog
|
<SendInviteRequestDialog
|
||||||
:send-invite-request-dialog-visible="sendInviteRequestDialogVisible"
|
v-model:sendInviteRequestDialogVisible="sendInviteRequestDialogVisible"
|
||||||
:send-invite-dialog="sendInviteDialog"
|
v-model:sendInviteDialog="sendInviteDialog"
|
||||||
@closeInviteDialog="closeInviteDialog" />
|
@closeInviteDialog="closeInviteDialog" />
|
||||||
<template v-if="userDialog.visible">
|
<template v-if="userDialog.visible">
|
||||||
<PreviousInstancesUserDialog v-model:previous-instances-user-dialog="previousInstancesUserDialog" />
|
<PreviousInstancesUserDialog v-model:previous-instances-user-dialog="previousInstancesUserDialog" />
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ function setLoginContainerStyle(isDarkMode) {
|
|||||||
transition: background-color 0.3s ease;
|
transition: background-color 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.x-login-container .el-input__inner {
|
.x-login-container .el-input__wrapper {
|
||||||
background-color: ${inputBackgroundColor} !important;
|
background-color: ${inputBackgroundColor} !important;
|
||||||
border: ${inputBorder} !important;
|
border: ${inputBorder} !important;
|
||||||
transition: background-color 0.3s ease, border-color 0.3s ease;
|
transition: background-color 0.3s ease, border-color 0.3s ease;
|
||||||
|
|||||||
@@ -163,7 +163,10 @@ function copyToClipboard(text, message = 'Copied successfully!') {
|
|||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error('Copy failed:', err);
|
console.error('Copy failed:', err);
|
||||||
ElMessage.error('Copy failed!');
|
ElMessage({
|
||||||
|
message: 'Copy failed!',
|
||||||
|
type: 'error'
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -162,7 +162,10 @@
|
|||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error('Copy failed:', err);
|
console.error('Copy failed:', err);
|
||||||
ElMessage.error('Copy failed!');
|
ElMessage({
|
||||||
|
message: 'Copy failed!',
|
||||||
|
type: 'error'
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function updateAvatarExportDialog() {
|
function updateAvatarExportDialog() {
|
||||||
|
|||||||
@@ -109,7 +109,10 @@
|
|||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error('Copy failed:', err);
|
console.error('Copy failed:', err);
|
||||||
ElMessage.error('Copy failed!');
|
ElMessage({
|
||||||
|
message: 'Copy failed!',
|
||||||
|
type: 'error'
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -164,7 +164,10 @@
|
|||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error('Copy failed:', err);
|
console.error('Copy failed:', err);
|
||||||
ElMessage.error('Copy failed!');
|
ElMessage({
|
||||||
|
message: 'Copy failed!',
|
||||||
|
type: 'error'
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -318,11 +318,11 @@
|
|||||||
<el-tooltip placement="top" content="Decline">
|
<el-tooltip placement="top" content="Decline">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="shiftHeld"
|
v-if="shiftHeld"
|
||||||
style="color: #f56c6c; margin-left: 5px"
|
style="color: #f56c6c"
|
||||||
type="text"
|
type="text"
|
||||||
:icon="Close"
|
:icon="Close"
|
||||||
size="small"
|
size="small"
|
||||||
class="button-pd-0"
|
:class="['button-pd-0', 'ml-5']"
|
||||||
@click="hideNotification(scope.row)" />
|
@click="hideNotification(scope.row)" />
|
||||||
<el-button
|
<el-button
|
||||||
v-else
|
v-else
|
||||||
@@ -338,11 +338,11 @@
|
|||||||
<el-tooltip placement="top" content="Delete log">
|
<el-tooltip placement="top" content="Delete log">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="shiftHeld"
|
v-if="shiftHeld"
|
||||||
style="color: #f56c6c; margin-left: 5px"
|
style="color: #f56c6c"
|
||||||
type="text"
|
type="text"
|
||||||
:icon="Close"
|
:icon="Delete"
|
||||||
size="small"
|
size="small"
|
||||||
class="button-pd-0"
|
:class="['button-pd-0', 'ml-5']"
|
||||||
@click="deleteNotificationLog(scope.row)" />
|
@click="deleteNotificationLog(scope.row)" />
|
||||||
<el-button
|
<el-button
|
||||||
v-else
|
v-else
|
||||||
@@ -383,11 +383,11 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</DataTable>
|
</DataTable>
|
||||||
<SendInviteResponseDialog
|
<SendInviteResponseDialog
|
||||||
:send-invite-response-dialog="sendInviteResponseDialog"
|
v-model:send-invite-response-dialog="sendInviteResponseDialog"
|
||||||
:send-invite-response-dialog-visible="sendInviteResponseDialogVisible" />
|
v-model:sendInviteResponseDialogVisible="sendInviteResponseDialogVisible" />
|
||||||
<SendInviteRequestResponseDialog
|
<SendInviteRequestResponseDialog
|
||||||
:send-invite-response-dialog="sendInviteResponseDialog"
|
v-model:send-invite-response-dialog="sendInviteResponseDialog"
|
||||||
:send-invite-request-response-dialog-visible="sendInviteRequestResponseDialogVisible" />
|
v-model:sendInviteRequestResponseDialogVisible="sendInviteRequestResponseDialogVisible" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
class="x-dialog"
|
class="x-dialog"
|
||||||
v-model="editAndSendInviteResponseDialog.visible"
|
:model-value="editAndSendInviteResponseDialog.visible"
|
||||||
|
@close="cancelEditAndSendInviteResponse"
|
||||||
:title="t('dialog.edit_send_invite_response_message.header')"
|
:title="t('dialog.edit_send_invite_response_message.header')"
|
||||||
width="400px"
|
width="400px"
|
||||||
append-to-body>
|
append-to-body>
|
||||||
@@ -52,10 +53,10 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(['closeInviteDialog', 'update:editAndSendInviteResponseDialog']);
|
const emit = defineEmits(['closeInviteDialog', 'closeResponseConfirmDialog']);
|
||||||
|
|
||||||
function cancelEditAndSendInviteResponse() {
|
function cancelEditAndSendInviteResponse() {
|
||||||
emit('update:editAndSendInviteResponseDialog', { ...props.editAndSendInviteResponseDialog, visible: false });
|
emit('closeResponseConfirmDialog');
|
||||||
}
|
}
|
||||||
|
|
||||||
async function saveEditAndSendInviteResponse() {
|
async function saveEditAndSendInviteResponse() {
|
||||||
|
|||||||
@@ -50,14 +50,13 @@
|
|||||||
<EditAndSendInviteResponseDialog
|
<EditAndSendInviteResponseDialog
|
||||||
:edit-and-send-invite-response-dialog="editAndSendInviteResponseDialog"
|
:edit-and-send-invite-response-dialog="editAndSendInviteResponseDialog"
|
||||||
:send-invite-response-dialog="sendInviteResponseDialog"
|
:send-invite-response-dialog="sendInviteResponseDialog"
|
||||||
@update:edit-and-send-invite-response-dialog="editAndSendInviteResponseDialog = $event"
|
@closeInviteDialog="closeInviteDialog"
|
||||||
@update:send-invite-response-dialog="sendInviteResponseDialog = $event"
|
@closeResponseConfirmDialog="closeResponseConfirmDialog" />
|
||||||
@closeInviteDialog="closeInviteDialog" />
|
|
||||||
<SendInviteResponseConfirmDialog
|
<SendInviteResponseConfirmDialog
|
||||||
:send-invite-response-dialog="sendInviteResponseDialog"
|
:send-invite-response-dialog="sendInviteResponseDialog"
|
||||||
:send-invite-response-confirm-dialog="sendInviteResponseConfirmDialog"
|
:send-invite-response-confirm-dialog="sendInviteResponseConfirmDialog"
|
||||||
@update:send-invite-response-dialog="sendInviteResponseDialog = $event"
|
@closeInviteDialog="closeInviteDialog"
|
||||||
@closeInviteDialog="closeInviteDialog" />
|
@closeResponseConfirmDialog="closeResponseConfirmDialog" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -90,7 +89,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(['update:sendInviteRequestResponseDialogVisible']);
|
const emit = defineEmits(['update:sendInviteRequestResponseDialogVisible', 'update:sendInviteResponseDialog']);
|
||||||
|
|
||||||
const editAndSendInviteResponseDialog = ref({
|
const editAndSendInviteResponseDialog = ref({
|
||||||
visible: false,
|
visible: false,
|
||||||
@@ -102,7 +101,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
function showEditAndSendInviteResponseDialog(row) {
|
function showEditAndSendInviteResponseDialog(row) {
|
||||||
props.sendInviteResponseDialog.messageSlot = row;
|
emit('update:sendInviteResponseDialog', { ...props.sendInviteResponseDialog, messageSlot: row });
|
||||||
editAndSendInviteResponseDialog.value = {
|
editAndSendInviteResponseDialog.value = {
|
||||||
newMessage: row.message,
|
newMessage: row.message,
|
||||||
visible: true
|
visible: true
|
||||||
@@ -110,7 +109,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function showSendInviteResponseConfirmDialog(row) {
|
function showSendInviteResponseConfirmDialog(row) {
|
||||||
props.sendInviteResponseDialog.messageSlot = row;
|
emit('update:sendInviteResponseDialog', { ...props.sendInviteResponseDialog, messageSlot: row });
|
||||||
sendInviteResponseConfirmDialog.value.visible = true;
|
sendInviteResponseConfirmDialog.value.visible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,6 +117,10 @@
|
|||||||
cancelSendInviteRequestResponse();
|
cancelSendInviteRequestResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function closeResponseConfirmDialog() {
|
||||||
|
sendInviteResponseConfirmDialog.value.visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
// function refreshInviteMessageTableData(...arg) {
|
// function refreshInviteMessageTableData(...arg) {
|
||||||
// inviteMessagesRequest.refreshInviteMessageTableData(arg);
|
// inviteMessagesRequest.refreshInviteMessageTableData(arg);
|
||||||
// }
|
// }
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button @click="cancelInviteResponseConfirm">{{ t('dialog.invite_response_message.cancel') }}</el-button>
|
<el-button @click="cancelInviteResponseConfirm">{{ t('dialog.invite_response_message.cancel') }}</el-button>
|
||||||
<el-button type="primary" size="small" @click="sendInviteResponseConfirm">{{
|
<el-button type="primary" @click="sendInviteResponseConfirm">{{
|
||||||
t('dialog.invite_response_message.confirm')
|
t('dialog.invite_response_message.confirm')
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</template>
|
</template>
|
||||||
@@ -42,11 +42,10 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(['update:sendInviteResponseConfirmDialog', 'closeInviteDialog']);
|
const emit = defineEmits(['closeResponseConfirmDialog', 'closeInviteDialog']);
|
||||||
|
|
||||||
function cancelInviteResponseConfirm() {
|
function cancelInviteResponseConfirm() {
|
||||||
emit('update:sendInviteResponseConfirmDialog', { visible: false });
|
emit('closeResponseConfirmDialog');
|
||||||
props.sendInviteResponseConfirmDialog.visible = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendInviteResponseConfirm() {
|
function sendInviteResponseConfirm() {
|
||||||
@@ -57,7 +56,7 @@
|
|||||||
};
|
};
|
||||||
if (uploadImage.value) {
|
if (uploadImage.value) {
|
||||||
notificationRequest
|
notificationRequest
|
||||||
.sendInviteResponsePhoto(params, D.invite.id, D.messageSlot.messageType)
|
.sendInviteResponsePhoto(params, D.invite.id)
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
throw err;
|
throw err;
|
||||||
})
|
})
|
||||||
@@ -76,7 +75,7 @@
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
notificationRequest
|
notificationRequest
|
||||||
.sendInviteResponse(params, D.invite.id, D.messageSlot.messageType)
|
.sendInviteResponse(params, D.invite.id)
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
throw err;
|
throw err;
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -46,13 +46,12 @@
|
|||||||
<EditAndSendInviteResponseDialog
|
<EditAndSendInviteResponseDialog
|
||||||
:edit-and-send-invite-response-dialog="editAndSendInviteResponseDialog"
|
:edit-and-send-invite-response-dialog="editAndSendInviteResponseDialog"
|
||||||
:send-invite-response-dialog="sendInviteResponseDialog"
|
:send-invite-response-dialog="sendInviteResponseDialog"
|
||||||
@update:edit-and-send-invite-response-dialog="editAndSendInviteResponseDialog = $event"
|
@closeResponseConfirmDialog="closeResponseConfirmDialog"
|
||||||
@update:send-invite-response-dialog="sendInviteResponseDialog = $event"
|
|
||||||
@closeInviteDialog="closeInviteDialog" />
|
@closeInviteDialog="closeInviteDialog" />
|
||||||
<SendInviteResponseConfirmDialog
|
<SendInviteResponseConfirmDialog
|
||||||
:send-invite-response-dialog="sendInviteResponseDialog"
|
:send-invite-response-dialog="sendInviteResponseDialog"
|
||||||
:send-invite-response-confirm-dialog="sendInviteResponseConfirmDialog"
|
:send-invite-response-confirm-dialog="sendInviteResponseConfirmDialog"
|
||||||
@update:send-invite-response-dialog="sendInviteResponseDialog = $event"
|
@closeResponseConfirmDialog="closeResponseConfirmDialog"
|
||||||
@closeInviteDialog="closeInviteDialog" />
|
@closeInviteDialog="closeInviteDialog" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
@@ -92,7 +91,7 @@
|
|||||||
newMessage: ''
|
newMessage: ''
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(['update:sendInviteResponseDialogVisible']);
|
const emit = defineEmits(['update:sendInviteResponseDialogVisible', 'update:sendInviteResponseDialog']);
|
||||||
|
|
||||||
const sendInviteResponseConfirmDialog = ref({
|
const sendInviteResponseConfirmDialog = ref({
|
||||||
visible: false
|
visible: false
|
||||||
@@ -106,15 +105,19 @@
|
|||||||
emit('update:sendInviteResponseDialogVisible', false);
|
emit('update:sendInviteResponseDialogVisible', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function closeResponseConfirmDialog() {
|
||||||
|
sendInviteResponseConfirmDialog.value.visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
function showEditAndSendInviteResponseDialog(row) {
|
function showEditAndSendInviteResponseDialog(row) {
|
||||||
props.sendInviteResponseDialog.messageSlot = row;
|
emit('update:sendInviteResponseDialog', { ...props.sendInviteResponseDialog, messageSlot: row });
|
||||||
editAndSendInviteResponseDialog.value = {
|
editAndSendInviteResponseDialog.value = {
|
||||||
newMessage: row.message,
|
newMessage: row.message,
|
||||||
visible: true
|
visible: true
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
function showSendInviteResponseConfirmDialog(row) {
|
function showSendInviteResponseConfirmDialog(row) {
|
||||||
props.sendInviteResponseDialog.messageSlot = row;
|
emit('update:sendInviteResponseDialog', { ...props.sendInviteResponseDialog, messageSlot: row });
|
||||||
sendInviteResponseConfirmDialog.value.visible = true;
|
sendInviteResponseConfirmDialog.value.visible = true;
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -481,12 +481,11 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-tree>
|
</el-tree>
|
||||||
</div>
|
</div>
|
||||||
<DiscordNamesDialog :discord-names-dialog-visible="discordNamesDialogVisible" :friends="friends" />
|
<DiscordNamesDialog v-model:discordNamesDialogVisible="discordNamesDialogVisible" :friends="friends" />
|
||||||
<ExportFriendsListDialog
|
<ExportFriendsListDialog
|
||||||
:is-export-friends-list-dialog-visible="isExportFriendsListDialogVisible"
|
v-model:isExportFriendsListDialogVisible="isExportFriendsListDialogVisible"
|
||||||
:friends="friends"
|
:friends="friends" />
|
||||||
@update:isExportFriendsListDialogVisible="isExportFriendsListDialogVisible = $event" />
|
<ExportAvatarsListDialog v-model:isExportAvatarsListDialogVisible="isExportAvatarsListDialogVisible" />
|
||||||
<ExportAvatarsListDialog :is-export-avatars-list-dialog-visible="isExportAvatarsListDialogVisible" />
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
});
|
});
|
||||||
throw new Error("VRChat API didn't update message, try again");
|
throw new Error("VRChat API didn't update message, try again");
|
||||||
} else {
|
} else {
|
||||||
ElMessage.success('Invite message updated');
|
ElMessage({ message: 'Invite message updated', type: 'success' });
|
||||||
}
|
}
|
||||||
return args;
|
return args;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -524,8 +524,7 @@
|
|||||||
@click="consumeInventoryBundle(item.id)"
|
@click="consumeInventoryBundle(item.id)"
|
||||||
size="small"
|
size="small"
|
||||||
:icon="Plus"
|
:icon="Plus"
|
||||||
style="float: right"
|
style="float: right">
|
||||||
circle>
|
|
||||||
{{ t('dialog.gallery_icons.consume_bundle') }}
|
{{ t('dialog.gallery_icons.consume_bundle') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -540,13 +539,7 @@
|
|||||||
import { storeToRefs } from 'pinia';
|
import { storeToRefs } from 'pinia';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import {
|
import { miscRequest, userRequest, vrcPlusIconRequest, vrcPlusImageRequest, inventoryRequest } from '../../../api';
|
||||||
// inventoryRequest,
|
|
||||||
miscRequest,
|
|
||||||
userRequest,
|
|
||||||
vrcPlusIconRequest,
|
|
||||||
vrcPlusImageRequest
|
|
||||||
} from '../../../api';
|
|
||||||
import { AppDebug } from '../../../service/appConfig';
|
import { AppDebug } from '../../../service/appConfig';
|
||||||
import { emojiAnimationStyleList, emojiAnimationStyleUrl } from '../../../shared/constants';
|
import { emojiAnimationStyleList, emojiAnimationStyleUrl } from '../../../shared/constants';
|
||||||
import { extractFileId, formatDateFilter, getEmojiFileName, getPrintFileName } from '../../../shared/utils';
|
import { extractFileId, formatDateFilter, getEmojiFileName, getPrintFileName } from '../../../shared/utils';
|
||||||
@@ -1059,9 +1052,9 @@
|
|||||||
|
|
||||||
async function consumeInventoryBundle(inventoryId) {
|
async function consumeInventoryBundle(inventoryId) {
|
||||||
try {
|
try {
|
||||||
// const args = await inventoryRequest.consumeInventoryBundle({
|
await inventoryRequest.consumeInventoryBundle({
|
||||||
// inventoryId
|
inventoryId
|
||||||
// });
|
});
|
||||||
currentUserInventory.value.delete(inventoryId);
|
currentUserInventory.value.delete(inventoryId);
|
||||||
const array = inventoryTable.value;
|
const array = inventoryTable.value;
|
||||||
const { length } = array;
|
const { length } = array;
|
||||||
@@ -1075,6 +1068,7 @@
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error consuming inventory bundle:', error);
|
console.error('Error consuming inventory bundle:', error);
|
||||||
}
|
}
|
||||||
|
// -- response --
|
||||||
// errors: []
|
// errors: []
|
||||||
// inventoryItems : []
|
// inventoryItems : []
|
||||||
// inventoryItemsCreated: 0
|
// inventoryItemsCreated: 0
|
||||||
|
|||||||
Reference in New Issue
Block a user