2023-10-29 14:27:55 +00:00
{% if v and v.id == p.author_id and p.private %}
2023-08-22 22:12:50 +00:00
< button type = "button" class = "list-inline-item" data-areyousure = "postToastReload(this,'/publish/{{p.id}}')" data-nonce = "{{g.nonce}}" data-onclick = "areyousure(this)" > < i class = "fas fa-globe" > < / i > Publish< / button >
2022-03-02 00:05:30 +00:00
{% endif %}
2023-03-24 11:56:27 +00:00
{% if v and (not p.ghost or v.admin_level >= PERMS['SEE_GHOST_VOTES']) %}
2022-12-11 19:32:30 +00:00
< a class = "list-inline-item" href = "/votes/{{p.fullname}}" > < i class = "fas fa-arrows-v" > < / i > Votes< / a >
{% endif %}
2022-03-18 19:05:54 +00:00
2022-07-19 23:59:39 +00:00
{% if v and FEATURES['AWARDS'] %}
2023-10-02 14:24:09 +00:00
< button type = "button" class = "list-inline-item d-none d-md-inline-block" data-bs-toggle = "modal" data-bs-target = "#awardModal" data-url = '/award/post/{{p.id}}' data-immune = "{{p.author.immune_to_negative_awards(v)}}" data-ghost = "{{p.ghost}}" data-nonce = "{{g.nonce}}" > < i class = "fas fa-gift fa-fw" > < / i > Give Award< / button >
2022-03-02 00:05:30 +00:00
{% endif %}
2024-01-29 03:21:30 +00:00
< button type = "button" class = "list-inline-item copy-link" data-clipboard-text = "{% if SITE == 'rdrama.net' %}{{SITE_FULL}}{{p.shortlink}}{% else %}{{p.permalink}}{% endif %}" > < i class = "fas fa-copy" > < / i > Copy Link< / button >
2022-03-02 00:05:30 +00:00
{% if v %}
2023-04-29 15:45:05 +00:00
< button type = "button" id = "subscribe-{{p.id}}" class = "{% if p.id in v.subscribed_idlist %}d-none{% endif %} list-inline-item" data-areyousure = "postToastSwitch(this,'/subscribe/{{p.id}}','subscribe-{{p.id}}','unsubscribe-{{p.id}}','d-none')" data-nonce = "{{g.nonce}}" data-onclick = "areyousure(this)" > < i class = "fas fa-bell" > < / i > Subscribe {% if p.num_subscribers %}< span data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "Number of subscribers" > [{{p.num_subscribers}}]< / span > {% endif %}< / button >
< button type = "button" id = "unsubscribe-{{p.id}}" class = "{% if p.id not in v.subscribed_idlist %}d-none{% endif %} list-inline-item" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/unsubscribe/{{p.id}}','subscribe-{{p.id}}','unsubscribe-{{p.id}}','d-none')" > < i class = "fas fa-bell-slash" > < / i > Unsubscribe {% if p.num_subscribers %}< span data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "Number of subscribers" > [{{p.num_subscribers}}]< / span > {% endif %}< / button >
2022-03-02 00:05:30 +00:00
2023-04-27 18:50:16 +00:00
< button type = "button" id = "save-{{p.id}}" class = "{% if p.id in v.saved_idlist %}d-none{% endif %} list-inline-item" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/save_post/{{p.id}}','save-{{p.id}}','unsave-{{p.id}}','d-none')" > < i class = "fas fa-save" > < / i > Save {% if p.num_savers %}< span data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "Number of users who saved this post" > [{{p.num_savers}}]< / span > {% endif %}< / button >
< button type = "button" id = "unsave-{{p.id}}" class = "{% if not p.id in v.saved_idlist %}d-none{% endif %} list-inline-item" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/unsave_post/{{p.id}}','save-{{p.id}}','unsave-{{p.id}}','d-none')" > < i class = "fas fa-save" > < / i > Unsave {% if p.num_savers %}< span data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "Number of users who saved this post" > [{{p.num_savers}}]< / span > {% endif %}< / button >
2023-01-01 11:36:20 +00:00
2023-10-02 06:04:05 +00:00
< button type = "button" class = "list-inline-item" data-bs-toggle = "modal" data-bs-dismiss = "modal" data-bs-target = "#reportPostModal" data-nonce = "{{g.nonce}}" data-onclick = "report_postModal('{{p.id}}')" > < i class = "fas fa-flag" > < / i > Report< / button >
2022-03-02 00:05:30 +00:00
{% endif %}
2023-10-29 14:27:55 +00:00
{% if v and v.id == p.author_id %}
2022-04-01 18:38:31 +00:00
{% if request.path.startswith('/@') %}
2023-03-23 18:39:28 +00:00
< button type = "button" id = "pin-profile-{{p.id}}" class = "{% if p.is_pinned %}d-none{% endif %} list-inline-item" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/pin/{{p.id}}','unpin-profile-{{p.id}}','pin-profile-{{p.id}}','d-none')" > < i class = "fas fa-thumbtack fa-rotate--45" > < / i > Pin to profile< / button >
< button type = "button" id = "unpin-profile-{{p.id}}" class = "{% if not p.is_pinned %}d-none{% endif %} list-inline-item" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/pin/{{p.id}}','unpin-profile-{{p.id}}','pin-profile-{{p.id}}','d-none')" > < i class = "fas fa-thumbtack fa-rotate--45" > < / i > Unpin from profile< / button >
2022-04-01 18:38:31 +00:00
{% endif %}
2023-10-02 06:04:05 +00:00
< button type = "button" id = "delete2-{{p.id}}" class = "{% if p.deleted_utc %}d-none{% endif %} list-inline-item" data-bs-toggle = "modal" data-bs-dismiss = "modal" data-bs-target = "#deletePostModal" data-nonce = "{{g.nonce}}" data-onclick = "delete_postModal('{{p.id}}')" > < i class = "fas fa-trash-alt" > < / i > Delete< / button >
2023-09-07 08:41:39 +00:00
< button type = "button" id = "undelete2-{{p.id}}" class = "{% if not p.deleted_utc %}d-none{% endif %} list-inline-item" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/undelete_post/{{p.id}}', 'delete2-{{p.id}}', 'undelete2-{{p.id}}','d-none')" data-toggleelement = "#post-{{p.id}}" data-toggleattr = "deleted" > < i class = "fas fa-trash-alt" > < / i > Undelete< / button >
2022-12-01 22:04:10 +00:00
{% endif %}
2022-11-05 02:12:17 +00:00
2023-12-24 23:05:02 +00:00
{% if p.hole %}
{% if not v %}
< a id = "block-hole-{{p.id}}" href = "/login?redirect={{request.full_path | urlencode}}" class = "list-inline-item text-danger" > < i class = "fas fa-eye-slash text-danger" > < / i > Block /h/{{p.hole}}< / a >
{% elif v.id != p.author_id %}
< button type = "button" id = "block-hole-{{p.id}}" class = "list-inline-item text-danger {% if v.blocks(p.hole) %}d-none{% endif %}" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/h/{{p.hole}}/block','block-hole-{{p.id}}','unblock-hole-{{p.id}}','d-none')" > < i class = "fas fa-eye-slash text-danger" > < / i > Block /h/{{p.hole}}< / button >
< button type = "button" id = "unblock-hole-{{p.id}}" class = "text-success list-inline-item {% if not v.blocks(p.hole) %}d-none{% endif %}" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/h/{{p.hole}}/unblock','block-hole-{{p.id}}','unblock-hole-{{p.id}}','d-none')" > < i class = "fas fa-eye text-success" > < / i > Unblock /h/{{p.hole}}< / button >
{% endif %}
{% endif %}
2023-03-17 08:17:53 +00:00
{% if v %}
2022-12-25 02:10:56 +00:00
< button type = "button" class = "list-inline-item" data-bs-toggle = "dropdown" > < i class = "fas fa-ellipsis-h fa-fw" > < / i > < / button >
2022-12-01 22:04:10 +00:00
< ul class = "dropdown-menu" >
{% if v.admin_level >= PERMS['POST_COMMENT_MODERATION'] and p.oauth_app %}
< a class = "dropdown-item list-inline-item text-info" href = "{{p.oauth_app.permalink}}/posts" > < i class = "fas fa-code" > < / i > API App< / a >
2023-01-01 11:36:20 +00:00
{% endif %}
2022-12-01 22:04:10 +00:00
{% if v.can_edit(p) %}
2023-08-12 14:56:39 +00:00
< button type = "button" class = "dropdown-item {% if p.new %} d-none{% endif %} list-inline-item text-info" id = "{{p.id}}-sort-new" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this, '/post/{{p.id}}/new', '{{p.id}}-sort-new', '{{p.id}}-unsort-new', 'd-none', 'null')" > < i class = "fas fa-sparkles text-center mr-2" > < / i > Set Default Sort New< / button >
< button type = "button" class = "dropdown-item {% if not p.new %} d-none{% endif %} list-inline-item text-info" id = "{{p.id}}-unsort-new" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this, '/post/{{p.id}}/hot', '{{p.id}}-unsort-new', '{{p.id}}-sort-new', 'd-none', 'null')" > < i class = "fas fa-fire text-center mr-2" > < / i > Set Default Sort Hot< / button >
2022-12-01 22:04:10 +00:00
{% endif %}
{% if v.admin_level >= PERMS['POST_COMMENT_DISTINGUISH'] %}
2022-12-30 12:14:18 +00:00
< button type = "button" id = "distinguish-{{p.id}}" class = "dropdown-item {% if p.distinguish_level %}d-none{% endif %} list-inline-item text-info" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/distinguish/{{p.id}}','distinguish-{{p.id}}','undistinguish-{{p.id}}','d-none')" > < i class = "fas fa-crown" > < / i > Distinguish< / button >
< button type = "button" id = "undistinguish-{{p.id}}" class = "dropdown-item {% if not p.distinguish_level %}d-none{% endif %} list-inline-item text-info" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/distinguish/{{p.id}}','distinguish-{{p.id}}','undistinguish-{{p.id}}','d-none')" > < i class = "fas fa-crown" > < / i > Undistinguish< / button >
2022-12-01 22:04:10 +00:00
{% endif %}
{% if v.admin_level >= PERMS['POST_COMMENT_MODERATION'] %}
2022-12-30 12:14:18 +00:00
< button type = "button" id = "pin-{{p.id}}" class = "dropdown-item {% if p.stickied and not p.stickied_utc %}d-none{% endif %} list-inline-item text-info" data-nonce = "{{g.nonce}}" data-onclick = "pinPost(this, '{{p.id}}')" > < i class = "fas fa-thumbtack fa-rotate--45" > < / i > Pin {% if p.stickied_utc %}permanently{% else %}for 1 hour{% endif %}< / button >
< button type = "button" id = "unpin-{{p.id}}" class = "dropdown-item {% if not p.stickied %}d-none{% endif %} list-inline-item text-info" data-nonce = "{{g.nonce}}" data-onclick = "unpinPost(this, '{{p.id}}')" > < i class = "fas fa-thumbtack fa-rotate--45" > < / i > Unpin< / button >
2022-12-01 22:04:10 +00:00
{% endif %}
2024-01-12 07:18:04 +00:00
{% if p.hole and v.mods_hole(p.hole) %}
2023-10-07 17:55:50 +00:00
< button type = "button" id = "hole-pin-{{p.id}}" class = "dropdown-item {% if p.hole_pinned %}d-none{% endif %} list-inline-item text-info" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/hole_pin/{{p.id}}','hole-pin-{{p.id}}','hole-unpin-{{p.id}}','d-none')" > < i class = "fas fa-thumbtack fa-rotate--45" > < / i > Pin to /h/{{p.hole}}< / button >
< button type = "button" id = "hole-unpin-{{p.id}}" class = "dropdown-item {% if not p.hole_pinned %}d-none{% endif %} list-inline-item text-info" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/hole_unpin/{{p.id}}','hole-pin-{{p.id}}','hole-unpin-{{p.id}}','d-none')" > < i class = "fas fa-thumbtack fa-rotate--45" > < / i > Unpin from /h/{{p.hole}}< / button >
2022-12-01 22:04:10 +00:00
{% endif %}
{% if v.admin_level >= PERMS['POST_COMMENT_MODERATION'] %}
2022-12-30 12:14:18 +00:00
< button type = "button" id = "remove-{{p.id}}" class = "dropdown-item {% if p.is_banned %}d-none{% endif %} list-inline-item text-danger" data-nonce = "{{g.nonce}}" data-onclick = "removePost(this,'{{p.id}}','remove-{{p.id}}','approve-{{p.id}}','d-none')" > < i class = "fas fa-ban" > < / i > Remove< / button >
< button type = "button" id = "approve-{{p.id}}" class = "dropdown-item {% if not p.is_banned and request.path != '/admin/reported/posts' %}d-none{% endif %} list-inline-item text-success" data-nonce = "{{g.nonce}}" data-onclick = "approvePost(this,'{{p.id}}','remove-{{p.id}}','approve-{{p.id}}','d-none')" > < i class = "fas fa-check" > < / i > Approve< / button >
2022-12-01 22:04:10 +00:00
{% endif %}
{% if v.id != p.author_id and not p.ghost %}
2023-09-07 08:51:57 +00:00
< button type = "button" id = "block-{{p.id}}" class = "dropdown-item list-inline-item text-danger {% if p.is_blocking %}d-none{% endif %}" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/block_user?username={{p.author_name}}','block-{{p.id}}','unblock-{{p.id}}','d-none')" > < i class = "fas fa-eye-slash text-danger" > < / i > Block user< / button >
< button type = "button" id = "unblock-{{p.id}}" class = "dropdown-item text-success list-inline-item {% if not p.is_blocking %}d-none{% endif %}" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/unblock_user?username={{p.author_name}}','block-{{p.id}}','unblock-{{p.id}}','d-none')" > < i class = "fas fa-eye text-success" > < / i > Unblock user< / button >
2022-12-01 22:04:10 +00:00
{% endif %}
2024-01-12 07:18:04 +00:00
{% if p.hole and v.mods_hole(p.hole) %}
2022-12-30 12:14:18 +00:00
< button type = "button" class = "dropdown-item list-inline-item text-danger" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/kick/{{p.id}}')" > < i class = "fas fa-sign-out text-danger" > < / i > Kick< / button >
2024-01-12 07:18:04 +00:00
{% if not p.author.mods_hole(p.hole) %}
2023-10-07 17:55:50 +00:00
< button type = "button" id = "exile-{{p.id}}" class = "{% if p.author.exiler_username(p.hole) %}d-none{% endif %} dropdown-item list-inline-item text-danger" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/exile/post/{{p.id}}','exile-{{p.id}}','unexile-{{p.id}}','d-none')" > < i class = "fas fa-campfire text-danger" > < / i > Exile user< / button >
< button type = "button" id = "unexile-{{p.id}}" class = "{% if not p.author.exiler_username(p.hole) %}d-none{% endif %} dropdown-item list-inline-item text-success" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/h/{{hole}}/unexile/{{p.author_id}}','exile-{{p.id}}','unexile-{{p.id}}','d-none')" > < i class = "fas fa-campfire text-success" > < / i > Unexile user< / button >
2022-04-01 18:38:31 +00:00
{% endif %}
2022-12-01 22:04:10 +00:00
{% endif %}
2024-01-12 07:18:04 +00:00
{% if FEATURES['NSFW_MARKING'] and (v.id == p.author_id or v.admin_level >= PERMS['POST_COMMENT_MODERATION'] or (p.hole and v.mods_hole(p.hole))) %}
2023-10-05 10:19:50 +00:00
< button type = "button" id = "mark-{{p.id}}" class = "dropdown-item {% if p.nsfw %}d-none{% endif %} list-inline-item text-danger" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/mark_post_nsfw/{{p.id}}','mark-{{p.id}}','unmark-{{p.id}}','d-none')" > < i class = "fas fa-eye-evil" > < / i > Mark NSFW< / button >
< button type = "button" id = "unmark-{{p.id}}" class = "dropdown-item {% if not p.nsfw %}d-none{% endif %} list-inline-item text-success" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/unmark_post_nsfw/{{p.id}}','mark-{{p.id}}','unmark-{{p.id}}','d-none')" > < i class = "fas fa-eye-evil" > < / i > Unmark NSFW< / button >
2022-12-01 22:04:10 +00:00
{% endif %}
2024-02-06 22:04:43 +00:00
{% if v.admin_level >= PERMS['MARK_EFFORTPOST'] %}
2024-02-06 23:23:55 +00:00
< button type = "button" id = "mark-effortpost-{{p.id}}" class = "dropdown-item {% if p.effortpost %}d-none{% endif %} list-inline-item text-danger" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/mark_effortpost/{{p.id}}','mark-effortpost-{{p.id}}','unmark-effortpost-{{p.id}}','d-none')" > < i class = "fas fa-memo" > < / i > Mark effortpost< / button >
2024-02-06 22:28:55 +00:00
< button type = "button" id = "unmark-effortpost-{{p.id}}" class = "dropdown-item {% if not p.effortpost %}d-none{% endif %} list-inline-item text-success" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/unmark_effortpost/{{p.id}}','mark-effortpost-{{p.id}}','unmark-effortpost-{{p.id}}','d-none')" > < i class = "fas fa-memo" > < / i > Unmark effortpost< / button >
2024-02-06 22:04:43 +00:00
{% endif %}
2023-01-23 12:40:44 +00:00
{% if v.admin_level >= PERMS['PROGSTACK'] %}
2023-02-19 14:02:30 +00:00
< button type = "button" id = "progstack-{{p.id}}" class = "dropdown-item {% if p.is_approved == PROGSTACK_ID %}d-none{% endif %} list-inline-item text-danger" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/admin/progstack/post/{{p.id}}','progstack-{{p.id}}','unprogstack-{{p.id}}','d-none')" > < i class = "fas fa-bullhorn" > < / i > Apply Progressive Stack< / button >
< button type = "button" id = "unprogstack-{{p.id}}" class = "dropdown-item {% if p.is_approved != PROGSTACK_ID %}d-none{% endif %} list-inline-item text-danger" data-nonce = "{{g.nonce}}" data-onclick = "postToastSwitch(this,'/admin/unprogstack/post/{{p.id}}','progstack-{{p.id}}','unprogstack-{{p.id}}','d-none')" > < i class = "fas fa-bullhorn" > < / i > Remove Progressive Stack< / button >
2023-01-23 12:40:44 +00:00
{% endif %}
2022-12-01 22:04:10 +00:00
{% if v.admin_level >= PERMS['USER_BAN'] and v.id != p.author_id %}
2024-02-11 10:48:11 +00:00
< button type = "button" class = "dropdown-item list-inline-item text-danger {% if p.author.is_permabanned %}d-none{% endif %}" data-bs-toggle = "modal" data-bs-target = "#banModal" data-nonce = "{{g.nonce}}" data-onclick = "punishModal(this, 'ban', '/post/{{p.id}}', '{{p.author_name_punish_modal}}', '{{p.fullname}}')" > < i class = "fas fa-user-slash text-danger fa-fw" > < / i > Ban user< / button >
2023-09-07 08:41:39 +00:00
2023-09-08 20:03:45 +00:00
< button type = "button" id = "unban-{{p.fullname}}" class = "dropdown-item list-inline-item text-success {% if not p.author.is_suspended %}d-none{% endif %}" id = "unexile2-user-{{p.id}}" data-nonce = "{{g.nonce}}" data-onclick = "unchud_or_unban(this,'/unban_user/{{p.fullname}}')" > < i class = "fas fa-user-slash" > < / i > Unban user< / button >
2022-12-01 22:04:10 +00:00
{% endif %}
2023-06-23 11:07:47 +00:00
{% if v.admin_level >= PERMS['USER_CHUD'] and v.id != p.author_id %}
2024-02-11 10:48:11 +00:00
< button type = "button" class = "dropdown-item list-inline-item text-danger {% if p.author.chud == 1 %}d-none{% endif %}" data-bs-toggle = "modal" data-bs-target = "#chudModal" data-nonce = "{{g.nonce}}" data-onclick = "punishModal(this, 'chud', '/post/{{p.id}}', '{{p.author_name_punish_modal}}', '{{p.fullname}}')" > < i class = "fas fa-face-sleeping text-danger fa-fw" > < / i > Chud user< / button >
2023-09-07 08:41:39 +00:00
< button type = "button" id = "unchud-{{p.fullname}}" class = "dropdown-item {% if not p.author.chud %}d-none{% endif %} list-inline-item text-success" id = "unexile2-user-{{p.id}}" data-nonce = "{{g.nonce}}" data-onclick = "unchud_or_unban(this,'/unchud_user/{{p.fullname}}')" > < i class = "fas fa-face-sleeping" > < / i > Unchud user< / button >
2022-12-01 22:04:10 +00:00
{% endif %}
< / ul >
{% endif %}