From 9777dd655c11e6a7a042c8dab6b9a7d6c0e89ce9 Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Sat, 2 May 2026 23:29:21 +0200 Subject: [PATCH] feat: add share indicators for calendars and contacts, update JMAP capabilities #244 --- components/calendar/calendar-sidebar-panel.tsx | 6 ++++++ components/contacts/contacts-sidebar.tsx | 8 +++++++- .../settings/address-book-management-settings.tsx | 13 +++++++++++++ .../settings/calendar-management-settings.tsx | 14 ++++++++++++++ lib/jmap/client.ts | 12 ++++++++++-- 5 files changed, 50 insertions(+), 3 deletions(-) diff --git a/components/calendar/calendar-sidebar-panel.tsx b/components/calendar/calendar-sidebar-panel.tsx index 7c22a2f5..4d0c7987 100644 --- a/components/calendar/calendar-sidebar-panel.tsx +++ b/components/calendar/calendar-sidebar-panel.tsx @@ -144,6 +144,12 @@ export function CalendarSidebarPanel({ {cal.id === BIRTHDAY_CALENDAR_ID && ( )} + {!cal.isShared && Object.keys(cal.shareWith || {}).length > 0 && ( + + )} ); diff --git a/components/contacts/contacts-sidebar.tsx b/components/contacts/contacts-sidebar.tsx index 328ef384..07afccf1 100644 --- a/components/contacts/contacts-sidebar.tsx +++ b/components/contacts/contacts-sidebar.tsx @@ -685,7 +685,13 @@ function AddressBookItem({ > {book.name} - + {!book.isShared && Object.keys(book.shareWith || {}).length > 0 && ( + + )} + 0) && "ml-auto" + )}> {contactCount} diff --git a/components/settings/address-book-management-settings.tsx b/components/settings/address-book-management-settings.tsx index 668307a8..ef0c37b0 100644 --- a/components/settings/address-book-management-settings.tsx +++ b/components/settings/address-book-management-settings.tsx @@ -139,6 +139,19 @@ export function AddressBookManagementSettings() { {t("default")} )} + {(() => { + const shareCount = Object.keys(book.shareWith || {}).length; + if (shareCount === 0 || book.isShared) return null; + return ( + + + {shareCount} + + ); + })()}
{canRename && (