remotes/1693045480750635534/spooky-22
Aevann1 2022-02-16 04:15:17 +02:00
parent bc22354358
commit b46978d537
14 changed files with 296 additions and 273 deletions

View File

@ -370,21 +370,21 @@ AWARDS = {
"price": 300
},
"wholesome": {
"kind": "wholesome",
"title": "Wholesome",
"description": "Summons a wholesome marsey on the post.",
"icon": "fas fa-smile-beam",
"color": "text-yellow",
"price": 300
},
"kind": "wholesome",
"title": "Wholesome",
"description": "Summons a wholesome marsey on the post.",
"icon": "fas fa-smile-beam",
"color": "text-yellow",
"price": 300
},
"tilt": {
"kind": "tilt",
"title": "Tilt",
"description": "Tilts the post or comment",
"icon": "fas fa-car-tilt",
"color": "text-blue",
"price": 300
},
"kind": "tilt",
"title": "Tilt",
"description": "Tilts the post or comment",
"icon": "fas fa-car-tilt",
"color": "text-blue",
"price": 300
},
"ghosts": {
"kind": "ghosts",
"title": "Ghosts",
@ -394,21 +394,21 @@ AWARDS = {
"price": 500
},
"rehab": {
"kind": "rehab",
"title": "Rehab",
"description": "Prevents the user from gambling for 24 hours in a last ditch effort to save them from themself.",
"icon": "fas fa-dice-six",
"color": "text-black",
"price": 777
},
"kind": "rehab",
"title": "Rehab",
"description": "Prevents the user from gambling for 24 hours in a last ditch effort to save them from themself.",
"icon": "fas fa-dice-six",
"color": "text-black",
"price": 777
},
"progressivestack": {
"kind": "progressivestack",
"title": "Progressive Stack",
"description": "Makes votes on the recipient's posts and comments weigh double in the ranking algorithm for 6 hours.",
"icon": "fas fa-bullhorn",
"color": "text-red",
"price": 1000
},
"kind": "progressivestack",
"title": "Progressive Stack",
"description": "Makes votes on the recipient's posts and comments weigh double in the ranking algorithm for 6 hours.",
"icon": "fas fa-bullhorn",
"color": "text-red",
"price": 1000
},
"pin": {
"kind": "pin",
"title": "1-Hour Pin",
@ -482,13 +482,13 @@ AWARDS = {
"price": 3500
},
"benefactor": {
"kind": "benefactor",
"title": "Benefactor",
"description": "Grants one month of paypig status and 2500 marseybux to the recipient. Cannot be used on yourself.",
"icon": "fas fa-gift",
"color": "text-blue",
"price": 4000
},
"kind": "benefactor",
"title": "Benefactor",
"description": "Grants one month of paypig status and 2500 marseybux to the recipient. Cannot be used on yourself.",
"icon": "fas fa-gift",
"color": "text-blue",
"price": 4000
},
"grass": {
"kind": "grass",
"title": "Grass",

View File

@ -194,9 +194,10 @@ def get_comment(i, v=None, graceful=False):
UserBlock.user_id == v.id,
UserBlock.target_id == comment.author_id
),
and_(UserBlock.user_id == comment.author_id,
UserBlock.target_id == v.id
)
and_(
UserBlock.user_id == comment.author_id,
UserBlock.target_id == v.id
)
)
).one_or_none()

View File

@ -43,21 +43,21 @@ AWARDS3 = {
"price": 300
},
"wholesome": {
"kind": "wholesome",
"title": "Wholesome",
"description": "Summons a wholesome marsey on the post.",
"icon": "fas fa-smile-beam",
"color": "text-yellow",
"price": 300
},
"kind": "wholesome",
"title": "Wholesome",
"description": "Summons a wholesome marsey on the post.",
"icon": "fas fa-smile-beam",
"color": "text-yellow",
"price": 300
},
"tilt": {
"kind": "tilt",
"title": "Tilt",
"description": "Tilts the post by 1 degree (up to 4)",
"icon": "fas fa-car-tilt",
"color": "text-blue",
"price": 300
},
"kind": "tilt",
"title": "Tilt",
"description": "Tilts the post by 1 degree (up to 4)",
"icon": "fas fa-car-tilt",
"color": "text-blue",
"price": 300
},
}
@app.get("/shop")
@ -203,12 +203,10 @@ def award_post(pid, v):
return {"error": "That award doesn't exist."}, 404
post_award = g.db.query(AwardRelationship).filter(
and_(
AwardRelationship.kind == kind,
AwardRelationship.user_id == v.id,
AwardRelationship.submission_id == None,
AwardRelationship.comment_id == None
)
AwardRelationship.kind == kind,
AwardRelationship.user_id == v.id,
AwardRelationship.submission_id == None,
AwardRelationship.comment_id == None
).first()
if not post_award:
@ -439,12 +437,10 @@ def award_comment(cid, v):
return {"error": "That award doesn't exist."}, 404
comment_award = g.db.query(AwardRelationship).filter(
and_(
AwardRelationship.kind == kind,
AwardRelationship.user_id == v.id,
AwardRelationship.submission_id == None,
AwardRelationship.comment_id == None
)
AwardRelationship.kind == kind,
AwardRelationship.user_id == v.id,
AwardRelationship.submission_id == None,
AwardRelationship.comment_id == None
).first()
if not comment_award:

View File

@ -52,6 +52,20 @@ def ghost_price(v):
return int(500*discount)
def submit_ghost(v,db):
ghost = db.query(AwardRelationship.id).filter(
AwardRelationship.kind == 'ghosts',
AwardRelationship.user_id == v.id,
AwardRelationship.submission_id == None,
AwardRelationship.comment_id == None
).first()
if ghost: ghost = 42069
else: ghost = ghost_price(v)
return ghost
@app.post("/toggle_club/<pid>")
@auth_required
def toggle_club(pid, v):
@ -112,7 +126,7 @@ def submit_get(v, sub=None):
if request.path.startswith('/s/') and not sub: abort(404)
return render_template("submit.html", SUBS=() if SITE_NAME == 'Drama' else tuple(x[0] for x in g.db.query(Sub.name).order_by(Sub.name).all()), v=v, sub=sub, price=ghost_price(v))
return render_template("submit.html", SUBS=() if SITE_NAME == 'Drama' else tuple(x[0] for x in g.db.query(Sub.name).order_by(Sub.name).all()), v=v, sub=sub, ghost=submit_ghost(v,g.db))
@app.get("/post/<pid>")
@app.get("/post/<pid>/<anything>")
@ -847,7 +861,7 @@ def submit_post(v, sub=None):
def error(error):
print(sub, flush=True)
if request.headers.get("Authorization") or request.headers.get("xhr"): error(error)
return render_template("submit.html", SUBS=() if SITE_NAME == 'Drama' else tuple(x[0] for x in g.db.query(Sub.name).order_by(Sub.name).all()), v=v, error=error, title=title, url=url, body=body, price=ghost_price(v)), 400
return render_template("submit.html", SUBS=() if SITE_NAME == 'Drama' else tuple(x[0] for x in g.db.query(Sub.name).order_by(Sub.name).all()), v=v, error=error, title=title, url=url, body=body, price=submit_ghost(v,g.db)), 400
if v.is_suspended: error( "You can't perform this action while banned.")
@ -1079,19 +1093,6 @@ def submit_post(v, sub=None):
if embed and len(embed) > 1500: embed = None
ghost = False
if request.values.get('ghost'):
price = ghost_price(v)
if v.coins >= price:
v.coins -= price
ghost = True
elif v.procoins >= price:
v.procoins -= price
ghost = True
new_post = Submission(
private=bool(request.values.get("private","")),
club=club,
@ -1106,12 +1107,33 @@ def submit_post(v, sub=None):
title=title[:500],
title_html=title_html,
sub=sub,
ghost=ghost
ghost=False
)
g.db.add(new_post)
g.db.flush()
if request.values.get('ghost'):
ghost_award = g.db.query(AwardRelationship).filter(
AwardRelationship.kind == 'ghosts',
AwardRelationship.user_id == v.id,
AwardRelationship.submission_id == None,
AwardRelationship.comment_id == None
).first()
if ghost_award:
ghost_award.submission_id = new_post.id
new_post.ghost = True
else:
price = ghost_price(v)
if v.coins >= price:
v.coins -= price
new_post.ghost = True
elif v.procoins >= price:
v.procoins -= price
new_post.ghost = True
if v and v.admin_level > 2:
for option in bet_options:
bet_option = Comment(author_id=AUTOBETTER_ID,

View File

@ -545,37 +545,37 @@
{% endif %}
{% if v.id != c.author_id and not c.ghost %}
<a id="unblock-{{c.id}}" class="dropdown-item text-success list-inline-item {% if not c.is_blocking %}d-none{% endif %}" role="button" onclick="post_toast2(this,'/settings/unblock?username={{c.author_name}}','block-{{c.id}}','unblock-{{c.id}}')"><i class="fas fa-eye text-success"></i>Unblock user</a>
<a id="unblock-{{c.id}}" class="dropdown-item text-success list-inline-item {% if not c.is_blocking %}d-none{% endif %}" role="button" onclick="post_toast2(this,'/settings/unblock?username={{c.author_name}}','block-{{c.id}}','unblock-{{c.id}}')"><i class="fas fa-eye text-success"></i>Unblock user</a>
<a id="block-{{c.id}}" class="dropdown-item list-inline-item text-danger {% if c.is_blocking %}d-none{% endif %}" role="button" onclick="post_toast2(this,'/settings/block?username={{c.author_name}}','block-{{c.id}}','unblock-{{c.id}}')"><i class="fas fa-eye-slash text-danger"></i>Block user</a>
<a id="block-{{c.id}}" class="dropdown-item list-inline-item text-danger {% if c.is_blocking %}d-none{% endif %}" role="button" onclick="post_toast2(this,'/settings/block?username={{c.author_name}}','block-{{c.id}}','unblock-{{c.id}}')"><i class="fas fa-eye-slash text-danger"></i>Block user</a>
{% endif %}
{% if c.post %}
{% set url = "" %}
{% if v.admin_level > 1%}
{% set url = "sticky_comment" %}
{% set url = "sticky_comment" %}
{% elif v.id == c.post.author_id %}
{% set url = "pin_comment" %}
{% set url = "pin_comment" %}
{% elif c.post.sub and v.mods(c.post.sub) %}
{% set url = "mod_pin" %}
{% set url = "mod_pin" %}
{% endif %}
{% if url != "" %}
<button id="unpin-{{c.id}}" class="dropdown-item list-inline-item {% if c.is_pinned %}d-md-block{% endif %} text-muted d-none text-info" data-bs-dismiss="modal" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast3(this,'/un{{url}}/{{c.id}}','pin-{{c.id}}','unpin-{{c.id}}')"><i class="fas fa-thumbtack fa-rotate--45 text-info fa-fw"></i>Unpin</button>
<button id="pin-{{c.id}}" class="dropdown-item list-inline-item {% if not c.is_pinned %}d-md-block{% endif %} text-muted d-none text-info" data-bs-dismiss="modal" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast3(this,'/{{url}}/{{c.id}}','pin-{{c.id}}','unpin-{{c.id}}')"><i class="fas fa-thumbtack fa-rotate--45 text-info fa-fw"></i>Pin</button>
<button id="unpin-{{c.id}}" class="dropdown-item list-inline-item {% if c.is_pinned %}d-md-block{% endif %} text-muted d-none text-info" data-bs-dismiss="modal" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast3(this,'/un{{url}}/{{c.id}}','pin-{{c.id}}','unpin-{{c.id}}')"><i class="fas fa-thumbtack fa-rotate--45 text-info fa-fw"></i>Unpin</button>
<button id="pin-{{c.id}}" class="dropdown-item list-inline-item {% if not c.is_pinned %}d-md-block{% endif %} text-muted d-none text-info" data-bs-dismiss="modal" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast3(this,'/{{url}}/{{c.id}}','pin-{{c.id}}','unpin-{{c.id}}')"><i class="fas fa-thumbtack fa-rotate--45 text-info fa-fw"></i>Pin</button>
{% endif %}
{% endif %}
{% if v.admin_level > 1 %}
{% if "/reported/" in request.path %}
<button class="dropdown-item list-inline-item text-muted text-success" onclick="approveComment('{{c.id}}')"><i class="fas fa-check text-success fa-fw"></i>Approve</button>
<button class="dropdown-item list-inline-item text-muted text-danger" onclick="removeComment('{{c.id}}')"><i class="fas fa-ban text-danger fa-fw"></i>Remove</button>
<button class="dropdown-item list-inline-item text-muted text-success" onclick="approveComment('{{c.id}}')"><i class="fas fa-check text-success fa-fw"></i>Approve</button>
<button class="dropdown-item list-inline-item text-muted text-danger" onclick="removeComment('{{c.id}}')"><i class="fas fa-ban text-danger fa-fw"></i>Remove</button>
{% else %}
<button id="approve-{{c.id}}" class="dropdown-item list-inline-item text-success d-none {% if c.is_banned %}d-md-block{% endif %} text-success" onclick="approveComment('{{c.id}}','approve-{{c.id}}','remove-{{c.id}}')"><i class="fas fa-check text-success fa-fw"></i>Approve</button>
<button id="remove-{{c.id}}" class="dropdown-item list-inline-item text-danger d-none {% if not c.is_banned %}d-md-block{% endif %} text-danger" onclick="removeComment('{{c.id}}','approve-{{c.id}}','remove-{{c.id}}')"><i class="fas fa-ban text-danger fa-fw"></i>Remove</button>
<button id="approve-{{c.id}}" class="dropdown-item list-inline-item text-success d-none {% if c.is_banned %}d-md-block{% endif %} text-success" onclick="approveComment('{{c.id}}','approve-{{c.id}}','remove-{{c.id}}')"><i class="fas fa-check text-success fa-fw"></i>Approve</button>
<button id="remove-{{c.id}}" class="dropdown-item list-inline-item text-danger d-none {% if not c.is_banned %}d-md-block{% endif %} text-danger" onclick="removeComment('{{c.id}}','approve-{{c.id}}','remove-{{c.id}}')"><i class="fas fa-ban text-danger fa-fw"></i>Remove</button>
{% endif %}
{% endif %}

View File

@ -1,23 +1,23 @@
{% extends "search.html" %}
{% block listing_template %}
<div class="posts p-3 p-md-0">
{% include "comments.html" %}
</div>
<div class="posts p-3 p-md-0">
{% include "comments.html" %}
</div>
{% if error %}
<div class="row no-gutters">
<div class="col">
<div class="text-center px-3 my-3">
<span class="fa-stack fa-2x text-muted mb-4">
<i class="fas fa-square text-gray-500 opacity-25 fa-stack-2x"></i>
<i class="fas text-gray-500 fa-ghost fa-stack-1x text-lg"></i>
</span>
<h2 class="h5">{{error}}</h2>
</div>
</div>
</div>
{% endif %}
{% if error %}
<div class="row no-gutters">
<div class="col">
<div class="text-center px-3 my-3">
<span class="fa-stack fa-2x text-muted mb-4">
<i class="fas fa-square text-gray-500 opacity-25 fa-stack-2x"></i>
<i class="fas text-gray-500 fa-ghost fa-stack-1x text-lg"></i>
</span>
<h2 class="h5">{{error}}</h2>
</div>
</div>
</div>
{% endif %}
{% endblock %}
{% block listinglength %}

View File

@ -1,26 +1,26 @@
<div class="col sidebar text-left d-none d-lg-block pt-3 bg-white" style="max-width:300px">
{% if sub %}
{% set image=sub.sidebar_url %}
{% else %}
{% set image='/static/assets/images/' + SITE_NAME + '/sidebar.webp?a=1041' %}
{% endif %}
{% if sub %}
{% set image=sub.sidebar_url %}
{% else %}
{% set image='/static/assets/images/' + SITE_NAME + '/sidebar.webp?a=1041' %}
{% endif %}
<img alt="sidebar image" role="button" data-bs-toggle="modal" data-bs-target="#expandImageModal" onclick="expandDesktopImage('{{image}}')" loading="lazy" src="{{image}}" width=100%>
<img alt="sidebar image" role="button" data-bs-toggle="modal" data-bs-target="#expandImageModal" onclick="expandDesktopImage('{{image}}')" loading="lazy" src="{{image}}" width=100%>
{% if sub %}
{% if sub.sidebar_html %}
<div class="mt-4">{{sub.sidebar_html|safe}}</div>
{% endif %}
<a class="btn btn-primary btn-block mt-4" href="/s/{{sub.name}}/mods">MODS</a>
{% if v and v.mods(sub.name) %}
<a class="btn btn-primary btn-block" href="/s/{{sub.name}}/settings">SUB SETTINGS</a>
{% endif %}
{% if v %}
<a class="btn btn-primary btn-block {% if v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/block','block-sub','unblock-sub');this.classList.toggle('d-none');nextElementSibling.classList.toggle('d-none')">BLOCK SUB</a>
<a class="btn btn-primary btn-block {% if not v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/unblock','block-sub','unblock-sub');this.classList.toggle('d-none');previousElementSibling.classList.toggle('d-none')">UNBLOCK SUB</a>
{% endif %}
{% if sub.sidebar_html %}
<div class="mt-4">{{sub.sidebar_html|safe}}</div>
{% endif %}
<a class="btn btn-primary btn-block mt-4" href="/s/{{sub.name}}/mods">MODS</a>
{% if v and v.mods(sub.name) %}
<a class="btn btn-primary btn-block" href="/s/{{sub.name}}/settings">SUB SETTINGS</a>
{% endif %}
{% if v %}
<a class="btn btn-primary btn-block {% if v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/block','block-sub','unblock-sub');this.classList.toggle('d-none');nextElementSibling.classList.toggle('d-none')">BLOCK SUB</a>
<a class="btn btn-primary btn-block {% if not v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/unblock','block-sub','unblock-sub');this.classList.toggle('d-none');previousElementSibling.classList.toggle('d-none')">UNBLOCK SUB</a>
{% endif %}
{% else %}
<p class="mt-4">Rules: No doxxing, No CP or other clearly illegal shit. Thanks!</p>
<p class="mt-4">Rules: No doxxing, No CP or other clearly illegal shit. Thanks!</p>
{% endif %}
<a class="btn btn-primary btn-block" href="/create_sub">CREATE SUB</a>
@ -36,9 +36,9 @@
</pre>
</div>

View File

@ -1,76 +1,76 @@
<div class="col sidebar text-left d-none d-lg-block pt-3 pb-5 bg-white" style="max-width:300px">
{% if sub %}
{% set image=sub.sidebar_url %}
{% else %}
{% set path = "assets/images/" + SITE_NAME + "/sidebar" %}
{% set image = "/static/" + path + "/" + listdir('files/' + path)|random() + '?a=33' %}
{% endif %}
{% if sub %}
{% set image=sub.sidebar_url %}
{% else %}
{% set path = "assets/images/" + SITE_NAME + "/sidebar" %}
{% set image = "/static/" + path + "/" + listdir('files/' + path)|random() + '?a=33' %}
{% endif %}
<a role="button" data-bs-toggle="modal" data-bs-target="#expandImageModal" data-bs-url="{{image}}" onclick="expandDesktopImage('{{image}}')">
<img loading="lazy" src="{{image}}" width=100%>
</a>
<a role="button" data-bs-toggle="modal" data-bs-target="#expandImageModal" data-bs-url="{{image}}" onclick="expandDesktopImage('{{image}}')">
<img loading="lazy" src="{{image}}" width=100%>
</a>
{% if sub %}
{% if sub.sidebar_html %}
<div class="mt-4">{{sub.sidebar_html|safe}}</div>
{% endif %}
<a class="btn btn-primary btn-block mt-4" href="/s/{{sub.name}}/mods">MODS</a>
{% if v and v.mods(sub.name) %}
<a class="btn btn-primary btn-block" href="/s/{{sub.name}}/settings">SUB SETTINGS</a>
{% endif %}
{% if v %}
<a class="btn btn-primary btn-block {% if v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/block','block-sub','unblock-sub');this.classList.toggle('d-none');nextElementSibling.classList.toggle('d-none')">BLOCK SUB</a>
<a class="btn btn-primary btn-block {% if not v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/unblock','block-sub','unblock-sub');this.classList.toggle('d-none');previousElementSibling.classList.toggle('d-none')">UNBLOCK SUB</a>
{% endif %}
{% else %}
<a class="btn btn-primary btn-block mt-4" href="/post/16583">EMOJI MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/18459">BUGS/SUGGESTIONS MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/32341">SIDEBAR ARTWORK MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/33652">SNAPPY QUOTES MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/35835">BANNER ARTWORK MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/37677">MARSEY REQUESTS MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/39413">GAMBLING MEGATHREAD</a>
{% if sub %}
{% if sub.sidebar_html %}
<div class="mt-4">{{sub.sidebar_html|safe}}</div>
{% endif %}
<a class="btn btn-primary btn-block mt-4" href="/s/{{sub.name}}/mods">MODS</a>
{% if v and v.mods(sub.name) %}
<a class="btn btn-primary btn-block" href="/s/{{sub.name}}/settings">SUB SETTINGS</a>
{% endif %}
{% if v %}
<a class="btn btn-primary btn-block {% if v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/block','block-sub','unblock-sub');this.classList.toggle('d-none');nextElementSibling.classList.toggle('d-none')">BLOCK SUB</a>
<a class="btn btn-primary btn-block {% if not v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/unblock','block-sub','unblock-sub');this.classList.toggle('d-none');previousElementSibling.classList.toggle('d-none')">UNBLOCK SUB</a>
{% endif %}
{% else %}
<a class="btn btn-primary btn-block mt-4" href="/post/16583">EMOJI MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/18459">BUGS/SUGGESTIONS MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/32341">SIDEBAR ARTWORK MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/33652">SNAPPY QUOTES MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/35835">BANNER ARTWORK MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/37677">MARSEY REQUESTS MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/39413">GAMBLING MEGATHREAD</a>
<div class="rules">
<p class="mt-4">Drama: any incident, scene, gaffe, rumor, opinion, or disagreement that is blown entirely out of proportion.</p>
<div class="rules">
<p class="mt-4">Drama: any incident, scene, gaffe, rumor, opinion, or disagreement that is blown entirely out of proportion.</p>
<p>Do your part to keep our community healthy by blowing everything out of proportion and making literally everything as dramatic as possible.</p>
<p>Do your part to keep our community healthy by blowing everything out of proportion and making literally everything as dramatic as possible.</p>
<p>{{SITE}} caters to drama in all forms such as: Real life, videos, photos, gossip, rumors, news sites, Reddit, and Beyond™. There isn't drama we won't touch, and we want it all.</p>
<p>{{SITE}} caters to drama in all forms such as: Real life, videos, photos, gossip, rumors, news sites, Reddit, and Beyond™. There isn't drama we won't touch, and we want it all.</p>
What we want
What we want
<ul>
<li>Arguments.</li>
<li>Gossip.</li>
<li>Scandals.</li>
<li>Lolcows.</li>
<li>Assholes.</li>
<li>Trainwrecks.</li>
<li>Meltdowns.</li>
<li>Dramatic news articles.</li>
<li>Dramatic rumours (with context).</li>
<li>Dramatic everything from anywhere</li>
</ul>
<ul>
<li>Arguments.</li>
<li>Gossip.</li>
<li>Scandals.</li>
<li>Lolcows.</li>
<li>Assholes.</li>
<li>Trainwrecks.</li>
<li>Meltdowns.</li>
<li>Dramatic news articles.</li>
<li>Dramatic rumours (with context).</li>
<li>Dramatic everything from anywhere</li>
</ul>
<h5>Rule 1</h5>Don't post anything illegal.<br><br>
<h5>RULE 2</h5>No sexualizing minors even as a “joke.”<br><br>
<h5>Rule 1</h5>Don't post anything illegal.<br><br>
<h5>RULE 2</h5>No sexualizing minors even as a “joke.”<br><br>
<h5>RULE 3 </h5>No doxxing.<br><br>
<h5>RULE 3 </h5>No doxxing.<br><br>
<h5>RULE 4 </h5>Using alts to game dramacoin will get you banned. <br><br>
<h5>RULE 4 </h5>Using alts to game dramacoin will get you banned. <br><br>
<h5>RULE 5 </h5>Supporting free speech is an immediate ban.<br><br>
<h5>RULE 5 </h5>Supporting free speech is an immediate ban.<br><br>
<h5>RULE 6 </h5>Absolutely NO anti-CCP sentiment.<br><br>
<h5>RULE 6 </h5>Absolutely NO anti-CCP sentiment.<br><br>
All rules can and likely will be ignored at the discretion of the custodial staff. Be funny, or at least compelling, and pretty much anything legal is fine.<br><br>
All rules can and likely will be ignored at the discretion of the custodial staff. Be funny, or at least compelling, and pretty much anything legal is fine.<br><br>
<font color="hotpink">𝐜𝐚𝐫𝐩 𝐰𝐨𝐳 𝐞𝐫𝐞</font><BR><BR>
</div>
<pre>
<font color="hotpink">𝐜𝐚𝐫𝐩 𝐰𝐨𝐳 𝐞𝐫𝐞</font><BR><BR>
</div>
<pre>
@ -81,10 +81,10 @@
</pre>
{% endif %}
</pre>
{% endif %}
</div>

View File

@ -1,5 +1,5 @@
<div class="col sidebar text-left d-none d-lg-block pt-3 pb-5 bg-white" style="max-width:300px">
<img role="button" data-bs-toggle="modal" data-bs-target="#expandImageModal" onclick="expandDesktopImage('/static/assets/images/PCM/sidebar.webp?a=1041" loading="lazy" src="/static/assets/images/PCM/sidebar.webp?a=1041" width=100%>
<img role="button" data-bs-toggle="modal" data-bs-target="#expandImageModal" onclick="expandDesktopImage('/static/assets/images/PCM/sidebar.webp?a=1041" loading="lazy" src="/static/assets/images/PCM/sidebar.webp?a=1041" width=100%>
<a class="btn btn-primary btn-block mt-4" href="https://ip2.network">STREAM LIST</a>
@ -25,9 +25,9 @@
</pre>
</div>

View File

@ -1,26 +1,26 @@
<div class="col sidebar text-left d-none d-lg-block pt-3 bg-white" style="max-width:300px">
{% if sub %}
{% set image=sub.sidebar_url %}
{% else %}
{% set image='/static/assets/images/' + SITE_NAME + '/sidebar.webp?a=1041' %}
{% endif %}
{% if sub %}
{% set image=sub.sidebar_url %}
{% else %}
{% set image='/static/assets/images/' + SITE_NAME + '/sidebar.webp?a=1041' %}
{% endif %}
<img alt="sidebar image" role="button" data-bs-toggle="modal" data-bs-target="#expandImageModal" onclick="expandDesktopImage('{{image}}')" loading="lazy" src="{{image}}" width=100%>
<img alt="sidebar image" role="button" data-bs-toggle="modal" data-bs-target="#expandImageModal" onclick="expandDesktopImage('{{image}}')" loading="lazy" src="{{image}}" width=100%>
{% if sub %}
{% if sub.sidebar_html %}
<div class="mt-4">{{sub.sidebar_html|safe}}</div>
{% endif %}
<a class="btn btn-primary btn-block mt-4" href="/s/{{sub.name}}/mods">MODS</a>
{% if v and v.mods(sub.name) %}
<a class="btn btn-primary btn-block" href="/s/{{sub.name}}/settings">SUB SETTINGS</a>
{% endif %}
{% if v %}
<a class="btn btn-primary btn-block {% if v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/block','block-sub','unblock-sub');this.classList.toggle('d-none');nextElementSibling.classList.toggle('d-none')">BLOCK SUB</a>
<a class="btn btn-primary btn-block {% if not v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/unblock','block-sub','unblock-sub');this.classList.toggle('d-none');previousElementSibling.classList.toggle('d-none')">UNBLOCK SUB</a>
{% endif %}
{% if sub.sidebar_html %}
<div class="mt-4">{{sub.sidebar_html|safe}}</div>
{% endif %}
<a class="btn btn-primary btn-block mt-4" href="/s/{{sub.name}}/mods">MODS</a>
{% if v and v.mods(sub.name) %}
<a class="btn btn-primary btn-block" href="/s/{{sub.name}}/settings">SUB SETTINGS</a>
{% endif %}
{% if v %}
<a class="btn btn-primary btn-block {% if v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/block','block-sub','unblock-sub');this.classList.toggle('d-none');nextElementSibling.classList.toggle('d-none')">BLOCK SUB</a>
<a class="btn btn-primary btn-block {% if not v.blocks(sub.name) %}d-none{% endif %}" onclick="post_toast(this,'/s/{{sub.name}}/unblock','block-sub','unblock-sub');this.classList.toggle('d-none');previousElementSibling.classList.toggle('d-none')">UNBLOCK SUB</a>
{% endif %}
{% else %}
<p class="mt-4">Rules: No doxxing, No CP or other clearly illegal shit. Also no nazis, go to communities.win. Thanks!</p>
<p class="mt-4">Rules: No doxxing, No CP or other clearly illegal shit. Also no nazis, go to communities.win. Thanks!</p>
{% endif %}
<a class="btn btn-primary btn-block" href="/create_sub">CREATE SUB</a>
@ -36,9 +36,9 @@
</pre>
</div>

View File

@ -9,53 +9,53 @@
<pre>
</pre>
<form id="submitform" action="/create_sub" method="post">
<div class="container">
<div class="container">
<div class="row justify-content-center mb-4 pb-7">
<div class="row justify-content-center mb-4 pb-7">
<div class="col col-md-6 p-3 py-md-0">
<div class="col col-md-6 p-3 py-md-0">
<h1 class="d-none d-md-block">Create a sub</h1>
<h1 class="d-none d-md-block">Create a sub</h1>
<h2 class="h3 d-md-none">Create a sub</h2>
<h2 class="h3 d-md-none">Create a sub</h2>
<div class="body">
<div class="body">
<input type="hidden" name="formkey" value="{{v.formkey}}">
<input type="hidden" name="formkey" value="{{v.formkey}}">
<label for="title">Sub Name</label>
<label for="title">Sub Name</label>
<input class="form-control" id="title-register" aria-describedby="titleHelpRegister" type="text" name="name" required>
<small class="form-text text-muted">Names must be 3-20 characters</small>
<input class="form-control" id="title-register" aria-describedby="titleHelpRegister" type="text" name="name" required>
<small class="form-text text-muted">Names must be 3-20 characters</small>
</div>
</div>
<div class="footer">
<div class="footer">
<div class="d-flex">
<div class="d-flex">
{% if error %}
<p class="mb-0">
<span class="text-danger text-small" style="vertical-align: sub;">{{ error }}</span>
</p>
{% endif %}
<button class="btn btn-primary ml-auto" id="create_button" {% if v.subs_created * 50 > v.coins %}disabled{% endif %}>Create Sub</button>
{% if error %}
<p class="mb-0">
<span class="text-danger text-small" style="vertical-align: sub;">{{ error }}</span>
</p>
{% endif %}
<button class="btn btn-primary ml-auto" id="create_button" {% if v.subs_created * 50 > v.coins %}disabled{% endif %}>Create Sub</button>
</div>
</div>
<p class="mt-2 mr-1" style="float: right"><b>Cost</b>: {{v.subs_created * 50}} coins</p>
<p class="mt-2 mr-1" style="float: right"><b>Cost</b>: {{v.subs_created * 50}} coins</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>

View File

@ -50,7 +50,7 @@
}
@keyframes moveY {
from { top: 0; } to { top: 98%; }
from { top: 0; } to { top: 98%; }
}
.seal1 {

View File

@ -183,8 +183,12 @@
{% endif %}
<div class="custom-control custom-checkbox">
<input {% if v.coins < price and v.procoins < price %}disabled{% endif %} autocomplete="off" type="checkbox" class="custom-control-input" id="ghostCheck" name="ghost">
<label class="custom-control-label" for="ghostCheck">Ghost Thread (cost: {{price}} coins or marseybux)</label>
<input {% if ghost != 42069 and v.coins < ghost and v.procoins < ghost %}disabled{% endif %} autocomplete="off" type="checkbox" class="custom-control-input" id="ghostCheck" name="ghost">
{% if ghost == 42069 %}
<label class="custom-control-label" for="ghostCheck">Ghost Thread (will use a ghost award you own)</label>
{% else %}
<label class="custom-control-label" for="ghostCheck">Ghost Thread (cost: {{ghost}} coins or marseybux)</label>
{% endif %}
</div>
<pre>

View File

@ -13,37 +13,37 @@
<div class="mx-4 mt-2 mb-6">
<h5 class="text-muted text-uppercase">Terms of use</h5>
<div id="rules" class="my-3">
<p>By using Drama you agree to abstain from posting or submitting to any of the following. Additionally, you warrant that anything posted or submitted by you complies with this code of conduct.</p>
<div id="rules" class="my-3">
<p>By using Drama you agree to abstain from posting or submitting to any of the following. Additionally, you warrant that anything posted or submitted by you complies with this code of conduct.</p>
<hr>
<h2 class="h3">Legal</h2>
<p><u>Copyright:</u> You may not post anything copyrighted by another party or material not properly licensed to you.</p>
<p><u>United States Law:</u> You may not post anything not legal to publish within or export from the United States of America.</p>
<h2 class="h3" id="safety">Safety</h2>
<p><u>Harrasment:</u> You may not post anything that harasses or encourages of others either online or offline.</p>
<p><u>Personal Information:</u> Posting or publishing personal or confidential information is stricly prohibited.</p>
<p><u>Solicitation:</u> You may not post anything that solicits transactions</p>
<p><u>Malicious material:</u> Anything that is digitally malicious is strictly prohibited from being posted.</p>
<p><u>Impersonation:</u> You many not post anything that impersonates other Drama users, moderators, or administrations.</p>
<p><u>Spam:</u> Spam material is strictly prohibited from being posted on Drama.</p>
<h2 class="h3" id="sensitive-content">Sexuality</h2>
<p><u>Sexual or sexually suggestive material:</u> Any sexual or sexually suggestive material must be marked "+18"</p>
<p><u>Content involving minors:</u> Drama has zero tolerance for sexual or sexually suggestive material involving minors. Any material that violates this rule will result in a permanent ban.</p>
</div>
<hr>
<h2 class="h3">Legal</h2>
<p><u>Copyright:</u> You may not post anything copyrighted by another party or material not properly licensed to you.</p>
<p><u>United States Law:</u> You may not post anything not legal to publish within or export from the United States of America.</p>
<h2 class="h3" id="safety">Safety</h2>
<p><u>Harrasment:</u> You may not post anything that harasses or encourages of others either online or offline.</p>
<p><u>Personal Information:</u> Posting or publishing personal or confidential information is stricly prohibited.</p>
<p><u>Solicitation:</u> You may not post anything that solicits transactions</p>
<p><u>Malicious material:</u> Anything that is digitally malicious is strictly prohibited from being posted.</p>
<p><u>Impersonation:</u> You many not post anything that impersonates other Drama users, moderators, or administrations.</p>
<p><u>Spam:</u> Spam material is strictly prohibited from being posted on Drama.</p>
<h2 class="h3" id="sensitive-content">Sexuality</h2>
<p><u>Sexual or sexually suggestive material:</u> Any sexual or sexually suggestive material must be marked "+18"</p>
<p><u>Content involving minors:</u> Drama has zero tolerance for sexual or sexually suggestive material involving minors. Any material that violates this rule will result in a permanent ban.</p>
</div>
</div>
{% endblock %}