MarseyWorld/files/templates/settings/personal.html

377 lines
21 KiB
HTML
Raw Normal View History

2022-11-06 06:35:49 +00:00
{% extends "settings.html" %}
[DO NOT MERGE] titlesssssssssss (#468) * titles * testing * self * Revert "self" This reverts commit d6c12d5a5ba125feb44673f55e1fdac75f151cb5. * Revert "testing" This reverts commit 86d800f9fd552196b31f0e0b3891d4fc072a9bc0. * testing on devrama * rewrite the html head * reference error or smth idk * tempalte debug * template debug redux * default2 * rename default2 -> root, page title * fix settings2 * include the set_variables block * root scope variables 2 * test 3 * remove unnecessary set * add pagetitles to all settings2 pages * add pagetitle to casino * remove bloat * remove duplicate site name thingy * page titles 2 * page titles 3 * remove duplicate imports and add page titles everywhere iirc * ok but actually this time * remove unnecessary newlines * fix title lol * > * fsdfsfsfsfsfs * fsfs * template configurations * fix 500 * reduce login template bloat * move files and add status codes where needful * move authfroms to login * remove 2fa bloat * verification code * sign up fixes * readability * fssfsfsfs * move forgot password to login/ * readability * don't emit comments * add page titles where needful * gsgsgs * modals: move to respective pages * testing on devrama * get home garbage out of title * remove insane amount of icon duplication * sign up text * add votes pagetitle * fix blank lines * Revert "fix blank lines" This reverts commit b2c54339970725d00b6fc82bb458c1757909952c. * Fix blank lines on sign_up.html. * title: votes.html more meaningful identifier. * titles: Lottery, Directory, Notifications * head final in submission.html * fix missing comma * > * test * title: /comments * fsfsfsfsf * titles: user_cards * head: only load video and audio meta attributes if they actually exist * titlessssss: /admin/lottery/participants * titlessssssss: extra quote in search.html * titlessssss: userpage voters. * titties: /h/<sub>/{followers,blockers,exilees[sic]} * test banner * Revert "test banner" This reverts commit c3d875d03f3e60d72a60dab7d28bf108554a5826. * make submit.html inherit from default.html Co-authored-by: TLSM <duolsm@outlook.com>
2022-11-21 08:52:22 +00:00
{% block pagetitle %}Personal Settings{% endblock %}
2022-11-06 06:35:49 +00:00
{% block content %}
<div class="row settings-page" id="settings-page-personal">
<div class="col col-lg-10">
2022-11-06 06:35:49 +00:00
<div class="settings">
<section id="site-settings-experience-section" class="settings-section-section">
<h5>Site Experience</h5>
<div class="settings-section rounded" id="site-settings-experience">
2023-09-29 00:40:53 +00:00
{% if IS_EVENT() and v.can_toggle_event_music %}
2022-12-20 01:38:19 +00:00
{{common.toggle_section('Event Music', 'event_music_switch', 'event_music', v.event_music, 'Toggle event music.', false)}}
{% endif %}
<div class="d-lg-flex border-bottom">
2022-11-06 06:35:49 +00:00
<div class="title w-lg-25">
<label for="patron-status">{{patron}} Status</label>
</div>
<div class="body w-lg-100">
<p>You're a {{TIER_TO_NAME[v.patron] if v.patron else "freeloader"}}!</p>{% if v.patron %} Thanks ily! &lt;3{% endif %}
2023-10-08 18:58:12 +00:00
{% if not v.patron and v.truescore >= TRUESCORE_MINIMUM and DONATE_LINK != DEFAULT_CONFIG_VALUE %}
2023-10-24 15:26:51 +00:00
<p class="font-italic">To stop freeloading, first <a href="/settings/security#site-settings-email-section">verify your email</a>, then support us on <a href="{{DONATE_LINK}}">{{DONATE_SERVICE}}</a> with the same email, and then click "Claim {{patron}} Rewards" <a href="/settings/security#site-settings-email-section">here</a></p>
2023-08-23 22:06:08 +00:00
{% elif not v.patron %}
2023-10-20 19:13:20 +00:00
<p class="font-italic">To stop freeloading, you can <a href="/donate">donate by crypto</a>. If you do that, please let us know by <a href="/contact">sending us the transaction id via modmail</a> so we can give you your {{patron}} rewards manually!</p>
{% endif %}
</div>
</div>
<div class="d-lg-flex border-bottom">
<div class="title w-lg-25">
<label for="theme">Website Theme</label>
2022-11-06 06:35:49 +00:00
</div>
<div class="body w-lg-100">
2023-03-21 17:12:38 +00:00
<div class="input-group">
2023-01-01 14:19:25 +00:00
<select autocomplete="off" id='theme' class="form-control setting_select" form="profile-settings" name="theme" data-nonce="{{g.nonce}}" data-reload="1">
{% for entry in THEMES %}
<option value="{{entry}}" {% if v.theme==entry %} selected {% endif %}>
{{entry}}
</option>
{% endfor %}
</select>
</div>
2022-11-06 06:35:49 +00:00
</div>
</div>
{{common.color_section('theme-color', '/settings/themecolor', 'themecolor', 'Theme Color', v.themecolor)}}
<div class="d-lg-flex border-bottom">
2022-11-06 06:35:49 +00:00
<div class="title w-lg-25">
<label for="background">Website Backgrounds</label>
</div>
<div class="body w-lg-100">
<p>Change the background for the website.</p>
2023-03-21 17:12:38 +00:00
<div class="input-group">
2023-09-15 11:01:04 +00:00
<select autocomplete="off" id='backgroundSelector' class="form-control" form="profile-settings" name="background" data-nonce="{{g.nonce}}" data-onchange="updatebgselection()">
{% for entry in BACKGROUND_CATEGORIES %}
2022-11-06 06:35:49 +00:00
<option value="{{entry}}" {% if v.background and v.background.startswith(entry) %}selected{% endif %}>
{{entry}}
</option>
{% endfor %}
</select>
</div>
2023-01-01 11:36:20 +00:00
<form class="d-flex mt-3 mb-2" id="upload-custom-background" action="/settings/custom_background" method="post" enctype="multipart/form-data">
2023-01-24 05:10:16 +00:00
<input hidden name="formkey" value="{{v|formkey}}">
<label class="btn btn-primary" for="upload-custom-background-file">
2023-01-01 11:36:20 +00:00
<i class="fas fa-image mr-1"></i>
{% if v.background and v.background.startswith('/images/') %}
{{v.background}}
{% else %}
Upload custom site background
{% endif %}
</label>
2023-01-01 09:42:23 +00:00
<input autocomplete="off" id="upload-custom-background-file" accept="image/*", type="file" name="file" data-nonce="{{g.nonce}}" onchange_submit hidden>
</form>
2022-11-06 06:35:49 +00:00
{% if v.background %}
<div class="d-flex mb-3">
<button type="button" class="btn btn-danger" data-nonce="{{g.nonce}}" data-onclick="postToastReload(this,'/settings/remove_background')">
<i class="fas fa-image-slash mr-1"></i>
Remove current background
</button>
2022-11-06 06:35:49 +00:00
</div>
{% endif %}
<div id="bgcontainer"></div>
</div>
</div>
</div>
</section>
<section id="site-settings-aesthetic-section" class="settings-section-section">
<h5>Your Aesthetic</h5>
<div class="settings-section rounded" id="site-settings-aesthetic">
2022-11-06 06:35:49 +00:00
{% if FEATURES['HOUSES'] %}
<div class="d-lg-flex border-bottom">
2022-11-06 06:35:49 +00:00
<div class="title w-lg-25">
<label for="theme">House</label>
</div>
<div class="body w-lg-100">
{% if v.house %}
{% set cost = HOUSE_SWITCH_COST %}
<p>Change your house (cost: {{cost}} coins or marseybux).</p>
{% if ' Founder' in v.house %}
<p>Warning: you'll lose your founder status if you join a different house</p>
{% endif %}
{% else %}
{% set cost = HOUSE_JOIN_COST %}
<p>Join a house (cost: {{cost}} coins or marseybux).</p>
{% endif %}
2023-03-21 17:12:38 +00:00
<div class="input-group">
2023-10-07 14:59:03 +00:00
<select data-cost="{{cost}}" id="changing-house"{% if cost > v.coins + v.marseybux or v.bite %}disabled{% endif %} autocomplete="off" id='house' class="form-control setting_select" form="profile-settings" name="house" data-nonce="{{g.nonce}}">
{% for entry in HOUSES %}
2023-10-07 14:59:03 +00:00
<option value="{{entry}}" {% if v.house.startswith(entry) %}selected{% endif %}>
2022-11-06 06:35:49 +00:00
{{entry}}
</option>
{% endfor %}
</select>
</div>
</div>
</div>
{%- endif %}
<div class="d-lg-flex border-bottom">
<div class="title w-lg-25">
<label for="profile-picture">Profile Picture</label>
</div>
2022-11-06 06:35:49 +00:00
<div class="title w-lg-25 text-md-center">
<img loading="lazy" alt="your profile picture" src="{{v.profile_url}}" class="profile-pic-75">
</div>
<div class="body w-lg-100 my-auto">
<div class="d-flex">
<div>
<form action="/settings/images/profile" method="post" enctype="multipart/form-data">
2023-01-24 05:10:16 +00:00
<input hidden name="formkey" value="{{v|formkey}}">
2022-11-06 06:35:49 +00:00
<label class="btn btn-secondary text-capitalize mr-2 mb-0">
Upload<input autocomplete="off" type="file" accept="image/*" {% if g.is_tor %}disabled{% endif %} hidden name="profile" data-nonce="{{g.nonce}}" onchange_submit>
2022-11-06 06:35:49 +00:00
</label>
</form>
</div>
</div>
<div class="text-small text-muted mt-3">All image files are supported. Max file size is {% if v and v.patron %}16{% else %}8{% endif %} MB.</div>
</div>
</div>
{% if FEATURES['USERS_PROFILE_BANNER'] -%}
<div class="d-lg-flex border-bottom">
<div class="title w-lg-25">
<label for="banner">Banner</label>
</div>
2022-11-06 06:35:49 +00:00
<div class="title w-lg-75 text-md-center">
<img loading="lazy" alt="your banner" src="{{v.banner_url}}" class="banner-pic">
2022-11-06 06:35:49 +00:00
</div>
<div class="body w-lg-100 my-auto">
<div class="d-flex">
<div>
<form action="/settings/images/banner" method="post" enctype="multipart/form-data">
2023-01-24 05:10:16 +00:00
<input hidden name="formkey" value="{{v|formkey}}">
2022-11-06 06:35:49 +00:00
<label class="btn btn-secondary text-capitalize mr-2 mb-0">
Upload<input autocomplete="off" type="file" {% if g.is_tor %}disabled{% endif %} accept="image/*" hidden name="banner" data-nonce="{{g.nonce}}" onchange_submit>
2022-11-06 06:35:49 +00:00
</label>
</form>
</div>
</div>
<div class="text-small text-muted mt-3">All image files are supported. Max file size is {% if v and v.patron %}16{% else %}8{% endif %} MB.</div>
</div>
</div>
{%- endif %}
<div class="d-lg-flex border-bottom">
<div class="title w-lg-25">
<label for="profile_background">Profile Background</label>
</div>
{% if v.profile_background %}
<div class="title w-lg-75 text-md-center">
<img loading="lazy" alt="your profile background" src="{{v.profile_background}}" class="profile-background-pic">
</div>
{% endif %}
<div class="body w-lg-100 my-auto">
<div class="d-flex">
<div>
<form action="/settings/images/profile_background" method="post" enctype="multipart/form-data">
<input hidden name="formkey" value="{{v|formkey}}">
<label class="btn btn-secondary text-capitalize mr-2 mb-0">
Upload<input autocomplete="off" type="file" {% if g.is_tor %}disabled{% endif %} accept="image/*" hidden name="profile_background" data-nonce="{{g.nonce}}" onchange_submit>
</label>
</form>
</div>
</div>
<div class="text-small text-muted mt-3">All image files are supported. Max file size is {% if v and v.patron %}16{% else %}8{% endif %} MB.</div>
</div>
</div>
<div class="d-lg-flex border-bottom">
2022-11-06 06:35:49 +00:00
<div class="title w-lg-25">
<label for="name">Username</label>
</div>
<div class="body w-lg-100">
<p>Your original username will always stay reserved for you: <code>{{v.original_username}}</code></p>
2023-08-11 21:50:23 +00:00
<form action="/settings/name_change" method="post" data-nonce="{{g.nonce}}" data-onsubmit="sendFormXHR(this)">
2023-01-24 05:10:16 +00:00
<input hidden name="formkey" value="{{v|formkey}}">
{% if v.patron %}
{% set minlength = 1 %}
{% else %}
{% set minlength = 3 %}
{% endif %}
<input id="name-body" autocomplete="off" type="text" name="name" class="form-control" value="{{v.username}}" minlength="{{minlength}}" maxlength="25" {% if v.namechanged %}disabled{% endif %}>
<small>{{minlength}}-25 characters, including letters, numbers, _ , and -</small>
2022-11-06 06:35:49 +00:00
<div class="d-flex mt-2">
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Change Display Name" {% if v.namechanged %}disabled{% endif %}>
2022-11-06 06:35:49 +00:00
</div>
</form>
</div>
</div>
{{common.color_section('namecolor', '/settings/namecolor', 'namecolor', 'Name Color', v.name_color)}}
{% if FEATURES['PRONOUNS'] %}
{{common.line_text_section('pronouns', '/settings/pronouns_change', 'pronouns', 'Pronouns', v.pronouns, 'Limit of 15 characters', 'Enter pronouns here', 'Change Pronouns', false, 3, 15, '([a-zA-Z]{1,7})/[a-zA-Z]{1,7}(/[a-zA-Z]{1,7})?', false)}}
2022-11-06 06:35:49 +00:00
{% endif %}
2023-08-01 07:38:58 +00:00
2023-10-17 18:50:13 +00:00
{{common.line_text_section('flair', '/settings/change_flair', 'flair', 'Flair', v.flair, 'Limit of 100 characters', 'Enter a flair here', 'Change Flair', true, 0, 100, '.*', v.flairchanged)}}
2023-08-01 07:38:58 +00:00
2023-10-17 18:54:02 +00:00
{{common.color_section('flaircolor', '/settings/flaircolor', 'flaircolor', 'Flair Color', v.flaircolor)}}
2022-11-06 06:35:49 +00:00
{% if FEATURES['USERS_PROFILE_SONG'] -%}
<div class="d-lg-flex border-bottom">
2022-11-06 06:35:49 +00:00
<div class="title w-lg-25">
<label for="anthem">Profile Anthem</label>
</div>
<div class="body w-lg-100">
2022-11-06 06:35:49 +00:00
<p>You can use an MP3 file or a YouTube video.</p>
<form action="/settings/song_change_mp3" method="post" enctype="multipart/form-data">
2023-01-24 05:10:16 +00:00
<input hidden name="formkey" value="{{v|formkey}}">
<label class="btn btn-secondary d-inline-block m-0 mb-3">
2023-03-06 18:02:12 +00:00
<div><i class="fas fa-file"></i>
2022-11-06 06:35:49 +00:00
{% if v.song and v.song|length in (1,2,3,4,5,17) %}
{{v.song}}.mp3
{% else %}
Use an MP3 file (Max size is 8MB)
{% endif %}
</div>
2023-01-01 09:42:23 +00:00
<input autocomplete="off" id="file-upload2" type="file" name="file" {% if g.is_tor %}disabled{% endif %} accept="audio/mp3" data-nonce="{{g.nonce}}" onchange_submit hidden>
2022-11-06 06:35:49 +00:00
</label>
</form>
<form action="/settings/song_change" method="post">
2023-01-24 05:10:16 +00:00
<input hidden name="formkey" value="{{v|formkey}}">
2022-11-06 06:35:49 +00:00
<input class="form-control" style="display:inline;max-width:75%;font-size: min(3.5vw,16px)!important" autocomplete="off" type="text" name="song" class="form-control" value="{% if v.song and v.song|length not in (1,2,3,4,5,17) %}https://youtu.be/{{v.song}}{% endif %}" placeholder='Enter a YouTube video link here'>
<input class="btn btn-primary" style="font-size: min(3.5vw,16px)!important" autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Submit">
2022-11-06 06:35:49 +00:00
</form>
<br><small>In some browsers, users have to click at least once anywhere in the profile page for the anthem to play.</small>
</div>
</div>
{%- endif %}
{% if FEATURES['USERS_PROFILE_BODYTEXT'] %}
2023-08-14 14:28:27 +00:00
{{common.text_area_section('profile-bio', '/settings/personal', 'bio', 'Bio', v.bio, 'Limit of ' ~ BIO_FRIENDS_ENEMIES_LENGTH_LIMIT ~ ' characters', 'Tell the community a bit about yourself.', true, BIO_FRIENDS_ENEMIES_LENGTH_LIMIT)}}
{% endif %}
2023-08-01 07:38:58 +00:00
2023-08-14 14:28:27 +00:00
{{common.text_area_section('profile-friends', '/settings/personal', 'friends', 'Friends', v.friends, 'Limit of ' ~ BIO_FRIENDS_ENEMIES_LENGTH_LIMIT ~ ' characters', 'Enter your friends on the site...', false, BIO_FRIENDS_ENEMIES_LENGTH_LIMIT)}}
2023-08-01 07:38:58 +00:00
2023-08-14 14:28:27 +00:00
{{common.text_area_section('profile-enemies', '/settings/personal', 'enemies', 'Enemies', v.enemies, 'Limit of ' ~ BIO_FRIENDS_ENEMIES_LENGTH_LIMIT ~ ' characters', 'Enter your enemies on the site...', false, BIO_FRIENDS_ENEMIES_LENGTH_LIMIT)}}
2023-08-01 07:38:58 +00:00
2023-08-14 14:28:27 +00:00
{{common.text_area_section('profile-signature', '/settings/personal', 'sig', 'Signature', v.sig, 'Limit of 200 characters', 'Enter a signature...', true, 200)}}
2023-10-17 12:25:49 +00:00
{{common.toggle_section('Private Mode', 'privateswitch', 'private', v.is_private, 'This will hide your profile page from other users.', false)}}
2023-09-15 15:37:12 +00:00
{{common.toggle_section('Lifetime Donated Visiblity', 'lifetimedonated_visibleswitch', 'lifetimedonated_visible', v.lifetimedonated_visible, 'Make the "lifetime donated" field in your profile visible to everyone instead of just you.', false)}}
2023-08-03 04:57:09 +00:00
{{common.toggle_section('Cursor Marsey', 'cursormarseyswitch', 'cursormarsey', v.cursormarsey, 'Have a cute
marsey accompany you during your journey on the site.', false)}}
2023-06-27 21:03:44 +00:00
{{common.toggle_section('Spider', 'spiderswitch', 'spider', v.spider, 'Have a spider friend accompany you during your journey on the site.', v.spider > 1)}}
{{common.toggle_section('Marsify', 'marsifyswitch', 'marsify', v.marsify, 'Automatically insert relevant
marseys into your future comments.', v.marsify > 1)}}
2022-11-06 06:35:49 +00:00
</div>
</section>
<section id="site-settings-checkmark-section" class="settings-section-section">
<h5>Checkmark Customization</h5>
<div class="settings-section rounded" id="site-settings-checkmark">
{{common.color_section('verifiedcolor', '/settings/verifiedcolor', 'verifiedcolor', 'Checkmark Color', v.verifiedcolor)}}
2023-08-01 07:38:58 +00:00
{{common.line_text_section('checkmark_text', '/settings/checkmark_text', 'checkmark-text', 'Checkmark Hover Text', v.verified, 'Limit of 100 characters', 'Enter checkmark hover text here', 'Change Text', false, 0, 100, '.*', false)}}
</div>
</section>
2022-11-06 06:35:49 +00:00
<section id="site-settings-filters-section" class="settings-section-section">
<h5>Filters</h5>
<div class="settings-section rounded" id="site-settings-filters">
2022-11-07 05:52:52 +00:00
{% set ns = namespace(slurtext='Enable if you would like to automatically replace slurs.', profanitytext='Enable if you would like to automatically replace profanities.') %}
{% if FEATURES['USERS_PERMANENT_WORD_FILTERS'] %}
2023-10-02 06:10:24 +00:00
{% if v.slurreplacer > 1 %}
2023-09-29 01:52:14 +00:00
{% set slurtext = "You've enabled the slur replacer permanently! ✊🏿" %}
2023-10-02 06:10:24 +00:00
{% else %}
{% set slurtext = 'Enable if you would like to automatically replace slurs. <button type="button" {% if v.slurreplacer == 0 %}hidden{% endif %} id="slurreplacer-perma-link" class="text-primary" data-bs-toggle="modal" data-bs-target="#modal-slurreplacer">Make filter permanent for a badge!</button>' %}
{% endif %}
2023-10-02 06:10:24 +00:00
{% if v.profanityreplacer > 1 %}
2023-09-29 01:52:14 +00:00
{% set profanitytext = "You've enabled the profanity replacer permanently! 😇" %}
2023-10-02 06:10:24 +00:00
{% else %}
{% set profanitytext = 'Enable if you would like to automatically replace profanities. <button type="button" {% if v.profanityreplacer == 0 %}hidden{% endif %} id="profanityreplacer-perma-link" class="text-primary" data-bs-toggle="modal" data-bs-target="#modal-profanityreplacer">Make filter permanent for a badge!</button>' %}
{% endif %}
{% endif %}
2023-09-29 01:52:14 +00:00
{{common.toggle_section("Slur Replacer", "slurreplacerswitch", 'slurreplacer', v.slurreplacer, slurtext, FEATURES['USERS_PERMANENT_WORD_FILTERS'] and v.slurreplacer > 1)}}
{{common.toggle_section("Profanity Replacer", "profanityreplacerswitch", 'profanityreplacer', v .profanityreplacer, profanitytext, FEATURES['USERS_PERMANENT_WORD_FILTERS'] and v.profanityreplacer > 1)}}
2022-11-06 06:35:49 +00:00
</div>
</section>
<section id="site-settings-referral-section" class="settings-section-section">
<h5>Refer a Friend!</h5>
<div class="settings-section rounded" id="site-settings-referral">
<div class="d-lg-flex border-bottom">
<div class="title w-lg-25">
2023-09-15 15:37:12 +00:00
<label for="referral_code">Referral Code</label>
</div>
<div class="body w-lg-100">
<div class="input-group">
<input autocomplete="off" type="text" readonly class="form-control copy-link" id="referral_code" value="{{SITE_FULL}}/signup?ref={{v.id}}" data-clipboard-text="{{SITE_FULL}}/signup?ref={{v.id}}">
<span class="input-group-append" data-bs-toggle="tooltip" data-bs-placement="top" title="You have referred {{v.referral_count}} user{{'s' if v.referral_count != 1 else ''}} so far. {% if v.referral_count==0 %}¯\_(ツ)_/¯{% elif v.referral_count>10 %}Wow!{% endif %}">
2023-10-05 16:33:04 +00:00
<span class="input-group-text border-0 font-weight-bold"><i class="fas fa-user mr-1"></i>{{v.referral_count}}</span>
</span>
</div>
<div class="text-small text-muted mt-3">Share this link with a friend. {% if v.referral_count==0 %} When they sign up, you'll get the bronze recruitment badge. <a href="/badges">Learn more.</a>{% elif v.referral_count<10 %} When you refer 10 friends, you'll receive the silver recruitment badge. <a href="/badges">Learn more.</a>{% elif v.referral_count<100 %} When you refer 100 friends, you'll receive the gold recruitment badge. <a href="/badges">Learn more</a>.{% endif %}</div>
2022-11-06 06:35:49 +00:00
</div>
</div>
2023-09-15 15:21:40 +00:00
<div class="d-lg-flex border-bottom px-3">
<div class="title w-lg-25 px-0">
<label>Referred Users</label>
</div>
2023-09-15 15:21:40 +00:00
<table class="table">
{% for user in v.referrals %}
<tr>
<td>{% include "user_in_table.html" %}</td>
<td data-time="{{user.created_utc}}"></td>
</tr>
{% endfor %}
</table>
</div>
2022-11-06 06:35:49 +00:00
</div>
</section>
</div>
</div>
</div>
{% include "modals/emoji.html" %}
{% include "modals/gif.html" %}
2022-11-06 06:35:49 +00:00
{% if v.flairchanged %}
<input hidden id="flairchanged" value="{{v.flairchanged}}">
2023-05-13 04:53:14 +00:00
<script defer src="{{'js/flairchanged.js' | asset}}"></script>
{% endif %}
{% if v.namechanged %}
<input hidden id="namechanged" value="{{v.namechanged}}">
2023-05-13 04:53:14 +00:00
<script defer src="{{'js/namechanged.js' | asset}}"></script>
2022-11-06 06:35:49 +00:00
{% endif %}
<script defer src="{{'js/settings_profile.js' | asset}}"></script>
{% macro permanent_filter_modal(id, form_action, field, friendly_name, badge_name) %}
{% if FEATURES['USERS_PERMANENT_WORD_FILTERS'] -%}
2023-10-02 06:04:05 +00:00
<div class="modal fade" id="modal-{{id}}" tabindex="-1">
2023-01-20 07:14:59 +00:00
<div class="modal-dialog modal-dialog-centered">
2023-08-11 21:50:23 +00:00
<form class="m-auto" action="{{form_action}}" id="{{id}}-form" method="post" data-nonce="{{g.nonce}}" data-onsubmit="sendFormXHRReload(this)">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Make {{friendly_name}} Permanent</h5>
2023-10-02 06:04:05 +00:00
<button type="button" class="close" data-bs-dismiss="modal">
2023-08-23 00:52:50 +00:00
<span><i class="fas fa-times"></i></span>
</button>
</div>
<div class="modal-body">
2023-01-24 05:10:16 +00:00
<input hidden name="{{field}}" value="true">
<input hidden name="permanent" value="true">
<input hidden name="formkey" value="{{v|formkey}}">
<p>This form will permanently enable the filter for you. You will receive the {{badge_name}} badge and <strong>will not</strong> be able to disable the filter.<br>Type your username to continue.</p>
<input autocomplete="off" type="text" name="username" placeholder="Enter your username to confirm" id="username-{{id}}" class="form-control" pattern="{{v.username}}" required>
</div>
<div class="modal-footer">
2023-10-02 06:04:05 +00:00
<button type="button" class="btn btn-link text-muted" data-bs-dismiss="modal">Cancel</button>
2022-11-06 10:58:34 +00:00
<button type="submit" class="btn btn-danger" id="submit-{{id}}-form">Make Permanent</button>
</div>
</div>
</form>
</div>
</div>
{%- endif %}
{% endmacro %}
{{permanent_filter_modal('slurreplacer', '/settings/personal', 'slurreplacer', 'Slur Replacer', 'Social Justice Berserker')}}
{{permanent_filter_modal('profanityreplacer', '/settings/personal', 'profanityreplacer', 'Profanity Replacer', 'Soapy-Mouthed Angel')}}
2022-11-06 06:35:49 +00:00
{% endblock %}