add: forum posts ui
This commit is contained in:
parent
ef029c59b3
commit
2be87c397d
90 changed files with 1459 additions and 1299 deletions
|
@ -4,21 +4,21 @@
|
|||
|
||||
(text "{% endblock %} {% block body %} {{ macros::nav() }}")
|
||||
(main
|
||||
("class" "flex flex-col gap-2")
|
||||
("class" "flex flex_col gap_2")
|
||||
(div
|
||||
("class" "card-nest w-full")
|
||||
("class" "card_nest w_full")
|
||||
(div
|
||||
("class" "card small flex items-center gap-2")
|
||||
("class" "card small flex items_center gap_2")
|
||||
(text "{{ icon \"scroll\" }}")
|
||||
(span
|
||||
(text "{{ text \"general:link.audit_log\" }}")))
|
||||
(div
|
||||
("class" "card flex flex-col gap-2")
|
||||
("class" "card flex flex_col gap_2")
|
||||
(text "{% for item in items %}")
|
||||
(div
|
||||
("class" "card-nest")
|
||||
("class" "card_nest")
|
||||
(a
|
||||
("class" "card small flex items-center gap-2 flush")
|
||||
("class" "card small flex items_center gap_2 flush")
|
||||
("href" "/api/v1/auth/user/find/{{ item.moderator }}")
|
||||
(text "{{ components::avatar(username=item.moderator, selector_type=\"id\") }}")
|
||||
(span
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
|
||||
(text "{% endblock %} {% block body %} {{ macros::nav() }}")
|
||||
(main
|
||||
("class" "flex flex-col gap-2")
|
||||
("class" "flex flex_col gap_2")
|
||||
(div
|
||||
("class" "card-nest w-full")
|
||||
("class" "card_nest w_full")
|
||||
(div
|
||||
("class" "card small flex items-center gap-2")
|
||||
("class" "card small flex items_center gap_2")
|
||||
(text "{{ icon \"flag\" }}")
|
||||
(span
|
||||
(text "{{ text \"general:label.file_report\" }}")))
|
||||
(form
|
||||
("class" "card flex flex-col gap-2")
|
||||
("class" "card flex flex_col gap_2")
|
||||
("onsubmit" "create_report_from_form(event)")
|
||||
(div
|
||||
("class" "flex flex-col gap-1")
|
||||
("class" "flex flex_col gap_1")
|
||||
(label
|
||||
("for" "title")
|
||||
(text "{{ text \"communities:label.content\" }}"))
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
|
||||
(text "{% endblock %} {% block body %} {{ macros::nav() }}")
|
||||
(main
|
||||
("class" "flex flex-col gap-2")
|
||||
("class" "flex flex_col gap_2")
|
||||
(div
|
||||
("class" "card-nest w-full")
|
||||
("class" "card_nest w_full")
|
||||
(div
|
||||
("class" "card small flex items-center justify-between gap-2")
|
||||
("class" "card small flex items_center justify_between gap_2")
|
||||
(div
|
||||
("class" "flex items-center gap-2")
|
||||
("class" "flex items_center gap_2")
|
||||
(text "{{ icon \"ban\" }}")
|
||||
(span
|
||||
(text "{{ text \"general:link.ip_bans\" }}")))
|
||||
|
@ -21,12 +21,12 @@
|
|||
(span
|
||||
(text "{{ text \"communities:action.create\" }}"))))
|
||||
(div
|
||||
("class" "card flex flex-col gap-2")
|
||||
("class" "card flex flex_col gap_2")
|
||||
(text "{% for item in items %}")
|
||||
(div
|
||||
("class" "card-nest")
|
||||
("class" "card_nest")
|
||||
(a
|
||||
("class" "card small flex items-center gap-2 flush")
|
||||
("class" "card small flex items_center gap_2 flush")
|
||||
("href" "/api/v1/auth/user/find/{{ item.moderator }}")
|
||||
(text "{{ components::avatar(username=item.moderator, selector_type=\"id\") }}")
|
||||
(span
|
||||
|
@ -35,13 +35,13 @@
|
|||
("class" "fade date")
|
||||
(text "{{ item.created }}")))
|
||||
(div
|
||||
("class" "card secondary flex flex-col gap-2")
|
||||
("class" "card secondary flex flex_col gap_2")
|
||||
(code
|
||||
(text "{{ item.ip }}"))
|
||||
(span
|
||||
(text "{{ item.reason|markdown|safe }}"))
|
||||
(div
|
||||
("class" "card w-full flex flex-wrap gap-2")
|
||||
("class" "card w_full flex flex_wrap gap_2")
|
||||
(button
|
||||
("onclick" "remove_ipban('{{ item.ip }}')")
|
||||
("class" "red lowered")
|
||||
|
|
|
@ -4,21 +4,21 @@
|
|||
|
||||
(text "{% endblock %} {% block body %} {{ macros::nav() }}")
|
||||
(main
|
||||
("class" "flex flex-col gap-2")
|
||||
("class" "flex flex_col gap_2")
|
||||
(div
|
||||
("class" "card-nest w-full")
|
||||
("class" "card_nest w_full")
|
||||
(div
|
||||
("class" "card small flex items-center gap-2")
|
||||
("class" "card small flex items_center gap_2")
|
||||
(text "{{ icon \"shield\" }}")
|
||||
(span
|
||||
(text "{{ text \"mod_panel:label.manage_profile\" }}")))
|
||||
(div
|
||||
("class" "card lowered")
|
||||
(div
|
||||
("class" "flex flex-col gap-2")
|
||||
("class" "flex flex_col gap_2")
|
||||
("id" "mod_options")
|
||||
(div
|
||||
("class" "card w-full flex flex-wrap gap-2")
|
||||
("class" "card w_full flex flex_wrap gap_2")
|
||||
("ui_ident" "actions")
|
||||
(a
|
||||
("href" "/settings?username={{ profile.username }}")
|
||||
|
@ -256,47 +256,47 @@
|
|||
}, 100);
|
||||
}, 150);"))))
|
||||
(div
|
||||
("class" "card-nest w-full")
|
||||
("class" "card_nest w_full")
|
||||
(div
|
||||
("class" "card small flex items-center justify-between gap-2")
|
||||
("class" "card small flex items_center justify_between gap_2")
|
||||
(div
|
||||
("class" "flex items-center gap-2")
|
||||
("class" "flex items_center gap_2")
|
||||
(text "{{ icon \"users-round\" }}")
|
||||
(span
|
||||
(text "{{ text \"mod_panel:label.associations\" }}"))))
|
||||
(div
|
||||
("class" "card lowered flex flex-wrap gap-2")
|
||||
("class" "card lowered flex flex_wrap gap_2")
|
||||
(text "{% for user in associations -%}")
|
||||
(text "{{ components::user_plate(user=user, show_menu=false) }}")
|
||||
(text "{%- endfor %}")))
|
||||
(text "{% if invite -%}")
|
||||
(div
|
||||
("class" "card-nest w-full")
|
||||
("class" "card_nest w_full")
|
||||
(div
|
||||
("class" "card small flex items-center justify-between gap-2")
|
||||
("class" "card small flex items_center justify_between gap_2")
|
||||
(div
|
||||
("class" "flex items-center gap-2")
|
||||
("class" "flex items_center gap_2")
|
||||
(text "{{ icon \"ticket\" }}")
|
||||
(span
|
||||
(text "{{ text \"mod_panel:label.invited_by\" }}"))))
|
||||
(div
|
||||
("class" "card lowered flex flex-wrap gap-2")
|
||||
("class" "card lowered flex flex_wrap gap_2")
|
||||
(text "{{ components::user_plate(user=invite[0], show_menu=false) }}")))
|
||||
(text "{%- endif %}")
|
||||
(div
|
||||
("class" "card-nest w-full")
|
||||
("class" "card_nest w_full")
|
||||
(div
|
||||
("class" "card small flex items-center justify-between gap-2")
|
||||
("class" "card small flex items_center justify_between gap_2")
|
||||
(div
|
||||
("class" "flex items-center gap-2")
|
||||
("class" "flex items_center gap_2")
|
||||
(icon (text "scale"))
|
||||
(span
|
||||
(str (text "mod_panel:label.ban_reason")))))
|
||||
(form
|
||||
("class" "card flex flex-col gap-2")
|
||||
("class" "card flex flex_col gap_2")
|
||||
("onsubmit" "event.preventDefault(); profile_request(false, 'ban_reason', { reason: event.target.reason.value || '' })")
|
||||
(div
|
||||
("class" "flex flex-col gap-1")
|
||||
("class" "flex flex_col gap_1")
|
||||
(label
|
||||
("for" "title")
|
||||
(str (text "mod_panel:label.ban_reason")))
|
||||
|
@ -310,11 +310,11 @@
|
|||
(button
|
||||
(str (text "general:action.save")))))
|
||||
(div
|
||||
("class" "card-nest w-full")
|
||||
("class" "card_nest w_full")
|
||||
(div
|
||||
("class" "card small flex items-center justify-between gap-2")
|
||||
("class" "card small flex items_center justify_between gap_2")
|
||||
(div
|
||||
("class" "flex items-center gap-2")
|
||||
("class" "flex items_center gap_2")
|
||||
(text "{{ icon \"blocks\" }}")
|
||||
(span
|
||||
(text "{{ text \"mod_panel:label.permissions_level_builder\" }}")))
|
||||
|
@ -325,14 +325,14 @@
|
|||
(span
|
||||
(text "{{ text \"general:action.save\" }}"))))
|
||||
(div
|
||||
("class" "card lowered flex flex-col gap-2")
|
||||
("class" "card lowered flex flex_col gap_2")
|
||||
("id" "permission_builder")))
|
||||
(div
|
||||
("class" "card-nest w-full")
|
||||
("class" "card_nest w_full")
|
||||
(div
|
||||
("class" "card small flex items-center justify-between gap-2")
|
||||
("class" "card small flex items_center justify_between gap_2")
|
||||
(div
|
||||
("class" "flex items-center gap-2")
|
||||
("class" "flex items_center gap_2")
|
||||
(text "{{ icon \"blocks\" }}")
|
||||
(span
|
||||
(text "{{ text \"mod_panel:label.permissions_level_builder\" }}")))
|
||||
|
@ -343,7 +343,7 @@
|
|||
(span
|
||||
(text "{{ text \"general:action.save\" }}"))))
|
||||
(div
|
||||
("class" "card lowered flex flex-col gap-2")
|
||||
("class" "card lowered flex flex_col gap_2")
|
||||
("id" "secondary_permission_builder")))
|
||||
(script
|
||||
(text "setTimeout(async () => {
|
||||
|
|
|
@ -4,21 +4,21 @@
|
|||
|
||||
(text "{% endblock %} {% block body %} {{ macros::nav() }}")
|
||||
(main
|
||||
("class" "flex flex-col gap-2")
|
||||
("class" "flex flex_col gap_2")
|
||||
(div
|
||||
("class" "card-nest w-full")
|
||||
("class" "card_nest w_full")
|
||||
(div
|
||||
("class" "card small flex items-center gap-2")
|
||||
("class" "card small flex items_center gap_2")
|
||||
(text "{{ icon \"flag\" }}")
|
||||
(span
|
||||
(text "{{ text \"general:link.reports\" }}")))
|
||||
(div
|
||||
("class" "card flex flex-col gap-2")
|
||||
("class" "card flex flex_col gap_2")
|
||||
(text "{% for item in items %}")
|
||||
(div
|
||||
("class" "card-nest")
|
||||
("class" "card_nest")
|
||||
(a
|
||||
("class" "card small flex items-center gap-2 flush")
|
||||
("class" "card small flex items_center gap_2 flush")
|
||||
("href" "/api/v1/auth/user/find/{{ item.owner }}")
|
||||
(text "{{ components::avatar(username=item.owner, selector_type=\"id\") }}")
|
||||
(span
|
||||
|
@ -27,12 +27,12 @@
|
|||
("class" "fade date")
|
||||
(text "{{ item.created }}")))
|
||||
(div
|
||||
("class" "card secondary flex flex-col gap-2")
|
||||
("class" "card secondary flex flex_col gap_2")
|
||||
(span
|
||||
("class" "no_p_margin")
|
||||
(text "{{ item.content|markdown|safe }}"))
|
||||
(div
|
||||
("class" "card w-full flex flex-wrap gap-2")
|
||||
("class" "card w_full flex flex_wrap gap_2")
|
||||
(button
|
||||
("onclick" "open_reported_content('{{ item.asset }}', '{{ item.asset_type }}')")
|
||||
(text "{{ icon \"external-link\" }}")
|
||||
|
|
|
@ -4,16 +4,16 @@
|
|||
|
||||
(text "{% endblock %} {% block body %} {{ macros::nav() }}")
|
||||
(main
|
||||
("class" "flex flex-col gap-2")
|
||||
("class" "flex flex_col gap_2")
|
||||
(div
|
||||
("class" "card-nest w-full")
|
||||
("class" "card_nest w_full")
|
||||
(div
|
||||
("class" "card small flex items-center gap-2")
|
||||
("class" "card small flex items_center gap_2")
|
||||
(text "{{ icon \"chart-line\" }}")
|
||||
(span
|
||||
(text "{{ text \"general:link.stats\" }}")))
|
||||
(div
|
||||
("class" "card flex flex-col gap-2")
|
||||
("class" "card flex flex_col gap_2")
|
||||
(ul
|
||||
(li
|
||||
(b
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
|
||||
(text "{% endblock %} {% block body %} {{ macros::nav() }}")
|
||||
(main
|
||||
("class" "flex flex-col gap-2")
|
||||
("class" "flex flex_col gap_2")
|
||||
(div
|
||||
("class" "card-nest")
|
||||
("class" "card_nest")
|
||||
(div
|
||||
("class" "card small flex items-center justify-between gap-2")
|
||||
("class" "card small flex items_center justify_between gap_2")
|
||||
(span
|
||||
("class" "flex items-center gap-2")
|
||||
("class" "flex items_center gap_2")
|
||||
(text "{{ icon \"gavel\" }}")
|
||||
(span
|
||||
(text "{{ text \"mod_panel:label.create_warning\" }}")))
|
||||
|
@ -21,10 +21,10 @@
|
|||
(span
|
||||
(text "{{ text \"dialog:action.cancel\" }}"))))
|
||||
(form
|
||||
("class" "card flex flex-col gap-2")
|
||||
("class" "card flex flex_col gap_2")
|
||||
("onsubmit" "create_warning_from_form(event)")
|
||||
(div
|
||||
("class" "flex flex-col gap-1")
|
||||
("class" "flex flex_col gap_1")
|
||||
(label
|
||||
("for" "content")
|
||||
(text "{{ text \"communities:label.content\" }}"))
|
||||
|
@ -39,23 +39,23 @@
|
|||
(button
|
||||
(text "{{ text \"communities:action.create\" }}"))))
|
||||
(div
|
||||
("class" "card-nest")
|
||||
("class" "card_nest")
|
||||
(div
|
||||
("class" "card small flex items-center justify-between gap-2")
|
||||
("class" "card small flex items_center justify_between gap_2")
|
||||
(span
|
||||
("class" "flex items-center gap-2")
|
||||
("class" "flex items_center gap_2")
|
||||
(text "{{ icon \"message-circle-warning\" }}")
|
||||
(span
|
||||
(text "{{ text \"mod_panel:label.warnings\" }}"))))
|
||||
(div
|
||||
("class" "card flex flex-col gap-4")
|
||||
("class" "card flex flex_col gap_4")
|
||||
(text "{% for item in items %}")
|
||||
(div
|
||||
("class" "card-nest")
|
||||
("class" "card_nest")
|
||||
(div
|
||||
("class" "card small flex items-center justify-between gap-2")
|
||||
("class" "card small flex items_center justify_between gap_2")
|
||||
(a
|
||||
("class" "flex items-center gap-2 flush")
|
||||
("class" "flex items_center gap_2 flush")
|
||||
("href" "/api/v1/auth/user/find/{{ item.moderator }}")
|
||||
("title" "Moderator")
|
||||
(text "{{ components::avatar(username=item.moderator, selector_type=\"id\") }}")
|
||||
|
@ -71,7 +71,7 @@
|
|||
(span
|
||||
(text "{{ text \"general:action.delete\" }}"))))
|
||||
(div
|
||||
("class" "card secondary flex flex-col gap-2")
|
||||
("class" "card secondary flex flex_col gap_2")
|
||||
(span
|
||||
("class" "no_p_margin")
|
||||
(text "{{ item.content|markdown|safe }}"))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue