roundabout,
created on Wednesday, 24 April 2024, 13:52:55 (1713966775),
received on Wednesday, 31 July 2024, 06:54:46 (1722408886)
Author identity: vlad <vlad.muntoiu@gmail.com>
c27be223331cddcd3ce2ad92aa3f9b48986461ba
app.py
@@ -5,6 +5,8 @@ import shutil
import random
import subprocess
import platform
import PIL
import git
import mimetypes
import magic
@@ -479,7 +481,7 @@ def user_avatar_upload(username):
# Convert image to PNG
try:
image = Image.open(flask.request.files["avatar"])
except:
except PIL.UnidentifiedImageError:
flask.abort(400)
image.save(os.path.join(server_userdata_location, "avatar.png"))
templates/user-settings.html
@@ -22,14 +22,21 @@
<h2>{% trans %}Avatar{% endtrans %}</h2>
<x-vbox>
<label for="change-avatar" id="change-avatar-label" data-change-label="{% trans %}Change{% endtrans %}">
<img src="/info/{{ user.username }}/avatar" alt="{{ user.username }}" class="avatar" style="width: 100%;">
<img src="/info/{{ user.username }}/avatar" alt="{{ user.username }}" class="avatar" style="width: 100%;" id="avatarPreview">
</label>
<form method="post" enctype="multipart/form-data" action="/info/{{ user.username }}/avatar">
<input type="file" name="avatar" accept="image/*" style="display: none;" id="change-avatar">
<input type="file" name="avatar" accept="image/*" style="display: none;" id="change-avatar" onchange="preview();">
<button type="submit">{% trans %}Update{% endtrans %}</button>
</form>
</x-vbox>
</section>
<script>
avatarPreview=document.getElementById("avatarPreview");
function preview() {
avatarPreview.src=URL.createObjectURL(event.target.files[0]);
}
</script>
</article>
<article class="card">
<section class="card-main">