Skip to content

Commit 68cd53a

Browse files
committed
automatic merge to finish v1.0.0
2 parents 260d0e6 + 818428d commit 68cd53a

File tree

7 files changed

+805
-51
lines changed

7 files changed

+805
-51
lines changed

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

frontend/src/components/EmailContent/EmailContent.vue

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -53,45 +53,49 @@
5353
</div>
5454
</div>
5555

56-
<div
57-
v-if="viewMode === 'text' && email.body_text"
58-
class="grow whitespace-pre-wrap p-4"
59-
>
60-
{{ email.body_text }}
61-
</div>
56+
<div v-else class="min-h-0 h-auto overflow-y-auto basis-0 grow shrink">
57+
<div
58+
v-if="viewMode === 'text' && email.body_text"
59+
class="grow min-h-0 flex flex-col p-4"
60+
>
61+
<div class="min-h-0 flex-1 overflow-y-auto whitespace-pre-wrap">
62+
{{ email.body_text }}
63+
</div>
64+
</div>
6265

63-
<div v-if="viewMode === 'html' && email.body_html" class="p-4 grow">
64-
<CodeViewer :content="email.body_html" language="xml" />
65-
</div>
66+
<div v-if="viewMode === 'html' && email.body_html" class="p-4 grow">
67+
<CodeViewer :content="email.body_html" language="xml" />
68+
</div>
6669

67-
<div v-if="viewMode === 'raw'" class="p-4 grow">
68-
<div v-if="loadingRaw" class="flex items-center justify-center h-full">
69-
<Spinner size="6" />
70+
<div v-if="viewMode === 'raw'" class="p-4 grow">
71+
<div v-if="loadingRaw" class="flex items-center justify-center h-full">
72+
<Spinner size="6" />
73+
</div>
74+
<CodeViewer v-else :content="rawContent" />
7075
</div>
71-
<CodeViewer v-else :content="rawContent" />
72-
</div>
7376

74-
<EmailSmtpHeaders v-if="viewMode === 'headers'" :email="email" />
77+
<EmailSmtpHeaders v-if="viewMode === 'headers'" :email="email" />
7578

76-
<div v-if="viewMode === 'envelope'" class="p-6">
77-
<div class="grid grid-cols-[max-content_1fr] gap-x-4 gap-y-3">
78-
<div class="text-gray-500 select-text text-right text-nowrap py-1">
79-
MAIL FROM
80-
</div>
81-
<div class="text-gray-600 select-text w-fit">
82-
<CopyBadge :text="email.envelope_from || '(empty)'" />
83-
</div>
79+
<div v-if="viewMode === 'envelope'" class="p-6">
80+
<div class="grid grid-cols-[max-content_1fr] gap-x-4 gap-y-3">
81+
<div class="text-gray-500 select-text text-right text-nowrap py-1">
82+
MAIL FROM
83+
</div>
84+
<div class="text-gray-600 select-text w-fit">
85+
<CopyBadge :text="email.envelope_from || '(empty)'" />
86+
</div>
8487

85-
<div class="text-gray-500 select-text text-right text-nowrap py-1">
86-
RCPT TO
87-
</div>
88-
<div class="w-fit">
89-
<div
90-
v-for="recipient in email.recipients"
91-
:key="recipient"
92-
class="text-gray-600 select-text w-fit"
93-
>
94-
<CopyBadge :text="recipient" />
88+
<div class="text-gray-500 select-text text-right text-nowrap py-1">
89+
RCPT TO
90+
</div>
91+
<div class="w-fit">
92+
<div
93+
v-for="recipient in email.recipients"
94+
:key="recipient"
95+
class="text-gray-600 select-text w-fit"
96+
>
97+
<CopyBadge :text="recipient" />
98+
</div>
9599
</div>
96100
</div>
97101
</div>

frontend/src/components/EmailContent/EmailView.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<div class="text-gray-500">{{ error }}</div>
99
</div>
1010

11-
<div v-else-if="email" class="flex flex-col h-full overflow-y-auto">
11+
<div v-else-if="email" class="flex flex-col min-h-0 h-full">
1212
<EmailHeader :email="email" />
1313

1414
<Tabs v-model="viewMode" :tabs="tabs" />

frontend/src/components/EmailLayout/EmailLayout.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
@load-more="fetchNextPage"
1010
/>
1111

12-
<div class="grow">
12+
<div class="grow min-h-0 flex flex-col">
1313
<RouterView />
1414
</div>
1515
</div>

frontend/src/components/EmailLayout/SearchHelpModal.vue

Lines changed: 59 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
<Modal v-model:is-open="modalOpen" title="Search Help">
33
<div class="space-y-6">
44
<div>
5-
<h3 class="text-lg font-semibold text-gray-900 mb-3">
6-
Default Search
7-
</h3>
5+
<h3 class="text-lg font-semibold text-gray-900 mb-3">Default Search</h3>
86
<p class="text-gray-600 mb-2">
97
The following fields are searched by default:
108
</p>
@@ -22,32 +20,78 @@
2220
Field-Specific Filters
2321
</h3>
2422
<p class="text-gray-600 mb-3">
25-
Use <code class="bg-gray-100 px-1 rounded text-sm">field:value</code> to search specific fields:
23+
Use
24+
<code class="bg-gray-100 px-1 rounded text-sm">field:value</code> to
25+
search specific fields:
2626
</p>
2727
<ul class="list-disc list-inside space-y-1.5 text-gray-700 ml-4">
28-
<li><code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono">subject:</code> - Email subject</li>
29-
<li><code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono">from:</code> - Sender email and From headers</li>
30-
<li><code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono">to:</code> or <code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono">recipient:</code> - Recipient emails and To/Cc/Bcc headers</li>
31-
<li><code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono">text:</code> - Email body text</li>
32-
<li><code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono">html:</code> - Email HTML body</li>
33-
<li><code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono">attachment:</code> - Attachment filenames</li>
28+
<li>
29+
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono"
30+
>subject:</code
31+
>
32+
- Email subject
33+
</li>
34+
<li>
35+
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono"
36+
>from:</code
37+
>
38+
- Sender email and From headers
39+
</li>
40+
<li>
41+
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono"
42+
>to:</code
43+
>
44+
or
45+
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono"
46+
>recipient:</code
47+
>
48+
- Recipient emails and To/Cc/Bcc headers
49+
</li>
50+
<li>
51+
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono"
52+
>text:</code
53+
>
54+
- Email body text
55+
</li>
56+
<li>
57+
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono"
58+
>html:</code
59+
>
60+
- Email HTML body
61+
</li>
62+
<li>
63+
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono"
64+
>attachment:</code
65+
>
66+
- Attachment filenames
67+
</li>
3468
</ul>
3569
</div>
3670

3771
<div>
3872
<h3 class="text-lg font-semibold text-gray-900 mb-3">Examples</h3>
3973
<ul class="space-y-2.5 text-gray-700">
4074
<li>
41-
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono">paypal</code>
75+
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono"
76+
>paypal</code
77+
>
4278
<span class="ml-2">Searches all default fields</span>
4379
</li>
4480
<li>
45-
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono">subject:invoice payment</code>
46-
<span class="ml-2">Subject contains "invoice" AND any field contains "payment"</span>
81+
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono"
82+
>subject:invoice payment</code
83+
>
84+
<span class="ml-2"
85+
>Subject contains "invoice" AND any field contains "payment"</span
86+
>
4787
</li>
4888
<li>
49-
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono">from:paypal recipient:john</code>
50-
<span class="ml-2">From contains "paypal" AND recipient contains "john"</span>
89+
<code class="bg-gray-100 px-1.5 py-0.5 rounded text-sm font-mono"
90+
>from:paypal recipient:john</code
91+
>
92+
<span class="ml-2"
93+
>From contains "paypal" AND recipient contains "john"</span
94+
>
5195
</li>
5296
</ul>
5397
</div>

frontend/src/router.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ const routes = [
3636
} else {
3737
next({ path: '/emails/inbox' })
3838
}
39-
}
39+
},
4040
},
4141
{ path: '/emails/:id/fullscreen', component: FullscreenEmailView },
4242
{ path: '/:pathMatch(.*)*', redirect: '/' },

release.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
[ -z "$VERSION" ] && echo "You have to set a VERSION to run this script." && exit 1;
6+
7+
cd frontend
8+
sed -e "s/\"version\":\s\".*\"/\"version\": \"$VERSION\"/" -i package.json
9+
npm install
10+
11+
# commit new version
12+
git add package.json
13+
git add package-lock.json
14+
cd ..
15+
16+
cd backend
17+
sed -e "s/\"version\":\s\".*\"/\"version\": \"$VERSION\"/" -i Cargo.toml
18+
cd ..
19+
20+
git commit -am "bumps version to $VERSION"
21+
22+
git push
23+
24+
git checkout release
25+
git merge main -m "automatic merge to finish v$VERSION"
26+
27+
git push
28+
29+
git tag -a "v$VERSION"
30+
git push --tags
31+
32+
git checkout main

0 commit comments

Comments
 (0)