refactor: rename mailStore to mailOperationsStore
Signed-off-by: Sebastian <krupinski01@gmail.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { computed, ref, watch } from 'vue'
|
||||
import { useMailStore } from '@/stores/mailStore'
|
||||
import { useMailOperationsStore } from '@/stores/mailOperationsStore'
|
||||
import { useCollectionsStore } from '@MailManager/stores/collectionsStore'
|
||||
import type { ServiceObject, CollectionObject } from '@MailManager/models'
|
||||
import FolderSelectionTreeNode from './FolderSelectionTreeNode.vue'
|
||||
@@ -30,7 +30,7 @@ const emit = defineEmits<{
|
||||
cancel: []
|
||||
}>()
|
||||
|
||||
const mailStore = useMailStore()
|
||||
const mailOperationsStore = useMailOperationsStore()
|
||||
const collectionsStore = useCollectionsStore()
|
||||
|
||||
const selectedFolderKey = ref<string | null>(null)
|
||||
@@ -59,9 +59,9 @@ const serviceGroups = computed<ServiceGroup[]>(() => {
|
||||
|
||||
return [{
|
||||
service,
|
||||
loading: mailStore.isServiceFolderLoading(service.provider, service.identifier),
|
||||
loaded: mailStore.hasServiceFoldersLoaded(service.provider, service.identifier),
|
||||
error: mailStore.getServiceFolderError(service.provider, service.identifier),
|
||||
loading: mailOperationsStore.isServiceFolderLoading(service.provider, service.identifier),
|
||||
loaded: mailOperationsStore.hasServiceFoldersLoaded(service.provider, service.identifier),
|
||||
error: mailOperationsStore.getServiceFolderError(service.provider, service.identifier),
|
||||
}]
|
||||
})
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import { computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useServicesStore } from '@MailManager/stores/servicesStore'
|
||||
import { useMailStore } from '@/stores/mailStore'
|
||||
import { useMailOperationsStore } from '@/stores/mailOperationsStore'
|
||||
import { useMailSettingsStore } from '@/stores/mailSettingsStore'
|
||||
import { useMailUiStore } from '@/stores/mailUiStore'
|
||||
import FolderTreeView from './FolderTreeView.vue'
|
||||
@@ -28,7 +28,7 @@ const emit = defineEmits<{
|
||||
|
||||
// Stores
|
||||
const servicesStore = useServicesStore()
|
||||
const mailStore = useMailStore()
|
||||
const mailOperationsStore = useMailOperationsStore()
|
||||
const mailUiStore = useMailUiStore()
|
||||
const mailSettingsStore = useMailSettingsStore()
|
||||
const { folderViewMode } = storeToRefs(mailSettingsStore)
|
||||
@@ -43,9 +43,9 @@ const serviceGroups = computed(() => {
|
||||
|
||||
groups.push({
|
||||
service,
|
||||
loading: mailStore.isServiceFolderLoading(service.provider, service.identifier),
|
||||
loaded: mailStore.hasServiceFoldersLoaded(service.provider, service.identifier),
|
||||
error: mailStore.getServiceFolderError(service.provider, service.identifier),
|
||||
loading: mailOperationsStore.isServiceFolderLoading(service.provider, service.identifier),
|
||||
loaded: mailOperationsStore.hasServiceFoldersLoaded(service.provider, service.identifier),
|
||||
error: mailOperationsStore.getServiceFolderError(service.provider, service.identifier),
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import TextAlign from '@tiptap/extension-text-align'
|
||||
import Placeholder from '@tiptap/extension-placeholder'
|
||||
import { EntityObject } from '@MailManager/models/entity'
|
||||
import type { CollectionObject, MessageAddressObject } from '@MailManager/models'
|
||||
import { useMailStore } from '@/stores/mailStore'
|
||||
import { useMailOperationsStore } from '@/stores/mailOperationsStore'
|
||||
import { useMailCompositionStore } from '@/stores/mailCompositionStore'
|
||||
import { ComposerMode } from '@/types/composer'
|
||||
import ComposerToolbar from '@/components/composer/ComposerToolbar.vue'
|
||||
@@ -32,11 +32,11 @@ const emit = defineEmits<{
|
||||
close: []
|
||||
}>()
|
||||
|
||||
const mailStore = useMailStore()
|
||||
const mailOperationsStore = useMailOperationsStore()
|
||||
const compositionStore = useMailCompositionStore()
|
||||
const {
|
||||
composerSending: sending,
|
||||
} = storeToRefs(mailStore)
|
||||
} = storeToRefs(mailOperationsStore)
|
||||
|
||||
const {
|
||||
activeDraft,
|
||||
|
||||
@@ -4,7 +4,7 @@ import { storeToRefs } from 'pinia'
|
||||
import { useDisplay } from 'vuetify'
|
||||
import { useModuleStore } from '@KTXC'
|
||||
import { useCollectionsStore } from '@MailManager/stores/collectionsStore'
|
||||
import { useMailStore } from '@/stores/mailStore'
|
||||
import { useMailOperationsStore } from '@/stores/mailOperationsStore'
|
||||
import { useMailUiStore } from '@/stores/mailUiStore'
|
||||
import type { CollectionObject, EntityObject } from '@MailManager/models'
|
||||
import { ComposerMode } from '@/types/composer'
|
||||
@@ -30,7 +30,7 @@ const isManagerAvailable = computed(() => {
|
||||
const collectionsStore = useCollectionsStore()
|
||||
|
||||
// Mail module store
|
||||
const mailStore = useMailStore()
|
||||
const mailOperationsStore = useMailOperationsStore()
|
||||
const mailUiStore = useMailUiStore()
|
||||
|
||||
// storeToRefs preserves reactivity for state and computed properties
|
||||
@@ -38,7 +38,7 @@ const {
|
||||
loading,
|
||||
selectedMessage,
|
||||
currentMessages,
|
||||
} = storeToRefs(mailStore)
|
||||
} = storeToRefs(mailOperationsStore)
|
||||
|
||||
const {
|
||||
sidebarVisible,
|
||||
@@ -70,7 +70,7 @@ const {
|
||||
} = storeToRefs(mailUiStore)
|
||||
|
||||
// Complex store/composable objects accessed directly (not simple refs)
|
||||
const { mailSync, entitiesStore } = mailStore
|
||||
const { mailSync, entitiesStore } = mailOperationsStore
|
||||
|
||||
const lastSyncLabel = computed(() => {
|
||||
const lastSync = unref(unref(mailSync.lastSync))
|
||||
@@ -141,7 +141,7 @@ const handleFolderMoveCancel = () => mailUiStore.closeMoveFolderDialog()
|
||||
|
||||
|
||||
const handleMessageOpen = (message: EntityObject) => {
|
||||
mailStore.selectMessage(message)
|
||||
mailOperationsStore.selectMessage(message)
|
||||
|
||||
if (isMobile.value) {
|
||||
mailUiStore.sidebarHide()
|
||||
|
||||
@@ -21,7 +21,7 @@ interface ComposerMessageInput {
|
||||
}
|
||||
}
|
||||
|
||||
export const useMailStore = defineStore('mailStore', () => {
|
||||
export const useMailOperationsStore = defineStore('mailOperationsStore', () => {
|
||||
const servicesStore = useServicesStore()
|
||||
const collectionsStore = useCollectionsStore()
|
||||
const entitiesStore = useEntitiesStore()
|
||||
@@ -156,11 +156,7 @@ export const useMailStore = defineStore('mailStore', () => {
|
||||
|
||||
// Track the currently selected folder
|
||||
if (selectedFolder.value) {
|
||||
//mailSyncController.addSource({
|
||||
// provider: selectedFolder.value.provider,
|
||||
// service: selectedFolder.value.service,
|
||||
// collections: [selectedFolder.value.identifier],
|
||||
//})
|
||||
mailSyncController.addSource(selectedFolder.value.identifier)
|
||||
}
|
||||
|
||||
// Always track inboxes for each account (for new-mail notifications)
|
||||
@@ -175,13 +171,7 @@ export const useMailStore = defineStore('mailStore', () => {
|
||||
String(c.identifier).toLowerCase() === 'inbox'),
|
||||
)
|
||||
|
||||
if (inboxes.length > 0) {
|
||||
//mailSyncController.addSource({
|
||||
// provider: service.provider,
|
||||
// service: service.identifier as string | number,
|
||||
// collections: inboxes.map(inbox => inbox.identifier),
|
||||
//})
|
||||
}
|
||||
inboxes.forEach(inbox => mailSyncController.addSource(inbox.identifier))
|
||||
})
|
||||
|
||||
if (mailSyncController.sources.value.length > 0 && !mailSyncController.isRunning.value) {
|
||||
+25
-25
@@ -1,7 +1,7 @@
|
||||
import { computed, ref, shallowRef, watch } from 'vue'
|
||||
import { defineStore } from 'pinia'
|
||||
import { useCollectionsStore } from '@MailManager/stores/collectionsStore'
|
||||
import { useMailStore } from '@/stores/mailStore'
|
||||
import { useMailOperationsStore } from '@/stores/mailOperationsStore'
|
||||
import { useMailSettingsStore } from '@/stores/mailSettingsStore'
|
||||
import { ComposerMode } from '@/types/composer'
|
||||
import type { ServiceIdentifier, EntityIdentifier } from '@MailManager/types/common'
|
||||
@@ -13,7 +13,7 @@ import { useSnackbar } from '@KTXC'
|
||||
|
||||
export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
const collectionsStore = useCollectionsStore()
|
||||
const mailStore = useMailStore()
|
||||
const mailOperationsStore = useMailOperationsStore()
|
||||
const mailSettingsStore = useMailSettingsStore()
|
||||
const { showSnackbar } = useSnackbar()
|
||||
|
||||
@@ -98,7 +98,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
})
|
||||
|
||||
watch(
|
||||
() => mailStore.selectedMessage,
|
||||
() => mailOperationsStore.selectedMessage,
|
||||
message => {
|
||||
if (message) {
|
||||
closeComposer()
|
||||
@@ -109,17 +109,17 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
)
|
||||
|
||||
watch(
|
||||
() => mailStore.currentMessages,
|
||||
() => mailOperationsStore.currentMessages,
|
||||
() => {
|
||||
messageSelectionReconcile()
|
||||
},
|
||||
)
|
||||
|
||||
async function initialize() {
|
||||
await mailStore.initialize()
|
||||
await mailOperationsStore.initialize()
|
||||
|
||||
if (!selectedFolder.value) {
|
||||
const inbox = mailStore.findFoldersByRole('inbox')[0] ?? null
|
||||
const inbox = mailOperationsStore.findFoldersByRole('inbox')[0] ?? null
|
||||
|
||||
if (inbox) {
|
||||
await selectFolder(inbox)
|
||||
@@ -205,7 +205,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
clearMessageReadTimer()
|
||||
selectedMessage.value = null
|
||||
selectedFolder.value = folder
|
||||
await mailStore.selectFolder(folder)
|
||||
await mailOperationsStore.selectFolder(folder)
|
||||
}
|
||||
|
||||
async function selectMessage(message: EntityObject | null) {
|
||||
@@ -285,7 +285,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
createFolderDialogError.value = ''
|
||||
|
||||
try {
|
||||
const folder = await mailStore.createFolder(service, label, createFolderDialogParent.value)
|
||||
const folder = await mailOperationsStore.createFolder(service, label, createFolderDialogParent.value)
|
||||
notify(`Folder "${folder.properties.label || label.trim()}" created`, 'success')
|
||||
closeCreateFolderDialog()
|
||||
return folder
|
||||
@@ -298,7 +298,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
}
|
||||
|
||||
async function openRenameFolderDialog(target: CollectionObject) {
|
||||
const service = await mailStore.retrieveService(target.service)
|
||||
const service = await mailOperationsStore.retrieveService(target.service)
|
||||
renameFolderDialogService.value = service
|
||||
renameFolderDialogFolder.value = target
|
||||
renameFolderDialogError.value = ''
|
||||
@@ -325,7 +325,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
renameFolderDialogError.value = ''
|
||||
|
||||
try {
|
||||
const updatedFolder = await mailStore.renameFolder(folder, label)
|
||||
const updatedFolder = await mailOperationsStore.renameFolder(folder, label)
|
||||
|
||||
if (_sameCollection(selectedFolder.value, folder)) {
|
||||
selectedFolder.value = updatedFolder
|
||||
@@ -347,7 +347,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
}
|
||||
|
||||
async function openMoveFolderDialog(source: CollectionObject) {
|
||||
const service = await mailStore.retrieveService(source.service)
|
||||
const service = await mailOperationsStore.retrieveService(source.service)
|
||||
moveFolderDialogService.value = service
|
||||
moveFolderDialogSource.value = source
|
||||
moveFolderDialogVisible.value = true
|
||||
@@ -366,7 +366,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
return null
|
||||
}
|
||||
|
||||
const movedFolder = await mailStore.moveFolder(source, target)
|
||||
const movedFolder = await mailOperationsStore.moveFolder(source, target)
|
||||
|
||||
if (_sameCollection(selectedFolder.value, source)) {
|
||||
selectedFolder.value = movedFolder
|
||||
@@ -382,7 +382,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
}
|
||||
|
||||
async function openDeleteFolderDialog(target: CollectionObject) {
|
||||
const service = await mailStore.retrieveService(target.service)
|
||||
const service = await mailOperationsStore.retrieveService(target.service)
|
||||
deleteFolderDialogService.value = service
|
||||
deleteFolderDialogFolder.value = target
|
||||
deleteFolderDialogError.value = ''
|
||||
@@ -409,7 +409,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
deleteFolderDialogError.value = ''
|
||||
|
||||
try {
|
||||
const deleted = await mailStore.deleteFolder(folder)
|
||||
const deleted = await mailOperationsStore.deleteFolder(folder)
|
||||
|
||||
if (_sameCollection(selectedFolder.value, folder)) {
|
||||
selectFolder(null)
|
||||
@@ -513,7 +513,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
}
|
||||
|
||||
function openComposer(source?: EntityObject | MessageAddressInterface, mode: ComposerMode = ComposerMode.Fresh) {
|
||||
mailStore.selectMessage(null)
|
||||
mailOperationsStore.selectMessage(null)
|
||||
composerSource.value = source ?? null
|
||||
composerMode.value = mode
|
||||
composerVisible.value = true
|
||||
@@ -564,7 +564,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
function messageSelectionToggleAll(value: boolean) {
|
||||
selectionMode.value = true
|
||||
if (value) {
|
||||
setSelectionList(mailStore.currentMessages.map(message => message.identifier))
|
||||
setSelectionList(mailOperationsStore.currentMessages.map(message => message.identifier))
|
||||
} else {
|
||||
setSelectionList([])
|
||||
}
|
||||
@@ -576,7 +576,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
return
|
||||
}
|
||||
|
||||
const currentMessageIdentifiers = new Set(mailStore.currentMessages.map(message => message.identifier))
|
||||
const currentMessageIdentifiers = new Set(mailOperationsStore.currentMessages.map(message => message.identifier))
|
||||
const nextSelectedIds = selectionList.value.filter(identifier => currentMessageIdentifiers.has(identifier))
|
||||
|
||||
if (nextSelectedIds.length !== selectionList.value.length) {
|
||||
@@ -606,7 +606,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
moveMessagesServiceIdentifier = selectedFolder.value?.service as ServiceIdentifier || null
|
||||
}
|
||||
|
||||
moveMessagesDialogService.value = await mailStore.retrieveService(moveMessagesServiceIdentifier)
|
||||
moveMessagesDialogService.value = await mailOperationsStore.retrieveService(moveMessagesServiceIdentifier)
|
||||
moveMessagesDialogVisible.value = true
|
||||
}
|
||||
|
||||
@@ -616,7 +616,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
moveMessagesDialogCandidates.value = null
|
||||
}
|
||||
|
||||
async function confirmMoveMessages(targetIdentifier: Parameters<typeof mailStore.moveMessages>[0]) {
|
||||
async function confirmMoveMessages(targetIdentifier: Parameters<typeof mailOperationsStore.moveMessages>[0]) {
|
||||
await moveMessages(targetIdentifier, moveMessagesDialogCandidates.value ?? [])
|
||||
messageSelectionModeDeactivate()
|
||||
closeMoveMessagesDialog()
|
||||
@@ -634,7 +634,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
|
||||
async function deleteMessages(entityIdentifiers: EntityIdentifier[]) {
|
||||
try {
|
||||
const result = await mailStore.deleteMessages(entityIdentifiers)
|
||||
const result = await mailOperationsStore.deleteMessages(entityIdentifiers)
|
||||
|
||||
if (!result) {
|
||||
return null
|
||||
@@ -655,7 +655,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
options: { notify?: boolean } = {},
|
||||
) {
|
||||
try {
|
||||
const result = await mailStore.flagMessages(entityIdentifiers, flags)
|
||||
const result = await mailOperationsStore.flagMessages(entityIdentifiers, flags)
|
||||
|
||||
if (!result) {
|
||||
return null
|
||||
@@ -681,7 +681,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
|
||||
async function moveMessages(target: CollectionObject, entityIdentifiers: EntityIdentifier[]) {
|
||||
try {
|
||||
const result = await mailStore.moveMessages(target, entityIdentifiers)
|
||||
const result = await mailOperationsStore.moveMessages(target, entityIdentifiers)
|
||||
|
||||
if (!result) {
|
||||
return null
|
||||
@@ -698,7 +698,7 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
|
||||
async function downloadMessage(entity: EntityObject, index?: number) {
|
||||
try {
|
||||
await mailStore.downloadMessage(entity, index)
|
||||
await mailOperationsStore.downloadMessage(entity, index)
|
||||
} catch (error) {
|
||||
const messageText = error instanceof Error
|
||||
? error.message
|
||||
@@ -710,8 +710,8 @@ export const useMailUiStore = defineStore('mailUiStore', () => {
|
||||
}
|
||||
}
|
||||
|
||||
function attachmentBlob(entity: EntityObject, part: Parameters<typeof mailStore.attachmentBlob>[1]) {
|
||||
return mailStore.attachmentBlob(entity, part)
|
||||
function attachmentBlob(entity: EntityObject, part: Parameters<typeof mailOperationsStore.attachmentBlob>[1]) {
|
||||
return mailOperationsStore.attachmentBlob(entity, part)
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user