forked from rDrama/rDrama
1
0
Fork 0

make all form-submitting buttons get disabled after clicking

so spergs like me with poor motor control don't click twice and get hit with 429
master
Aevann1 2022-06-23 22:49:23 +02:00
parent 38a5bf25c5
commit 4d692bebe8
28 changed files with 58 additions and 58 deletions

View File

@ -17,7 +17,7 @@
<label for="link-input">Usernames</label> <label for="link-input">Usernames</label>
<input autocomplete="off" id="link-input" type="text" class="form-control mb-2" name="u1" value="{{u1.username if u1 else ''}}" placeholder="User 1"> <input autocomplete="off" id="link-input" type="text" class="form-control mb-2" name="u1" value="{{u1.username if u1 else ''}}" placeholder="User 1">
<input autocomplete="off" id="link-input" type="text" class="form-control mb-2" name="u2" value="{{u2.username if u2 else ''}}" placeholder="User 2"> <input autocomplete="off" id="link-input" type="text" class="form-control mb-2" name="u2" value="{{u2.username if u2 else ''}}" placeholder="User 2">
<input type="submit" value="Submit" class="btn btn-primary"> <input type="submit" onclick="this.classList.add('disabled')" value="Submit" class="btn btn-primary">
</form> </form>
{% if u1 and u2 %} {% if u1 and u2 %}
@ -77,7 +77,7 @@
<input type="hidden" name="formkey" value="{{v.formkey}}"> <input type="hidden" name="formkey" value="{{v.formkey}}">
<input type="hidden" name="u1" value="{{u1.id}}"> <input type="hidden" name="u1" value="{{u1.id}}">
<input type="hidden" name="u2" value="{{u2.id}}"> <input type="hidden" name="u2" value="{{u2.id}}">
<input type="submit" id="linkbtn" class="btn btn-primary d-none" value="Confirm Link: {{u1.username}} and {{u2.username}}"> <input type="submit" onclick="this.classList.add('disabled')" id="linkbtn" class="btn btn-primary d-none" value="Confirm Link: {{u1.username}} and {{u2.username}}">
</form> </form>
{% endif %} {% endif %}

View File

@ -58,7 +58,7 @@
{% endfor %} {% endfor %}
</table> </table>
<input autocomplete="off" class="btn btn-primary mt-3" type="submit" value="Grant Awards"> <input autocomplete="off" class="btn btn-primary mt-3" type="submit" onclick="this.classList.add('disabled')" value="Grant Awards">
</form> </form>

View File

@ -73,7 +73,7 @@
<label for="input-description">Custom description</label><br> <label for="input-description">Custom description</label><br>
<input autocomplete="off" id="input-description" class="form-control" type="text" name="description" placeholder="Leave blank for badge default"> <input autocomplete="off" id="input-description" class="form-control" type="text" name="description" placeholder="Leave blank for badge default">
<input autocomplete="off" class="btn btn-primary" type="submit"> <input autocomplete="off" class="btn btn-primary" type="submit" onclick="this.classList.add('disabled')">
</form> </form>

View File

@ -73,7 +73,7 @@
<label for="input-description">Custom description</label><br> <label for="input-description">Custom description</label><br>
<input autocomplete="off" id="input-description" class="form-control" type="text" name="description" placeholder="Leave blank for badge default"> <input autocomplete="off" id="input-description" class="form-control" type="text" name="description" placeholder="Leave blank for badge default">
<input autocomplete="off" class="btn btn-primary" type="submit"> <input autocomplete="off" class="btn btn-primary" type="submit" onclick="this.classList.add('disabled')">
</form> </form>

View File

@ -31,7 +31,7 @@
<input type="hidden" name="formkey" value="{{v.formkey}}"> <input type="hidden" name="formkey" value="{{v.formkey}}">
<input autocomplete="off" name="domain" placeholder="Enter domain here.." class="form-control" required> <input autocomplete="off" name="domain" placeholder="Enter domain here.." class="form-control" required>
<input autocomplete="off" name="reason" placeholder="Enter ban reason here.." oninput="document.getElementById('ban-submit').disabled=false" class="form-control"> <input autocomplete="off" name="reason" placeholder="Enter ban reason here.." oninput="document.getElementById('ban-submit').disabled=false" class="form-control">
<input autocomplete="off" id="ban-submit" type="submit" class="btn btn-primary" value="Toggle ban" disabled> <input autocomplete="off" id="ban-submit" type="submit" onclick="this.classList.add('disabled')" class="btn btn-primary" value="Toggle ban" disabled>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -30,7 +30,7 @@
<textarea autocomplete="off" maxlength="10000" class="form-control rounded" id="bio-text" aria-label="With textarea" placeholder="Enter sidebar here..." rows="50" name="sidebar" form="profile-settings">{% if sidebar %}{{sidebar}}{% endif %}</textarea> <textarea autocomplete="off" maxlength="10000" class="form-control rounded" id="bio-text" aria-label="With textarea" placeholder="Enter sidebar here..." rows="50" name="sidebar" form="profile-settings">{% if sidebar %}{{sidebar}}{% endif %}</textarea>
<div class="d-flex mt-2"> <div class="d-flex mt-2">
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Save"> <input autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Save">
</div> </div>
</form> </form>
</div> </div>

View File

@ -27,7 +27,7 @@
<label id="notelabel" for="note" class="pt-4">Note (optional):</label> <label id="notelabel" for="note" class="pt-4">Note (optional):</label>
<input autocomplete="off" id="kind" name="kind" value="" hidden> <input autocomplete="off" id="kind" name="kind" value="" hidden>
<textarea autocomplete="off" id="note" maxlength="200" name="note" class="form-control" placeholder="Note to include in award notification..."></textarea> <textarea autocomplete="off" id="note" maxlength="200" name="note" class="form-control" placeholder="Note to include in award notification..."></textarea>
<input autocomplete="off" id="giveaward" class="awardbtn btn btn-primary mt-3" style="float:right" type="submit" value="Give Award" disabled> <input autocomplete="off" id="giveaward" class="awardbtn btn btn-primary mt-3" style="float:right" type="submit" onclick="this.classList.add('disabled')" value="Give Award" disabled>
<button id="buy1" class="awardbtn btn btn-primary mt-3 mx-3 {% if SITE_NAME in ('Cringetopia', 'WPD') %}d-none{% endif %}" type="button" disabled style="float:right" onclick="buy(true)">Buy with marseybux</button> <button id="buy1" class="awardbtn btn btn-primary mt-3 mx-3 {% if SITE_NAME in ('Cringetopia', 'WPD') %}d-none{% endif %}" type="button" disabled style="float:right" onclick="buy(true)">Buy with marseybux</button>
<button id="buy2" class="awardbtn btn btn-primary mt-3" type="button" disabled style="float:right" onclick="buy()">Buy</button> <button id="buy2" class="awardbtn btn btn-primary mt-3" type="button" disabled style="float:right" onclick="buy()">Buy</button>
<pre> <pre>

View File

@ -178,7 +178,7 @@
</div> </div>
<i class="btn btn-secondary mr-2 fas fa-smile-beam" style="padding-top:0.65rem" onclick="loadEmojis('input-text')" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-placement="bottom" title="Add Emoji"></i> <i class="btn btn-secondary mr-2 fas fa-smile-beam" style="padding-top:0.65rem" onclick="loadEmojis('input-text')" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-placement="bottom" title="Add Emoji"></i>
<textarea id="input-text" minlength="1" maxlength="1000" type="text" class="form-control" placeholder="Message" autocomplete="off" autofocus rows="1"></textarea> <textarea id="input-text" minlength="1" maxlength="1000" type="text" class="form-control" placeholder="Message" autocomplete="off" autofocus rows="1"></textarea>
<button id="chatsend" onclick="send()" class="btn btn-primary ml-3" type="submit">Send</button> <button id="chatsend" onclick="send()" class="btn btn-primary ml-3" type="submit" onclick="this.classList.add('disabled')">Send</button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -38,7 +38,7 @@
<div id="filename"><i class="fas fa-file"></i></div> <div id="filename"><i class="fas fa-file"></i></div>
<input autocomplete="off" id="file-upload" accept="image/*, video/*, audio/*" type="file" name="file" multiple="multiple" {% if request.headers.get('cf-ipcountry')=="T1" %}disabled{% endif %} onchange="changename('filename','file-upload')" hidden> <input autocomplete="off" id="file-upload" accept="image/*, video/*, audio/*" type="file" name="file" multiple="multiple" {% if request.headers.get('cf-ipcountry')=="T1" %}disabled{% endif %} onchange="changename('filename','file-upload')" hidden>
</label> </label>
<input type="submit" value="Submit" class="btn btn-primary mt-3"> <input type="submit" onclick="this.classList.add('disabled')" value="Submit" class="btn btn-primary mt-3">
</form> </form>
<pre> <pre>

View File

@ -17,7 +17,7 @@
<form action="/allow_nsfw" method="post"> <form action="/allow_nsfw" method="post">
<input type="hidden" name="redir" value="{{request.full_path}}"> <input type="hidden" name="redir" value="{{request.full_path}}">
<input type="submit" class="btn btn-danger mr-2" value="Yes, I am +18"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-danger mr-2" value="Yes, I am +18">
</form> </form>
<div><a href="/" class="btn btn-secondary">No</a></div> <div><a href="/" class="btn btn-secondary">No</a></div>
</div> </div>

View File

@ -21,7 +21,7 @@
<input type="email" pattern='([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+' autocomplete="off" class="form-control" id="password" aria-describedby="passwordHelp" name="email" required> <input type="email" pattern='([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+' autocomplete="off" class="form-control" id="password" aria-describedby="passwordHelp" name="email" required>
<input autocomplete="off" class="btn btn-primary login w-100 mt-3" type="submit" value="Send recovery link"> <input autocomplete="off" class="btn btn-primary login w-100 mt-3" type="submit" onclick="this.classList.add('disabled')" value="Send recovery link">
</form> </form>

View File

@ -26,7 +26,7 @@
<input autocomplete="off" class="form-control" id="password" type="email" pattern='([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+' name="email" required=""{% if v %} value="{{v.email}}" disabled{% endif %}> <input autocomplete="off" class="form-control" id="password" type="email" pattern='([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+' name="email" required=""{% if v %} value="{{v.email}}" disabled{% endif %}>
<input autocomplete="off" class="btn btn-primary login w-100 mt-3" type="submit" value="Send recovery link"> <input autocomplete="off" class="btn btn-primary login w-100 mt-3" type="submit" onclick="this.classList.add('disabled')" value="Send recovery link">
</form> </form>

View File

@ -23,7 +23,7 @@
<input type="hidden" name="client_id" value="{{application.client_id}}"> <input type="hidden" name="client_id" value="{{application.client_id}}">
<input type="hidden" name="state" value="{{state}}"> <input type="hidden" name="state" value="{{state}}">
<input type="submit" class="btn btn-primary" id="auth_button" value="Authorize {{application.app_name}}"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-primary" id="auth_button" value="Authorize {{application.app_name}}">
<a href="/" class="btn btn-secondary">No, back to {{SITE_NAME}}</a> <a href="/" class="btn btn-secondary">No, back to {{SITE_NAME}}</a>

View File

@ -1,7 +1,7 @@
{% if v and v.id==p.author_id and p.private %} {% if v and v.id==p.author_id and p.private %}
<form action="/publish/{{p.id}}" method="post"> <form action="/publish/{{p.id}}" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}"> <input type="hidden" name="formkey", value="{{v.formkey}}">
<button class="list-inline-item text-small p-0 m-0 mr-3 border-0 nobackground font-weight-bold" type="submit"><i class="fas fa-globe"></i>Publish</button> <button class="list-inline-item text-small p-0 m-0 mr-3 border-0 nobackground font-weight-bold" type="submit" onclick="this.classList.add('disabled')"><i class="fas fa-globe"></i>Publish</button>
</form> </form>
{% endif %} {% endif %}

View File

@ -1,7 +1,7 @@
{% if v and v.id==p.author_id and p.private %} {% if v and v.id==p.author_id and p.private %}
<form class="btn-block" action="/publish/{{p.id}}" method="post"> <form class="btn-block" action="/publish/{{p.id}}" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}"> <input type="hidden" name="formkey", value="{{v.formkey}}">
<button class="nobackground btn btn-link btn-lg text-left text-muted" data-bs-dismiss="modal" type="submit"><i class="fas fa-globe text-center mr-3"></i>Publish</button> <button class="nobackground btn btn-link btn-lg text-left text-muted" data-bs-dismiss="modal" type="submit" onclick="this.classList.add('disabled')"><i class="fas fa-globe text-center mr-3"></i>Publish</button>
</form> </form>
{% endif %} {% endif %}

View File

@ -24,7 +24,7 @@
<input autocomplete="off" class="form-control" id="confentry" aria-describedby="passwordHelp" <input autocomplete="off" class="form-control" id="confentry" aria-describedby="passwordHelp"
type="password" name="confirm_password" required=""> type="password" name="confirm_password" required="">
<input autocomplete="off" class="btn btn-primary login w-100 mt-3" type="submit" value="Change password"> <input autocomplete="off" class="btn btn-primary login w-100 mt-3" type="submit" onclick="this.classList.add('disabled')" value="Change password">
</form> </form>

View File

@ -201,7 +201,7 @@
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button class="btn btn-link text-muted" data-bs-dismiss="modal">Cancel</button> <button class="btn btn-link text-muted" data-bs-dismiss="modal">Cancel</button>
<input autocomplete="off" id="enable2faButton" class="btn btn-primary" type="submit" value="Enable 2-step login" disabled> <input autocomplete="off" id="enable2faButton" class="btn btn-primary" type="submit" onclick="this.classList.add('disabled')" value="Enable 2-step login" disabled>
</div> </div>
</form> </form>
</div> </div>
@ -225,7 +225,7 @@
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button class="btn btn-link text-muted" data-bs-dismiss="modal">Cancel</button> <button class="btn btn-link text-muted" data-bs-dismiss="modal">Cancel</button>
<input autocomplete="off" id="disable2faButton" class="btn btn-primary" type="submit" value="Disable 2-step login" disabled> <input autocomplete="off" id="disable2faButton" class="btn btn-primary" type="submit" onclick="this.classList.add('disabled')" value="Disable 2-step login" disabled>
</div> </div>
</form> </form>
</div> </div>

View File

@ -44,7 +44,7 @@
<div class="footer"> <div class="footer">
<div class="d-flex"> <div class="d-flex">
<a role="button" class="btn btn-secondary ml-auto" onclick="post_toast(this,'/oauth/reroll/{{app.id}}','1')">Reroll Client ID</a> <a role="button" class="btn btn-secondary ml-auto" onclick="post_toast(this,'/oauth/reroll/{{app.id}}','1')">Reroll Client ID</a>
<input type="submit" class="btn btn-primary ml-2" value="Save Changes"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-primary ml-2" value="Save Changes">
</div> </div>
</div> </div>
</div> </div>
@ -82,7 +82,7 @@
</div> </div>
<div class="footer"> <div class="footer">
<div class="d-flex"> <div class="d-flex">
<input type="submit" class="btn btn-primary ml-auto" value="Save Changes"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-primary ml-auto" value="Save Changes">
</div> </div>
</div> </div>
</div> </div>
@ -136,7 +136,7 @@
</div> </div>
<div class="footer"> <div class="footer">
<div class="d-flex"> <div class="d-flex">
<input type="submit" class="btn btn-primary ml-auto" value="Request API Key"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-primary ml-auto" value="Request API Key">
</div> </div>
</div> </div>
</div> </div>

View File

@ -23,7 +23,7 @@
<textarea autocomplete="off" class="form-control rounded" id="bio-text" aria-label="With textarea" placeholder="Custom CSS" rows="50" name="css" form="profile-settings" maxlength="4000">{% if v.css %}{{v.csslazy}}{% endif %}</textarea> <textarea autocomplete="off" class="form-control rounded" id="bio-text" aria-label="With textarea" placeholder="Custom CSS" rows="50" name="css" form="profile-settings" maxlength="4000">{% if v.css %}{{v.csslazy}}{% endif %}</textarea>
<small>Limit of 4000 characters</small> <small>Limit of 4000 characters</small>
<div class="d-flex mt-2"> <div class="d-flex mt-2">
<input autocomplete="off" id="submit-btn" class="btn btn-primary ml-auto" type="submit" value="Save"> <input autocomplete="off" id="submit-btn" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Save">
</div> </div>
</form> </form>
</div> </div>

View File

@ -350,7 +350,7 @@
rows="3" name="filters" form="custom-filter" maxlength="1000">{% if v.custom_filter_list %}{{v.custom_filter_list}}{% endif %}</textarea> rows="3" name="filters" form="custom-filter" maxlength="1000">{% if v.custom_filter_list %}{{v.custom_filter_list}}{% endif %}</textarea>
<div class="d-flex"> <div class="d-flex">
<small>Use a new line for each filter entry. Limit of 1000 characters.</small> <small>Use a new line for each filter entry. Limit of 1000 characters.</small>
<input autocomplete="off" class="btn btn-primary ml-auto" id="bioSave" type="submit" value="Save Changes"> <input autocomplete="off" class="btn btn-primary ml-auto" id="bioSave" type="submit" onclick="this.classList.add('disabled')" value="Save Changes">
</div> </div>
</form> </form>

View File

@ -328,7 +328,7 @@
{% if v.discord_id %} {% if v.discord_id %}
<form action="/settings/remove_discord" method="post"> <form action="/settings/remove_discord" method="post">
<input type="hidden" name="formkey" value="{{v.formkey}}"> <input type="hidden" name="formkey" value="{{v.formkey}}">
<input type="submit" class="btn btn-secondary text-capitalize mr-2 mb-0 mt-2" value="Disconnect Discord"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-secondary text-capitalize mr-2 mb-0 mt-2" value="Disconnect Discord">
</form> </form>
<div class="text-small-extra text-muted mt-3">Disconnecting your Discord account will remove you from the {{SITE_NAME}} Discord server.</div> <div class="text-small-extra text-muted mt-3">Disconnecting your Discord account will remove you from the {{SITE_NAME}} Discord server.</div>
@ -383,7 +383,7 @@
<input autocomplete="off" type="text" name="name" class="form-control" value="{{v.username}}"> <input autocomplete="off" type="text" name="name" class="form-control" value="{{v.username}}">
<small>3-25 characters, including letters, numbers, _ , and -</small> <small>3-25 characters, including letters, numbers, _ , and -</small>
<div class="d-flex mt-2"> <div class="d-flex mt-2">
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Change Display Name"> <input autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Change Display Name">
</div> </div>
</form> </form>
</div> </div>
@ -415,7 +415,7 @@
<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 != v.id|string %}https://youtu.be/{{v.song}}{% endif %}" placeholder='Enter a YouTube video link here'> <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 != v.id|string %}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"> <input class="btn btn-primary" style="font-size: min(3.5vw,16px)!important" autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Submit">
</form> </form>
<br><small>In some browsers, users have to click at least once anywhere in the profile page for the anthem to play.</small> <br><small>In some browsers, users have to click at least once anywhere in the profile page for the anthem to play.</small>
@ -475,7 +475,7 @@
<a class="format" role="button"><i class="btn btn-secondary format d-inline-block m-0 fas fa-smile-beam" onclick="loadEmojis('customtitlebody')" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Add Emoji"></i></a> <a class="format" role="button"><i class="btn btn-secondary format d-inline-block m-0 fas fa-smile-beam" onclick="loadEmojis('customtitlebody')" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Add Emoji"></i></a>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
<small>Limit of 100 characters</small> <small>Limit of 100 characters</small>
<input {% if v.flairchanged %}disabled{% endif %} autocomplete="off" class="btn btn-primary ml-auto" id="titleSave" type="submit" value="Change Flair"> <input {% if v.flairchanged %}disabled{% endif %} autocomplete="off" class="btn btn-primary ml-auto" id="titleSave" type="submit" onclick="this.classList.add('disabled')" value="Change Flair">
</div> </div>
</form> </form>
</div> </div>
@ -575,7 +575,7 @@
<input minlength=1 maxlength=100 autocomplete="off" id="checkmark_text" type="text" name="title" class="form-control" placeholder='Enter text here' value="{{v.verified}}"> <input minlength=1 maxlength=100 autocomplete="off" id="checkmark_text" type="text" name="title" class="form-control" placeholder='Enter text here' value="{{v.verified}}">
<div class="d-flex mt-2"> <div class="d-flex mt-2">
<small>Limit of 100 characters</small> <small>Limit of 100 characters</small>
<input autocomplete="off" class="btn btn-primary ml-auto" id="titleSave" type="submit" value="Change Text"> <input autocomplete="off" class="btn btn-primary ml-auto" id="titleSave" type="submit" onclick="this.classList.add('disabled')" value="Change Text">
</div> </div>
</form> </form>
</div> </div>
@ -612,7 +612,7 @@
<pre></pre> <pre></pre>
<div class="d-flex"> <div class="d-flex">
<small>Limit of 1500 characters</small> <small>Limit of 1500 characters</small>
<input autocomplete="off" class="btn btn-primary ml-auto" id="bioSave" type="submit" value="Save Changes"> <input autocomplete="off" class="btn btn-primary ml-auto" id="bioSave" type="submit" onclick="this.classList.add('disabled')" value="Save Changes">
</div> </div>
</form> </form>
</div> </div>
@ -631,7 +631,7 @@
<pre></pre> <pre></pre>
<div class="d-flex"> <div class="d-flex">
<small>Limit of 500 characters</small> <small>Limit of 500 characters</small>
<input autocomplete="off" class="btn btn-primary ml-auto" id="friendsSave" type="submit" value="Save Changes"> <input autocomplete="off" class="btn btn-primary ml-auto" id="friendsSave" type="submit" onclick="this.classList.add('disabled')" value="Save Changes">
</div> </div>
</form> </form>
</div> </div>
@ -650,7 +650,7 @@
<pre></pre> <pre></pre>
<div class="d-flex"> <div class="d-flex">
<small>Limit of 500 characters</small> <small>Limit of 500 characters</small>
<input autocomplete="off" class="btn btn-primary ml-auto" id="enemiesSave" type="submit" value="Save Changes"> <input autocomplete="off" class="btn btn-primary ml-auto" id="enemiesSave" type="submit" onclick="this.classList.add('disabled')" value="Save Changes">
</div> </div>
</form> </form>
</div> </div>
@ -680,7 +680,7 @@
<pre></pre> <pre></pre>
<div class="d-flex"> <div class="d-flex">
<small>Limit of 200 characters</small> <small>Limit of 200 characters</small>
<input autocomplete="off" class="btn btn-primary ml-auto" id="sigSave" type="submit" value="Save Changes"> <input autocomplete="off" class="btn btn-primary ml-auto" id="sigSave" type="submit" onclick="this.classList.add('disabled')" value="Save Changes">
</div> </div>
</form> </form>
</div> </div>

View File

@ -23,7 +23,7 @@
<textarea autocomplete="off" class="form-control rounded" id="bio-text" aria-label="With textarea" placeholder="Custom profile css" rows="50" name="profilecss" form="profile-settings" maxlength="4000">{% if v.profilecss %}{{v.profilecss}}{% endif %}</textarea> <textarea autocomplete="off" class="form-control rounded" id="bio-text" aria-label="With textarea" placeholder="Custom profile css" rows="50" name="profilecss" form="profile-settings" maxlength="4000">{% if v.profilecss %}{{v.profilecss}}{% endif %}</textarea>
<small>Limit of 4000 characters</small> <small>Limit of 4000 characters</small>
<div class="d-flex mt-2"> <div class="d-flex mt-2">
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Save"> <input autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Save">
</div> </div>
</form> </form>
</div> </div>

View File

@ -48,9 +48,9 @@
<a class="btn btn-success" role="button" onclick="post_toast(this,'/settings/gumroad')">Claim paypig rewards</a> <a class="btn btn-success" role="button" onclick="post_toast(this,'/settings/gumroad')">Claim paypig rewards</a>
{% endif %} {% endif %}
{% if v.email %} {% if v.email %}
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Update email"> <input autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Update email">
{% else %} {% else %}
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Add email"> <input autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Add email">
{% endif %} {% endif %}
</div> </div>
{% if SITE_NAME not in ('Cringetopia', 'WPD') %} {% if SITE_NAME not in ('Cringetopia', 'WPD') %}
@ -129,7 +129,7 @@
<div class="d-flex"> <div class="d-flex">
<input autocomplete="off" class="btn btn-primary ml-auto" <input autocomplete="off" class="btn btn-primary ml-auto"
type="submit" value="Change Password"> type="submit" onclick="this.classList.add('disabled')" value="Change Password">
</div> </div>
@ -199,7 +199,7 @@
<div class="d-flex"> <div class="d-flex">
<input autocomplete="off" class="btn btn-primary ml-auto" <input autocomplete="off" class="btn btn-primary ml-auto"
type="submit" value="Log out everywhere"> type="submit" onclick="this.classList.add('disabled')" value="Log out everywhere">
</div> </div>

View File

@ -25,7 +25,7 @@
{% if v.mods(sub.name) %} {% if v.mods(sub.name) %}
<form action="/h/{{sub.name}}/unexile/{{user.id}}" method="post"> <form action="/h/{{sub.name}}/unexile/{{user.id}}" method="post">
<input type="hidden" name="formkey" value="{{v.formkey}}"> <input type="hidden" name="formkey" value="{{v.formkey}}">
<input class="btn btn-primary" autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Unexile"> <input class="btn btn-primary" autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Unexile">
</form> </form>
{% endif %} {% endif %}
</td> </td>

View File

@ -25,7 +25,7 @@
<form action="/h/{{sub.name}}/remove_mod" method="post"> <form action="/h/{{sub.name}}/remove_mod" method="post">
<input type="hidden" name="formkey" value="{{v.formkey}}"> <input type="hidden" name="formkey" value="{{v.formkey}}">
<input type="hidden" name="uid" value="{{user.id}}"> <input type="hidden" name="uid" value="{{user.id}}">
<input class="btn btn-primary" autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="{% if v.id == user.id %}Resign{% else %}Remove Mod{% endif %}"> <input class="btn btn-primary" autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="{% if v.id == user.id %}Resign{% else %}Remove Mod{% endif %}">
</form> </form>
{% endif %} {% endif %}
</td> </td>
@ -38,7 +38,7 @@
<form action="/h/{{sub.name}}/add_mod" method="post"> <form action="/h/{{sub.name}}/add_mod" method="post">
<input type="hidden" name="formkey" value="{{v.formkey}}"> <input type="hidden" name="formkey" value="{{v.formkey}}">
<input class="form-control" style="display:inline;width:250px" autocomplete="off" type="text" name="user" class="form-control" placeholder="Enter username.."> <input class="form-control" style="display:inline;width:250px" autocomplete="off" type="text" name="user" class="form-control" placeholder="Enter username..">
<input class="btn btn-primary" autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Add Mod"> <input class="btn btn-primary" autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Add Mod">
</form> </form>
{% endif %} {% endif %}

View File

@ -114,7 +114,7 @@
<textarea autocomplete="off" maxlength="500" class="form-control rounded" id="bio-text" aria-label="With textarea" placeholder="Enter sidebar here..." rows="10" name="sidebar" form="sidebar">{% if sub.sidebar %}{{sub.sidebar}}{% endif %}</textarea> <textarea autocomplete="off" maxlength="500" class="form-control rounded" id="bio-text" aria-label="With textarea" placeholder="Enter sidebar here..." rows="10" name="sidebar" form="sidebar">{% if sub.sidebar %}{{sub.sidebar}}{% endif %}</textarea>
<div class="d-flex mt-2"> <div class="d-flex mt-2">
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Save"> <input autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Save">
</div> </div>
</form> </form>
</div> </div>
@ -137,7 +137,7 @@
<textarea autocomplete="off" maxlength="4000" class="form-control rounded" id="bio-text" aria-label="With textarea" placeholder="Enter css here..." rows="10" name="css" form="css">{% if sub.css %}{{sub.css}}{% endif %}</textarea> <textarea autocomplete="off" maxlength="4000" class="form-control rounded" id="bio-text" aria-label="With textarea" placeholder="Enter css here..." rows="10" name="css" form="css">{% if sub.css %}{{sub.css}}{% endif %}</textarea>
<div class="d-flex mt-2"> <div class="d-flex mt-2">
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Save"> <input autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Save">
</div> </div>
</form> </form>
</div> </div>

View File

@ -206,7 +206,7 @@
</div> </div>
<div class="col text-right"> <div class="col text-right">
{% if error %}<span class="text-danger text-large mr-2">{{error}}</span>{% endif %} {% if error %}<span class="text-danger text-large mr-2">{{error}}</span>{% endif %}
<button class="btn btn-primary" id="create_button" type="submit" disabled>Post</button> <button class="btn btn-primary" id="create_button" type="submit" onclick="this.classList.add('disabled')" disabled>Post</button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -213,7 +213,7 @@
&nbsp; &nbsp;
<pre class="btn btn-secondary format d-inline-block m-0 fas fa-smile-beam" onclick="loadEmojis('input-message')" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Add Emoji"></pre> <pre class="btn btn-secondary format d-inline-block m-0 fas fa-smile-beam" onclick="loadEmojis('input-message')" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Add Emoji"></pre>
&nbsp; &nbsp;
<input type="submit" value="Submit" class="btn btn-primary"> <input type="submit" onclick="this.classList.add('disabled')" value="Submit" class="btn btn-primary">
</form> </form>
<div id="message-preview" class="preview mt-2"></div> <div id="message-preview" class="preview mt-2"></div>
@ -257,7 +257,7 @@
<label class="custom-control-label" for="locked">locked</label> <label class="custom-control-label" for="locked">locked</label>
</div> </div>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Change Flair"> <input autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Change Flair">
</div> </div>
</form> </form>
</div> </div>
@ -268,7 +268,7 @@
<form action="/unban_user/{{u.id}}/" method="post" action=""> <form action="/unban_user/{{u.id}}/" method="post" action="">
<input type="hidden" name="formkey" value="{{v.formkey}}"> <input type="hidden" name="formkey" value="{{v.formkey}}">
<input type="hidden" name="redir" value="true"> <input type="hidden" name="redir" value="true">
<input type="submit" class="btn btn-success" value="Unban user"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-success" value="Unban user">
</form> </form>
{% else %} {% else %}
<form action="/ban_user/{{u.id}}" method="post" action=""> <form action="/ban_user/{{u.id}}" method="post" action="">
@ -280,7 +280,7 @@
<input autocomplete="off" type="checkbox" id="alts-2-desktop" class="custom-control-input" name="alts" value="1"> <input autocomplete="off" type="checkbox" id="alts-2-desktop" class="custom-control-input" name="alts" value="1">
<label class="custom-control-label" for="alts-2-desktop">Include alts</label> <label class="custom-control-label" for="alts-2-desktop">Include alts</label>
</div> </div>
<input autocomplete="off" id="user-ban-submit" type="submit" class="btn btn-danger" value="Ban user" disabled> <input autocomplete="off" id="user-ban-submit" type="submit" onclick="this.classList.add('disabled')" class="btn btn-danger" value="Ban user" disabled>
</form> </form>
{% endif %} {% endif %}
<pre></pre> <pre></pre>
@ -288,7 +288,7 @@
<form id="agendaposter1" class="{% if u.agendaposter %}d-none{% endif %}" action="/agendaposter/{{u.id}}" method="post"> <form id="agendaposter1" class="{% if u.agendaposter %}d-none{% endif %}" action="/agendaposter/{{u.id}}" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}"> <input type="hidden" name="formkey", value="{{v.formkey}}">
<input autocomplete="off" type="number" step="any" name="days" class="form-control" placeholder="Days (0 or blank = permanent)"> <input autocomplete="off" type="number" step="any" name="days" class="form-control" placeholder="Days (0 or blank = permanent)">
<input type="submit" class="btn btn-danger" value="Lock Chud Theme"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-danger" value="Lock Chud Theme">
</form> </form>
<a id="unagendaposter" class="{% if not u.agendaposter %}d-none{% endif %} btn btn-success" role="button" onclick="post_toast2(this,'/unagendaposter/{{u.id}}','agendaposter1','unagendaposter')">Disable Chud Theme</a> <a id="unagendaposter" class="{% if not u.agendaposter %}d-none{% endif %} btn btn-success" role="button" onclick="post_toast2(this,'/unagendaposter/{{u.id}}','agendaposter1','unagendaposter')">Disable Chud Theme</a>
@ -305,13 +305,13 @@
<form action="/admin/unnuke_user" method="post"> <form action="/admin/unnuke_user" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}"> <input type="hidden" name="formkey", value="{{v.formkey}}">
<input type="hidden" name="user" value="{{u.username}}"> <input type="hidden" name="user" value="{{u.username}}">
<input type="submit" class="btn btn-success" value="Approve User's Content"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-success" value="Approve User's Content">
</form> </form>
<pre></pre> <pre></pre>
<form action="/admin/nuke_user" method="post"> <form action="/admin/nuke_user" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}"> <input type="hidden" name="formkey", value="{{v.formkey}}">
<input type="hidden" name="user" value="{{u.username}}"> <input type="hidden" name="user" value="{{u.username}}">
<input type="submit" class="btn btn-danger" value="Remove User's Content"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-danger" value="Remove User's Content">
</form> </form>
<pre></pre> <pre></pre>
<button id="grant2" class="{% if u.paid_dues %}d-none{% endif %} btn btn-success" onclick="post_toast2(this,'/@{{u.username}}/club_allow','grant2','bar2')">Grant club access</button> <button id="grant2" class="{% if u.paid_dues %}d-none{% endif %} btn btn-success" onclick="post_toast2(this,'/@{{u.username}}/club_allow','grant2','bar2')">Grant club access</button>
@ -527,7 +527,7 @@
&nbsp; &nbsp;
<pre class="btn btn-secondary format d-inline-block m-0 fas fa-smile-beam" onclick="loadEmojis('input-message-mobile')" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Add Emoji"></pre> <pre class="btn btn-secondary format d-inline-block m-0 fas fa-smile-beam" onclick="loadEmojis('input-message-mobile')" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Add Emoji"></pre>
&nbsp; &nbsp;
<input type="submit" value="Submit" class="btn btn-primary"> <input type="submit" onclick="this.classList.add('disabled')" value="Submit" class="btn btn-primary">
</form> </form>
<div id="message-preview-mobile" class="preview my-3"></div> <div id="message-preview-mobile" class="preview my-3"></div>
@ -567,7 +567,7 @@
<label class="custom-control-label" for="locked-mobile">locked</label> <label class="custom-control-label" for="locked-mobile">locked</label>
</div> </div>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Change Flair"> <input autocomplete="off" class="btn btn-primary ml-auto" type="submit" onclick="this.classList.add('disabled')" value="Change Flair">
</div> </div>
</form> </form>
</div> </div>
@ -578,7 +578,7 @@
<form action="/unban_user/{{u.id}}" method="post"> <form action="/unban_user/{{u.id}}" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}"> <input type="hidden" name="formkey", value="{{v.formkey}}">
<input type="hidden" name="redir" value="true"> <input type="hidden" name="redir" value="true">
<input type="submit" class="btn btn-success" value="Unban user"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-success" value="Unban user">
</form> </form>
{% else %} {% else %}
<form action="/ban_user/{{u.id}}/" method="post"> <form action="/ban_user/{{u.id}}/" method="post">
@ -592,7 +592,7 @@
<label class="custom-control-label" for="alts-2-mobile">Include alts</label> <label class="custom-control-label" for="alts-2-mobile">Include alts</label>
</div> </div>
<br > <br >
<input autocomplete="off" id="user-ban-submit2" type="submit" class="btn btn-danger" value="Ban user" disabled> <input autocomplete="off" id="user-ban-submit2" type="submit" onclick="this.classList.add('disabled')" class="btn btn-danger" value="Ban user" disabled>
</form> </form>
{% endif %} {% endif %}
<pre></pre> <pre></pre>
@ -600,7 +600,7 @@
<form id="agendaposter2" class="{% if u.agendaposter %}d-none{% endif %}" action="/agendaposter/{{u.id}}" method="post"> <form id="agendaposter2" class="{% if u.agendaposter %}d-none{% endif %}" action="/agendaposter/{{u.id}}" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}"> <input type="hidden" name="formkey", value="{{v.formkey}}">
<input autocomplete="off" type="number" step="any" name="days" class="form-control" placeholder="Days (0 or blank = permanent)"> <input autocomplete="off" type="number" step="any" name="days" class="form-control" placeholder="Days (0 or blank = permanent)">
<input type="submit" class="btn btn-danger" value="Lock Chud Theme"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-danger" value="Lock Chud Theme">
</form> </form>
<a id="unagendaposter2" class="{% if not u.agendaposter %}d-none{% endif %} btn btn-success" role="button" onclick="post_toast2(this,'/unagendaposter/{{u.id}}','agendaposter2','unagendaposter2')">Disable Chud Theme</a> <a id="unagendaposter2" class="{% if not u.agendaposter %}d-none{% endif %} btn btn-success" role="button" onclick="post_toast2(this,'/unagendaposter/{{u.id}}','agendaposter2','unagendaposter2')">Disable Chud Theme</a>
@ -617,13 +617,13 @@
<form action="/admin/unnuke_user" method="post"> <form action="/admin/unnuke_user" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}"> <input type="hidden" name="formkey", value="{{v.formkey}}">
<input type="hidden" name="user" value="{{u.username}}"> <input type="hidden" name="user" value="{{u.username}}">
<input type="submit" class="btn btn-success" value="Approve User's Content"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-success" value="Approve User's Content">
</form> </form>
<pre></pre> <pre></pre>
<form action="/admin/nuke_user" method="post"> <form action="/admin/nuke_user" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}"> <input type="hidden" name="formkey", value="{{v.formkey}}">
<input type="hidden" name="user" value="{{u.username}}"> <input type="hidden" name="user" value="{{u.username}}">
<input type="submit" class="btn btn-danger" value="Remove User's Content"> <input type="submit" onclick="this.classList.add('disabled')" class="btn btn-danger" value="Remove User's Content">
</form> </form>
{% endif %} {% endif %}
{% endif %} {% endif %}