diff --git a/packages/web-app-mail/src/components/MailComposeForm.vue b/packages/web-app-mail/src/components/MailComposeForm.vue
new file mode 100644
index 0000000000..45975a55d9
--- /dev/null
+++ b/packages/web-app-mail/src/components/MailComposeForm.vue
@@ -0,0 +1,140 @@
+
+
+
+ updateField('from', value)"
+ />
+
+
+
updateField('to', value)"
+ />
+
+ updateField('cc', value)"
+ />
+
+ updateField('bcc', value)"
+ />
+
+ updateField('subject', value)"
+ />
+
+
+ updateField('body', value)"
+ />
+
+
+
+
+
diff --git a/packages/web-app-mail/src/components/MailList.vue b/packages/web-app-mail/src/components/MailList.vue
index 0c0d42d8f8..2f25870db5 100644
--- a/packages/web-app-mail/src/components/MailList.vue
+++ b/packages/web-app-mail/src/components/MailList.vue
@@ -5,13 +5,14 @@
class="md:hidden"
mode="action"
:aria-label="$gettext('Write new Email')"
- :to="{ name: 'mail-create', query: { ...route.query, draftId: 'new' } }"
+ @click="showCompose = true"
/>
+
+
+
+
@@ -62,19 +66,19 @@
+
+
diff --git a/packages/web-app-mail/src/components/MailboxTree.vue b/packages/web-app-mail/src/components/MailboxTree.vue
index d41719030f..0a229ebf3b 100644
--- a/packages/web-app-mail/src/components/MailboxTree.vue
+++ b/packages/web-app-mail/src/components/MailboxTree.vue
@@ -4,10 +4,9 @@