gitea/routers/web/repo
HesterG 2f0e79e639
Use frontend fetch for branch dropdown component ()
- Send request to get branch/tag list, use loading icon when waiting for
response.
- Only fetch when the first time branch/tag list shows.
- For backend, removed assignment to `ctx.Data["Branches"]` and
`ctx.Data["Tags"]` from `context/repo.go` and passed these data wherever
needed.
- Changed some `v-if` to `v-show` and used native `svg` as mentioned in
https://github.com/go-gitea/gitea/pull/25719#issuecomment-1631712757 to
improve perfomance when there are a lot of branches.
- Places Used the dropdown component:

     Repo Home Page
    
<img width="1429" alt="Screen Shot 2023-07-06 at 12 17 51"
src="https://github.com/go-gitea/gitea/assets/17645053/6accc7b6-8d37-4e88-ae1a-bd2b3b927ea0">

    Commits Page

<img width="1431" alt="Screen Shot 2023-07-06 at 12 18 34"
src="https://github.com/go-gitea/gitea/assets/17645053/2d0bf306-d1e2-45a8-a784-bc424879f537">

    Specific commit -> operations -> cherry-pick
    
<img width="758" alt="Screen Shot 2023-07-06 at 12 23 28"
src="https://github.com/go-gitea/gitea/assets/17645053/1e557948-3881-4e45-a625-8ef36d45ae2d">

    Release Page
    
<img width="1433" alt="Screen Shot 2023-07-06 at 12 25 05"
src="https://github.com/go-gitea/gitea/assets/17645053/3ec82af1-15a4-4162-a50b-04a9502161bb">

- Demo


https://github.com/go-gitea/gitea/assets/17645053/d45d266b-3eb0-465a-82f9-57f78dc5f9f3

- Note:

UI of dropdown menu could be improved in another PR as it should apply
to more dropdown menus.

Fix 

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
..
actions Actions Artifacts support uploading multiple files and directories ()
setting Use frontend fetch for branch dropdown component ()
activity.go Implement FSFE REUSE for golang files ()
attachment.go Less naked returns ()
blame.go Sort repo topic labels by name ()
branch.go Replace `interface{}` with `any` ()
cherry_pick.go Sync branches into databases ()
commit.go Pass 'not' to commit count ()
compare.go Use frontend fetch for branch dropdown component ()
download.go Less naked returns ()
editor.go Refactor "Content" for file uploading ()
editor_test.go Refactor web package and context package ()
find.go Implement FSFE REUSE for golang files ()
helper.go Add actor and status dropdowns to run list ()
helper_test.go Add actor and status dropdowns to run list ()
http.go Less naked returns ()
http_test.go Implement FSFE REUSE for golang files ()
issue.go Use frontend fetch for branch dropdown component ()
issue_content_history.go Check `ctx.Written()` for `GetActionIssue` ()
issue_dependency.go Add API to manage issue dependencies ()
issue_label.go Replace `interface{}` with `any` ()
issue_label_test.go Refactor web package and context package ()
issue_lock.go Use fetch form action for lock/unlock/pin/unpin on sidebar ()
issue_pin.go Check `ctx.Written()` for `GetActionIssue` ()
issue_stopwatch.go Speed up HasUserStopwatch & GetActiveStopwatch ()
issue_test.go Implement FSFE REUSE for golang files ()
issue_timetrack.go Fix improper HTMLURL usages in Go code ()
issue_watch.go Rewrite logger system ()
main_test.go Implement FSFE REUSE for golang files ()
middlewares.go Show outdated comments in files changed tab ()
migrate.go Make repo migration cancelable and fix various bugs ()
milestone.go Fix incorrect milestone count when provide a keyword ()
packages.go Use dynamic package type list ()
patch.go Sync branches into databases ()
projects.go Fix empty project displayed in issue sidebar ()
projects_test.go Refactor web package and context package ()
pull.go Use frontend fetch for branch dropdown component ()
pull_review.go Check `ctx.Written()` for `GetActionIssue` ()
release.go Use frontend fetch for branch dropdown component ()
release_test.go Refactor web package and context package ()
render.go Implement FSFE REUSE for golang files ()
repo.go Use frontend fetch for branch dropdown component ()
search.go Refactor indexer ()
topic.go Replace `interface{}` with `any` ()
treelist.go Implement FSFE REUSE for golang files ()
view.go Exclude default branch from pushed branch hint ()
view_test.go Implement FSFE REUSE for golang files ()
wiki.go Less naked returns ()
wiki_test.go Replace `interface{}` with `any` ()