Follow #29960, `IsExternalURL` is not needed anymore. Add some tests for `RedirectToCurrentSite`
"Redirect" functions should only redirect if the target is for current Gitea site.
Follow #23290 Network error won't make content lost. And this is a much better approach than "loading-button". The UI is not perfect and there are still some TODOs, they can be done in following PRs, not a must in this PR's scope. <details>  </details>