Skip to content

Commit d95f003

Browse files
committed
fixup! feat: split envelopes by time of arrival
Signed-off-by: greta <[email protected]>
1 parent cac0108 commit d95f003

File tree

3 files changed

+38
-17
lines changed

3 files changed

+38
-17
lines changed

src/components/EnvelopeList.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -573,8 +573,6 @@ div {
573573
#load-more-mail-messages {
574574
margin: 10px auto;
575575
padding: 10px;
576-
margin-top: 50px;
577-
margin-bottom: 50px;
578576
}
579577
580578
/* TODO: put this in core icons.css as general rule for buttons with icons */

src/components/Mailbox.vue

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,20 @@
1515
:slow-hint="t('mail', 'Indexing your messages. This can take a bit longer for larger mailboxes.')" />
1616
<EmptyMailboxSection v-else-if="isPriorityInbox && !hasMessages" key="empty" />
1717
<EmptyMailbox v-else-if="!hasMessages" key="empty" />
18+
<template v-else-if="hasGroupedEnvelopes && !isPriorityInbox">
19+
<div v-for="[label, group] in Object.entries(groupEnvelopes)" :key="label">
20+
<SectionTitle class="section-title" :name="label" />
21+
<EnvelopeList :account="account"
22+
:mailbox="mailbox"
23+
:search-query="searchQuery"
24+
:envelopes="group"
25+
:loading-more="loadingMore"
26+
:load-more-button="showLoadMore"
27+
:skip-transition="skipListTransition"
28+
@delete="onDelete"
29+
@load-more="loadMore" />
30+
</div>
31+
</template>
1832
<EnvelopeList v-else
1933
:account="account"
2034
:mailbox="mailbox"
@@ -30,6 +44,7 @@
3044

3145
<script>
3246
import EmptyMailbox from './EmptyMailbox.vue'
47+
import SectionTitle from './SectionTitle.vue'
3348
import EnvelopeList from './EnvelopeList.vue'
3449
import LoadingSkeleton from './LoadingSkeleton.vue'
3550
import Error from './Error.vue'
@@ -58,9 +73,15 @@ export default {
5873
Error,
5974
Loading,
6075
LoadingSkeleton,
76+
SectionTitle,
6177
},
6278
mixins: [isMobile],
6379
props: {
80+
groupEnvelopes: {
81+
type: Object,
82+
required: false,
83+
default: null,
84+
},
6485
account: {
6586
type: Object,
6687
required: true,
@@ -124,8 +145,14 @@ export default {
124145
}
125146
return this.envelopes
126147
},
148+
hasGroupedEnvelopes() {
149+
return this.groupEnvelopes && Object.keys(this.groupEnvelopes).length > 0
150+
},
127151
hasMessages() {
128-
return this.envelopes.length > 0
152+
if (this.hasGroupedEnvelopes) {
153+
return Object.values(this.groupEnvelopes).some(group => group.length > 0)
154+
}
155+
return this.envelopesToShow?.length > 0
129156
},
130157
showLoadMore() {
131158
return !this.endReached && this.paginate === 'manual'

src/components/MailboxThread.vue

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,16 @@
2626
role="heading"
2727
:aria-level="2"
2828
@shortkey.native="onShortcut">
29-
<template v-if="!mailbox.isPriorityInbox">
30-
<div v-for="[label, group] in Object.entries(groupEnvelopes)" :key="label">
31-
<SectionTitle class="section-title" :name="label" />
32-
<Mailbox :account="account"
33-
:mailbox="mailbox"
34-
:search-query="query"
35-
:bus="bus"
36-
:open-first="mailbox.specialRole !== 'drafts'"
37-
:custom-envelopes="group"
38-
:paginate="'manual'"
39-
:initial-page-size="messagesOrderBydate"
40-
:collapsible="true" />
41-
</div>
42-
</template>
29+
<Mailbox v-if="!mailbox.isPriorityInbox"
30+
:account="account"
31+
:mailbox="mailbox"
32+
:search-query="query"
33+
:bus="bus"
34+
:open-first="mailbox.specialRole !== 'drafts'"
35+
:group-envelopes="groupEnvelopes"
36+
:paginate="'manual'"
37+
:initial-page-size="messagesOrderBydate"
38+
:collapsible="true" />
4339
<template v-else>
4440
<div v-show="hasFollowUpEnvelopes"
4541
class="app-content-list-item">

0 commit comments

Comments
 (0)