user-settings.html
HTML document, ASCII text
1{% extends "default.html" %} 2{% block title %} 3{% trans %}User settings{% endtrans %} 4{% endblock %} 5{% block breadcrumbs %} 6<li><a href="/settings">{% trans %}Settings{% endtrans %}</a></li> 7{% endblock %} 8{% block content %} 9<x-frame style="--width: 768px;"> 10<x-vbox> 11<h1>{% trans %}User settings{% endtrans %}</h1> 12<article class="card"> 13<section class="card-main"> 14<h2>{% trans %}Basic information{% endtrans %}</h2> 15<p>{% trans username=user.username %}Username: {{ username }}{% endtrans %}</p> 16<x-buttonbox> 17<a class="button" href="password">{% trans %}Change password{% endtrans %}</a> 18</x-buttonbox> 19</section> 20</article> 21<article class="card"> 22<section class="card-main"> 23<h2>{% trans %}Avatar{% endtrans %}</h2> 24<x-vbox> 25<label for="change-avatar" id="change-avatar-label" data-change-label="{% trans %}Change{% endtrans %}"> 26<img src="/info/{{ user.username }}/avatar" alt="{{ user.username }}" class="avatar" style="width: 100%;" id="avatarPreview"> 27</label> 28<form method="post" enctype="multipart/form-data" action="/info/{{ user.username }}/avatar"> 29<input type="file" name="avatar" accept="image/*" style="display: none;" id="change-avatar" onchange="preview();"> 30<button type="submit">{% trans %}Update{% endtrans %}</button> 31</form> 32</x-vbox> 33</section> 34<script> 35avatarPreview=document.getElementById("avatarPreview"); 36 37function preview() { 38avatarPreview.src=URL.createObjectURL(event.target.files[0]); 39} 40</script> 41</article> 42<article class="card"> 43<section class="card-main"> 44<form method="post" action="profile"> 45<h2>{% trans %}Profile{% endtrans %}</h2> 46<x-vbox> 47<x-vbox class="nopad"> 48<label for="email">{% trans %}Email address{% endtrans %}</label> 49<input id="email" name="email" type="email" value="{% if user.email %}{{ user.email }}{% endif %}"> 50</x-vbox> 51<x-vbox class="nopad"> 52<label><input name="showmail" value="showmail" {% if user.show_mail %}checked{% endif %} type="checkbox">{% trans %}Show email on my profile{% endtrans %}</label> 53</x-vbox> 54<x-vbox class="nopad"> 55<label for="displayname">{% trans %}Friendly name{% endtrans %}</label> 56<input id="displayname" name="displayname" value="{% if user.display_name %}{{ user.display_name }}{% endif %}" placeholder="{{ user.username }}"> 57</x-vbox> 58<x-vbox class="nopad"> 59<label for="url">{% trans %}Link to your website{% endtrans %}</label> 60<input id="url" name="url" value="{% if user.URL %}{{ user.URL }}{% endif %}" type="url"> 61</x-vbox> 62<x-vbox class="nopad"> 63<x-hbox style="width: 100%; align-items: space-between;"> 64<x-vbox style="flex-grow: 1;" class="nopad"> 65<label for="company">{% trans %}Company or school{% endtrans %}</label> 66<input id="company" name="company" value="{% if user.company %}{{ user.company }}{% endif %}"> 67</x-vbox> 68<x-vbox style="flex-grow: 1;" class="nopad"> 69<label for="companyurl">{% trans %}Link to the company's website{% endtrans %}</label> 70<input id="companyurl" name="companyurl" value="{% if user.company_url %}{{ user.company_url }}{% endif %}" type="url"> 71</x-vbox> 72</x-hbox> 73</x-vbox> 74<x-vbox class="nopad"> 75<label for="location">{% trans %}Location{% endtrans %}</label> 76<input id="location" name="location" value="{% if user.location %}{{ user.location }}{% endif %}" type="text"> 77</x-vbox> 78<x-vbox class="nopad"> 79<label for="bio">{% trans %}Bio{% endtrans %}</label> 80<textarea id="bio" name="bio" rows="4">{% if user.bio %}{{ user.bio }}{% endif %}</textarea> 81</x-vbox> 82<button type="submit">{% trans %}Update profile{% endtrans %}</button> 83</x-vbox> 84</form> 85</section> 86</article> 87<article class="card"> 88<section class="card-main"> 89<form method="post" action="preferences"> 90<h2>{% trans %}Preferences{% endtrans %}</h2> 91{% trans username=user.username %}You can change themes by going to <a href="/{{ username }}/.config">your configuration repository</a> and pushing a CSS file called <code>theme.css</code>.{% endtrans %} 92<x-vbox> 93<x-vbox class="nopad"> 94<label for="page_length">{% trans %}Default number of items to show in paginated lists{% endtrans %}</label> 95<input id="page_length" name="page_length" type="number" value="{{ user.default_page_length }}" min="1" max="256"> 96</x-vbox> 97<x-vbox class="nopad"> 98<label for="max_post_nesting">{% trans %}Maximum nesting level for forum replies{% endtrans %}</label> 99<input id="max_post_nesting" name="max_post_nesting" type="number" value="{{ user.max_post_nesting }}" min="1" max="256"> 100</x-vbox> 101<button type="submit">{% trans %}Update preferences{% endtrans %}</button> 102</x-vbox> 103</form> 104</section> 105</article> 106</x-frame> 107{% endblock %} 108