This refactors the `shared/datetime/short|long|full` templates into a template helper function, which allows us to render absolute date times within translatable phrases. - Follows #23988 - The first attempt was in #24055 - This should help #22664 Changes: 1. Added the `DateTime` template helper that replaces the `shared/datetime/short|long|full` templates 2. Used find-and-replace with varying regexes to replace the templates from step 1 (for example, `\{\{template "shared/datetime/(\S+) \(dict "Datetime" ([^"]+) "Fallback" ([^\)]+\)?) ?\)?\}\}` -> `{{DateTime "$1 $2 $3}}`) 3. Used the new `DateTime` helper in the issue due date timestamp rendering # Before ![image](https://user-images.githubusercontent.com/20454870/233791256-b454c455-aca0-4b76-b300-7866c7bd529e.png) # After ![image](https://user-images.githubusercontent.com/20454870/233790809-c4913355-2822-4657-bb29-2298deb6d4b3.png) --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
107 lines
4 KiB
Handlebars
107 lines
4 KiB
Handlebars
{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin user")}}
|
|
<div class="admin-setting-content">
|
|
<h4 class="ui top attached header">
|
|
{{.locale.Tr "admin.repos.repo_manage_panel"}} ({{.locale.Tr "admin.total" .Total}})
|
|
<div class="ui right">
|
|
<a class="ui primary tiny button" href="{{AppSubUrl}}/admin/repos/unadopted">{{.locale.Tr "admin.repos.unadopted"}}</a>
|
|
</div>
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
{{template "admin/repo/search" .}}
|
|
</div>
|
|
<div class="ui attached table segment">
|
|
<table class="ui very basic striped table unstackable">
|
|
<thead>
|
|
<tr>
|
|
<th data-sortt-asc="oldest" data-sortt-desc="newest">ID{{SortArrow "oldest" "newest" $.SortType false}}</th>
|
|
<th>{{.locale.Tr "admin.repos.owner"}}</th>
|
|
<th data-sortt-asc="alphabetically" data-sortt-desc="reversealphabetically">
|
|
{{.locale.Tr "admin.repos.name"}}
|
|
{{SortArrow "alphabetically" "reversealphabetically" $.SortType false}}
|
|
</th>
|
|
<th>{{.locale.Tr "admin.repos.watches"}}</th>
|
|
<th data-sortt-asc="moststars" data-sortt-desc="feweststars">
|
|
{{.locale.Tr "admin.repos.stars"}}
|
|
{{SortArrow "moststars" "feweststars" $.SortType false}}
|
|
</th>
|
|
<th data-sortt-asc="mostforks" data-sortt-desc="fewestforks">
|
|
{{.locale.Tr "admin.repos.forks"}}
|
|
{{SortArrow "mostforks" "fewestforks" $.SortType false}}
|
|
</th>
|
|
<th>{{.locale.Tr "admin.repos.issues"}}</th>
|
|
<th data-sortt-asc="size" data-sortt-desc="reversesize">
|
|
{{.locale.Tr "admin.repos.size"}}
|
|
{{SortArrow "size" "reversesize" $.SortType false}}
|
|
</th>
|
|
<th>{{.locale.Tr "admin.users.created"}}</th>
|
|
<th>{{.locale.Tr "admin.notices.op"}}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range .Repos}}
|
|
<tr>
|
|
<td>{{.ID}}</td>
|
|
<td>
|
|
<a href="{{.Owner.HomeLink}}">{{.Owner.Name}}</a>
|
|
{{if .Owner.Visibility.IsPrivate}}
|
|
<span class="text gold">{{svg "octicon-lock"}}</span>
|
|
{{end}}
|
|
</td>
|
|
<td>
|
|
<a href="{{.Link}}">{{.Name}}</a>
|
|
{{if .IsArchived}}
|
|
<span class="ui basic mini label">{{$.locale.Tr "repo.desc.archived"}}</span>
|
|
{{end}}
|
|
{{if .IsTemplate}}
|
|
{{if .IsPrivate}}
|
|
<span class="ui basic mini label">{{$.locale.Tr "repo.desc.private_template"}}</span>
|
|
{{else}}
|
|
{{if .Owner.Visibility.IsPrivate}}
|
|
<span class="ui basic mini label">{{$.locale.Tr "repo.desc.internal_template"}}</span>
|
|
{{end}}
|
|
{{end}}
|
|
{{else}}
|
|
{{if .IsPrivate}}
|
|
<span class="ui basic mini label">{{$.locale.Tr "repo.desc.private"}}</span>
|
|
{{else}}
|
|
{{if .Owner.Visibility.IsPrivate}}
|
|
<span class="ui basic mini label">{{$.locale.Tr "repo.desc.internal"}}</span>
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|
|
{{if .IsFork}}
|
|
{{svg "octicon-repo-forked"}}
|
|
{{else if .IsMirror}}
|
|
{{svg "octicon-mirror"}}
|
|
{{end}}
|
|
</td>
|
|
<td>{{.NumWatches}}</td>
|
|
<td>{{.NumStars}}</td>
|
|
<td>{{.NumForks}}</td>
|
|
<td>{{.NumIssues}}</td>
|
|
<td>{{FileSize .Size}}</td>
|
|
<td>{{DateTime "short" .CreatedUnix.FormatLong .CreatedUnix.FormatShort}}</td>
|
|
<td><a class="delete-button" href="" data-url="{{$.Link}}/delete?page={{$.Page.Paginater.Current}}&sort={{$.SortType}}" data-id="{{.ID}}" data-name="{{.Name}}">{{svg "octicon-trash"}}</a></td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
{{template "base/paginate" .}}
|
|
</div>
|
|
|
|
<div class="ui gitea-confirm-modal delete modal">
|
|
<div class="header">
|
|
{{svg "octicon-trash"}}
|
|
{{.locale.Tr "repo.settings.delete"}}
|
|
</div>
|
|
<div class="content">
|
|
<p>{{.locale.Tr "repo.settings.delete_desc"}}</p>
|
|
{{.locale.Tr "repo.settings.delete_notices_2" `<span class="name"></span>` | Safe}}<br>
|
|
{{.locale.Tr "repo.settings.delete_notices_fork_1"}}<br>
|
|
</div>
|
|
{{template "base/modal_actions_confirm" .}}
|
|
</div>
|
|
|
|
{{template "admin/layout_footer" .}}
|