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
@@ -363,8 +363,11 @@ export const catalog: Catalog = {
"No address books yet.": "Noch keine Adressbücher.",
"Choose from address books": "Aus Adressbüchern wählen",
"Import vCard": "vCard importieren",
"Export all": "Alle exportieren",
"Export book": "Adressbuch exportieren",
"Export all contacts": "Alle Kontakte exportieren",
"Export address book": "Dieses Adressbuch exportieren",
"Import contacts…": "Kontakte importieren…",
"Contact options": "Kontaktoptionen",
"Address book options": "Adressbuchoptionen",
"Email group": "Gruppe anschreiben",
"Email everyone": "Alle anschreiben",
"Members": "Mitglieder",