83 lines
2.6 KiB
Handlebars
83 lines
2.6 KiB
Handlebars
<HeadLayout />
|
|
{{title (app-name)}}
|
|
|
|
<Rose::Layout::Global as |layout|>
|
|
|
|
<layout.header>
|
|
<Rose::Header class="{{if (is-loading) " loading"}}" as |header|>
|
|
<header.brand @logo="logo-boundary" @text={{app-name}} />
|
|
|
|
{{#if this.session.isAuthenticated}}
|
|
{{#if this.scope.isOrg}}
|
|
<header.nav as |nav|>
|
|
<nav.dropdown
|
|
@text={{this.scope.displayName}}
|
|
@icon="boundary-icons/org" as |dropdown|
|
|
>
|
|
{{#if this.session.data.authenticated.isGlobal}}
|
|
<dropdown.link @route="scopes.scope" @model="global">
|
|
{{t "titles.global"}}
|
|
</dropdown.link>
|
|
{{#each this.orgScopes as |scope|}}
|
|
<dropdown.link @route="scopes.scope" @model={{scope.id}}>
|
|
{{scope.displayName}}
|
|
</dropdown.link>
|
|
{{/each}}
|
|
{{else}}
|
|
<dropdown.link @route="scopes.scope" @model={{this.scope.id}}>
|
|
{{this.scope.displayName}}
|
|
</dropdown.link>
|
|
{{/if}}
|
|
</nav.dropdown>
|
|
</header.nav>
|
|
{{/if}}
|
|
|
|
<header.utilities as |utilities|>
|
|
<utilities.dropdown
|
|
@text={{this.session.data.authenticated.username}}
|
|
@icon="boundary-icons/user-profile" as |dropdown|
|
|
>
|
|
{{!-- <dropdown.link @route="account.change-password">
|
|
{{t 'actions.change-password'}}
|
|
</dropdown.link> --}}
|
|
<dropdown.button
|
|
{{on "click" (route-action "invalidateSession")}}
|
|
>
|
|
{{t 'actions.deauthenticate'}}
|
|
</dropdown.button>
|
|
</utilities.dropdown>
|
|
</header.utilities>
|
|
|
|
{{/if}}
|
|
|
|
</Rose::Header>
|
|
</layout.header>
|
|
|
|
<layout.body>
|
|
{{outlet}}
|
|
</layout.body>
|
|
|
|
<layout.footer>
|
|
<Rose::Footer as |footer|>
|
|
<footer.brand @logo="logo-hashi" @text={{t "hashicorp.title"}} />
|
|
<footer.text>{{t "hashicorp.copyright"}}</footer.text>
|
|
<footer.text>{{t "hashicorp.product"}}</footer.text>
|
|
<footer.nav as |nav|>
|
|
<nav.link @href={{t "hashicorp.documentation.link"}}>{{t "hashicorp.documentation.title"}}</nav.link>
|
|
</footer.nav>
|
|
</Rose::Footer>
|
|
</layout.footer>
|
|
|
|
</Rose::Layout::Global>
|
|
|
|
<EmberNotify @closeAfter={{this.notifyTimeout}} as |message close|>
|
|
<Rose::Notification
|
|
@style={{message.type}}
|
|
@heading={{t (concat 'states.' message.type)}}
|
|
@dismiss={{close}}
|
|
@dismissText={{t 'actions.dismiss'}}
|
|
>
|
|
{{message.text}}
|
|
</Rose::Notification>
|
|
</EmberNotify>
|