From 11c6ac7badd4ad564e6b0c1361e7629010d522e1 Mon Sep 17 00:00:00 2001 From: Jeffrey Biles Date: Sun, 29 Mar 2020 01:38:36 -0700 Subject: [PATCH 01/40] Bare app - remove everything except styling, db.json, and packages --- src/App.vue | 33 +--------- src/components/BulkActionBar.vue | 71 ---------------------- src/components/MailScreen.vue | 35 ----------- src/components/MailScreenArchived.vue | 34 ----------- src/components/MailScreenInbox.vue | 34 ----------- src/components/MailTable.vue | 86 --------------------------- src/components/MailView.vue | 57 ------------------ src/components/ModalView.vue | 28 --------- src/composition/useEmailSelection.js | 39 ------------ src/composition/useKeydown.js | 20 ------- 10 files changed, 1 insertion(+), 436 deletions(-) delete mode 100644 src/components/BulkActionBar.vue delete mode 100644 src/components/MailScreen.vue delete mode 100644 src/components/MailScreenArchived.vue delete mode 100644 src/components/MailScreenInbox.vue delete mode 100644 src/components/MailTable.vue delete mode 100644 src/components/MailView.vue delete mode 100644 src/components/ModalView.vue delete mode 100644 src/composition/useEmailSelection.js delete mode 100644 src/composition/useKeydown.js diff --git a/src/App.vue b/src/App.vue index 687c2ff..885a3bf 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,44 +1,13 @@ diff --git a/src/components/BulkActionBar.vue b/src/components/BulkActionBar.vue deleted file mode 100644 index a001cc2..0000000 --- a/src/components/BulkActionBar.vue +++ /dev/null @@ -1,71 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/MailScreen.vue b/src/components/MailScreen.vue deleted file mode 100644 index d758f5e..0000000 --- a/src/components/MailScreen.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/MailScreenArchived.vue b/src/components/MailScreenArchived.vue deleted file mode 100644 index be20c80..0000000 --- a/src/components/MailScreenArchived.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/MailScreenInbox.vue b/src/components/MailScreenInbox.vue deleted file mode 100644 index 4c11168..0000000 --- a/src/components/MailScreenInbox.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/MailTable.vue b/src/components/MailTable.vue deleted file mode 100644 index 4069cdd..0000000 --- a/src/components/MailTable.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/MailView.vue b/src/components/MailView.vue deleted file mode 100644 index 5be9bbd..0000000 --- a/src/components/MailView.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/ModalView.vue b/src/components/ModalView.vue deleted file mode 100644 index 1b95aee..0000000 --- a/src/components/ModalView.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/composition/useEmailSelection.js b/src/composition/useEmailSelection.js deleted file mode 100644 index f8fba6b..0000000 --- a/src/composition/useEmailSelection.js +++ /dev/null @@ -1,39 +0,0 @@ -import { ref, reactive } from 'vue'; - -let emails = new Set(); -export const useEmailSelection = function(){ - - let emailSelection = reactive({ - emails: emails, - toggle(id) { - if(this.emails.has(id)) { - this.emails.delete(id) - } else { - this.emails.add(id); - } - }, - clear(){ - this.emails.clear(); - }, - addMultiple(emails) { - emails.forEach(email => { - this.emails.add(email) - }) - }, - forSelected(fn){ - this.emails.forEach(email => { - fn(email) - }) - }, - markRead(){ this.forSelected(e => e.read = true )}, - markUnread(){ this.forSelected(e => e.read = false )}, - archive(){ this.forSelected(e => e.archived = true); this.clear();}, - moveToInbox(){ this.forSelected(e => e.archived = false); this.clear();} - }) - - return { - emailSelection, - } -} - -export default useEmailSelection; \ No newline at end of file diff --git a/src/composition/useKeydown.js b/src/composition/useKeydown.js deleted file mode 100644 index 065b2ef..0000000 --- a/src/composition/useKeydown.js +++ /dev/null @@ -1,20 +0,0 @@ -import { onMounted, onBeforeUnmount } from 'vue'; -import { fr } from 'date-fns/locale'; - -export const useKeydown = function(keyCombos) { - let onkey = function(event) { - let kc = keyCombos.find(({key, fn}) => key == event.key ) - if(kc) { - kc.fn() - } - } - - onMounted(()=> { - window.addEventListener('keydown', onkey); - }) - onBeforeUnmount(()=> { - window.removeEventListener('keydown', onkey); - }) -} - -export default useKeydown; \ No newline at end of file From 6a921b858c5b87e5fc2d03603dc20043aeaab54d Mon Sep 17 00:00:00 2001 From: Jeffrey Biles Date: Sun, 29 Mar 2020 09:20:57 -0700 Subject: [PATCH 02/40] Building the Inbox --- src/App.vue | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/src/App.vue b/src/App.vue index 885a3bf..9cd2f27 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,13 +1,87 @@ From 03c6923013f58c5c4d083d48cf6a0992bce5309f Mon Sep 17 00:00:00 2001 From: Jeffrey Biles Date: Sun, 29 Mar 2020 09:58:17 -0700 Subject: [PATCH 03/40] Pull code into MailTable component --- src/App.vue | 75 ++----------------------------- src/components/MailTable.vue | 86 ++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+), 71 deletions(-) create mode 100644 src/components/MailTable.vue diff --git a/src/App.vue b/src/App.vue index 9cd2f27..9929468 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,84 +3,17 @@

VMail Inbox

- - - - - - - - - - -
- - {{email.from}} -

{{email.subject}} - {{email.body}}

-
{{format(new Date(email.sentAt), 'MMM do yyyy')}}
+ diff --git a/src/components/MailTable.vue b/src/components/MailTable.vue new file mode 100644 index 0000000..6a30735 --- /dev/null +++ b/src/components/MailTable.vue @@ -0,0 +1,86 @@ + + + + + \ No newline at end of file From 266268a49cce1fedeec9120d60874c922b1dcd4c Mon Sep 17 00:00:00 2001 From: Jeffrey Biles Date: Sun, 29 Mar 2020 10:21:02 -0700 Subject: [PATCH 04/40] async and Suspense --- src/App.vue | 10 ++++++++-- src/components/MailTable.vue | 5 +++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/App.vue b/src/App.vue index 9929468..56bfa29 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,9 +1,15 @@ diff --git a/src/components/MailTable.vue b/src/components/MailTable.vue index 6a30735..e7ad53c 100644 --- a/src/components/MailTable.vue +++ b/src/components/MailTable.vue @@ -21,10 +21,9 @@ From 5a7e7485781bc13762c84705f579314a7b3a65ae Mon Sep 17 00:00:00 2001 From: Jeffrey Biles Date: Sun, 29 Mar 2020 12:27:46 -0700 Subject: [PATCH 07/40] opening an email below the table --- src/components/MailTable.vue | 15 ++++++++++++--- src/components/MailView.vue | 31 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 src/components/MailView.vue diff --git a/src/components/MailTable.vue b/src/components/MailTable.vue index 8c4a521..0716efb 100644 --- a/src/components/MailTable.vue +++ b/src/components/MailTable.vue @@ -4,7 +4,7 @@ + @click="openEmail(email)"> @@ -17,21 +17,29 @@ + + + + \ No newline at end of file From 93ad63af801161e0c0d514f822b164981cda5a09 Mon Sep 17 00:00:00 2001 From: Jeffrey Biles Date: Sun, 29 Mar 2020 12:38:19 -0700 Subject: [PATCH 08/40] r --- src/components/MailView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MailView.vue b/src/components/MailView.vue index 072bb53..685a001 100644 --- a/src/components/MailView.vue +++ b/src/components/MailView.vue @@ -1,5 +1,5 @@ + + \ No newline at end of file From 77e1a1d4073669498ec7a1eb0a97d8a0cc5e538d Mon Sep 17 00:00:00 2001 From: Jeffrey Biles Date: Sun, 29 Mar 2020 14:40:18 -0700 Subject: [PATCH 10/40] Click on overly to close modal --- src/components/MailTable.vue | 4 ++-- src/components/ModalView.vue | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/components/MailTable.vue b/src/components/MailTable.vue index b679d2e..b23ee3c 100644 --- a/src/components/MailTable.vue +++ b/src/components/MailTable.vue @@ -18,8 +18,8 @@ - - + + diff --git a/src/components/ModalView.vue b/src/components/ModalView.vue index e9978e3..1543522 100644 --- a/src/components/ModalView.vue +++ b/src/components/ModalView.vue @@ -1,6 +1,6 @@ + + \ No newline at end of file diff --git a/src/components/MailTable.vue b/src/components/MailTable.vue index d8b9626..2ea34ea 100644 --- a/src/components/MailTable.vue +++ b/src/components/MailTable.vue @@ -1,6 +1,7 @@