b5d96e7db7
Ports fuzzy search for `/issues` and `/pulls` from gitea. Adds fuzzy search for `/user/repo/issues` and `/user/repo/pulls`. --- ## Notes ### Port: [`gitea#be5be0ac81`](be5be0ac81
) - CONFLICT (content): Merge conflict in routers/web/user/home.go Conflict resolved by 1. keeping both `PageIsOrgIssues` and the newly introduced `IsFuzzy` 2. using `pager.AddParam(ctx, "fuzzy", "IsFuzzy")` rather than `pager.AddParamString("fuzzy", fmt.Sprintf("%v", isFuzzy))` - CONFLICT (content): Merge conflict in templates/user/dashboard/issues.tmpl Conflict resolved by keeping the changes from #4096, and picking the `&fuzzy=${{.IsFuzzy}}` inclusion to all urls and `{{if .PageIsPulls}}...` ### Port: [`gitea#fede3cbada`](fede3cbada
) - CONFLICT (content): Merge conflict in templates/user/dashboard/issues.tmpl Conflict resolved by keeping previous changes and picking the replacement of `{{if .PageIsPulls}}...` with `{{template "shared/search/combo_fuzzy"...` which contains the replacement of `explorer.go` to `explorer.go_to` ### Fixup commit replaces `Iif` with `if` which was introduced in gitea#fede3cbada ### Feature commit adds in support for /user/repo/(issues|pulls) + test Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Kerwin Bryant <kerwin612@qq.com> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4160 Reviewed-by: twenty-panda <twenty-panda@noreply.codeberg.org> Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> Co-authored-by: Shiny Nematoda <snematoda.751k2@aleeas.com> Co-committed-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
91 lines
6.5 KiB
Cheetah
91 lines
6.5 KiB
Cheetah
{{template "base/head" .}}
|
|
<div role="main" aria-label="{{.Title}}" class="page-content dashboard issues">
|
|
{{template "user/dashboard/navbar" .}}
|
|
<div class="ui container">
|
|
{{template "base/alert" .}}
|
|
<div class="list-header">
|
|
<div class="small-menu-items ui compact tiny menu list-header-toggle">
|
|
<a class="item{{if not .IsShowClosed}} active{{end}}" href="?type={{$.ViewType}}&sort={{$.SortType}}&state=open&labels={{.SelectLabels}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">
|
|
{{svg "octicon-issue-opened" 16 "tw-mr-2"}}
|
|
{{ctx.Locale.PrettyNumber .IssueStats.OpenCount}} {{ctx.Locale.Tr "repo.issues.open_title"}}
|
|
</a>
|
|
<a class="item{{if .IsShowClosed}} active{{end}}" href="?type={{$.ViewType}}&sort={{$.SortType}}&state=closed&labels={{.SelectLabels}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">
|
|
{{svg "octicon-issue-closed" 16 "tw-mr-2"}}
|
|
{{ctx.Locale.PrettyNumber .IssueStats.ClosedCount}} {{ctx.Locale.Tr "repo.issues.closed_title"}}
|
|
</a>
|
|
</div>
|
|
<form class="list-header-search ui form ignore-dirty">
|
|
<div class="ui small search fluid action input">
|
|
<input type="hidden" name="type" value="{{$.ViewType}}">
|
|
<input type="hidden" name="sort" value="{{$.SortType}}">
|
|
<input type="hidden" name="state" value="{{$.State}}">
|
|
{{if .PageIsPulls}}
|
|
{{template "shared/search/combo_fuzzy" dict "Value" $.Keyword "IsFuzzy" $.IsFuzzy "Placeholder" (ctx.Locale.Tr "search.pull_kind") "Tooltip" (ctx.Locale.Tr "explore.go_to")}}
|
|
{{else}}
|
|
{{template "shared/search/combo_fuzzy" dict "Value" $.Keyword "IsFuzzy" $.IsFuzzy "Placeholder" (ctx.Locale.Tr "search.issue_kind") "Tooltip" (ctx.Locale.Tr "explore.go_to")}}
|
|
{{end}}
|
|
</div>
|
|
</form>
|
|
<div class="ui secondary menu tw-mt-0">
|
|
<!-- Label -->
|
|
{{if .PageIsOrgIssues}}
|
|
{{template "shared/label_filter" .}}
|
|
{{end}}
|
|
<!-- Type -->
|
|
<div class="list-header ui dropdown type jump item">
|
|
<span class="text tw-whitespace-nowrap">
|
|
{{ctx.Locale.Tr "repo.issues.filter_type"}}
|
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
|
</span>
|
|
<div class="ui menu">
|
|
<a class="{{if eq .ViewType "your_repositories"}}active{{end}} item" href="?type=your_repositories&sort={{$.SortType}}&state={{.State}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">
|
|
<div class="ui circular mini label tw-ml-0">{{CountFmt .IssueStats.YourRepositoriesCount}}</div>
|
|
{{ctx.Locale.Tr "home.issues.in_your_repos"}}
|
|
</a>
|
|
<a class="{{if eq .ViewType "assigned"}}active{{end}} item" href="?type=assigned&sort={{$.SortType}}&state={{.State}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">
|
|
<div class="ui circular mini label tw-ml-0">{{CountFmt .IssueStats.AssignCount}}</div>
|
|
{{ctx.Locale.Tr "repo.issues.filter_type.assigned_to_you"}}
|
|
</a>
|
|
<a class="{{if eq .ViewType "created_by"}}active{{end}} item" href="?type=created_by&sort={{$.SortType}}&state={{.State}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">
|
|
<div class="ui circular mini label tw-ml-0">{{CountFmt .IssueStats.CreateCount}}</div>
|
|
{{ctx.Locale.Tr "repo.issues.filter_type.created_by_you"}}
|
|
</a>
|
|
{{if .PageIsPulls}}
|
|
<a class="{{if eq .ViewType "review_requested"}}active{{end}} item" href="?type=review_requested&sort={{$.SortType}}&state={{.State}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">
|
|
<div class="ui circular mini label tw-ml-0">{{CountFmt .IssueStats.ReviewRequestedCount}}</div>
|
|
{{ctx.Locale.Tr "repo.issues.filter_type.review_requested"}}
|
|
</a>
|
|
<a class="{{if eq .ViewType "reviewed_by"}}active{{end}} item" href="?type=reviewed_by&sort={{$.SortType}}&state={{.State}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">
|
|
<div class="ui circular mini label tw-ml-0">{{CountFmt .IssueStats.ReviewedCount}}</div>
|
|
{{ctx.Locale.Tr "repo.issues.filter_type.reviewed_by_you"}}
|
|
</a>
|
|
{{end}}
|
|
<a class="{{if eq .ViewType "mentioned"}}active{{end}} item" href="?type=mentioned&sort={{$.SortType}}&state={{.State}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">
|
|
<div class="ui circular mini label tw-ml-0">{{CountFmt .IssueStats.MentionCount}}</div>
|
|
{{ctx.Locale.Tr "repo.issues.filter_type.mentioning_you"}}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<!-- Sort -->
|
|
<div class="list-header-sort ui dropdown type jump item">
|
|
<span class="text tw-whitespace-nowrap">
|
|
{{ctx.Locale.Tr "repo.issues.filter_sort"}}
|
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
|
</span>
|
|
<div class="menu">
|
|
<a class="{{if eq .SortType "recentupdate"}}active {{end}}item" href="?type={{$.ViewType}}&sort=recentupdate&state={{$.State}}&labels={{.SelectLabels}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">{{ctx.Locale.Tr "repo.issues.filter_sort.recentupdate"}}</a>
|
|
<a class="{{if eq .SortType "leastupdate"}}active {{end}}item" href="?type={{$.ViewType}}&sort=leastupdate&state={{$.State}}&labels={{.SelectLabels}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">{{ctx.Locale.Tr "repo.issues.filter_sort.leastupdate"}}</a>
|
|
<a class="{{if or (eq .SortType "latest") (not .SortType)}}active {{end}}item" href="?type={{$.ViewType}}&sort=latest&state={{$.State}}&labels={{.SelectLabels}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">{{ctx.Locale.Tr "repo.issues.filter_sort.latest"}}</a>
|
|
<a class="{{if eq .SortType "oldest"}}active {{end}}item" href="?type={{$.ViewType}}&sort=oldest&state={{$.State}}&labels={{.SelectLabels}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">{{ctx.Locale.Tr "repo.issues.filter_sort.oldest"}}</a>
|
|
<a class="{{if eq .SortType "mostcomment"}}active {{end}}item" href="?type={{$.ViewType}}&sort=mostcomment&state={{$.State}}&labels={{.SelectLabels}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">{{ctx.Locale.Tr "repo.issues.filter_sort.mostcomment"}}</a>
|
|
<a class="{{if eq .SortType "leastcomment"}}active {{end}}item" href="?type={{$.ViewType}}&sort=leastcomment&state={{$.State}}&labels={{.SelectLabels}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">{{ctx.Locale.Tr "repo.issues.filter_sort.leastcomment"}}</a>
|
|
<a class="{{if eq .SortType "nearduedate"}}active {{end}}item" href="?type={{$.ViewType}}&sort=nearduedate&state={{$.State}}&labels={{.SelectLabels}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">{{ctx.Locale.Tr "repo.issues.filter_sort.nearduedate"}}</a>
|
|
<a class="{{if eq .SortType "farduedate"}}active {{end}}item" href="?type={{$.ViewType}}&sort=farduedate&state={{$.State}}&labels={{.SelectLabels}}&q={{$.Keyword}}&fuzzy={{.IsFuzzy}}">{{ctx.Locale.Tr "repo.issues.filter_sort.farduedate"}}</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{template "shared/issuelist" dict "." . "listType" "dashboard"}}
|
|
</div>
|
|
</div>
|
|
{{template "base/footer" .}}
|