feat(mail) : pages/mail.vue — branche handlers Phase 6 (MailCreateTaskModal + MailLinkTaskModal)

This commit is contained in:
2026-05-20 00:50:31 +02:00
parent 273234626f
commit bad292a316

View File

@@ -1,4 +1,5 @@
<script setup lang="ts">
import type { Task } from '~/services/dto/task'
import { useMailStore } from '~/stores/mail'
import { useAuthStore } from '~/stores/auth'
@@ -85,13 +86,30 @@ function handleLoadMore(): void {
store.fetchMessages(true)
}
// Phase 6 : ces handlers seront branchés sur les modals MailCreateTaskModal / MailLinkTaskModal
// ─── Modals Phase 6 ────────────────────────────────────────────────────────
const showCreateTaskModal = ref(false)
const showLinkTaskModal = ref(false)
const activeMailIdForModal = ref<number | null>(null)
function handleCreateTask(mailId: number): void {
console.warn('[mail] handleCreateTask mailId=', mailId, '— modal à implémenter en Phase 6')
activeMailIdForModal.value = mailId
showCreateTaskModal.value = true
}
function handleLinkTask(mailId: number): void {
console.warn('[mail] handleLinkTask mailId=', mailId, '— modal à implémenter en Phase 6')
activeMailIdForModal.value = mailId
showLinkTaskModal.value = true
}
function handleTaskCreated(_task: Task): void {
showCreateTaskModal.value = false
// La tâche est créée et liée côté backend — toast géré par useMailService.createTaskFromMail
}
function handleTaskLinked(_taskId: number): void {
showLinkTaskModal.value = false
// Toast géré par useMailService.linkTask
}
</script>
@@ -143,5 +161,22 @@ function handleLinkTask(mailId: number): void {
/>
</div>
</div>
<!-- Modal créer tâche depuis mail -->
<MailCreateTaskModal
v-if="activeMailIdForModal !== null"
v-model="showCreateTaskModal"
:message-id="activeMailIdForModal"
:message-detail="selectedMessageDetail"
@created="handleTaskCreated"
/>
<!-- Modal lier mail à tâche -->
<MailLinkTaskModal
v-if="activeMailIdForModal !== null"
v-model="showLinkTaskModal"
:message-id="activeMailIdForModal"
@linked="handleTaskLinked"
/>
</div>
</template>