Give the address books the menus the calendars have

Two remarks from the reporter's colleague, both the same underlying thing:
contacts and calendar grew their menus at different times and it shows.

The dots button on hover. The calendar has offered its per-item menu two ways
since it was written -- the button and right-click -- and contacts only had
right-click, which is undiscoverable and unavailable on touch. The rows are
already .nav-item, which has carried the hover-reveal rule for mail folders
all along, so this is the button and no CSS.

Import and export move into those menus. As a pair of buttons at the foot of
the sidebar they did not say which address book they acted on -- they meant
"whatever is selected", which is not something a button can tell you. The
calendar settled this already: its iCAL import lives in the calendar's own
menu, because that is where "which one?" is answered by where you clicked.
The events they dispatch now name the book instead of meaning the selection.

Exporting a book now exports that book, rather than the list on screen. The
old one handed you whatever was showing, so a search box with something in it
quietly narrowed the export -- fine while the button sat under that list,
wrong from a menu in the sidebar.

Two things that would otherwise have been lost with the buttons. "All
contacts" gets the same menu, so exporting everything still has a home; and
a book somebody shared gets a menu rather than the bare X, since it can be
exported too and losing that would have been a regression dressed as a
tidy-up. The X moves inside as "Remove from my contacts".

Closes #224.
This commit is contained in:
2026-09-02 09:06:00 -07:00
parent a61fe28523
commit 8badf48c4a
11 changed files with 171 additions and 51 deletions
+5 -2
View File
@@ -353,8 +353,11 @@ export const catalog: Catalog = {
"No address books yet.": "还没有通讯录。",
"Choose from address books": "从通讯录中选择",
"Import vCard": "导入 vCard",
"Export all": "全部导出",
"Export book": "导出通讯录",
"Export all contacts": "导出所有联系人",
"Export address book": "导出通讯录",
"Import contacts…": "导入联系人…",
"Contact options": "联系人选项",
"Address book options": "通讯录选项",
"Email group": "给该群组写邮件",
"Email everyone": "给所有人写邮件",
"Members": "成员",