]> git.ipfire.org Git - ipfire.org.git/commitdiff
web: Create a module for avatars
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 4 Mar 2026 13:11:56 +0000 (13:11 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 4 Mar 2026 13:11:56 +0000 (13:11 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am
src/templates/dbl/reports/show.html
src/templates/modules/avatar.html [new file with mode: 0644]
src/templates/users/modules/list.html
src/templates/users/show.html
src/web/__init__.py
src/web/ui_modules.py

index 4e27fcc55aa2ba4588a527a6ea85c0f5d5a7b125..9ebe2409cd59436f429812c731181d5ec07a4991 100644 (file)
@@ -325,6 +325,7 @@ templates_messages_DATA = \
 templates_messagesdir = $(templatesdir)/messages
 
 templates_modules_DATA = \
+       src/templates/modules/avatar.html \
        src/templates/modules/ipfire-logo.html \
        src/templates/modules/map.html \
        src/templates/modules/open-graph.html \
index ef69c9010ffc6e471a57c0948c16d72a6458cbf3..24164b3a505cd44853b0b276178988a8a98c84dd 100644 (file)
                                                                                {# Avatar #}
                                                                                <figure class="media-left">
                                                                                        {% if account %}
-                                                                                               <a href="/users/{{ report.reported_by }}">
-                                                                                                       <p class="image is-64x64">
-                                                                                                               <img class="is-rounded" src="{{ account.avatar_url(size=128) }}" alt="{{ account }}">
-                                                                                                       </p>
-                                                                                               </a>
-                                                                                       {% else %}
-                                                                                               <i class="fas fa-user" aria-hidden="true"></i>
+                                                                                               {% module Avatar(account, size=64) %}
                                                                                        {% end %}
                                                                                </figure>
 
diff --git a/src/templates/modules/avatar.html b/src/templates/modules/avatar.html
new file mode 100644 (file)
index 0000000..1de5891
--- /dev/null
@@ -0,0 +1,5 @@
+<a href="/users/{{ account.uid }}">
+       <figure class="image {% if size %}is-{{ size }}x{{ size }}{% end %}">
+               <img class="is-rounded" src="{{ account.avatar_url(size=size*2) }}" alt="{{ account }}">
+       </figure>
+</a>
index 8d7529553c83c44946dc71f3ef964a50db826ddb..01d7d0fede79f48c4270fa0e0c833e3902cfab21 100644 (file)
@@ -5,9 +5,7 @@
                                <div class="box">
                                        <div class="columns is-mobile">
                                                <div class="column is-narrow">
-                                                       <figure class="image is-64x64">
-                                                               <img class="is-rounded" src="{{ account.avatar_url(128) }}">
-                                                       </figure>
+                                                       {% module Avatar(account, size=64) %}
                                                </div>
 
                                                <div class="column">
index ce476f5949a6aa08f1f8cb678bcd5e2f7e68e695..725f439d6e4c78e703e30b1a615df194c93fbd75 100644 (file)
@@ -49,9 +49,7 @@
                                        </div>
 
                                        <div class="column is-narrow is-hidden-mobile">
-                                               <figure class="image is-192x192">
-                                                       <img class="is-rounded" src="{{ account.avatar_url(512) }}">
-                                               </figure>
+                                               {% module Avatar(account, size=192) %}
                                        </div>
                                </div>
                        </div>
index e55ffb2f665d6567867fb29cbf0ee0bebd4f177a..c89b1efbae89a6f7b5f3156b1ed7abde7c89e378 100644 (file)
@@ -114,6 +114,7 @@ class Application(tornado.web.Application):
                                "VoIPRegistrations"    : voip.RegistrationsModule,
 
                                # Misc
+                               "Avatar"               : ui_modules.AvatarModule,
                                "IPFireLogo"           : ui_modules.IPFireLogoModule,
                                "Markdown"             : ui_modules.MarkdownModule,
                                "Map"                  : ui_modules.MapModule,
index b81aeb21f42174873c44df7c1adba6a355b1723d..58d961a8096ec48dd9fafecf5a3728cf17eeb350 100644 (file)
@@ -15,6 +15,11 @@ class IPFireLogoModule(UIModule):
                return self.render_string("modules/ipfire-logo.html", suffix=suffix)
 
 
+class AvatarModule(UIModule):
+       def render(self, account, size=None):
+               return self.render_string("modules/avatar.html", account=account, size=size)
+
+
 class OpenGraphModule(UIModule):
        def render(self, title, **kwargs):
                properties = {