Add profile edit page

This commit is contained in:
r 2023-10-01 13:04:07 +00:00
parent 8e3999fc3d
commit 81bdc7c705
9 changed files with 314 additions and 25 deletions

View file

@ -12,6 +12,9 @@
<a class="nav-link" href="/user/{{.User.ID}}" accesskey="0" title="User profile (0)">
<span class="status-uname">@{{.User.Acct}}</span>
</a>
<a class="profile-edit-link" href="/profile" title="edit profile" target="_top">
edit
</a>
</div>
<div class="user-info-details-nav">
<a class="nav-link" href="/timeline/home" accesskey="1" title="Home timeline (1)">home</a>

58
templates/profile.tmpl Normal file
View file

@ -0,0 +1,58 @@
{{with .Data}}
{{template "header.tmpl" (WithContext .CommonData $.Ctx)}}
<div class="page-title"> Edit Profile </div>
<form class="profile-form" action="/profile" method="POST" enctype="multipart/form-data">
<input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
<input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
<div class="profile-form-field">
<div class="block-label">
<label for="avatar">Avatar</label> -
<input class="btn-link" type="submit" formaction="/profile/delavatar" formmethod="POST" value="delete">
</div>
<div>
<a href="{{.User.Avatar}}" target="_blank">
<img class="profile-avatar" src="{{.User.Avatar}}" alt="profile-avatar" height="96">
</a>
</div>
<div><input id="avatar" name="avatar" type="file"></div>
</div>
<div class="profile-form-field">
<div class="block-label">
<label for="banner">Banner</label> -
<input class="btn-link" type="submit" formaction="/profile/delbanner" formmethod="POST" value="delete">
</div>
<div>
<a href="{{.User.Header}}" target="_blank">
<img class="profile-banner" src="{{.User.Header}}" alt="profile-banner" height="120">
</a>
</div>
<input id="banner" name="banner" type="file">
</div>
<div class="profile-form-field">
<div class="block-label"><label for="name">Name</label></div>
<div><input id="name" name="name" type="text" value="{{.User.DisplayName}}"></div>
</div>
<div class="profile-form-field">
<div class="block-label"><label for="bio">Bio</label></div>
<textarea id="bio" name="bio" cols="80" rows="8">{{.User.Source.Note}}</textarea>
</div>
<div class="profile-form-field">
<div class="block-label"><label>Metadata</label></div>
{{range $i, $f := .User.Source.Fields}}
<div class="profile-field">
<input id="field-name-{{$i}}" name="field-name-{{$i}}" type="text" value="{{$f.Name}}" placeholder="name">
<input id="field-value-{{$i}}" name="field-value-{{$i}}" type="text" value="{{$f.Value}}" placeholder="value">
</div>
{{end}}
</div>
<div class="profile-form-field">
<input id="locked" name="locked" type="checkbox" value="true" {{if .User.Locked}}checked{{end}}>
<label for="locked">Require manual approval of follow requests</label>
</div>
<button type="submit"> Save </button>
<button type="reset"> Reset </button>
</form>
{{template "footer.tmpl"}}
{{end}}