(text "{% extends \"root.html\" %} {% block head %}") (title (text "{{ profile.username }} (blocked) - {{ config.name }}")) (text "{% endblock %} {% block body %} {{ macros::nav() }}") (main ("class" "flex flex-col gap-2") (div ("class" "card-nest") (div ("class" "card small flex items-center justify-between gap-2") (div ("class" "flex items-center gap-2") (text "{{ components::avatar(username=profile.username, size=\"24px\") }}") (span (text "{{ profile.username }}"))) (b ("class" "notification chip") (text "{{ text \"auth:label.blocked_profile\" }}"))) (div ("class" "card flex flex-col gap-2") (span (text "{{ text \"auth:label.blocked_profile_message\" }}")) (div ("class" "card w-full secondary flex gap-2") (text "{% if user -%} {% if not is_blocking -%}") (button ("onclick" "toggle_block_user()") ("class" "lowered red") (text "{{ icon \"shield\" }}") (span (text "{{ text \"auth:action.block\" }}"))) (text "{% else %}") (button ("onclick" "toggle_block_user()") ("class" "lowered red") (text "{{ icon \"shield-off\" }}") (span (text "{{ text \"auth:action.unblock\" }}"))) (text "{%- endif %}") (script (text "globalThis.toggle_block_user = async () => { if ( !(await trigger(\"atto::confirm\", [ \"Are you sure you would like to do this?\", ])) ) { return; } fetch(\"/api/v1/auth/user/{{ profile.id }}/block\", { method: \"POST\", }) .then((res) => res.json()) .then((res) => { trigger(\"atto::toast\", [ res.ok ? \"success\" : \"error\", res.message, ]); }); };")) (text "{%- endif %}") (a ("href" "/") ("class" "button red lowered") (text "{{ icon \"x\" }}") (span (text "{{ text \"general:action.back\" }}"))))))) (text "{% endblock %}")