profile.tmpl 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. {{template "ng/base/head" .}}
  2. {{template "ng/base/header" .}}
  3. <div id="setting-wrapper" class="main-wrapper">
  4. <div id="user-profile-setting" class="container clear">
  5. {{template "user/settings/nav" .}}
  6. <div class="grid-4-5 left">
  7. <div class="setting-content">
  8. {{template "ng/base/alert" .}}
  9. <div id="setting-content">
  10. <div id="user-profile-setting-content" class="panel panel-radius">
  11. <p class="panel-header"><strong>{{.i18n.Tr "settings.public_profile"}}</strong></p>
  12. <form class="form form-align panel-body" id="user-profile-form" action="/user/settings" method="post">
  13. {{.CsrfTokenHtml}}
  14. <p class="text-center panel-desc">{{.i18n.Tr "settings.profile_desc"}}</p>
  15. <p class="field">
  16. <label class="req" for="username">{{.i18n.Tr "username"}}</label>
  17. <input class="ipt ipt-large ipt-radius {{if .Err_UserName}}ipt-error{{end}}" id="username" name="uname" type="text" value="{{.SignedUser.Name}}" data-uname="{{.SignedUser.Name}}" required />
  18. </p>
  19. <p class="field">
  20. <label for="full-name">{{.i18n.Tr "settings.full_name"}}</label>
  21. <input class="ipt ipt-large ipt-radius {{if .Err_FullName}}ipt-error{{end}}" id="full-name" name="fullname" type="text" value="{{.SignedUser.FullName}}" />
  22. </p>
  23. <p class="field">
  24. <label class="req" for="email">{{.i18n.Tr "email"}}</label>
  25. <input class="ipt ipt-large ipt-radius {{if .Err_Email}}ipt-error{{end}}" id="email" name="email" type="email" value="{{.SignedUser.Email}}" required />
  26. </p>
  27. <p class="field">
  28. <label for="website">{{.i18n.Tr "settings.website"}}</label>
  29. <input class="ipt ipt-large ipt-radius {{if .Err_Website}}ipt-error{{end}}" id="website" name="website" type="url" value="{{.SignedUser.Website}}" />
  30. </p>
  31. <p class="field">
  32. <label for="location">{{.i18n.Tr "settings.location"}}</label>
  33. <input class="ipt ipt-large ipt-radius {{if .Err_Location}}ipt-error{{end}}" id="location" name="location" type="text" value="{{.SignedUser.Location}}" />
  34. </p>
  35. <p class="field">
  36. <label for="gravatar-email">Gravatar {{.i18n.Tr "email"}}</label>
  37. <input class="ipt ipt-large ipt-radius {{if .Err_Avatar}}ipt-error{{end}}" id="gravatar-email" name="avatar" type="text" value="{{.SignedUser.AvatarEmail}}" />
  38. </p>
  39. <p class="field">
  40. <span class="form-label"></span>
  41. <button class="btn btn-green btn-large btn-radius">{{.i18n.Tr "settings.update_profile"}}</button>
  42. </p>
  43. </form>
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. {{template "ng/base/footer" .}}