consul/ui/packages/consul-ui/app/templates/dc/show/license.hbs

147 lines
4.4 KiB
Handlebars

{{!
Copyright (c) HashiCorp, Inc.
SPDX-License-Identifier: BUSL-1.1
}}
<Route
@name={{routeName}}
as |route|>
<DataLoader
@src={{
uri '/${partition}/${nspace}/${dc}/license'
(hash
partition=route.params.partition
nspace=route.params.nspace
dc=route.params.dc
)
}}
as |loader|>
{{#let
loader.data
as |item|}}
<BlockSlot @name="error">
<ErrorState
@error={{loader.error}}
@login={{route.model.app.login.open}}
/>
</BlockSlot>
<BlockSlot @name="disconnected" as |after|>
{{#if (eq loader.error.status "404")}}
<Hds::Toast @color='warning'
{{notification
sticky=true
}} as |T|>
<T.Title>Warning!</T.Title>
<T.Description>This service has been deregistered and no longer exists in the catalog.</T.Description>
</Hds::Toast>
{{else if (eq loader.error.status "403")}}
<Hds::Toast @color='critical'
{{notification
sticky=true
}} as |T|>
<T.Title>Error!</T.Title>
<T.Description>You no longer have access to this service.</T.Description>
</Hds::Toast>
{{else}}
<Hds::Toast @color='warning'
{{notification
sticky=true
}} as |T|>
<T.Title>Warning!</T.Title>
<T.Description>An error was returned whilst loading this data, refresh to try again.</T.Description>
</Hds::Toast>
{{/if}}
</BlockSlot>
<BlockSlot @name="loaded">
<div class="tab-section">
<section
class={{class-map
'validity'
(array 'valid' item.Valid)
}}
>
<header>
<h2>
{{compute (fn route.t 'expiry.header')}}
</h2>
</header>
<p>
{{compute (fn route.t 'expiry.${type}.body'
(hash
type=(if item.Valid 'valid' 'expired')
date=(format-time item.License.expiration_time
year='numeric'
month='long'
day='numeric'
)
time=(format-time item.License.expiration_time
hour12=true
hour='numeric'
hourCycle='h12'
minute='numeric'
second='numeric'
timeZoneName='short'
)
htmlSafe=true
)
)}}
</p>
<dl>
<dt class={{class-map
(array 'valid' item.Valid)
(array 'expired' (not item.Valid))
(array 'warning' (temporal-within item.License.expiration_time 2629800000))
}}
>
{{compute (fn route.t 'expiry.${type}.header'
(hash
type=(if item.Valid 'valid' 'expired')
)
)}}
</dt>
<dd>
{{temporal-format item.License.expiration_time}}
</dd>
</dl>
<aside>
<header>
<h3>
{{compute (fn route.t 'documentation.title')}}
</h3>
</header>
<div class="flex gap-1.5 flex-col">
<Hds::Link::Standalone
@text={{compute (fn route.t 'documentation.links.license-expiration.text')}}
@href='{{concat (env 'CONSUL_DOCS_URL') (compute (fn route.t 'documentation.links.license-expiration.link'))}}'
@icon='docs-link'
@iconPosition='trailing'
/>
<Hds::Link::Standalone
@text={{compute (fn route.t 'documentation.links.renewing-license.text')}}
@href='{{concat (env 'CONSUL_DOCS_URL') (compute (fn route.t 'documentation.links.renewing-license.link'))}}'
@icon='docs-link'
@iconPosition='trailing'
/>
<Hds::Link::Standalone
@text={{compute (fn route.t 'documentation.links.applying-new-license.text')}}
@href='{{concat (env 'CONSUL_DOCS_URL') (compute (fn route.t 'documentation.links.applying-new-license.link'))}}'
@icon='docs-link'
@iconPosition='trailing'
/>
</div>
</aside>
</section>
</div>
</BlockSlot>
{{/let}}
</DataLoader>
</Route>