mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
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]>
73 lines
2.9 KiB
Handlebars
73 lines
2.9 KiB
Handlebars
<h4 class="ui top attached header">
|
|
{{ctx.Locale.Tr "user.block.title"}}
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<p>{{ctx.Locale.Tr "user.block.info"}} <a target="_blank" href="https://docs.hanzo.ai/usage/access-control/blocking-user">{{ctx.Locale.Tr "user.block.info.docs"}}</a></p>
|
|
</div>
|
|
<div class="ui segment">
|
|
<form class="ui form form-fetch-action ignore-dirty" action="{{$.Link}}" method="post">
|
|
<input type="hidden" name="action" value="block">
|
|
<div id="search-user-box" class="field ui fluid search input">
|
|
<input class="prompt tw-mr-2" name="blockee" placeholder="{{ctx.Locale.Tr "search.user_kind"}}" autocomplete="off" required>
|
|
<button class="ui red button">{{ctx.Locale.Tr "user.block.block"}}</button>
|
|
</div>
|
|
<div class="field">
|
|
<label>{{ctx.Locale.Tr "user.block.note.title"}}</label>
|
|
<input name="note">
|
|
<p class="help">{{ctx.Locale.Tr "user.block.note.info"}}</p>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<h4 class="ui top attached header">
|
|
{{ctx.Locale.Tr "user.block.list"}}
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<div class="flex-divided-list items-with-main">
|
|
{{range .UserBlocks}}
|
|
<div class="item">
|
|
<div class="item-leading">
|
|
{{ctx.AvatarUtils.Avatar .Blockee}}
|
|
</div>
|
|
<div class="item-main">
|
|
<div class="item-title">
|
|
<a class="item" href="{{.Blockee.HomeLink}}">{{.Blockee.GetDisplayName}}</a>
|
|
</div>
|
|
{{if .Note}}
|
|
<div class="item-body">
|
|
<i>{{ctx.Locale.Tr "user.block.note"}}:</i> {{.Note}}
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
<div class="item-trailing">
|
|
<button class="ui compact mini button show-modal" data-modal="#block-user-note-modal" data-modal-modal-blockee="{{.Blockee.Name}}" data-modal-modal-note="{{.Note}}">{{ctx.Locale.Tr "user.block.note.edit"}}</button>
|
|
<form class="form-fetch-action" action="{{$.Link}}" method="post">
|
|
<input type="hidden" name="action" value="unblock">
|
|
<input type="hidden" name="blockee" value="{{.Blockee.Name}}">
|
|
<button class="ui compact mini button">{{ctx.Locale.Tr "user.block.unblock"}}</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
{{else}}
|
|
<div class="item">{{ctx.Locale.Tr "user.block.list.none"}}</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<div class="ui small modal" id="block-user-note-modal">
|
|
<div class="header">{{ctx.Locale.Tr "user.block.note.edit"}}</div>
|
|
<div class="content">
|
|
<form class="ui form form-fetch-action" action="{{$.Link}}" method="post">
|
|
<input type="hidden" name="action" value="note">
|
|
<input type="hidden" name="blockee" class="modal-blockee">
|
|
<div class="field">
|
|
<label>{{ctx.Locale.Tr "user.block.note.title"}}</label>
|
|
<input name="note" class="modal-note">
|
|
<p class="help">{{ctx.Locale.Tr "user.block.note.info"}}</p>
|
|
</div>
|
|
<div class="actions">
|
|
<button class="ui cancel button">{{ctx.Locale.Tr "cancel"}}</button>
|
|
<button class="ui primary button">{{ctx.Locale.Tr "save"}}</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|