bruh
This commit is contained in:
parent
8d73713c49
commit
29044d5a29
26 changed files with 233 additions and 100 deletions
|
@ -122,7 +122,7 @@ a {
|
|||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
a:hover {
|
||||
a:hover:not(.disabled) {
|
||||
color: var(--primary);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
@ -165,8 +165,6 @@ svg {
|
|||
}
|
||||
|
||||
table {
|
||||
display: inline-block;
|
||||
overflow: auto;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
|
@ -889,11 +887,11 @@ fieldset:disabled a.btn {
|
|||
color: var(--primary);
|
||||
text-decoration: none;
|
||||
}
|
||||
.btn-link:hover {
|
||||
.btn-link:hover:not(.disabled) {
|
||||
color: var(--primary);
|
||||
text-decoration: underline;
|
||||
}
|
||||
.btn-link:focus, .btn-link.focus {
|
||||
.btn-link:focus:not(.disabled), .btn-link.focus:not(.disabled) {
|
||||
text-decoration: underline;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
@ -3133,7 +3131,7 @@ a.text-danger:hover, a.text-danger:focus {
|
|||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
a:not(.btn) {
|
||||
a:not(.btn):not(.disabled) {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
@ -5647,8 +5645,11 @@ blockquote p {
|
|||
color: #808080 !important;
|
||||
}
|
||||
|
||||
.text-orange {
|
||||
color: orange !important;
|
||||
}
|
||||
|
||||
.timeline-Widget {
|
||||
max-height: 500px !important;
|
||||
overflow-y: scroll !important;
|
||||
}
|
||||
|
||||
|
|
|
@ -47,6 +47,8 @@ class User(Base):
|
|||
bannerurl = Column(String)
|
||||
patron = Column(Integer, default=0)
|
||||
verified = Column(String)
|
||||
verifiedcolor = Column(String)
|
||||
marseyawarded = Column(String)
|
||||
email = Column(String)
|
||||
css = deferred(Column(String))
|
||||
profilecss = deferred(Column(String))
|
||||
|
|
|
@ -190,7 +190,7 @@ if SITE_NAME == "Drama":
|
|||
"flairlock": {
|
||||
"kind": "flairlock",
|
||||
"title": "1-Day Flairlock",
|
||||
"description": "Sets a flair for the author and locks it or 24 hours.",
|
||||
"description": "Sets a flair for the recipient and locks it or 24 hours.",
|
||||
"icon": "fas fa-lock",
|
||||
"color": "text-black",
|
||||
"price": 1250
|
||||
|
@ -198,15 +198,23 @@ if SITE_NAME == "Drama":
|
|||
"agendaposter": {
|
||||
"kind": "agendaposter",
|
||||
"title": "Agendaposter",
|
||||
"description": "Forces the agendaposter theme on the author for 24 hours.",
|
||||
"description": "Forces the agendaposter theme on the recipient for 24 hours.",
|
||||
"icon": "fas fa-snooze",
|
||||
"color": "text-purple",
|
||||
"price": 2000
|
||||
},
|
||||
"marsey": {
|
||||
"kind": "marsey",
|
||||
"title": "Marsey",
|
||||
"description": "Makes the recipient unable to post/comment anything but marsey emojis for 24 hours.",
|
||||
"icon": "fas fa-cat",
|
||||
"color": "text-orange",
|
||||
"price": 3000
|
||||
},
|
||||
"ban": {
|
||||
"kind": "ban",
|
||||
"title": "1-Day Ban",
|
||||
"description": "Bans the author for a day.",
|
||||
"description": "Bans the recipient for a day.",
|
||||
"icon": "fas fa-gavel",
|
||||
"color": "text-danger",
|
||||
"price": 3000
|
||||
|
@ -222,7 +230,7 @@ if SITE_NAME == "Drama":
|
|||
"grass": {
|
||||
"kind": "grass",
|
||||
"title": "Grass",
|
||||
"description": "Ban the author permanently (must provide a timestamped picture of them touching grass to the admins to get unbanned)",
|
||||
"description": "Ban the recipient permanently (must provide a timestamped picture of them touching grass to the admins to get unbanned)",
|
||||
"icon": "fas fa-seedling",
|
||||
"color": "text-success",
|
||||
"price": 10000
|
||||
|
|
|
@ -12,7 +12,7 @@ AWARDS2 = {
|
|||
"ban": {
|
||||
"kind": "ban",
|
||||
"title": "1-Day Ban",
|
||||
"description": "Bans the author for a day.",
|
||||
"description": "Bans the recipient for a day.",
|
||||
"icon": "fas fa-gavel",
|
||||
"color": "text-danger",
|
||||
"price": 3000
|
||||
|
@ -89,7 +89,7 @@ def shop(v):
|
|||
"flairlock": {
|
||||
"kind": "flairlock",
|
||||
"title": "1-Day Flairlock",
|
||||
"description": "Sets a flair for the author and locks it or 24 hours.",
|
||||
"description": "Sets a flair for the recipient and locks it or 24 hours.",
|
||||
"icon": "fas fa-lock",
|
||||
"color": "text-black",
|
||||
"owned": 0,
|
||||
|
@ -98,16 +98,25 @@ def shop(v):
|
|||
"agendaposter": {
|
||||
"kind": "agendaposter",
|
||||
"title": "Agendaposter",
|
||||
"description": "Forces the agendaposter theme on the author for 24 hours.",
|
||||
"description": "Forces the agendaposter theme on the recipient for 24 hours.",
|
||||
"icon": "fas fa-snooze",
|
||||
"color": "text-purple",
|
||||
"owned": 0,
|
||||
"price": 2000
|
||||
},
|
||||
"marsey": {
|
||||
"kind": "marsey",
|
||||
"title": "Marsey",
|
||||
"description": "Makes the recipient unable to post/comment anything but marsey emojis for 24 hours.",
|
||||
"icon": "fas fa-cat",
|
||||
"color": "text-orange",
|
||||
"owned": 0,
|
||||
"price": 3000
|
||||
},
|
||||
"ban": {
|
||||
"kind": "ban",
|
||||
"title": "1-Day Ban",
|
||||
"description": "Bans the author for a day.",
|
||||
"description": "Bans the recipient for a day.",
|
||||
"icon": "fas fa-gavel",
|
||||
"color": "text-danger",
|
||||
"owned": 0,
|
||||
|
@ -125,7 +134,7 @@ def shop(v):
|
|||
"grass": {
|
||||
"kind": "grass",
|
||||
"title": "Grass",
|
||||
"description": "Ban the author permanently (must provide a timestamped picture of them touching grass to the admins to get unbanned)",
|
||||
"description": "Ban the recipient permanently (must provide a timestamped picture of them touching grass to the admins to get unbanned)",
|
||||
"icon": "fas fa-seedling",
|
||||
"color": "text-success",
|
||||
"owned": 0,
|
||||
|
@ -284,7 +293,7 @@ def buy(v, award):
|
|||
"flairlock": {
|
||||
"kind": "flairlock",
|
||||
"title": "1-Day Flairlock",
|
||||
"description": "Sets a flair for the author and locks it or 24 hours.",
|
||||
"description": "Sets a flair for the recipient and locks it or 24 hours.",
|
||||
"icon": "fas fa-lock",
|
||||
"color": "text-black",
|
||||
"price": 1250
|
||||
|
@ -292,15 +301,23 @@ def buy(v, award):
|
|||
"agendaposter": {
|
||||
"kind": "agendaposter",
|
||||
"title": "Agendaposter",
|
||||
"description": "Forces the agendaposter theme on the author for 24 hours.",
|
||||
"description": "Forces the agendaposter theme on the recipient for 24 hours.",
|
||||
"icon": "fas fa-snooze",
|
||||
"color": "text-purple",
|
||||
"price": 2000
|
||||
},
|
||||
"marsey": {
|
||||
"kind": "marsey",
|
||||
"title": "Marsey",
|
||||
"description": "Makes the recipient unable to post/comment anything but marsey emojis for 24 hours.",
|
||||
"icon": "fas fa-cat",
|
||||
"color": "text-orange",
|
||||
"price": 3000
|
||||
},
|
||||
"ban": {
|
||||
"kind": "ban",
|
||||
"title": "1-Day Ban",
|
||||
"description": "Bans the author for a day.",
|
||||
"description": "Bans the recipient for a day.",
|
||||
"icon": "fas fa-gavel",
|
||||
"color": "text-danger",
|
||||
"price": 3000
|
||||
|
@ -316,7 +333,7 @@ def buy(v, award):
|
|||
"grass": {
|
||||
"kind": "grass",
|
||||
"title": "Grass",
|
||||
"description": "Ban the author permanently (must provide a timestamped picture of them touching grass to the admins to get unbanned)",
|
||||
"description": "Ban the recipient permanently (must provide a timestamped picture of them touching grass to the admins to get unbanned)",
|
||||
"icon": "fas fa-seedling",
|
||||
"color": "text-success",
|
||||
"price": 10000
|
||||
|
@ -569,6 +586,8 @@ def award_post(pid, v):
|
|||
send_notification(995, f"@{v.username} bought {kind} award!")
|
||||
new_badge = Badge(badge_id=67, user_id=author.id)
|
||||
g.db.add(new_badge)
|
||||
elif kind == "marsey":
|
||||
author.marseyawarded = True
|
||||
|
||||
post.author.received_award_count += 1
|
||||
g.db.add(post.author)
|
||||
|
@ -686,6 +705,8 @@ def award_comment(cid, v):
|
|||
send_notification(995, f"@{v.username} bought {kind} award!")
|
||||
new_badge = Badge(badge_id=67, user_id=author.id)
|
||||
g.db.add(new_badge)
|
||||
elif kind == "marsey":
|
||||
author.marseyawarded = True
|
||||
|
||||
c.author.received_award_count += 1
|
||||
g.db.add(c.author)
|
||||
|
@ -804,7 +825,7 @@ def items(v):
|
|||
"flairlock": {
|
||||
"kind": "flairlock",
|
||||
"title": "1-Day Flairlock",
|
||||
"description": "Sets a flair for the author and locks it or 24 hours.",
|
||||
"description": "Sets a flair for the recipient and locks it or 24 hours.",
|
||||
"icon": "fas fa-lock",
|
||||
"color": "text-black",
|
||||
"owned": 0,
|
||||
|
@ -813,16 +834,25 @@ def items(v):
|
|||
"agendaposter": {
|
||||
"kind": "agendaposter",
|
||||
"title": "Agendaposter",
|
||||
"description": "Forces the agendaposter theme on the author for 24 hours.",
|
||||
"description": "Forces the agendaposter theme on the recipient for 24 hours.",
|
||||
"icon": "fas fa-snooze",
|
||||
"color": "text-purple",
|
||||
"owned": 0,
|
||||
"price": 2000
|
||||
},
|
||||
"marsey": {
|
||||
"kind": "marsey",
|
||||
"title": "Marsey",
|
||||
"description": "Makes the recipient unable to post/comment anything but marsey emojis for 24 hours.",
|
||||
"icon": "fas fa-cat",
|
||||
"color": "text-orange",
|
||||
"owned": 0,
|
||||
"price": 3000
|
||||
},
|
||||
"ban": {
|
||||
"kind": "ban",
|
||||
"title": "1-Day Ban",
|
||||
"description": "Bans the author for a day.",
|
||||
"description": "Bans the recipient for a day.",
|
||||
"icon": "fas fa-gavel",
|
||||
"color": "text-danger",
|
||||
"owned": 0,
|
||||
|
@ -840,7 +870,7 @@ def items(v):
|
|||
"grass": {
|
||||
"kind": "grass",
|
||||
"title": "Grass",
|
||||
"description": "Ban the author permanently (must provide a timestamped picture of them touching grass to the admins to get unbanned)",
|
||||
"description": "Ban the recipient permanently (must provide a timestamped picture of them touching grass to the admins to get unbanned)",
|
||||
"icon": "fas fa-seedling",
|
||||
"color": "text-success",
|
||||
"owned": 0,
|
||||
|
@ -868,17 +898,16 @@ def items(v):
|
|||
|
||||
for useraward in g.db.query(AwardRelationship).filter(AwardRelationship.user_id == v.id, AwardRelationship.submission_id == None, AwardRelationship.comment_id == None).all(): AWARDS[useraward.kind]["owned"] += 1
|
||||
|
||||
if v.patron == 1: discount = 0.90
|
||||
elif v.patron == 2: discount = 0.85
|
||||
elif v.patron == 3: discount = 0.80
|
||||
elif v.patron == 4: discount = 0.75
|
||||
elif v.patron == 5: discount = 0.70
|
||||
else: discount = 1
|
||||
if v.patron == 1: discount = 0.10
|
||||
elif v.patron == 2: discount = 0.15
|
||||
elif v.patron == 3: discount = 0.20
|
||||
elif v.patron == 4: discount = 0.25
|
||||
elif v.patron == 5: discount = 0.30
|
||||
else: discount = 0
|
||||
|
||||
for badge in [69,70,71,72,73]:
|
||||
if v.has_badge(badge): discount -= 0.02
|
||||
if v.has_badge(badge): discount += 0.02
|
||||
|
||||
for val in AWARDS.values():
|
||||
val["price"] = int(val["price"]*discount)
|
||||
for val in AWARDS.values(): val["discount"] = discount
|
||||
|
||||
return AWARDS
|
|
@ -155,6 +155,10 @@ def api_comment(v):
|
|||
body = request.values.get("body", "").strip()[:10000]
|
||||
body = body.strip()
|
||||
|
||||
if v.marseyawarded:
|
||||
marregex = list(re.finditer("^(:!?mar\w+:\s*)+$", body))
|
||||
if len(marregex) == 0: return {"error":"You need to only type marseys!"}, 403
|
||||
|
||||
if not body and not request.files.get('file'): return {"error":"You need to actually write something!"}, 400
|
||||
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|webp|PNG|JPG|JPEG|GIF|WEBP|9999))', body, re.MULTILINE):
|
||||
|
@ -584,6 +588,11 @@ def edit_comment(cid, v):
|
|||
if c.is_banned or c.deleted_utc > 0: abort(403)
|
||||
|
||||
body = request.values.get("body", "").strip()[:10000]
|
||||
|
||||
if v.marseyawarded:
|
||||
marregex = list(re.finditer("^(:!?mar\w+:\s*)+$", body))
|
||||
if len(marregex) == 0: return {"error":"You need to only type marseys!"}, 403
|
||||
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|webp|PNG|JPG|JPEG|GIF|WEBP|9999))', body, re.MULTILINE):
|
||||
if "wikipedia" not in i.group(1): body = body.replace(i.group(1), f'})')
|
||||
body_md = CustomRenderer().render(mistletoe.Document(body))
|
||||
|
|
|
@ -214,6 +214,10 @@ def edit_post(pid, v):
|
|||
title = request.values.get("title", "").strip()
|
||||
body = request.values.get("body", "").strip()
|
||||
|
||||
if v.marseyawarded:
|
||||
marregex = list(re.finditer("^(:!?mar\w+:\s*)+$", body))
|
||||
if len(marregex) == 0: return {"error":"You need to only type marseys!"}, 403
|
||||
|
||||
if title != p.title:
|
||||
p.title = title
|
||||
p.title_html = filter_title(title)
|
||||
|
@ -561,6 +565,11 @@ def submit_post(v):
|
|||
else: render_template("submit.html", v=v, error="500 character limit for titles.", title=title[:500], url=url, body=request.values.get("body", "")), 400
|
||||
|
||||
body = request.values.get("body", "").strip()
|
||||
|
||||
if v.marseyawarded:
|
||||
marregex = list(re.finditer("^(:!?mar\w+:\s*)+$", body))
|
||||
if len(marregex) == 0: return {"error":"You need to only type marseys!"}, 403
|
||||
|
||||
dup = g.db.query(Submission).options(lazyload('*')).filter(
|
||||
Submission.author_id == v.id,
|
||||
Submission.deleted_utc == 0,
|
||||
|
|
|
@ -334,11 +334,23 @@ def gumroad(v):
|
|||
def titlecolor(v):
|
||||
titlecolor = str(request.values.get("titlecolor", "")).strip()
|
||||
if titlecolor.startswith('#'): titlecolor = titlecolor[1:]
|
||||
if len(titlecolor) != 6: return render_template("settings_security.html", v=v, error="Invalid color code")
|
||||
if len(titlecolor) != 6: return render_template("settings_profile.html", v=v, error="Invalid color code")
|
||||
v.titlecolor = titlecolor
|
||||
g.db.add(v)
|
||||
g.db.commit()
|
||||
return redirect("/settings/profile")
|
||||
|
||||
@app.post("/settings/verifiedcolor")
|
||||
@limiter.limit("1/second")
|
||||
@auth_required
|
||||
@validate_formkey
|
||||
def verifiedcolor(v):
|
||||
verifiedcolor = str(request.values.get("verifiedcolor", "")).strip()
|
||||
if verifiedcolor.startswith('#'): verifiedcolor = verifiedcolor[1:]
|
||||
if len(verifiedcolor) != 6: return render_template("settings_profile.html", v=v, error="Invalid color code")
|
||||
v.verifiedcolor = verifiedcolor
|
||||
g.db.add(v)
|
||||
g.db.commit()
|
||||
return redirect("/settings/profile")
|
||||
|
||||
@app.post("/settings/security")
|
||||
|
|
|
@ -175,7 +175,7 @@ def log(v):
|
|||
page=int(request.args.get("page",1))
|
||||
|
||||
if v and v.admin_level == 6: actions = g.db.query(ModAction).order_by(ModAction.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
||||
else: actions=g.db.query(ModAction).filter(ModAction.kind!="shadowban", ModAction.kind!="unshadowban", ModAction.kind!="club", ModAction.kind!="unclub").order_by(ModAction.id.desc()).offset(25*(page-1)).limit(26).all()
|
||||
else: actions=g.db.query(ModAction).filter(ModAction.kind!="shadowban", ModAction.kind!="unshadowban", ModAction.kind!="club", ModAction.kind!="unclub", ModAction.kind!="check").order_by(ModAction.id.desc()).offset(25*(page-1)).limit(26).all()
|
||||
|
||||
next_exists=len(actions)>25
|
||||
actions=actions[:25]
|
||||
|
|
|
@ -15,11 +15,11 @@
|
|||
|
||||
{% if v %}
|
||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=90">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/css/agendaposter.css?v=90">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=93">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/css/agendaposter.css?v=93">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
{% else %}
|
||||
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=90">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=93">
|
||||
{% endif %}
|
||||
|
||||
</head>
|
||||
|
|
|
@ -23,14 +23,11 @@
|
|||
<div class="text-muted">{{award.owned}} owned</div>
|
||||
</a>
|
||||
{% endfor %}
|
||||
<!-- <a class="card disabled d-md-none">
|
||||
<pre>
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
</a> -->
|
||||
<a class="card disabled d-md-none" style="border:none">
|
||||
<i class="fas fa-volume-mute" style="opacity:0"></i>
|
||||
<div class="pt-2" style="font-weight: bold; font-size: 14px; color:#E1E1E1"> </div>
|
||||
<div class="text-muted"> </div>
|
||||
</a>
|
||||
</div>
|
||||
<label id="notelabel" for="note" class="pt-4">Note (optional):</label>
|
||||
<input id="kind" name="kind" value="" hidden>
|
||||
|
@ -62,7 +59,7 @@
|
|||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.awards-wrapper a:hover, .awards-wrapper .picked {
|
||||
.awards-wrapper a:hover:not(.disabled), .awards-wrapper .picked {
|
||||
background-color: var(--primary)!important;
|
||||
}
|
||||
|
||||
|
@ -76,7 +73,7 @@
|
|||
|
||||
@media (min-width: 767.98px) {
|
||||
.award-columns {
|
||||
column-count: 6 !important;
|
||||
column-count: 7 !important;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -240,9 +240,13 @@
|
|||
{% endif %}
|
||||
{% elif c.author_id==NOTIFICATIONS_ACCOUNT or c.author_id==AUTOJANNY_ACCOUNT %}
|
||||
<span class="font-weight-bold">{{'SITE_NAME' | app_config}} Notification</span>
|
||||
{% else %}
|
||||
{% if c.sentto == 0 %}
|
||||
<span class="font-weight-bold">Sent to admins</span>
|
||||
{% else %}
|
||||
<span class="font-weight-bold">Sent to @{{c.senttouser.username}}</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
@ -278,7 +282,7 @@
|
|||
{% if c.is_blocking %}<i class="fas fa-user-minus text-warning" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{% if v and v.admin_level >= 2 %}You're blocking this user, but you can see this comment because {{'it\'s pinned' if c.is_pinned else 'you\'re an admin'}}.{% else %}Comment author is banned{% endif %}"></i>{% endif %}
|
||||
{% if c.is_blocked %}<i class="fas fa-user-minus text-danger" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="This user is blocking you."></i>{% endif %}
|
||||
|
||||
{% if c.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if request.host == 'rdrama.net' and c.author.id in [541,1387] %}#62ca56{% elif request.host == 'rdrama.net' and c.author.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{c.author.verified}}"></i>
|
||||
{% if c.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if c.author.verifiedcolor %}#{{c.author.verifiedcolor}}{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{c.author.verified}}"></i>
|
||||
{% endif %}
|
||||
|
||||
<a class="user-name text-decoration-none" data-bs-placement="bottom" data-bs-toggle="popover" data-bs-trigger="focus" data-content-id="popover-{{c.id}}" href="javascript:void(0)" tabindex="0" style="color:#{{c.author.namecolor}}; font-size:12px; font-weight:bold;"><img loading="lazy" src="{{c.author.profile_url}}" class="profile-pic-25 mr-2"><span {% if c.author.patron and not c.distinguish_level %}class="patron" style="background-color:#{{c.author.namecolor}};"{% elif c.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{c.author.username}}</span></a>
|
||||
|
|
|
@ -254,12 +254,12 @@
|
|||
|
||||
{% if v %}
|
||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90">
|
||||
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=90">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/css/agendaposter.css?v=90">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93">
|
||||
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=93">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/css/agendaposter.css?v=93">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
{% else %}
|
||||
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=90">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=93">
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -495,4 +495,11 @@ line breaks
|
|||
|
||||
{% include "expanded_image_modal.html" %}
|
||||
|
||||
<style>
|
||||
table {
|
||||
display: inline-block;
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
{% endblock %}
|
|
@ -17,11 +17,11 @@
|
|||
|
||||
{% if v %}
|
||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=90">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/css/agendaposter.css?v=90">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=93">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/css/agendaposter.css?v=93">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
{% else %}
|
||||
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=90">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=93">
|
||||
{% endif %}
|
||||
|
||||
<div class="row justify-content-around">
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<title>2-Step Login - {{'SITE_NAME' | app_config}}</title>
|
||||
|
||||
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=90">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=93">
|
||||
|
||||
</head>
|
||||
|
||||
|
|
|
@ -55,8 +55,8 @@
|
|||
|
||||
|
||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=90">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/css/agendaposter.css?v=90">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=93">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/css/agendaposter.css?v=93">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
|
||||
<link href="/assets/css/fa.css?v=52" rel="stylesheet">
|
||||
</head>
|
||||
|
|
|
@ -40,10 +40,10 @@
|
|||
|
||||
{% if v %}
|
||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=90">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=93">
|
||||
{% else %}
|
||||
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=90">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=93">
|
||||
{% endif %}
|
||||
|
||||
<link href="/assets/css/fa.css?v=52" rel="stylesheet">
|
||||
|
|
|
@ -492,6 +492,8 @@
|
|||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<p class="text-small mb-2">Or type a color code:</p>
|
||||
<div class="d-flex">
|
||||
<form action="/settings/titlecolor" id="color-code-form" method="post">
|
||||
|
@ -503,6 +505,52 @@
|
|||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% if v.verified %}
|
||||
|
||||
<div class="body d-lg-flex border-bottom">
|
||||
|
||||
<label class="text-black w-lg-25">Bluecheck Color</label>
|
||||
|
||||
<div class="d-flex">
|
||||
|
||||
<form action="/settings/verifiedcolor" id="verifiedcolor-form" method="post" class="color-picker" style="line-height: 0">
|
||||
<input type="hidden" name="formkey" value="{{v.formkey}}">
|
||||
|
||||
{% for verifiedcolor in ['ff66ac','805ad5','62ca56','38a169','80ffff','2a96f3','eb4963','ff0000','f39731','30409f','3e98a7','e4432d','7b9ae4','ec72de','7f8fa6', 'f8db58'] %}
|
||||
<input type="radio" name="verifiedcolor" id="verifiedcolor-{{verifiedcolor}}" value="{{verifiedcolor}}" {% if v.verifiedcolor == verifiedcolor %}checked{% endif %} onclick="document.getElementById('verifiedcolor-form').submit()">
|
||||
<label class="color-radio" for="verifiedcolor-{{verifiedcolor}}">
|
||||
<span style="background-color: #{{verifiedcolor}}">
|
||||
{% if v.verifiedcolor and v.verifiedcolor.lower() == verifiedcolor %}
|
||||
<i class="fas fa-check text-white"></i>
|
||||
{% else %}
|
||||
|
||||
{% endif %}
|
||||
</span>
|
||||
</label>
|
||||
{% endfor %}
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<p class="text-small mb-2">Or type a color code:</p>
|
||||
<div class="d-flex">
|
||||
<form action="/settings/verifiedcolor" id="color-code-form" method="post">
|
||||
<input type="hidden" name="formkey" value="{{v.formkey}}">
|
||||
<input class="form-control" type="text" name="verifiedcolor" id="color-code" value="{% if v.verifiedcolor %}{{v.verifiedcolor}}{% endif %}">
|
||||
<label class="btn btn-secondary text-capitalize mr-2 mt-2 mb-0">Update<input type="text" for="color-code" onclick="form.submit()" hidden=""></label>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
<div class="body d-lg-flex border-bottom">
|
||||
|
||||
<label class="text-black w-lg-25">Bio</label>
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
{% for a in awards %}
|
||||
<tr>
|
||||
<tr data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{a['description']}}">
|
||||
<td><i class="{{a['icon']}} {{a['color']}}" style="font-size: 30px"></i></td>
|
||||
<td style="font-weight: bold">{{a['title']}}</td>
|
||||
<td style="font-weight: bold">{{a['price']}}</td>
|
||||
|
@ -92,5 +92,10 @@
|
|||
font-size: 0.7rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
.tooltip-inner {
|
||||
font-size: 1.5rem;
|
||||
max-width: 300px;
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
|
||||
|
||||
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=90">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=93">
|
||||
|
||||
</head>
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
|
||||
|
||||
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=90">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=93">
|
||||
|
||||
</head>
|
||||
|
||||
|
|
|
@ -424,7 +424,7 @@
|
|||
{% if p.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
||||
{% if p.private %}<span class="badge border-warning border-1 text-small-extra">Draft</span>{% endif %}
|
||||
{% if p.active_flags %}<a class="btn btn-primary" href="javascript:void(0)" style="padding:1px 5px; font-size:10px;" onclick="document.getElementById('flaggers').classList.toggle('d-none')">{{p.active_flags}} Reports</a>{% endif %}
|
||||
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if request.host == 'rdrama.net' and p.author.id in [541,1387] %}#62ca56{% elif request.host == 'rdrama.net' and p.author.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
||||
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if p.author.verifiedcolor %}#{{p.author.verifiedcolor}}{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
||||
{% endif %}
|
||||
<a class="user-name text-decoration-none" data-bs-placement="bottom" data-bs-toggle="popover" data-bs-trigger="focus" data-content-id="popover-{{p.id}}" href="javascript:void(0)" tabindex="0" style="color: #{{p.author.namecolor}}; font-weight: bold;" class="user-name"><img loading="lazy" src="{{p.author.profile_url}}" class="profile-pic-25 mr-2"><span {% if p.author.patron and not p.distinguish_level %}class="patron" style="background-color:#{{p.author.namecolor}};"{% elif p.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{p.author.username}}</span></a>{% if p.author.customtitle %} <bdi style="color: #{{p.author.titlecolor}}"> {% if p.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{p.author.quadrant}}.gif">{% endif %}{{p.author.customtitle | safe}}</bdi>{% endif %}
|
||||
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp"> {{p.age_string}}</span>
|
||||
|
|
|
@ -192,7 +192,7 @@
|
|||
{% if p.is_blocked %}<i class="fas fa-user-minus text-danger" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="This user is blocking you."></i>{% endif %}
|
||||
{% if p.private %}<span class="badge border-warning border-1 text-small-extra">Draft</span>{% endif %}
|
||||
{% if p.active_flags %}<a class="btn btn-primary" href="javascript:void(0)" style="padding:1px 5px; font-size:10px;" onclick="document.getElementById('flaggers-{{p.id}}').classList.toggle('d-none')">{{p.active_flags}} Reports</a>{% endif %}
|
||||
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if request.host == 'rdrama.net' and p.author.id in [541,1387] %}#62ca56{% elif request.host == 'rdrama.net' and p.author.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
||||
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if p.author.verifiedcolor %}#{{p.author.verifiedcolor}}{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
||||
{% endif %}
|
||||
<a class="user-name text-decoration-none" data-bs-placement="bottom" data-bs-toggle="popover" data-bs-trigger="focus" data-content-id="popover-{{p.id}}" href="javascript:void(0)" tabindex="0" style="color: #{{p.author.namecolor}}; font-weight: bold;"><img loading="lazy" src="{{p.author.profile_url}}" class="profile-pic-25 mr-2"><span {% if p.author.patron and not p.distinguish_level %}class="patron" style="background-color:#{{p.author.namecolor}};"{% elif p.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{p.author.username}}</span></a>{% if p.author.customtitle %}<bdi style="color: #{{p.author.titlecolor}}"> {% if p.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{p.author.quadrant}}.gif">{% endif %}{{p.author.customtitle | safe}}</bdi>{% endif %}
|
||||
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp-{{p.id}}"> {{p.age_string}}</span>
|
||||
|
|
|
@ -25,12 +25,12 @@
|
|||
{% block stylesheets %}
|
||||
{% if v %}
|
||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=90">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/css/agendaposter.css?v=90">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=93">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/css/agendaposter.css?v=93">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
{% else %}
|
||||
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=90">
|
||||
<link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=90">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=93">
|
||||
<link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=93">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
<i class="fad fa-user-tag text-info align-middle ml-2" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Original Username: @{{u.original_username}}"></i>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% if u.verified %}<span><i class="fas fa-badge-check align-middle ml-1" style="color:{% if request.host == 'rdrama.net' and u.id in [541,1387] %}#62ca56{% elif request.host == 'rdrama.net' and u.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{u.verified}}"></i></span>{% endif %}
|
||||
{% if u.verified %}<span><i class="fas fa-badge-check align-middle ml-1" style="color:{% if u.verifiedcolor %}#{{u.verifiedcolor}}{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{u.verified}}"></i></span>{% endif %}
|
||||
{% if u.admin_level > 1 or (u.admin_level == 1 and (not v or v.admin_level < 2)) %}
|
||||
<span>
|
||||
<i class="fas fa-broom text-admin align-middle ml-2" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Admin"></i>
|
||||
|
@ -404,7 +404,7 @@
|
|||
<h5 style="color:#ff66ac;">BANNED USER{% if u.ban_reason %}: {{u.ban_reason}}{% endif %}</h5>
|
||||
{% if u.unban_utc %}<h5 style="color:#ff66ac;">{{u.unban_string}}</h5>{% endif %}
|
||||
{% endif %}
|
||||
{% if u.verified %}<span><i class="fas fa-badge-check align-middle ml-1" style="color:{% if request.host == 'rdrama.net' and u.id in [541,1387] %}#62ca56{% elif request.host == 'rdrama.net' and u.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{u.verified}}"></i></span> {% endif %}
|
||||
{% if u.verified %}<span><i class="fas fa-badge-check align-middle ml-1" style="color:{% if u.verifiedcolor %}#{{u.verifiedcolor}}{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{u.verified}}"></i></span> {% endif %}
|
||||
<a class="text-black"><h1 class="h5 d-inline-block" style="color: #{{u.namecolor}}"><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}};"{% endif %}>{{u.username}}</span></h1></a>
|
||||
{% if u.username != u.original_username %}
|
||||
<span>
|
||||
|
|
|
@ -799,6 +799,8 @@ CREATE TABLE public.users (
|
|||
controversial boolean,
|
||||
background character varying(20),
|
||||
verified character varying(20),
|
||||
verifiedcolor character varying(6),
|
||||
marseyawarded boolean,
|
||||
fail_utc integer,
|
||||
steal_utc integer,
|
||||
fail2_utc integer,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue