Merge branch 'frost' of https://github.com/Aevann1/rDrama into frost

master
Aevann1 2022-09-14 10:01:28 +02:00
commit 4de53229d0
21 changed files with 392 additions and 504 deletions

View File

@ -1,60 +1,64 @@
:root {
--white: #f1f1f1 !important;
--black1: #888 !important;
--black2: #222222 !important;
--black3: #4f4f4f !important;
--gray : #ccc !important;
--gray-400 : white !important;
--red: #b40457 !important;
--blue: #369 !important;
--upvote: #ff8b60 !important;
--downvote: #9393ff !important;
--sticky: #228822 !important;
--primary: var(--black1) !important;
--bg1: url('../images/classic1.webp') !important;
--bg2: url('../images/classic2.webp') !important;
}
/*navbar*/
.navbar-light, .navbar .container-fluid, #mobile-bottom-navigation-bar {
background-color: var(--white) !important;
}
.form-inline.search input {
background-color: white !important;
}
.nav.settings-nav {
background-color: var(--red);
}
.nav-link.active {
color: var(--white) !important;
box-shadow: inset 0 -2px 0 var(--white) !important;
}
.nav-link {
color: var(--gray) !important;
}
/*common*/
body, .card, #main-content-row {
background-color: var(--white) !important;
background-image: var(--bg2) !important;
color: var(--black1);
:root {
--muted: #666 ;
--black: #444;
--primary: #b40457;
--grey1: #888;
--grey2: #999;
--upvote: #ff8b60;
--downvote: #9393ff;
--sticky: #228822;
}
.posts .card {
border-color: var(--gray) !important;
body {
background-image: url(/i/classic2.webp);
}
.btn-primary, .btn-secondary {
background-color: var(--red) !important;
color: white !important;
border-color: transparent;
* {
border-color: var(--muted) !important;
}
#frontpage .container, #thread .container {
max-width: 2160px;
}
.sidebar {
background-color: white;
border-radius: 0px;
margin-top: 0;
margin-right: 0;
}
.no-gutters {
margin-top: 1rem;
}
.navbar {
background-color: white !important
}
.btn-primary {
background-color: var(--primary) !important;
color:white;
}
.dropdown-menu {
background-color: white;
}
.dropdown-item i {
color: var(--muted) !important;
}
#mobile-bottom-navigation-bar {
background-color: white !important;
}
input, textarea, .form-control {
background-color:white !important;
}
/*decoration*/
.score-up, .active.arrow-up::before, .arrow-up::after, .arrow-up:hover::before {
color: var(--upvote) !important;
}
@ -64,479 +68,102 @@ body, .card, #main-content-row {
}
.arrow-up::before, .arrow-down::before, .score {
color: var(--black1);
color: var(--muted);
}
.controversial {
color: var(--red) !important;
.pronouns {
background-color: white;
}
a {
color: var(--blue);
}
.post-title a {
color: var(--blue) !important;
}
.fa-thumbtack.text-admin, .card.stickied .post-title a:not(:visited) {
color: var(--sticky) !important;
}
.flaggers, .flaggers a {
background-color: white !important;
color: var(--black3) !important;
border-color: var(--gray);
}
.dropdown-menu, .dropdown-menu a {
color: var(--black3);
background-color: white;
}
.popover, .pop-username, .pop-bio, .popover-user-profile, .popover-user-profile * {
background-color: var(--white);
color: var(--black3);
border-color: var(--black1) !important;
}
.text-muted {
color: var(--gray) !important;
}
/*frontpage*/
#frontpage .container {
max-width: 2160px;
padding-left: 20px;
padding-right: 20px;
}
#frontpage .d-lg-flex,
#frontpage .font-weight-bold.py-3 {
display: none !important;
}
#frontpage .sidebar {
background-color: white !important;
color: black;
}
#frontpage .col .h-100 .custom-gutters .row .col {
background-image: var(--bg1) !important;
color: white !important;
}
#frontpage .dropdown .btn {
background-color:transparent !important;
color:yellow;
text-shadow: -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black, 1px 1px 0 black !important;
border-color: transparent;
font-size: 1.3rem;
}
#frontpage .dropdown-toggle, #frontpage i.fas.mr-1 {
color:yellow !important;
}
/*post*/
.post-meta, .post-actions a, .post-actions button, .nav-link .fas, label, small, .comment-actions * {
color: var(--black1) !important;
}
.comment, .comment-text, .comment-section, .comment-body, .post-body {
background-color: white;
color: var(--black2) !important;
}
#post-text {
margin: 15px;
}
.anchor.comment {
border-left: 2px dotted var(--black1) !important;
}
.comment-collapse-desktop {
border-left: none !important;
}
blockquote {
border-left: 2px solid #c5c1ad !important;
background-color: white !important;
color: #4f4f4f !important;
}
.form-control, .comment-box.form-control.rounded {
background-color: white !important;
color: var(--black2) !important;
}
.comment-box, .form-control{
border-color: var(--black1) !important;
}
.text-info.new-comments {
color: #ff4500 !important;
}
#thread #dropdownMenuButton {
background-color: var(--red) !important;
color: white !important;
border-color: transparent;
}
.btn.format {
background-color: transparent !important;
color: var(--black1) !important;
border-color: transparent !important;
}
/*userpage*/
#userpage .nav.settings-nav {
background-color: transparent;
}
#userpage .nav-link {
color: var(--red) !important;
}
#userpage .nav-link.active {
box-shadow: inset 0 -2px 0 var(--red) !important;
}
/*leaderboard*/
#settings2 .container, #settings2 .container-fluid {
background-color: transparent !important;
}
#settings2 .bg-white {
background-color: var(--white) !important;
}
#settings2 .text-muted {
color: var(--black1) !important;
}
#settings2 .nav.settings-nav {
margin: auto !important;
}
#settings2 .table {
color: var(--black1);
}
/*shop*/
#message .container {
background-color: transparent !important;
}
#message .table {
color: var(--black1);
}
/*submit*/
#submit .container {
background-color: transparent !important
}
#submit .text-muted {
color: var(--black1) !important;
}
#submit #create_button {
background-color: var(--red) !important;
color: white !important;
border-color: transparent;
}
#submit .btn.format {
background-color: transparent !important;
color: var(--black1) !important;
border-color: transparent !important;
}
#submit .row.fixed-bottom {
background-color: var(--white) !important
}
/*settings*/
#settings .text-small, #settings .text-small-extra {
color: var(--black1) !important;
}
#settings .custom-control-label::before {
background-color: var(--gray) !important;
}
#settings .custom-control-input:checked ~ .custom-control-label::before {
opacity: 1;
background-color: var(--black1) !important;
border: var(--blue) solid 0.1px;
}
/*assorted patches I don't feel like categorizing*/
#followers-table td {
color: var(--black3);
}
.btn-danger {
border-color: #E53E3E !important;
color: red !important;
}
.btn.caction .score-up {
color: var(--upvote) !important;
}
.btn.caction .score-down {
color: var(--downvote) !important;
}
.user-info .text-muted {
color: var(--black1) !important;
}
.shop .btn {
background-color: var(--black1) !important;
}
#mobile-bottom-navigation-bar .text-primary {
color: var(--red) !important;
}
#mobile-bottom-navigation-bar .text-muted {
color: var(--black1) !important;
}
#settings2 .nav-link.active .fas {
color: var(--white) !important;
}
#navbarResponsive .nav-link {
color: var(--black1) !important;
}
.mobile-nav-icon {
color: var(--black1);
}
/*patch*/
#frontpage .container {
margin-top: -5px
}
.table {
color: var(--black3)
}
:root {
--gold: #f59e0b !important;
--pink: #ec72de !important;
--purple: #9333ea !important;
--bluecheck: #1DA1F2 !important;
--red-hover: #d2106c !important
}
#settings2 .text-muted {
color: var(--black3)!important;
}
.fa-robot {
color: var(--purple) !important;
.fa-thumbtack.text-admin {
color: var(--sticky);
}
.fa-broom {
color: var(--sticky) !important;
}
.post-title span.patron {
background-color: var(--purple)
}
.btn-primary:hover, .btn-secondary:hover {
background-color: var(--red-hover) !important;
color: white!important;
border-color: var(--red-hover)
}
.dropdown-menu a:hover {
color: var(--red);
background-color: #fff;
font-weight: bold;
}
#frontpage .card-header div {
z-index: 2 !important;
}
#navbarResponsive .nav-link:hover i {
color: var(--red) !important;
}
.btn-secondary:focus, .btn-secondary.focus {
box-shadow: none;
background-color: white!important;
color: var(--red)!important;
border-color: var(--red);
}
.shop .btn {
border-color: var(--gray) !important;
background-color: var(--red) !important;
}
.nav-link.active {
font-weight: bold;
}
a.text-danger, button.text-danger {
color: #dc3545 !important
}
a.text-info, button.text-info {
color: var(--sticky) !important
}
label.custom-control-label::after, label.custom-control-label::before {
background-color: var(--black1) !important
}
.custom-control-input:checked ~ .custom-control-label::after {
background-color: var(--gray) !important;
}
#settings .sticky {
top: 70px;
}
.border-bottom {
border-bottom: 1px solid var(--gray) !important;
}
a.nav-link:hover {
color: white !important
}
.nav.settings-nav {
border: 1px solid var(--red-hover)
}
#thread .anchor.comment {
border-left: 2px solid var(--gray)!important;
}
.anchor.comment.mt-0 {
border-left: none !important;
}
.notifs .anchor.comment {
border-left: none !important;
}
.notifs .comment-collapse-desktop {
border-left: 2px solid var(--gray)!important;
}
#userpage .nav.settings-nav {
border:none;
}
#userpage .btn-danger {
background-color:red !important;
color: white !important;
border-color: var(--gold) !important
}
#userpage .btn-success {
background-color: var(--sticky) !important;
color: white !important;
border-color: var(--gold) !important
}
#userpage .container-fluid.pb-0.text-center.bg-white.d-md-none {
margin-top: -32px !important;
}
#userpage .profile-pic-65 {
border-radius: 0;
border-color: transparent !important;
}
#settings2 .nav.settings-nav .fas {
color: var(--gray) !important
}
#settings2 .nav-link.active .fas {
color: white !important
}
#settings2 .btn .fas {
color: white !important
}
#frontpage .settings .d-lg-flex {
display: block !important;
}
#frontpage .container .col-lg-8 {
background-image: none !important;
}
#post-text a, #post-text img {
margin-left: 0px;
margin-right: 0px;
margin-top: 0px;
}
.tooltip {
color:black !important;
background-color:white;
}
#frontpage .btn.btn-secondary.text-small-m {
color: #ff0 !important;
text-shadow: -1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000 !important;
background: transparent !important;
}
.d-flex.justify-content-between.align-items-center.pt-3.pb-2.sorting {
float: left !important;
padding-top: 0 !important;
/*front page*/
a.btn-block[href~="/submit"] {
display:none;
}
.sorting {
padding-bottom: 0 !important;
float:left !important;
padding-top: 5px !important;
}
.comment-anchor:target, .unread {
background: #88888833 !important;
padding: 12px;
#frontpage #main-content-col .row:first-child {
background-image: url(/i/classic1.webp);
background-position:center;
background-repeat: repeat-x;
margin-top: -12px;
margin-bottom:-15px;
}
#chat-window {
background-color: white !important;
.sorting .btn {
color: white;
text-shadow: -1px -1px 0 black,1px -1px 0 black,-1px 1px 0 black,1px 1px 0 black;
border:none;
}
.chat-message {
color: var(--black2) !important;
#frontpage .sorting .text-primary {
color: yellow !important;
text-decoration: underline;
background-color:transparent !important;
}
.sidebar
{
background-color: #f3f3f3 !important;
border-radius: 0px;
margin-top: 5px;
#frontpage #dropdownMenuButton, #frontpage #dropdownMenuButton2, .sorting .dropdown i {
color: yellow;
}
/* award modal text legibility */
#awardModalBody .text-muted {
color: var(--black3) !important;
.card {
border-color: var(--grey2) !important;
}
#awardModalBody .card .pt-2 {
color: var(--black3) !important;
.modal-content {
background-color: white
}
h5.post-title a:visited {
color: #6e6e6e !important;
#frontpage .post-title a:not(:visited) {
color: #369;
}
#frontpage .card.stickied .post-title a {
color: var(--sticky);
}
/*posts*/
#thread .container, #thread .card {
background: transparent !important;
}
@media (min-width: 992px){
#thread #main-content-col {
padding-left:3rem;
padding-right: 3rem;
}
}
.comment-section, .comment {
background-color: white;
}
blockquote {
background-color: var(--grey1);
color: white;
}
/*userpage*/
.jumbotron {
color: var(--grey2);
}
/*casino*/
#casino-game-wrapper .row-cols-1, #casino-game-wrapper .row-cols-2 {
background-image: none !important;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -119,7 +119,6 @@ AGENDAPOSTER_MSG_HTML = """<p>Hi <a href="/id/{id}"><img loading="lazy" src="/pp
<p><em>This is an automated message; if you need help, you can message us <a href="/contact">here</a>.</em></p>"""
################################################################################
### SITE SPECIFIC CONSTANTS
################################################################################
@ -155,6 +154,7 @@ FEATURES = {
'MARKUP_COMMANDS': True,
'REPOST_DETECTION': True,
'PATRON_ICONS': False,
'ORDER': False
}
EMOJI_MARSEYS = True
@ -217,6 +217,7 @@ SNAPPY_THREAD = 0
if SITE == 'rdrama.net':
FEATURES['PRONOUNS'] = True
FEATURES['HOUSES'] = True
FEATURES['ORDER'] = True
SIDEBAR_THREAD = 37696
BANNER_THREAD = 37697
@ -314,6 +315,7 @@ elif SITE == 'watchpeopledie.co':
else: # localhost or testing environment implied
FEATURES['PRONOUNS'] = True
FEATURES['HOUSES'] = True
FEATURES['ORDER'] = True
if CARP_ID: GIFT_NOTIF_ID = CARP_ID
elif AEVANN_ID: GIFT_NOTIF_ID = AEVANN_ID

View File

@ -180,6 +180,37 @@ def static_megathread_index(v):
def api(v):
return render_template("api.html", v=v)
@app.get("/order")
@auth_desired
def order(v):
if not FEATURES['ORDER']: abort(404)
if v: return redirect("/")
return render_template("order.html", v=v)
@app.post("/order")
@limiter.limit("1/hour;2/day")
def submit_order():
if not FEATURES['ORDER']: abort(404)
body = request.values.get("message")
if not body: abort(400)
body = 'This message has been sent automatically to all admins via [/order](/order)\n\nMessage:\n\n' + body
body = body.strip()
body_html = sanitize(body)
new_comment = Comment(author_id=AUTOJANNY_ID, parent_submission=None, level=1, body_html=body_html, sentto=2)
g.db.add(new_comment)
g.db.flush()
new_comment.top_comment_id = new_comment.id
for admin in g.db.query(User).filter(User.admin_level > 2, User.id != AEVANN_ID).all():
notif = Notification(comment_id=new_comment.id, user_id=admin.id)
g.db.add(notif)
return {"success": True}
@app.get("/contact")
@app.get("/contactus")
@app.get("/contact_us")

View File

@ -56,7 +56,6 @@
}
</style>
{% endif %}
<div class="navbar navbar-expand-md navbar-light" id="navbar">
<div class="container-fluid" style="padding:0;">
<a href="/" class="navbar-brand mr-auto {% if not has_logo and not sub %}flex-grow-1{% endif %}">
@ -249,14 +248,19 @@
{% if SITE_NAME == 'rDrama' %}
<a class="dropdown-item" href="/archives"><i class="fas fa-book fa-fw mr-3"></i>Archives</a>
{% endif %}
<a class="dropdown-item" href="/contact"><i class="fas fa-file-signature fa-fw mr-3"></i>Contact us</a>
{% endif %}
<a class="dropdown-item" href="/contact"><i class="fas fa-file-signature fa-fw mr-3"></i>Contact us</a>
<a class="dropdown-item" role="button", onclick="post_toast(this,'/logout', true)"><i class="fas fa-sign-out fa-fw mr-3"></i>Log out</a>
</div>
</div>
</li>
{% else %}
<li class="nav-item d-flex align-items-center justify-content-center mx-1">
{% if FEATURES['ORDER'] %}
<li class="nav-item d-flex align-items-center justify-content-center mx-1 mr-2">
<a class="btn btn-primary" href="/order">Request a quote</a>
</li>
{% endif %}
<li class="nav-item d-flex align-items-center justify-content-center mx-1 mr-2">
<a class="btn btn-primary" href="/contact">Contact us</a>
</li>
<li class="nav-item d-flex align-items-center justify-content-center mx-1">
@ -320,6 +324,11 @@
<a class="nav-link" role="button", onclick="post_toast(this,'/logout', true)"><i class="fas fa-sign-out fa-fw mr-3 text-danger"></i>Log out</a>
</li>
{% else %}
{% if FEATURES['ORDER'] %}
<li class="nav-item d-flex align-items-center justify-content-center pb-3">
<a class="btn btn-primary btn-block" href="/order">Request a quote</a>
</li>
{% endif %}
<li class="nav-item d-flex align-items-center justify-content-center pb-3">
<a class="btn btn-primary btn-block" href="/contact">Contact us</a>
</li>

View File

@ -0,0 +1,218 @@
{% extends "default.html" %}
{% block content %}
<style>
.order-form {
margin: 0 auto;
margin-top: 2rem;
max-width: 500px;
}
.order-form h2 {
display: flex;
align-items: center;
justify-content: center;
}
.order-form h2 hr {
flex: 1;
}
.order-form h2 span {
flex: 3;
text-align: center;
}
.order-form--heading,
.form-check {
text-transform: uppercase;
letter-spacing: 2px;
}
#orderSuccess {
display: flex;
align-items: center;
justify-content: center;
display: none;
padding-top: 5rem;
text-align: center;
}
.order-toast {
position: fixed;
bottom: 1.5rem;
margin: 0 auto;
left: 0;
right: 0;
width: unset;
z-index: 1000;
height: auto !important;
}
</style>
<form class="order-form" id="orderForm" action="#" onsubmit="submitForm(event)">
<h2 class="order-form--heading">
<hr /><span>Request a quote</span>
<hr />
</h2>
<!-- Platforms -->
<div class="mb-3">
<label class="order-form--heading">Platforms to target</label>
<div class="form-check">
<input name="platform" class="form-check-input" type="checkbox" id="defaultCheck1" value="twitter">
<label class="form-check-label" for="defaultCheck1">
Twitter
</label>
</div>
<div class="form-check">
<input name="platform" class="form-check-input" type="checkbox" id="defaultCheck2" value="instagram">
<label class="form-check-label" for="defaultCheck2">
Instagram
</label>
</div>
<div class="form-check">
<input name="platform" class="form-check-input" type="checkbox" id="defaultCheck3" value="tiktok">
<label class="form-check-label" for="defaultCheck3">
TikTok
</label>
</div>
<div class="form-check">
<input name="platform" class="form-check-input" type="checkbox" id="defaultCheck3" value="facebook">
<label class="form-check-label" for="defaultCheck4">
Facebook
</label>
</div>
<div class="form-check">
<input name="platform" class="form-check-input" type="checkbox" id="defaultCheck5" value="reddit">
<label class="form-check-label" for="defaultCheck5">
Reddit
</label>
</div>
</div>
<!-- Narrative -->
<div class="mb-3">
<label for="exampleInputPassword1" class="order-form--heading">Narrative to push</label>
<textarea form="orderForm" class="textarea form-control" id="narrativeToPush" name="narrative"
rows="5"></textarea>
</div>
<!-- Additional Information -->
<div class="mb-3">
<label for="exampleInputPassword1" class="order-form--heading">Additional information</label>
<textarea form="orderForm" class="textarea form-control" id="additionalInformation" name="info"
rows="5"></textarea>
</div>
<!-- Customer Email -->
<div class="mb-3">
<label for="exampleInputEmail1" class="order-form--heading">Your Email address</label>
<input type="email" class="form-control" id="exampleInputEmail1" name="email" aria-describedby="emailHelp">
<div id="emailHelp" class="form-text"><small>We respect your privacy. <a href="https://wikipedia.org/">Learn
more.</a></small></div>
</div>
<!-- Actions -->
<button type="submit" class="btn btn-primary">Request Quote</button>
</form>
<div id="orderSuccess">
<div class="order-form--heading">
<h1>Order Received</h1>
<p>We will get back to you as quickly as possible with a quote.</p>
</div>
</div>
<div class="toast order-toast" id="order-post-success" role="alert" aria-live="assertive" aria-atomic="true" data-bs-animation="true" data-bs-autohide="true"
data-bs-delay="5000">
<div class="toast-body bg-success text-center text-white">
<i class="fas fa-comment-alt-smile mr-2"></i> We have received your order.
</div>
</div>
<div class="toast order-toast" id="order-post-error" role="alert" aria-live="assertive" aria-atomic="true"
data-bs-animation="true" data-bs-autohide="true" data-bs-delay="5000">
<div class="toast-body bg-danger text-center text-white">
<i class="fas fa-exclamation-circle mr-2"></i>
rDrama is very busy right now -- please try your request again later.
</span>
</div>
</div>
<script>
function submitForm(e) {
e.preventDefault();
const formElement = document.getElementById('orderForm');
const formData = new FormData(formElement);
const structure = {
platforms: [],
narrative: "",
info: "",
email: ""
};
for (const [key, value] of formData.entries()) {
if (key === "platform") {
structure.platforms.push(value);
} else {
structure[key] = value;
}
}
const capitalize = word => `${word[0].toUpperCase()}${word.slice(1)}`
let platformText = capitalize(structure.platforms[0]);
if (structure.platforms.length === 2) {
platformText += ` and ${capitalize(structure.platforms[1])}`;
} else if (structure.platforms.length === 3) {
platformText += `, ${capitalize(structure.platforms[1])} and ${capitalize(structure.platforms[2])}`;
} else {
platformText += "all of your platforms"
}
const messageToSend = `
I am looking to push the following narrative on ${platformText}:
${structure.narrative}
${structure.info.length > 0 ? `Additionally, ${structure.info}` : ""}
You can contact me at ${structure.email}.
`;
const xhr = new XMLHttpRequest();
xhr.open("post", `/order`);
xhr.onload = function () {
try {
const response = JSON.parse(xhr.response);
const succeeded = xhr.status >= 200 &&
xhr.status < 300 &&
response &&
!response.error;
if (succeeded) {
const successElement = document.getElementById("orderSuccess");
const toast = document.getElementById("order-post-success");
bootstrap.Toast.getOrCreateInstance(toast).show();
formElement.style.display = "none";
successElement.style.display = "flex";
} else {
const toast = document.getElementById("order-post-error");
bootstrap.Toast.getOrCreateInstance(toast).show();
}
} catch (error) {
const toast = document.getElementById("order-post-error");
bootstrap.Toast.getOrCreateInstance(toast).show();
}
};
const form = new FormData();
form.append("formkey", formkey());
form.append("message", messageToSend);
xhr.send(form);
}
</script>
{% endblock %}

View File

@ -3,7 +3,7 @@ set CACHE_VER = {
'css/main.css': 4025,
'css/catalog.css': 4007,
'css/4chan.css': 4007,
'css/classic.css': 4007,
'css/classic.css': 4009,
'css/classic_dark.css': 4007,
'css/coffee.css': 4007,
'css/dark.css': 4007,

View File

@ -2654,6 +2654,7 @@ INSERT INTO public.badge_defs VALUES (167, 'OwOified', 'This user''s comments ge
INSERT INTO public.badge_defs VALUES (169, 'Early Life Checked', 'The Early Life section of this user is on full display', NULL);
INSERT INTO public.badge_defs VALUES (172, 'God Save The Kween', 'Commemorative badge awarded for outliving Her Maj', NULL);
INSERT INTO public.badge_defs VALUES (174, 'George', '@Marsey went to Spokane to fight @TrailerParkBride, but George the Mountain Lion was the real winner.', NULL);
INSERT INTO public.badge_defs VALUES (175, 'Pressuring Peer', 'You have applied pressure to poor souls undergoing rehabilitation [n] times. Shame on you!', 1663105259);
INSERT INTO public.badge_defs VALUES (4, 'White Hat', 'Discreetly reported an exploit', NULL);
INSERT INTO public.badge_defs VALUES (1, 'Alpha User', 'Joined during open alpha', NULL);
INSERT INTO public.badge_defs VALUES (2, 'Verified Email', 'Verified Email', NULL);
@ -2760,7 +2761,7 @@ INSERT INTO public.badge_defs VALUES (134, '1 Year Old 🥰', 'This user has was
-- Name: badge_defs_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--
SELECT pg_catalog.setval('public.badge_defs_id_seq', 174, true);
SELECT pg_catalog.setval('public.badge_defs_id_seq', 175, true);
--