feat(mail) : pages/mail.vue — branche handlers Phase 6 (MailCreateTaskModal + MailLinkTaskModal)
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import type { Task } from '~/services/dto/task'
|
||||||
import { useMailStore } from '~/stores/mail'
|
import { useMailStore } from '~/stores/mail'
|
||||||
import { useAuthStore } from '~/stores/auth'
|
import { useAuthStore } from '~/stores/auth'
|
||||||
|
|
||||||
@@ -85,13 +86,30 @@ function handleLoadMore(): void {
|
|||||||
store.fetchMessages(true)
|
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 {
|
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 {
|
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>
|
</script>
|
||||||
|
|
||||||
@@ -143,5 +161,22 @@ function handleLinkTask(mailId: number): void {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user