Skip to content

Topbar and breadcrumbs

The topbar holds, from left to right: the menu button (small screens), the breadcrumbs, the global search, the notification bell, the tenant, the theme and the user menu.

Breadcrumbs start with the dashboard (house icon) and lead to the current page; the last entry is not a link. They are hidden on very small screens.

Page Breadcrumbs
dashboard none
a page ⌂ › title
list of a resource ⌂ › Invoices
create ⌂ › Invoices › New invoice
detail / edit ⌂ › Invoices › INV-2026-0042 (› Edit)
create from a relation ⌂ › Customers › Muster AG › New invoice

The title of a record comes from recordTitle() of the resource ($recordTitleAttribute, default name), see Resource properties.

A page that shows a list and the details of one entry (e.g. ?report=<uuid>) adds the levels in breadcrumbs(): URL => label, the last entry is the page itself.

final class ReportsPage extends Page
{
public function title(): string
{
return $this->selected()?->title ?? 'Reports';
}
public function navigationLabel(): string
{
return 'Reports'; // the sidebar keeps the short label
}
public function breadcrumbs(): array
{
$report = $this->selected();
if ($report === null) {
return parent::breadcrumbs(); // [url() => title()]
}
return [
$this->url() => 'Reports',
$this->url() . '?report=' . $report->uuid => $report->title,
];
}
}

Use breadcrumbs instead of own “back” links: the way back is always in the same place. The workflow settings (⌂ › Workflows › Purchase) work this way. The labels are escaped; the URLs should be built with $this->url() and contain only UUIDs.

The search field appears when at least one resource of the panel names search columns ($globalSearch) and the user may view it. Ctrl+K / ⌘K focuses it, the arrow keys move through the results, Enter opens one. See Global search.

The bell shows the number of unread notifications (refreshed every minute and after reading) and opens the latest ones. See Notifications.

In panels with tenancy the button shows the active tenant. Users with several tenants switch there and mark a favourite (star), which is selected when a session starts, e.g. after the next login. With only one tenant the button is shown but disabled. See Tenancy.

Light, dark, or the setting of the operating system (default). The choice is stored in the cookie anvil_theme and applied before the page is drawn, so there is no flash. Colours: Styling.

<title> is <page title> · <brand>, e.g. INV-2026-0042 · Back office. Pages set it with title(); subtitle() appears below the heading of the page, not in the tab.