Tyler Wendlandt e5948e8eb4
CC-5545: Side Nav (#19342)
* Initial work for sidenav

* Use HDS::Text

* Add resolution for ember-element-helper

* WIP dc selector

* Update HCP Home link

* DC selector

* Hook up remaining selectors

* Fix settings and tutorial links

* Remove comments

* Remove skip-links

* Replace auth with new dropdown

* Use href-to helper for sidenav links

* Changelog

* Add description to NavSelector

* Wrap version in footer and role

* Fix login tests

* Add data-test selectors for namespaces

* Fix datacenter disclosure menu test

* Stop rendering auth dialog if acls are disabled

* Update disabled selector state and token selector

* Fix logic in ACL selector

* Fix HCP Home integration test

* Remove toggling the sidenav in tests

* Add sidenav to eng docs

* Re-add debug navigation for eng docs

* Remove ember-in-viewport

* Remove unused styles

* Upgrade @hashicorp/design-system-componentseee

* Add translations for side-nav

* Only show back to hcp link if url is present

* Disable responsive due to a11y-dialog issue
2023-11-06 08:18:48 -07:00

101 lines
3.1 KiB
Handlebars

{{!
Copyright (c) HashiCorp, Inc.
SPDX-License-Identifier: BUSL-1.1
}}
{{page-title 'Engineering Docs - Consul' separator=' - '}}
{{document-attrs class='is-debug'}}
{{! Tell CSS what we have enabled }}
{{#if (can 'use acls')}}
{{document-attrs class='has-acls'}}
{{/if}}
{{#if (can 'use nspaces')}}
{{document-attrs class='has-nspaces'}}
{{/if}}
{{#if (can 'use partitions')}}
{{document-attrs class='has-partitions'}}
{{/if}}
<App class='docs' id='wrapper'>
<:notifications as |app|>
{{#each flashMessages.queue as |flash|}}
{{#if flash.dom}}
<app.Notification
@delay={{sub flash.timeout flash.extendedTimeout}}
@sticky={{flash.sticky}}
>
{{{flash.dom}}}
</app.Notification>
{{/if}}
{{/each}}
</:notifications>
<:side-nav>
<Hds::SideNav @isResponsive={{true}} class='consul-side-nav'>
<:header>
<Hds::SideNav::Header>
<:logo>
<Hds::SideNav::Header::HomeLink
@icon='consul-color'
@ariaLabel='Consul'
@route='index'
@query={{hash peer=undefined}}
/>
</:logo>
</Hds::SideNav::Header>
</:header>
<:body>
<DocfyOutput as |node|>
<Hds::SideNav::List class='hds-side-nav-hide-when-minimized' as |SNL|>
<SNL.Title>Docs</SNL.Title>
{{#each node.children as |child|}}
{{#each child.pages as |child|}}
<SNL.Link
@href={{concat '/ui' child.url}}
@isHrefExternal={{false}}
@isActive={{is-href (to-route child.url)}}
@text={{classify child.title}}
/>
{{/each}}
{{!hardcode in styles next}}
{{#let (find-by 'label' 'styles' child.children) as |section|}}
<SNL.Title>{{section.label}}</SNL.Title>
{{#each (flatten-property section 'pages') as |child|}}
<SNL.Link
@href={{concat '/ui' child.url}}
@text={{classify child.title}}
@isHrefExternal={{false}}
@isActive={{is-href (to-route child.url)}}
/>
{{/each}}
{{/let}}
{{!print out the rest}}
{{#each child.children as |section|}}
{{#if (not-eq section.label 'styles')}}
<SNL.Title>{{section.label}}</SNL.Title>
{{#each (flatten-property section 'pages') as |child|}}
<SNL.Link
@href={{concat '/ui' child.url}}
@text={{classify child.title}}
@isHrefExternal={{false}}
@isActive={{is-href (to-route child.url)}}
/>
{{/each}}
{{/if}}
{{/each}}
{{/each}}
</Hds::SideNav::List>
</DocfyOutput>
</:body>
</Hds::SideNav>
</:side-nav>
<:main>
<DocfyOutput @fromCurrentURL={{true}} as |page|>
{{outlet}}
</DocfyOutput>
</:main>
</App>