feat: implement patch and settings store
Signed-off-by: Sebastian <krupinski01@gmail.com>
This commit is contained in:
@@ -35,7 +35,6 @@ const mailUiStore = useMailUiStore()
|
||||
// storeToRefs preserves reactivity for state and computed properties
|
||||
const {
|
||||
loading,
|
||||
selectedFolder,
|
||||
selectedMessage,
|
||||
currentMessages,
|
||||
} = storeToRefs(mailStore)
|
||||
@@ -43,6 +42,7 @@ const {
|
||||
const {
|
||||
sidebarVisible,
|
||||
settingsDialogVisible,
|
||||
selectedFolder,
|
||||
composeMode,
|
||||
composeSource,
|
||||
composeVisible,
|
||||
@@ -83,7 +83,7 @@ const lastSyncLabel = computed(() => {
|
||||
// Initialize
|
||||
onMounted(async () => {
|
||||
if (!isManagerAvailable.value) return
|
||||
await mailStore.initialize()
|
||||
await mailUiStore.initialize()
|
||||
})
|
||||
|
||||
// Handlers — thin wrappers that delegate to the store
|
||||
@@ -92,7 +92,11 @@ const {
|
||||
validateRenameFolderName,
|
||||
} = mailUiStore
|
||||
|
||||
const handleFolderSelect = (folder: CollectionObject) => mailStore.selectFolder(folder)
|
||||
const sidebarToggle = () => mailUiStore.sidebarToggle()
|
||||
|
||||
const handleSettingsOpen = () => mailUiStore.settingsOpen()
|
||||
|
||||
const handleFolderSelect = (folder: CollectionObject) => mailUiStore.selectFolder(folder)
|
||||
|
||||
const handleFolderCreateConfirm = async (folderName: string) => {
|
||||
try {
|
||||
@@ -141,7 +145,7 @@ const handleMessageOpen = (message: EntityObject) => {
|
||||
mailStore.selectMessage(message)
|
||||
|
||||
if (isMobile.value) {
|
||||
mailUiStore.closeSidebar()
|
||||
mailUiStore.sidebarHide()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,6 +157,10 @@ const handleMessageComposeForward = (message: EntityObject) => mailUiStore.openC
|
||||
|
||||
const handleMessageComposeClose = () => mailUiStore.closeCompose()
|
||||
|
||||
const handleMessageFlag = (message: EntityObject, flag: string, value: boolean) => {
|
||||
mailStore.flagMessages([message.identifier], { [flag]: value })
|
||||
}
|
||||
|
||||
const handleMessageDelete = (message: EntityObject) => {
|
||||
mailStore.deleteMessages([message.identifier])
|
||||
}
|
||||
@@ -175,12 +183,10 @@ const handleMessageSelectionClear = () => mailUiStore.messageSelectionModeDeacti
|
||||
|
||||
const handleMessageSelectionMove = () => mailUiStore.openMoveMessagesDialog()
|
||||
|
||||
const handleMessageSelectionFlag = (flag: string, value: boolean) => mailUiStore.flagSelectedMessages(flag, value)
|
||||
|
||||
const handleMessageSelectionDelete = () => mailUiStore.deleteSelectedMessages()
|
||||
|
||||
const toggleSidebar = () => mailUiStore.toggleSidebar()
|
||||
|
||||
const handleSettingsOpen = () => mailUiStore.openSettings()
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -210,7 +216,7 @@ const handleSettingsOpen = () => mailUiStore.openSettings()
|
||||
<v-app-bar class="mail-toolbar" elevation="0" density="compact">
|
||||
<v-app-bar-nav-icon
|
||||
v-if="isMobile"
|
||||
@click="toggleSidebar"
|
||||
@click="sidebarToggle"
|
||||
/>
|
||||
|
||||
<v-app-bar-title>Mail</v-app-bar-title>
|
||||
@@ -296,6 +302,7 @@ const handleSettingsOpen = () => mailUiStore.openSettings()
|
||||
@selection-toggle-one="handleMessageSelectionToggleOne"
|
||||
@selection-toggle-all="handleMessageSelectionToggleAll"
|
||||
@selection-clear="handleMessageSelectionClear"
|
||||
@selection-flag="handleMessageSelectionFlag"
|
||||
@selection-move="handleMessageSelectionMove"
|
||||
@selection-delete="handleMessageSelectionDelete"
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user