forked from NYANDEV/forgejo
1454f9dafc
Part of #25042 1. Added actor and status dropdowns first in case something is offtrack and PR is too large. 2. Also added "No results matched." and "The workflow has no runs yet.", and "No results matched." will show if there is no filter results and there is no workflows (with [reference to github action](https://github.com/go-gitea/gitea/actions/workflows/files-changed.yml?query=actor%3AGiteaBot)) Demo: https://github.com/go-gitea/gitea/assets/17645053/6e76292c-4c1f-450d-8b48-99944cfc920c TODOs: - [x] Get available status (same as those in `aggregateJobStatus`) instead of getting from database - [x] Use `JOIN` to get actors, actors order by name - [x] Make self on top
55 lines
2.3 KiB
Handlebars
55 lines
2.3 KiB
Handlebars
<div class="ui container">
|
|
{{template "base/alert" .}}
|
|
<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 class="ui {{if .PackageDescriptors}}issue list{{end}}">
|
|
{{range .PackageDescriptors}}
|
|
<li class="item gt-df gt-py-3">
|
|
<div class="issue-item-main gt-f1 gt-fc gt-df">
|
|
<div class="issue-item-top-row">
|
|
<a class="title" href="{{.FullWebLink}}">{{.Package.Name}}</a>
|
|
<span class="ui label">{{svg .Package.Type.SVGName 16}} {{.Package.Type.Name}}</span>
|
|
</div>
|
|
<div class="desc issue-item-bottom-row gt-df gt-ac gt-fw gt-my-1">
|
|
{{$timeStr := TimeSinceUnix .Version.CreatedUnix $.locale}}
|
|
{{$hasRepositoryAccess := false}}
|
|
{{if .Repository}}
|
|
{{$hasRepositoryAccess = index $.RepositoryAccessMap .Repository.ID}}
|
|
{{end}}
|
|
{{if $hasRepositoryAccess}}
|
|
{{$.locale.Tr "packages.published_by_in" $timeStr .Creator.HomeLink (.Creator.GetDisplayName | Escape) .Repository.Link (.Repository.FullName | Escape) | Safe}}
|
|
{{else}}
|
|
{{$.locale.Tr "packages.published_by" $timeStr .Creator.HomeLink (.Creator.GetDisplayName | Escape) | Safe}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
{{else}}
|
|
{{if not .HasPackages}}
|
|
<div class="empty center">
|
|
{{svg "octicon-package" 48}}
|
|
<h2>{{.locale.Tr "packages.empty"}}</h2>
|
|
{{if and .Repository .CanWritePackages}}
|
|
{{$packagesUrl := URLJoin .Owner.HomeLink "-" "packages"}}
|
|
<p>{{.locale.Tr "packages.empty.repo" $packagesUrl | Safe}}</p>
|
|
{{end}}
|
|
<p>{{.locale.Tr "packages.empty.documentation" "https://docs.gitea.io/en-us/usage/packages/overview/" | Safe}}</p>
|
|
</div>
|
|
{{else}}
|
|
<p>{{.locale.Tr "packages.filter.no_result"}}</p>
|
|
{{end}}
|
|
{{end}}
|
|
{{template "base/paginate" .}}
|
|
</div>
|
|
</div>
|