From 53927b5a72d2d015fcfbbb2a0f2b303a671132c0 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Wed, 7 Feb 2024 13:14:58 +0530 Subject: [PATCH] chore: Inbox view improvements (#8866) * chore: Inbox view improvements * chore: Review fix --------- Co-authored-by: Muhsin Keloth --- .../widgets/conversation/ConversationHeader.vue | 2 +- .../dashboard/i18n/locale/en/inbox.json | 1 + .../conversation/contact/ContactInfo.vue | 5 +++++ .../routes/dashboard/inbox/InboxList.vue | 16 ++++++++++++++-- .../routes/dashboard/inbox/InboxView.vue | 14 +++++++++----- .../dashboard/inbox/components/InboxCard.vue | 4 ++-- .../inbox/components/InboxItemHeader.vue | 2 +- .../inbox/components/InboxListHeader.vue | 2 +- 8 files changed, 34 insertions(+), 12 deletions(-) diff --git a/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue b/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue index ce398e9e6..42172eb23 100644 --- a/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue +++ b/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue @@ -66,7 +66,7 @@
diff --git a/app/javascript/dashboard/i18n/locale/en/inbox.json b/app/javascript/dashboard/i18n/locale/en/inbox.json index 8cb947e86..dcac5459f 100644 --- a/app/javascript/dashboard/i18n/locale/en/inbox.json +++ b/app/javascript/dashboard/i18n/locale/en/inbox.json @@ -6,6 +6,7 @@ "LOADING": "Fetching notifications", "EOF": "All notifications loaded 🎉", "404": "There are no active notifications in this group.", + "NO_NOTIFICATIONS": "No notifications", "NOTE": "Notifications from all subscribed inboxes", "SNOOZED_UNTIL": "Snoozed until", "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", diff --git a/app/javascript/dashboard/routes/dashboard/conversation/contact/ContactInfo.vue b/app/javascript/dashboard/routes/dashboard/conversation/contact/ContactInfo.vue index 0133ceed6..79d96517d 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/contact/ContactInfo.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/contact/ContactInfo.vue @@ -182,6 +182,7 @@ import { getCountryFlag } from 'dashboard/helper/flag'; import { BUS_EVENTS } from 'shared/constants/busEvents'; import { isAConversationRoute, + isAInboxViewRoute, getConversationDashboardRoute, } from '../../../../helper/routeHelpers'; @@ -303,6 +304,10 @@ export default { this.$router.push({ name: getConversationDashboardRoute(this.$route.name), }); + } else if (isAInboxViewRoute(this.$route.name)) { + this.$router.push({ + name: 'inbox', + }); } else if (this.$route.name !== 'contacts_dashboard') { this.$router.push({ name: 'contacts_dashboard', diff --git a/app/javascript/dashboard/routes/dashboard/inbox/InboxList.vue b/app/javascript/dashboard/routes/dashboard/inbox/InboxList.vue index 898c63dde..64ff7936b 100644 --- a/app/javascript/dashboard/routes/dashboard/inbox/InboxList.vue +++ b/app/javascript/dashboard/routes/dashboard/inbox/InboxList.vue @@ -20,8 +20,14 @@

+ {{ $t('INBOX.LIST.NO_NOTIFICATIONS') }} +

+

{{ $t('INBOX.LIST.EOF') }}

@@ -77,6 +83,12 @@ export default { showEndOfList() { return this.uiFlags.isAllNotificationsLoaded && !this.uiFlags.isFetching; }, + showEmptyState() { + return !this.uiFlags.isFetching && !this.records.length; + }, + showEndOfListMessage() { + return this.showEndOfList && this.records.length; + }, }, mounted() { this.$store.dispatch('notifications/clear'); diff --git a/app/javascript/dashboard/routes/dashboard/inbox/InboxView.vue b/app/javascript/dashboard/routes/dashboard/inbox/InboxView.vue index 5f60f9d2e..23f32cbbe 100644 --- a/app/javascript/dashboard/routes/dashboard/inbox/InboxView.vue +++ b/app/javascript/dashboard/routes/dashboard/inbox/InboxView.vue @@ -5,7 +5,11 @@ :conversation-id="conversationId" :is-on-expanded-layout="isOnExpandedLayout" /> -
+
-
+
- + {{ $t('INBOX.LIST.NOTE') }}
diff --git a/app/javascript/dashboard/routes/dashboard/inbox/components/InboxCard.vue b/app/javascript/dashboard/routes/dashboard/inbox/components/InboxCard.vue index ab0081183..c514f24f7 100644 --- a/app/javascript/dashboard/routes/dashboard/inbox/components/InboxCard.vue +++ b/app/javascript/dashboard/routes/dashboard/inbox/components/InboxCard.vue @@ -1,7 +1,7 @@