{{if eq .PackageDescriptor.Package.Type "container"}}
	<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.installation"}}</h4>
	<div class="ui attached segment">
		<div class="ui form">
			<div class="field">
				<label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.container.pull"}}</label>
				{{if eq .PackageDescriptor.Metadata.Type "helm"}}
				<div class="markup"><pre class="code-block"><code>helm pull oci://{{.PackageRegistryHost}}/{{.PackageDescriptor.Owner.LowerName}}/{{.PackageDescriptor.Package.LowerName}} --version {{.PackageDescriptor.Version.LowerVersion}}</code></pre></div>
				{{else}}
					{{$separator := ":"}}
					{{if not .PackageDescriptor.Metadata.IsTagged}}
						{{$separator = "@"}}
					{{end}}
					<div class="markup"><pre class="code-block"><code>docker pull {{.PackageRegistryHost}}/{{.PackageDescriptor.Owner.LowerName}}/{{.PackageDescriptor.Package.LowerName}}{{$separator}}{{.PackageDescriptor.Version.LowerVersion}}</code></pre></div>
				{{end}}
			</div>
			<div class="field">
				<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.container.digest"}}</label>
				<div class="markup">
					<div class="code-block-container code-overflow-scroll">
						<pre class="code-block"><code>
							{{- range .PackageDescriptor.Files -}}
								{{- if eq .File.LowerName "manifest.json" -}}
									{{- .Properties.GetByName "container.digest" -}}{{"\n"}}
								{{- end -}}
							{{- end -}}
						</code></pre>
					</div>
				</div>
			</div>
			<div class="field">
				<label>{{ctx.Locale.Tr "packages.registry.documentation" "Container" "https://docs.gitea.com/usage/packages/container/"}}</label>
			</div>
		</div>
	</div>
	{{if .PackageDescriptor.Metadata.Manifests}}
		<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.images"}}</h4>
		<div class="ui attached segment">
			<table class="ui very basic compact table">
				<thead>
					<tr>
						<th>{{ctx.Locale.Tr "packages.container.digest"}}</th>
						<th>{{ctx.Locale.Tr "packages.container.multi_arch"}}</th>
						<th>{{ctx.Locale.Tr "admin.packages.size"}}</th>
					</tr>
				</thead>
				<tbody>
					{{range .PackageDescriptor.Metadata.Manifests}}
						{{/* "unknown/unknown" is attestation-manifest, so we should skip it */}}
						{{if ne .Platform "unknown/unknown"}}
						<tr>
							<td>
								<a class="tw-font-mono" href="{{$.PackageDescriptor.PackageWebLink}}/{{$.PackageDescriptor.Version.LowerVersion}}/{{PathEscape .Digest}}">
									{{StringUtils.TrimPrefix .Digest "sha256:" | ShortSha}}
								</a>
							</td>
							<td>{{.Platform}}</td>
							<td>{{FileSize .Size}}</td>
						</tr>
						{{end}}
					{{end}}
				</tbody>
			</table>
		</div>
	{{end}}
	{{if .PackageDescriptor.Metadata.Description}}
		<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.about"}}</h4>
		<div class="ui attached segment">
			{{.PackageDescriptor.Metadata.Description}}
		</div>
	{{end}}

	{{/* a container manifest may contain sub manifests, so here we try to display some information of the sub manifest,
		not perfect, just better than before */}}
	{{$imageMetadata := .ContainerImageMetadata}}
	{{if $imageMetadata.ImageLayers}}
		<h4 class="ui top attached header flex-text-block">
			{{ctx.Locale.Tr "packages.container.layers"}}
			{{/* only show the platform if the image metadata is not the package's, which means that it is a sub manifest */}}
			{{if ne .ContainerImageMetadata .PackageDescriptor.Metadata}}
				<span class="tw-text-base flex-text-inline" title="{{ctx.Locale.Tr "packages.container.details.platform"}}">
					({{svg "octicon-cpu" 12}} {{.ContainerImageMetadata.Platform}})
				</span>
			{{end}}
		</h4>
		<div class="ui attached segment tw-break-anywhere">
			<table class="ui very basic compact table tw-font-mono">
				<tbody>
					{{range $imageMetadata.ImageLayers}}
						<tr>
							<td>{{.}}</td>
						</tr>
					{{end}}
				</tbody>
			</table>
		</div>
	{{end}}
	{{if $imageMetadata.Labels}}
		<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.labels"}}</h4>
		<div class="ui attached segment">
			<table class="ui very basic compact table tw-font-mono">
				<thead>
					<tr>
						<th>{{ctx.Locale.Tr "packages.container.labels.key"}}</th>
						<th>{{ctx.Locale.Tr "packages.container.labels.value"}}</th>
					</tr>
				</thead>
				<tbody>
					{{range $key, $value := $imageMetadata.Labels}}
						<tr>
							<td class="tw-align-top">{{$key}}</td>
							<td class="tw-break-anywhere">{{$value}}</td>
						</tr>
					{{end}}
				</tbody>
			</table>
		</div>
	{{end}}
{{end}}
