Skip to content

feat(navigation): restore address book navigation in sidebar#5421

Open
pagaille wants to merge 2 commits into
nextcloud:mainfrom
pagaille:fix/addressbook-navigation
Open

feat(navigation): restore address book navigation in sidebar#5421
pagaille wants to merge 2 commits into
nextcloud:mainfrom
pagaille:fix/addressbook-navigation

Conversation

@pagaille

@pagaille pagaille commented Jul 1, 2026

Copy link
Copy Markdown

Fixes #3647

Summary

Address books used to be listed in the left sidebar (via the now-deleted SettingsSection.vue), allowing users to click on a book to filter their contacts. This was removed in bd536c0 when settings were migrated to a modal dialog, without any navigation replacement — making the "New address book" feature essentially invisible and unusable.

Changes:

  • Add an "Address books" section in the sidebar listing all enabled address books with a contact counter
  • Add ROUTE_ADDRESSBOOK constant and addressbook/:selectedAddressbook + addressbook/:selectedAddressbook/:selectedContact routes
  • Add selectedAddressbook to RouterMixin
  • Filter contactsList by the selected address book when on the addressbook route
  • New contacts created while an address book is selected are saved into that address book (not always the default one)
  • Fix Missing required param "selectedGroup" errors in selectFirstContactIfNone(), ContactsListItem, and ContactDetails (moveContactToAddressbook / copyContactToAddressbook) when navigating without a selectedGroup param

Test plan

  • Create a new address book via Settings → it appears immediately in the left sidebar
  • Click an address book in the sidebar → only its contacts are shown
  • Click a contact in the filtered list → contact detail opens correctly
  • Click "New contact" while an address book is selected → contact is saved in that address book
  • Move/copy a contact to another address book → no routing error
  • Disabling an address book via Settings → it disappears from the sidebar
  • Existing group / circle / chart navigation is unaffected

🤖 Generated with Claude Code

Matthieu added 2 commits July 1, 2026 17:43
Address books used to be listed in the left sidebar (via the now-deleted
SettingsSection.vue), allowing users to click on a book to filter their
contacts. This was removed in bd536c0 when settings were migrated to a
modal dialog, without any navigation replacement — making the "New address
book" feature essentially invisible and unusable.

Changes:
- Add "Address books" section in RootNavigation with one item per enabled
  address book and a contact counter
- Add ROUTE_ADDRESSBOOK constant and addressbook/:selectedAddressbook route
- Add selectedAddressbook to RouterMixin
- Filter contactsList by selected address book when on the addressbook route
- New contacts created while an address book is selected are saved into
  that address book instead of the default one
- Prevent "Missing required param selectedGroup" errors in
  selectFirstContactIfNone() and ContactsListItem when on the addressbook
  route by using GROUP_ALL_CONTACTS as fallback

Assisted-by: Claude:claude-sonnet-4-6
Signed-off-by: Matthieu <[email protected]>
Address books used to be listed in the left sidebar (via the now-deleted
SettingsSection.vue), allowing users to click on a book to filter their
contacts. This was removed in bd536c0 when settings were migrated to a
modal dialog, without any navigation replacement — making the "New address
book" feature essentially invisible and unusable.

Changes:
- Add "Address books" section in RootNavigation with one item per enabled
  address book and a contact counter
- Add ROUTE_ADDRESSBOOK constant and addressbook/:selectedAddressbook and
  addressbook/:selectedAddressbook/:selectedContact routes
- Add selectedAddressbook to RouterMixin
- Filter contactsList by selected address book when on the addressbook route
- New contacts created while an address book is selected are saved into
  that address book instead of the default one
- Fix "Missing required param selectedGroup" errors in
  selectFirstContactIfNone(), ContactsListItem, and ContactDetails
  (moveContactToAddressbook / copyContactToAddressbook) when navigating
  without a selectedGroup param

Fixes nextcloud#3647
Assisted-by: Claude:claude-sonnet-4-6

Signed-off-by: Matthieu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Show addressbooks

1 participant