mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-26 02:03:49 +02:00
refactor: store state
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { defineStore } from 'pinia';
|
||||
import { computed, reactive, watch } from 'vue';
|
||||
import { ref, watch } from 'vue';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import { instanceRequest, inviteMessagesRequest } from '../api';
|
||||
import { watchState } from '../service/watchState';
|
||||
@@ -14,109 +14,77 @@ export const useInviteStore = defineStore('Invite', () => {
|
||||
const gameStore = useGameStore();
|
||||
const launchStore = useLaunchStore();
|
||||
const advancedSettingsStore = useAdvancedSettingsStore();
|
||||
const state = reactive({
|
||||
editInviteMessageDialog: {
|
||||
visible: false,
|
||||
inviteMessage: {},
|
||||
messageType: '',
|
||||
newMessage: ''
|
||||
|
||||
const editInviteMessageDialog = ref({
|
||||
visible: false,
|
||||
inviteMessage: {},
|
||||
messageType: '',
|
||||
newMessage: ''
|
||||
});
|
||||
|
||||
const inviteMessageTable = ref({
|
||||
data: [],
|
||||
tableProps: {
|
||||
stripe: true,
|
||||
size: 'small'
|
||||
},
|
||||
inviteMessageTable: {
|
||||
data: [],
|
||||
tableProps: {
|
||||
stripe: true,
|
||||
size: 'small'
|
||||
},
|
||||
layout: 'table',
|
||||
visible: false
|
||||
layout: 'table',
|
||||
visible: false
|
||||
});
|
||||
|
||||
const inviteResponseMessageTable = ref({
|
||||
data: [],
|
||||
tableProps: {
|
||||
stripe: true,
|
||||
size: 'small'
|
||||
},
|
||||
inviteResponseMessageTable: {
|
||||
data: [],
|
||||
tableProps: {
|
||||
stripe: true,
|
||||
size: 'small'
|
||||
},
|
||||
layout: 'table',
|
||||
visible: false
|
||||
layout: 'table',
|
||||
visible: false
|
||||
});
|
||||
|
||||
const inviteRequestMessageTable = ref({
|
||||
data: [],
|
||||
tableProps: {
|
||||
stripe: true,
|
||||
size: 'small'
|
||||
},
|
||||
inviteRequestMessageTable: {
|
||||
data: [],
|
||||
tableProps: {
|
||||
stripe: true,
|
||||
size: 'small'
|
||||
},
|
||||
layout: 'table',
|
||||
visible: false
|
||||
layout: 'table',
|
||||
visible: false
|
||||
});
|
||||
|
||||
const inviteRequestResponseMessageTable = ref({
|
||||
data: [],
|
||||
tableProps: {
|
||||
stripe: true,
|
||||
size: 'small'
|
||||
},
|
||||
inviteRequestResponseMessageTable: {
|
||||
data: [],
|
||||
tableProps: {
|
||||
stripe: true,
|
||||
size: 'small'
|
||||
},
|
||||
layout: 'table',
|
||||
visible: false
|
||||
}
|
||||
layout: 'table',
|
||||
visible: false
|
||||
});
|
||||
|
||||
watch(
|
||||
() => watchState.isLoggedIn,
|
||||
() => {
|
||||
state.inviteMessageTable.data = [];
|
||||
state.inviteResponseMessageTable.data = [];
|
||||
state.inviteRequestMessageTable.data = [];
|
||||
state.inviteRequestResponseMessageTable.data = [];
|
||||
state.editInviteMessageDialog.visible = false;
|
||||
state.inviteMessageTable.visible = false;
|
||||
state.inviteResponseMessageTable.visible = false;
|
||||
state.inviteRequestMessageTable.visible = false;
|
||||
state.inviteRequestResponseMessageTable.visible = false;
|
||||
inviteMessageTable.value.data = [];
|
||||
inviteResponseMessageTable.value.data = [];
|
||||
inviteRequestMessageTable.value.data = [];
|
||||
inviteRequestResponseMessageTable.value.data = [];
|
||||
editInviteMessageDialog.value.visible = false;
|
||||
inviteMessageTable.value.visible = false;
|
||||
inviteResponseMessageTable.value.visible = false;
|
||||
inviteRequestMessageTable.value.visible = false;
|
||||
inviteRequestResponseMessageTable.value.visible = false;
|
||||
},
|
||||
{ flush: 'sync' }
|
||||
);
|
||||
|
||||
const editInviteMessageDialog = computed({
|
||||
get: () => state.editInviteMessageDialog,
|
||||
set: (value) => {
|
||||
state.editInviteMessageDialog = value;
|
||||
}
|
||||
});
|
||||
|
||||
const inviteMessageTable = computed({
|
||||
get: () => state.inviteMessageTable,
|
||||
set: (value) => {
|
||||
state.inviteMessageTable = value;
|
||||
}
|
||||
});
|
||||
|
||||
const inviteResponseMessageTable = computed({
|
||||
get: () => state.inviteResponseMessageTable,
|
||||
set: (value) => {
|
||||
state.inviteResponseMessageTable = value;
|
||||
}
|
||||
});
|
||||
|
||||
const inviteRequestMessageTable = computed({
|
||||
get: () => state.inviteRequestMessageTable,
|
||||
set: (value) => {
|
||||
state.inviteRequestMessageTable = value;
|
||||
}
|
||||
});
|
||||
|
||||
const inviteRequestResponseMessageTable = computed({
|
||||
get: () => state.inviteRequestResponseMessageTable,
|
||||
set: (value) => {
|
||||
state.inviteRequestResponseMessageTable = value;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {string} messageType
|
||||
* @param {any} inviteMessage
|
||||
*/
|
||||
function showEditInviteMessageDialog(messageType, inviteMessage) {
|
||||
const D = state.editInviteMessageDialog;
|
||||
const D = editInviteMessageDialog.value;
|
||||
D.newMessage = inviteMessage.message;
|
||||
D.visible = true;
|
||||
D.inviteMessage = inviteMessage;
|
||||
@@ -133,16 +101,16 @@ export const useInviteStore = defineStore('Invite', () => {
|
||||
.then(({ json }) => {
|
||||
switch (mode) {
|
||||
case 'message':
|
||||
state.inviteMessageTable.data = json;
|
||||
inviteMessageTable.value.data = json;
|
||||
break;
|
||||
case 'response':
|
||||
state.inviteResponseMessageTable.data = json;
|
||||
inviteResponseMessageTable.value.data = json;
|
||||
break;
|
||||
case 'request':
|
||||
state.inviteRequestMessageTable.data = json;
|
||||
inviteRequestMessageTable.value.data = json;
|
||||
break;
|
||||
case 'requestResponse':
|
||||
state.inviteRequestResponseMessageTable.data = json;
|
||||
inviteRequestResponseMessageTable.value.data = json;
|
||||
break;
|
||||
}
|
||||
})
|
||||
@@ -196,8 +164,6 @@ export const useInviteStore = defineStore('Invite', () => {
|
||||
}
|
||||
|
||||
return {
|
||||
state,
|
||||
|
||||
editInviteMessageDialog,
|
||||
inviteMessageTable,
|
||||
inviteResponseMessageTable,
|
||||
|
||||
Reference in New Issue
Block a user