From 9611aedfcd0f7d18d8e5a923d5e7fb954805248a Mon Sep 17 00:00:00 2001 From: Lukas Remis Date: Fri, 9 Oct 2026 21:49:04 +0200 Subject: [PATCH] Phone menu: Calendar and Contacts slide in from the right MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The phone's left menu gets Calendar and Contacts (above the divider, when the plugins are installed). Each opens the desktop's side panel on its own, as a sheet from the right: the calendar panel (mini month, agenda, new event), or the people panel starting on All contacts — a title instead of the tabs, and no "In conversation" source without a conversation. Co-Authored-By: Claude Opus 5.5 --- frontend/src/components/mail/RightPanel.tsx | 36 ++++++++++++++--- frontend/src/i18n/en.ts | 26 ++++++++++++ frontend/src/routes/MailLayout.tsx | 45 ++++++++++++++++++++- 3 files changed, 101 insertions(+), 6 deletions(-) diff --git a/frontend/src/components/mail/RightPanel.tsx b/frontend/src/components/mail/RightPanel.tsx index 8388208..ab530c7 100644 --- a/frontend/src/components/mail/RightPanel.tsx +++ b/frontend/src/components/mail/RightPanel.tsx @@ -65,11 +65,15 @@ export function RightPanel({ onTab, onClose, thread, + single = false, }: { tab: PanelTab; onTab: (t: PanelTab) => void; onClose: () => void; thread: ThreadDetail | undefined; + /** Opened as Calendar or Contacts on its own (the phone's menu): a title + * instead of the tabs, and Contacts starts on all contacts. */ + single?: boolean; }) { const t = useT(); // "Invite all to new event" (People tab) opens the SHARED calendar event form in @@ -84,7 +88,12 @@ export function RightPanel({ return (