Files
forge/templates/package/shared/list.tmpl
zeekayandHanzo Dev 3ea73962ff rebrand: complete white-label leak sweep of Hanzo-served surfaces
Finishes the residual pass: the bulk of served leaks remained (28 locale
files, most templates, all raster/source assets, Chinese READMEs). Imports,
identifiers, and wire contracts are left intact.

- locale: 28 files, all "Gitea" -> "Hanzo Git"; docs/blog/about.gitea.* +
  gitea.com/.io + go-gitea help URLs -> docs.hanzo.ai / git.hanzo.ai /
  github.com/hanzoai/git (keys with lowercase "gitea" preserved)
- templates: footer, swagger UI title + generated OpenAPI specs (stale
  gitea.dev x-go-package -> github.com/hanzoai/git), webhook usernames,
  OAuth-source labels, package/help doc links, example org/team identifiers
- Go served defaults: RSS feed author/description, git commit user.name +
  fallback email, WWW-Authenticate realms (OAuth2/packages/container),
  500/error pages, MS Teams card, built-in OAuth provider label, CLI --help,
  SSH + push-rejection messages, startup/index/redis/doctor logs, test-mail
  subject + X-Mailer
- config: app.example.ini APP_NAME default
- assets: source assets/*.svg, gitea.svg, gitea-gitea sprite, and all PNGs
  (logo/favicon/apple-touch/avatar_default) regenerated as the committed
  black-tile Hanzo mark; --color-logo #609926 -> monochrome; favicon-status
  test realigned to the new mark (viewBox 64)
- README.zh-tw + README.zh-cn rewritten as Hanzo Git
- render field CommitParticipant.GiteaUser -> User

Preserved (imports / identifiers / external contracts): code.gitea.io,
module github.com/hanzoai/git, gitea.dev/sdk dep, X-Gitea-* webhook + email
headers, WWW-Authenticate realm="Gitea" in git-HTTP (Git Credential Manager
OAuth2 detection), GitServiceType "Gitea" migration-source name, theme id
gitea-auto, .gitea-* classes / svg symbol ids, Go/JS identifiers, "The Gitea
Authors" copyright headers, outbound User-Agent headers.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-22 17:44:02 -07:00

61 lines
2.2 KiB
Handlebars

{{template "base/alert" .}}
{{if .HasPackages}}
<form class="ui form ignore-dirty">
<div class="ui small fluid action input">
{{template "shared/search/input" dict "Value" .Query "Placeholder" (ctx.Locale.Tr "search.package_kind")}}
<select class="ui small dropdown" name="type">
<option value="">{{ctx.Locale.Tr "packages.filter.type"}}</option>
<option value="all">{{ctx.Locale.Tr "packages.filter.type.all"}}</option>
{{range $type := .AvailableTypes}}
<option{{if eq $.PackageType $type}} selected="selected"{{end}} value="{{$type}}">{{$type.Name}}</option>
{{end}}
</select>
{{template "shared/search/button"}}
</div>
</form>
{{end}}
<div>
{{range .PackageDescriptors}}
<div class="flex-divided-list items-with-main">
<div class="item">
<div class="item-main">
<div class="item-title">
<a href="{{.VersionWebLink}}">{{.Package.Name}}</a>
<span class="label-list">
{{template "package/shared/visibility_badge" dict "Package" .Package "Owner" .Owner}}
<span class="ui label">{{svg .Package.Type.SVGName 16}} {{.Package.Type.Name}}</span>
</span>
</div>
<div class="item-body">
{{$timeStr := DateUtils.TimeSince .Version.CreatedUnix}}
{{$hasRepositoryAccess := false}}
{{if .Repository}}
{{$hasRepositoryAccess = index $.RepositoryAccessMap .Repository.ID}}
{{end}}
{{if $hasRepositoryAccess}}
{{ctx.Locale.Tr "packages.published_by_in" $timeStr .Creator.HomeLink .Creator.GetDisplayName .Repository.Link .Repository.FullName}}
{{else}}
{{ctx.Locale.Tr "packages.published_by" $timeStr .Creator.HomeLink .Creator.GetDisplayName}}
{{end}}
</div>
</div>
</div>
</div>
{{else}}
{{if not .HasPackages}}
<div class="empty-placeholder">
{{svg "octicon-package" 48}}
<h2>{{ctx.Locale.Tr "packages.empty"}}</h2>
{{if and .Repository .CanWritePackages}}
{{$packagesUrl := print .Owner.HomeLink "/-/packages"}}
<p>{{ctx.Locale.Tr "packages.empty.repo" $packagesUrl}}</p>
{{end}}
<p>{{ctx.Locale.Tr "packages.empty.documentation" "https://docs.hanzo.ai/usage/packages/overview/"}}</p>
</div>
{{else}}
<p class="tw-py-4">{{ctx.Locale.Tr "packages.filter.no_result"}}</p>
{{end}}
{{end}}
{{template "base/paginate" .}}
</div>