This repository has been archived on 2026-04-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
core/src/js/sw/shell/topbar.js
Jeffrey Smith 239a5fb732
Some checks failed
CI/CD / detect-changes (push) Successful in 23s
CI/CD / test-frontend (push) Successful in 5s
CI/CD / test-go-pg (push) Failing after 2m27s
CI/CD / test-sqlite (push) Successful in 2m34s
CI/CD / build-and-deploy (push) Has been skipped
Feat v0.2.3 sdk tasks (#7)
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
2026-03-27 11:06:40 +00:00

31 lines
1023 B
JavaScript

/**
* Topbar — Standard navigation bar for surfaces
*
* Composes NotificationBell + UserMenu into a consistent bar.
* Surfaces use: <${sw.shell.Topbar} title="My Surface">...slot...<//>
*
* Props:
* title — Surface name (falls back to window.__MANIFEST__?.title)
* children — Extension slot content (buttons, tabs, pickers)
*/
const { html } = window;
import { NotificationBell } from './notification-bell.js';
import { UserMenu } from './user-menu.js';
export function Topbar({ title, children }) {
const displayTitle = title || window.__MANIFEST__?.title || '';
return html`
<div class="sw-topbar">
<span class="sw-topbar__title">${displayTitle}</span>
<div class="sw-topbar__spacer" />
${children && html`<div class="sw-topbar__slot">${children}</div>`}
<div class="sw-topbar__right">
<${NotificationBell} />
<${UserMenu} placement="down-right" />
</div>
</div>
`;
}