"code.gitea.io/gitea/models/db"
repo_model "code.gitea.io/gitea/models/repo"
user_model "code.gitea.io/gitea/models/user"
+ "code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/log"
shared_user "code.gitea.io/gitea/routers/web/shared/user"
)
+const (
+ tplProfileBigAvatar base.TplName = "shared/user/profile_big_avatar"
+)
+
// OwnerProfile render profile page for a user or a organization (aka, repo owner)
func OwnerProfile(ctx *context.Context) {
if strings.Contains(ctx.Req.Header.Get("Accept"), "application/rss+xml") {
if err != nil {
log.Error("Failed to apply action %q: %v", ctx.FormString("action"), err)
- ctx.JSONError(fmt.Sprintf("Action %q failed", ctx.FormString("action")))
+ ctx.Error(http.StatusBadRequest, fmt.Sprintf("Action %q failed", ctx.FormString("action")))
return
}
- ctx.JSONOK()
+
+ shared_user.PrepareContextForProfileBigAvatar(ctx)
+ ctx.HTML(http.StatusOK, tplProfileBigAvatar)
}
-<div class="ui card">
+<div id="profile-avatar-card" class="ui card">
<div id="profile-avatar" class="content gt-df">
{{if eq .SignedUserID .ContextUser.ID}}
<a class="image" href="{{AppSubUrl}}/user/settings" data-tooltip-content="{{ctx.Locale.Tr "user.change_avatar"}}">
</li>
{{end}}
{{if and .IsSigned (ne .SignedUserID .ContextUser.ID)}}
- <li class="follow">
+ <li class="follow" hx-headers='{"x-csrf-token": "{{.CsrfToken}}"}' hx-target="#profile-avatar-card" hx-swap="outerHTML">
{{if $.IsFollowing}}
- <button class="ui basic red button link-action" data-url="{{.ContextUser.HomeLink}}?action=unfollow">
+ <button hx-post="{{.ContextUser.HomeLink}}?action=unfollow" class="ui basic red button">
{{svg "octicon-person"}} {{ctx.Locale.Tr "user.unfollow"}}
</button>
{{else}}
- <button class="ui basic primary button link-action" data-url="{{.ContextUser.HomeLink}}?action=follow">
+ <button hx-post="{{.ContextUser.HomeLink}}?action=follow" class="ui basic primary button">
{{svg "octicon-person"}} {{ctx.Locale.Tr "user.follow"}}
</button>
{{end}}