* feat: 🎸 Re-enabling footer for Boundary `admin-ui` Re-enable global footer and fix styling ✅ Closes: ICU-6454 * refactor: 💡 added media-query code Added media-query code for footer to expand on smaller screens. * refactor: 💡 refactor footer to exist in sidebar-layout Improved overall layout of content with footer by moving it to the sidebar-layout * refactor: 💡 continuous refactor of admin ui footer Refactored sidebar layout to include grid footer with layout, * refactor: 💡 collapse sidebar when absent * refactor: improve css grid column collapse approach Co-authored-by: Randall Morey <randall@randallmorey.com>
206 lines
7.5 KiB
Handlebars
206 lines
7.5 KiB
Handlebars
{{#if @model.isOrg}}
|
|
{{page-title (t 'resources.org.title_plural')}}
|
|
{{page-title @model.displayName}}
|
|
{{/if}}
|
|
|
|
{{#if @model.isProject}}
|
|
{{page-title (t 'resources.org.title_plural')}}
|
|
{{page-title this.scopes.selectedOrg.displayName}}
|
|
{{page-title (t 'resources.project.title_plural')}}
|
|
{{page-title @model.displayName}}
|
|
{{/if}}
|
|
|
|
<Rose::Layout::Sidebar as |sidebarLayout|>
|
|
|
|
{{#if this.session.isAuthenticated}}
|
|
<sidebarLayout.sidebar>
|
|
|
|
{{#if @model.isGlobal}}
|
|
<Rose::Nav::Sidebar @title={{t 'titles.general'}} as |nav|>
|
|
<nav.link @route='scopes.scope.scopes'>
|
|
<Rose::Icon @name='flight-icons/svg/org-16' @size='medium' />
|
|
{{t 'resources.org.title_plural'}}
|
|
</nav.link>
|
|
</Rose::Nav::Sidebar>
|
|
{{#if
|
|
(and
|
|
(can 'navigate worker' @model collection='workers')
|
|
(feature-flag 'byow')
|
|
)
|
|
}}
|
|
<Rose::Nav::Sidebar
|
|
@title={{t 'resources.worker.title_plural'}}
|
|
as |nav|
|
|
>
|
|
<nav.link @route='scopes.scope.workers'>
|
|
<Rose::Icon @name='flight-icons/svg/cpu-16' @size='medium' />
|
|
{{t 'resources.worker.title_plural'}}
|
|
</nav.link>
|
|
</Rose::Nav::Sidebar>
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
{{#if @model.isOrg}}
|
|
<Rose::Nav::Sidebar @title={{t 'titles.general'}} as |nav|>
|
|
{{#if this.session.data.authenticated.isGlobal}}
|
|
<nav.link @route='scopes.scope.scopes' @model='global'>
|
|
<Rose::Icon @name='flight-icons/svg/org-16' @size='medium' />
|
|
{{t 'resources.org.title_plural'}}
|
|
</nav.link>
|
|
{{/if}}
|
|
<nav.link @route='scopes.scope.scopes'>
|
|
<Rose::Icon @name='flight-icons/svg/grid-16' @size='medium' />
|
|
{{t 'resources.project.title_plural'}}
|
|
</nav.link>
|
|
</Rose::Nav::Sidebar>
|
|
{{/if}}
|
|
|
|
{{#if @model.isProject}}
|
|
<Rose::Nav::Sidebar @title={{t 'titles.general'}} as |nav|>
|
|
{{#if this.session.data.authenticated.isGlobal}}
|
|
<nav.link @route='scopes.scope.scopes' @model='global'>
|
|
<Rose::Icon @name='flight-icons/svg/org-16' @size='medium' />
|
|
{{t 'resources.org.title_plural'}}
|
|
</nav.link>
|
|
{{/if}}
|
|
<nav.link @route='scopes.scope.scopes' @model={{@model.scopeID}}>
|
|
<Rose::Icon @name='flight-icons/svg/grid-16' @size='medium' />
|
|
{{t 'resources.project.title_plural'}}
|
|
</nav.link>
|
|
</Rose::Nav::Sidebar>
|
|
{{! TODO: after scope awareness refactor, update groups and roles
|
|
to support project scopes }}
|
|
{{!--
|
|
<Rose::Nav::Sidebar @title={{t "titles.iam"}} as |nav|>
|
|
<nav.link @route="scopes.scope.groups">
|
|
<Rose::Icon
|
|
@name="flight-icons/svg/folder-users-16"
|
|
@size="medium" />
|
|
{{t "resources.group.title_plural"}}
|
|
</nav.link>
|
|
<nav.link @route="scopes.scope.roles">
|
|
<Rose::Icon
|
|
@name="flight-icons/svg/identity-user-16"
|
|
@size="medium" />
|
|
{{t "resources.role.title_plural"}}
|
|
</nav.link>
|
|
</Rose::Nav::Sidebar>
|
|
--}}
|
|
<Rose::Nav::Sidebar @title={{t 'titles.resources'}} as |nav|>
|
|
{{#if (can 'navigate model' @model collection='sessions')}}
|
|
<nav.link @route='scopes.scope.sessions'>
|
|
<Rose::Icon
|
|
@name='flight-icons/svg/entry-point-16'
|
|
@size='medium'
|
|
/>
|
|
{{t 'resources.session.title_plural'}}
|
|
</nav.link>
|
|
{{/if}}
|
|
{{#if (can 'navigate model' @model collection='targets')}}
|
|
<nav.link @route='scopes.scope.targets'>
|
|
<Rose::Icon
|
|
@name='flight-icons/svg/crosshair-16'
|
|
@size='medium'
|
|
/>
|
|
{{t 'resources.target.title_plural'}}
|
|
</nav.link>
|
|
{{/if}}
|
|
{{#if (can 'navigate model' @model collection='host-catalogs')}}
|
|
<nav.link @route='scopes.scope.host-catalogs'>
|
|
<Rose::Icon
|
|
@name='flight-icons/svg/collections-16'
|
|
@size='medium'
|
|
/>
|
|
{{t 'resources.host-catalog.title_plural'}}
|
|
</nav.link>
|
|
{{/if}}
|
|
{{#if (can 'navigate model' @model collection='credential-stores')}}
|
|
<nav.link @route='scopes.scope.credential-stores'>
|
|
<Rose::Icon @name='flight-icons/svg/key-16' @size='medium' />
|
|
{{t 'resources.credential-store.title_plural'}}
|
|
</nav.link>
|
|
{{/if}}
|
|
</Rose::Nav::Sidebar>
|
|
{{/if}}
|
|
|
|
<Rose::Nav::Sidebar @title={{t 'titles.iam'}} as |nav|>
|
|
{{! Users are available only for org/global scopes }}
|
|
{{#unless @model.isProject}}
|
|
{{#if (can 'navigate model' @model collection='users')}}
|
|
<nav.link @route='scopes.scope.users'>
|
|
<Rose::Icon @name='flight-icons/svg/users-16' @size='medium' />
|
|
{{t 'resources.user.title_plural'}}
|
|
</nav.link>
|
|
{{/if}}
|
|
{{/unless}}
|
|
|
|
{{! Groups and roles are available for all scopes }}
|
|
{{#if (can 'navigate model' @model collection='groups')}}
|
|
<nav.link @route='scopes.scope.groups'>
|
|
<Rose::Icon
|
|
@name='flight-icons/svg/folder-users-16'
|
|
@size='medium'
|
|
/>
|
|
{{t 'resources.group.title_plural'}}
|
|
</nav.link>
|
|
{{/if}}
|
|
{{#if (can 'navigate model' @model collection='roles')}}
|
|
<nav.link @route='scopes.scope.roles'>
|
|
<Rose::Icon
|
|
@name='flight-icons/svg/identity-user-16'
|
|
@size='medium'
|
|
/>
|
|
{{t 'resources.role.title_plural'}}
|
|
</nav.link>
|
|
{{/if}}
|
|
|
|
{{! Auth methods are available only for org/global scopes }}
|
|
{{#unless @model.isProject}}
|
|
{{#if (can 'navigate model' @model collection='auth-methods')}}
|
|
<nav.link @route='scopes.scope.auth-methods'>
|
|
<Rose::Icon @name='flight-icons/svg/lock-16' @size='medium' />
|
|
{{t 'resources.auth-method.title_plural'}}
|
|
</nav.link>
|
|
{{/if}}
|
|
{{/unless}}
|
|
</Rose::Nav::Sidebar>
|
|
|
|
{{#if @model.isOrg}}
|
|
{{#if this.session.data.authenticated.isGlobal}}
|
|
<Rose::Nav::Sidebar @title={{t 'titles.settings'}} as |nav|>
|
|
<nav.link @route='scopes.scope.edit'>
|
|
{{t 'resources.org.messages.settings.title'}}
|
|
</nav.link>
|
|
</Rose::Nav::Sidebar>
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
{{#if @model.isProject}}
|
|
<Rose::Nav::Sidebar @title={{t 'titles.settings'}} as |nav|>
|
|
<nav.link @route='scopes.scope.edit'>
|
|
{{t 'resources.project.messages.settings.title'}}
|
|
</nav.link>
|
|
</Rose::Nav::Sidebar>
|
|
{{/if}}
|
|
|
|
</sidebarLayout.sidebar>
|
|
{{/if}}
|
|
|
|
<sidebarLayout.body>
|
|
<main>
|
|
{{outlet}}
|
|
</main>
|
|
</sidebarLayout.body>
|
|
<sidebarLayout.footer>
|
|
<Rose::Footer as |footer|>
|
|
<footer.text>{{app-name}}</footer.text>
|
|
<footer.nav as |nav|>
|
|
<nav.link @href={{(doc-url)}}>
|
|
{{t 'titles.documentation'}}
|
|
</nav.link>
|
|
</footer.nav>
|
|
<footer.brand @logo='logo-company' @text={{(company-name)}} />
|
|
<footer.text>{{company-copyright}}</footer.text>
|
|
</Rose::Footer>
|
|
</sidebarLayout.footer>
|
|
</Rose::Layout::Sidebar> |