small frontend rewrite
This commit is contained in:
41
stores/emojiPickerStore.ts
Normal file
41
stores/emojiPickerStore.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { IPopupData } from '~/types';
|
||||
|
||||
export const useEmojiPickerStore = defineStore('emojiPickerStore', {
|
||||
state: () => ({
|
||||
emojiPickerData: {type: 'emojiPicker'} as IPopupData,
|
||||
}),
|
||||
actions: {
|
||||
openEmojiPicker(payload: IPopupData) {
|
||||
this.emojiPickerData.type = 'emojiPicker';
|
||||
this.emojiPickerData.top = payload.top;
|
||||
this.emojiPickerData.right = payload.right;
|
||||
this.emojiPickerData.openedBy = payload.openedBy;
|
||||
this.emojiPickerData.opened = true;
|
||||
},
|
||||
toggleEmojiPicker(payload: IPopupData) {
|
||||
let messageId;
|
||||
if (this.emojiPickerData.openedBy === undefined) {
|
||||
messageId = null;
|
||||
} else {
|
||||
messageId = this.emojiPickerData.openedBy.messageId || null;
|
||||
}
|
||||
|
||||
console.log(new Date().getTime());
|
||||
console.log(!this.emojiPickerData.opened || payload.openedBy?.messageId !== messageId, this.emojiPickerData.opened, payload.openedBy?.messageId, messageId);
|
||||
|
||||
if (!this.emojiPickerData.opened || payload.openedBy?.messageId !== messageId) {
|
||||
this.openEmojiPicker(payload);
|
||||
} else {
|
||||
this.closeEmojiPicker();
|
||||
}
|
||||
},
|
||||
closeEmojiPicker() {
|
||||
if (this.emojiPickerData.openedBy) this.emojiPickerData.openedBy.messageId = '';
|
||||
this.emojiPickerData.opened = false;
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
if (import.meta.hot) {
|
||||
import.meta.hot.accept(acceptHMRUpdate(useEmojiPickerStore, import.meta.hot));
|
||||
}
|
||||
Reference in New Issue
Block a user