On brokerage portal sites, visitors can sign in and save a search from the filter bar. These features are portal-only: when the page loads, the SDK checks whether a portal is registered for the current domain. On non-portal sites nothing extra renders.
<rechat-map-filter> shows a Save search button at the end of the bar once a
portal is detected, so no extra markup is needed:
<rechat-root brand_id="YOUR_BRAND_ID">
<rechat-listings>
<rechat-map-filter></rechat-map-filter>
<!-- … map, grid … -->
</rechat-listings>
</rechat-root>
On phones the search input shares its row with Log out, and Save search sits at the right of the Filters / Reset filters row.
Custom layouts built from individual <rechat-filter-*> tags do not get the button.
To turn the whole flow off on a portal site, set save-search="false" on the root:
<rechat-root brand_id="YOUR_BRAND_ID" save-search="false">
Two DOM events fire on window:
window.addEventListener('rechat-login:success', (e) => {
console.log('Signed in via', e.detail.provider)
})
window.addEventListener('rechat-saved-search:created', (e) => {
console.log('Saved search:', e.detail)
})
<rechat-login-button>, <rechat-login-dialog open>, <rechat-save-search-button>
and <rechat-save-search-dialog open> remain registered for pages that need the
dialogs outside the filter bar. The saved-searches history elements are registered
but not part of the current design.
<rechat-save-search-button> asks a signed-out visitor to sign in first, and
brings the save dialog back automatically once sign-in finishes — including the
email flow, where the magic link reloads the page or completes in another tab.
Closing the sign-in dialog without signing in cancels the save.
The same portal discovery powers the JavaScript SDK: sdk.Ready resolves when a portal
is found for the current hostname (and rejects when none is). See the
JavaScript SDK overview.