mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-27 20:26:09 +01:00
44e0cfa96e
Co-Author: @wxiaoguang This is the first step of #24229. And this PR will only includes html changes, and followed by other PRs that fine tune css and change to submenus. After: Admin Level <img width="1400" alt="Screen Shot 2023-04-21 at 10 07 16" src="https://user-images.githubusercontent.com/17645053/233523870-f848b61d-056a-4b41-9760-a9a49fea1fe8.png"> User Level <img width="1422" alt="Screen Shot 2023-04-21 at 10 07 23" src="https://user-images.githubusercontent.com/17645053/233523878-979adb20-a657-43d9-99a6-ad414010c0ef.png"> Repo Level <img width="1404" alt="Screen Shot 2023-04-21 at 10 07 07" src="https://user-images.githubusercontent.com/17645053/233523863-337440bd-c03a-4dfd-87fa-cef40300bfe0.png"> --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
91 lines
3.7 KiB
Handlebars
91 lines
3.7 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.packages.package_manage_panel"}} ({{.locale.Tr "admin.total" .TotalCount}},
|
|
{{.locale.Tr "admin.packages.total_size" (FileSize .TotalBlobSize)}},
|
|
{{.locale.Tr "admin.packages.unreferenced_size" (FileSize .TotalUnreferencedBlobSize)}})
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<form class="ui form ignore-dirty">
|
|
<div class="ui fluid action input">
|
|
<input name="q" value="{{.Query}}" placeholder="{{.locale.Tr "explore.search"}}..." autofocus>
|
|
<select class="ui dropdown" name="type">
|
|
<option value="">{{.locale.Tr "packages.filter.type"}}</option>
|
|
<option value="all">{{.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>
|
|
<button class="ui primary button">{{.locale.Tr "explore.search"}}</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="ui attached table segment">
|
|
<table class="ui very basic striped table unstackable">
|
|
<thead>
|
|
<tr>
|
|
<th>ID</th>
|
|
<th>{{.locale.Tr "admin.packages.owner"}}</th>
|
|
<th>{{.locale.Tr "admin.packages.type"}}</th>
|
|
<th data-sortt-asc="name_asc" data-sortt-desc="name_desc">
|
|
{{.locale.Tr "admin.packages.name"}}
|
|
{{SortArrow "name_asc" "name_desc" .SortType false}}
|
|
</th>
|
|
<th data-sortt-asc="version_desc" data-sortt-desc="version_asc">
|
|
{{.locale.Tr "admin.packages.version"}}
|
|
{{SortArrow "version_desc" "version_asc" .SortType false}}
|
|
</th>
|
|
<th>{{.locale.Tr "admin.packages.creator"}}</th>
|
|
<th>{{.locale.Tr "admin.packages.repository"}}</th>
|
|
<th>{{.locale.Tr "admin.packages.size"}}</th>
|
|
<th data-sortt-asc="created_asc" data-sortt-desc="created_desc">
|
|
{{.locale.Tr "admin.packages.published"}}
|
|
{{SortArrow "created_asc" "created_desc" .SortType true}}
|
|
</th>
|
|
<th>{{.locale.Tr "admin.notices.op"}}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range .PackageDescriptors}}
|
|
<tr>
|
|
<td>{{.Version.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>{{.Package.Type.Name}}</td>
|
|
<td class="text truncate email">{{.Package.Name}}</td>
|
|
<td><a href="{{.FullWebLink}}" class="text truncate email">{{.Version.Version}}</a></td>
|
|
<td><a href="{{.Creator.HomeLink}}">{{.Creator.Name}}</a></td>
|
|
<td>
|
|
{{if .Repository}}
|
|
<a href="{{.Repository.Link}}">{{.Repository.Name}}</a>
|
|
{{end}}
|
|
</td>
|
|
<td>{{FileSize .CalculateBlobSize}}</td>
|
|
<td>{{template "shared/datetime/short" (dict "Datetime" .Version.CreatedUnix.FormatLong "Fallback" .Version.CreatedUnix.FormatShort)}}</td>
|
|
<td><a class="delete-button" href="" data-url="{{$.Link}}/delete?page={{$.Page.Paginater.Current}}&sort={{$.SortType}}" data-id="{{.Version.ID}}" data-name="{{.Package.Name}}" data-data-version="{{.Version.Version}}">{{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 "packages.settings.delete"}}
|
|
</div>
|
|
<div class="content">
|
|
{{.locale.Tr "packages.settings.delete.notice" `<span class="name"></span>` `<span class="dataVersion"></span>` | Safe}}
|
|
</div>
|
|
{{template "base/modal_actions_confirm" .}}
|
|
</div>
|
|
|
|
{{template "admin/layout_footer" .}}
|