add: store avatars and banners in uploads

This commit is contained in:
trisua 2025-08-23 15:36:26 -04:00
parent 1e50ace8b2
commit dbed2b2457
36 changed files with 211 additions and 363 deletions

View file

@ -1,8 +1,8 @@
(text "{% macro avatar(username, size=\"24px\", selector_type=\"username\") -%}")
(text "{% macro avatar(id, size=\"24px\") -%}")
(img
("title" "{{ username }}'s avatar")
("src" "/api/v1/auth/user/{{ username }}/avatar?selector_type={{ selector_type }}")
("alt" "@{{ username }}")
("title" "User avatar")
("src" "{{ config.service_hosts.buckets }}/avatars/{{ id }}")
("alt" "User avatar")
("class" "avatar shadow")
("loading" "lazy")
("style" "--size: {{ size }}"))
@ -20,11 +20,11 @@
("class" "avatar shadow")
("loading" "lazy")
("style" "--size: {{ size }}"))
(text "{%- endif %} {%- endmacro %} {% macro banner(username, border_radius=\"var(--radius)\") -%}")
(text "{%- endif %} {%- endmacro %} {% macro banner(id, border_radius=\"var(--radius)\") -%}")
(img
("title" "{{ username }}'s banner")
("src" "/api/v1/auth/user/{{ username }}/banner")
("alt" "@{{ username }}'s banner")
("title" "User banner")
("src" "{{ config.service_hosts.buckets }}/banners/{{ id }}")
("alt" "User banner")
("class" "banner shadow w_full")
("loading" "lazy")
("style" "border-radius: {{ border_radius }};"))
@ -372,7 +372,7 @@
(text "{% if not expect_repost -%}")
(a
("href" "/@{{ owner.username }}")
(text "{{ self::avatar(username=owner.username, size=\"52px\", selector_type=\"username\") }}"))
(text "{{ self::avatar(id=owner.id, size=\"52px\") }}"))
(text "{%- endif %}")
(div
("class" "flex flex_col w_full gap_1 post_right {% if expect_repost -%}repost{%- endif %}")
@ -381,7 +381,7 @@
(text "{% if expect_repost -%}")
(a
("href" "/@{{ owner.username }}")
(text "{{ self::avatar(username=owner.username, size=\"24px\", selector_type=\"username\") }}"))
(text "{{ self::avatar(id=owner.id, size=\"24px\") }}"))
(text "{%- endif %}")
(span
; ("class" "name")
@ -542,7 +542,7 @@
(a
("href" "/@{{ owner.username }}")
("class" "mobile")
(text "{{ self::avatar(username=owner.username, size=\"24px\", selector_type=\"username\") }}"))
(text "{{ self::avatar(id=owner.id, size=\"24px\") }}"))
(span
("class" "name")
(text "{{ self::full_username(user=owner) }}"))
@ -561,7 +561,7 @@
("style" "min-width: 200px")
(a
("href" "/@{{ owner.username }}")
(text "{{ self::avatar(username=owner.username, size=\"64px\", selector_type=\"username\") }}"))
(text "{{ self::avatar(id=owner.id, size=\"64px\") }}"))
(div
("class" "fade flex flex_col")
("style" "font-size: 12px")
@ -617,10 +617,10 @@
(div
("class" "card small")
("style" "padding: 0")
(text "{{ self::banner(username=user.username, border_radius=\"0px\") }}"))
(text "{{ self::banner(id=user.id, border_radius=\"0px\") }}"))
(div
("class" "card secondary flex items_center gap_4")
(text "{{ self::avatar(username=user.username, size=\"24px\") }}")
(text "{{ self::avatar(id=user.id, size=\"24px\") }}")
(b
("class" "flex items_center gap_2")
(text "{{ self::username(user=user) }}")
@ -768,11 +768,11 @@
("class" "avatar shadow")
("loading" "lazy")
("style" "--size: 52px"))
(text "{% else %} {{ self::avatar(username=\"anonymous\", selector_type=\"username\", size=\"52px\") }} {%- endif %}"))
(text "{% else %} {{ self::avatar(id=\"0\", size=\"52px\") }} {%- endif %}"))
(text "{% else %}")
(a
("href" "/@{{ owner.username }}")
(text "{{ self::avatar(username=owner.username, selector_type=\"username\", size=\"52px\") }}"))
(text "{{ self::avatar(id=owner.id, size=\"52px\") }}"))
(text "{%- endif %}")
(div
("class" "flex flex_col gap_1 w_full")
@ -1186,7 +1186,7 @@
(a
("href" "/@{{ user.username }}")
("target" "_top")
(text "{{ self::avatar(username=user.username, size=\"42px\") }}"))
(text "{{ self::avatar(id=user.id, size=\"42px\") }}"))
(text "{%- endif %}")
(div
("class" "flex flex_col gap_1 w_full")
@ -1354,7 +1354,7 @@
("class" "flex gap_2 items_center card tiny user_plate {% if secondary -%}secondary{%- endif %} {% if full -%} w_full {%- endif %}")
(a
("href" "/@{{ user.username }}")
(text "{{ self::avatar(username=user.username, size=\"42px\", selector_type=\"username\") }}"))
(text "{{ self::avatar(id=user.id, size=\"42px\") }}"))
(div
("class" "flex justify_center flex_col")
("style" "{% if show_menu or show_kick -%}width: 60%{% else %}max-width: calc(100% - 42px - var(--pad-4)){%- endif %}")
@ -2127,7 +2127,7 @@
; user info
(a
("href" "/@{{ owner.username }}")
(text "{{ self::avatar(username=owner.username, size=\"24px\", selector_type=\"username\") }}"))
(text "{{ self::avatar(id=owner.id, size=\"24px\") }}"))
(span
("class" "name")
(text "{{ self::full_username(user=owner) }}"))
@ -2571,7 +2571,7 @@
("class" "card lowered flex gap_2 flex_row")
(a
("href" "/@{{ owner.username }}")
(text "{{ self::avatar(username=owner.username, size=\"32px\") }}"))
(text "{{ self::avatar(id=owner.username, size=\"32px\") }}"))
(div
("class" "flex flex_col")
(text "{{ self::full_username(user=owner) }}")
@ -2596,7 +2596,7 @@
("class" "card flex gap_2 flex_row")
(a
("href" "/@{{ owner.username }}")
(text "{{ self::avatar(username=owner.username, size=\"32px\") }}"))
(text "{{ self::avatar(id=owner.username, size=\"32px\") }}"))
(div
("class" "flex flex_col")
(text "{{ self::full_username(user=owner) }}")
@ -2612,14 +2612,14 @@
(text "{% for receiver in letter.receivers %}")
(a
("href" "/api/v1/auth/user/find/{{ receiver }}")
(text "{{ components::avatar(username=receiver, selector_type=\"id\", size=\"18px\") }}"))
(text "{{ components::avatar(id=receiver, size=\"18px\") }}"))
(text "{%- endfor %}"))))
(text "{% else %}")
(div
("class" "card small flex gap_2 flex_row")
(a
("href" "/@{{ owner.username }}")
(text "{{ self::avatar(username=owner.username, size=\"24px\") }}"))
(text "{{ self::avatar(id=owner.username, size=\"24px\") }}"))
(text "{{ self::full_username(user=owner) }}"))
(text "{%- endif %}")