1 Commits

Author SHA1 Message Date
Sebastian 167bc6fc58 chore(deps): update dependency vite to v8.1.4 2026-07-14 03:02:59 +00:00
2 changed files with 36 additions and 77 deletions
-75
View File
@@ -1,75 +0,0 @@
<script setup lang="ts">
import { computed } from 'vue'
import { storeToRefs } from 'pinia'
import { useDisplay } from 'vuetify'
import { useMailUiStore } from '@/stores/mailUiStore'
import FolderView from '@/components/FolderView.vue'
import type { CollectionObject } from '@MailManager/models/collection'
const display = useDisplay()
const isMobile = computed(() => display.mdAndDown.value)
const mailUiStore = useMailUiStore()
const { sidebarVisible, selectedFolder } = storeToRefs(mailUiStore)
const handleCompose = () => mailUiStore.openComposer()
const handleFolderSelect = (folder: CollectionObject) => mailUiStore.selectFolder(folder)
const handleSettingsOpen = () => mailUiStore.settingsOpen()
</script>
<template>
<v-navigation-drawer
v-model="sidebarVisible"
contained
:permanent="sidebarVisible && !isMobile"
:temporary="isMobile"
width="280"
class="mail-sidebar"
>
<div class="pa-3 pb-0">
<!-- Primary action -->
<v-btn
block
color="primary"
variant="tonal"
prepend-icon="mdi-pencil"
class="justify-start"
@click="handleCompose"
>
Compose
</v-btn>
</div>
<!-- Folders -->
<FolderView
:selected-folder="selectedFolder"
@select="handleFolderSelect"
/>
<!-- Pinned utility footer -->
<template #append>
<v-divider />
<div class="pa-2">
<v-btn
block
variant="text"
size="small"
prepend-icon="mdi-cog"
class="justify-start text-medium-emphasis"
@click="handleSettingsOpen"
>
Settings
</v-btn>
</div>
</template>
</v-navigation-drawer>
</template>
<style scoped>
.mail-sidebar {
border-right: 1px solid rgb(var(--v-border-color));
overflow-y: auto;
}
</style>
+36 -2
View File
@@ -17,7 +17,7 @@ import DeleteFolderDialog from '@/components/DeleteFolderDialog.vue'
import FolderSelectionDialog from '@/components/FolderSelectionDialog.vue'
import RenameFolderDialog from '@/components/RenameFolderDialog.vue'
import SettingsDialog from '@/components/settings/SettingsDialog.vue'
import Sidebar from '@/components/Sidebar.vue'
import FolderView from '@/components/FolderView.vue'
// Vuetify display for responsive behavior
const display = useDisplay()
@@ -44,6 +44,7 @@ const {
} = storeToRefs(mailOperationsStore)
const {
sidebarVisible,
settingsDialogVisible,
selectedFolder,
composerMode,
@@ -110,6 +111,8 @@ const {
const sidebarToggle = () => mailUiStore.sidebarToggle()
const handleSettingsOpen = () => mailUiStore.settingsOpen()
const handleFolderSelect = (folder: CollectionObject) => mailUiStore.selectFolder(folder)
const handleFolderCreateConfirm = async (folderName: string) => {
@@ -291,7 +294,33 @@ const handleMessageSelectionDelete = () => mailUiStore.deleteSelectedMessages()
<!-- Main content area -->
<div class="mail-content">
<!-- Folder tree sidebar -->
<Sidebar />
<v-navigation-drawer
v-model="sidebarVisible"
contained
:permanent="sidebarVisible && !isMobile"
:temporary="isMobile"
width="280"
class="mail-sidebar"
>
<FolderView
:selected-folder="selectedFolder"
@select="handleFolderSelect"
/>
<template #append>
<div class="pa-2">
<v-btn
block
variant="text"
prepend-icon="mdi-cog"
@click="handleSettingsOpen"
>
Settings
</v-btn>
</div>
</template>
</v-navigation-drawer>
<!-- Main area with message list and reader -->
<div class="mail-main">
@@ -461,6 +490,11 @@ const handleMessageSelectionDelete = () => mailUiStore.deleteSelectedMessages()
position: relative;
}
.mail-sidebar {
border-right: 1px solid rgb(var(--v-border-color));
overflow-y: auto;
}
.mail-main {
flex: 1;
min-height: 0;