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 @@ + + {{email.archived ? 'Move to Inbox (e)' : 'Archive (e)'}} + {{email.read ? 'Mark Unread (r)' : 'Mark Read (r)'}} + Newer (k) + Older (j) + Subject: {{email.subject}} From {{email.from}} on {{format(new Date(email.sentAt), 'MMM do yyyy')}} @@ -9,11 +15,43 @@