forked from Shiloh/githaven
b7b5834831
- Added [GitHub's `relative-time` element](https://github.com/github/relative-time-element) - Converted all formatted timestamps to use this element - No more flashes of unstyled content around time elements - These elements are localized using the `lang` property of the HTML file - Relative (e.g. the activities in the dashboard) and duration (e.g. server uptime in the admin page) time elements are auto-updated to keep up with the current time without refreshing the page - Code that is not needed anymore such as `formatting.js` and parts of `since.go` have been deleted Replaces #21440 Follows #22861 ## Screenshots ### Localized ![image](https://user-images.githubusercontent.com/20454870/230775041-f0af4fda-8f6b-46d3-b8e3-d340c791a50c.png) ![image](https://user-images.githubusercontent.com/20454870/230673393-931415a9-5729-4ac3-9a89-c0fb5fbeeeb7.png) ### Tooltips #### Native for dates ![image](https://user-images.githubusercontent.com/20454870/230797525-1fa0a854-83e3-484c-9da5-9425ab6528a3.png) #### Interactive for relative ![image](https://user-images.githubusercontent.com/115237/230796860-51e1d640-c820-4a34-ba2e-39087020626a.png) ### Auto-update ![rec](https://user-images.githubusercontent.com/20454870/230672159-37480d8f-435a-43e9-a2b0-44073351c805.gif) --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: delvh <dev.lh@web.de>
94 lines
3.8 KiB
Handlebars
94 lines
3.8 KiB
Handlebars
{{template "base/head" .}}
|
|
<div role="main" aria-label="{{.Title}}" class="page-content admin user">
|
|
{{template "admin/navbar" .}}
|
|
<div class="ui container">
|
|
{{template "base/alert" .}}
|
|
<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>
|
|
|
|
<div class="ui small basic delete modal">
|
|
<div class="ui icon 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/delete_modal_actions" .}}
|
|
</div>
|
|
{{template "base/footer" .}}
|