diff --git a/src/components/MailTable.vue b/src/components/MailTable.vue index b05d466..7ecf21f 100644 --- a/src/components/MailTable.vue +++ b/src/components/MailTable.vue @@ -18,7 +18,7 @@ - + @@ -53,14 +53,31 @@ }, methods: { openEmail(email) { - email.read = true - this.updateEmail(email) this.openedEmail = email + + if(email) { + email.read = true + this.updateEmail(email) + } }, archiveEmail(email) { email.archived = true this.updateEmail(email) }, + changeEmail({toggleRead, toggleArchive, save, closeModal, changeIndex}) { + let email = this.openedEmail + if(toggleRead) { email.read = !email.read } + if(toggleArchive) { email.archived = !email.archived } + if(save) { this.updateEmail(email) } + if(closeModal) { this.openedEmail = null } + + if(changeIndex) { + let emails = this.unarchivedEmails + let currentIndex = emails.indexOf(this.openedEmail) + let newEmail = emails[currentIndex + changeIndex] + this.openEmail(newEmail) + } + }, updateEmail(email) { axios.put(`http://localhost:3000/emails/${email.id}`, email) } diff --git a/src/components/MailView.vue b/src/components/MailView.vue index 054c1a4..285c4c3 100644 --- a/src/components/MailView.vue +++ b/src/components/MailView.vue @@ -1,5 +1,11 @@