cum
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.9 KiB |
BIN
files/assets/images/emojis/brainletbush.webp
Executable file → Normal file
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 4.8 KiB |
BIN
files/assets/images/emojis/brainletmaga.webp
Executable file → Normal file
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 8.2 KiB |
BIN
files/assets/images/emojis/brainletpit.webp
Executable file → Normal file
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 6 KiB After Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.8 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 8 KiB After Width: | Height: | Size: 8 KiB |
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
BIN
files/assets/images/emojis/doomer.webp
Executable file → Normal file
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 8.6 KiB |
BIN
files/assets/images/emojis/doomerfront.webp
Executable file → Normal file
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 5.1 KiB |
BIN
files/assets/images/emojis/ethot.webp
Executable file → Normal file
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
BIN
files/assets/images/emojis/fatpriest.webp
Executable file → Normal file
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.9 KiB |
BIN
files/assets/images/emojis/gogetter.webp
Executable file → Normal file
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 4.7 KiB |
BIN
files/assets/images/emojis/grug.webp
Executable file → Normal file
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
BIN
files/assets/images/emojis/nazijak.webp
Executable file → Normal file
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
files/assets/images/emojis/npcmaga.webp
Executable file → Normal file
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 5.1 KiB |
BIN
files/assets/images/emojis/ragemask.webp
Executable file → Normal file
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 8 KiB After Width: | Height: | Size: 8 KiB |
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 7 KiB |
BIN
files/assets/images/emojis/soyjakhipster.webp
Executable file → Normal file
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 8 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 7.1 KiB |
BIN
files/assets/images/emojis/soyjakyell.webp
Executable file → Normal file
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.7 KiB |
BIN
files/assets/images/emojis/zoomer.webp
Executable file → Normal file
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 6 KiB |
BIN
files/assets/images/emojis/zoomersoy.webp
Executable file → Normal file
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 6 KiB |
|
@ -191,7 +191,7 @@ post_comment=function(fullname){
|
||||||
xhr.onload=function(){
|
xhr.onload=function(){
|
||||||
if (xhr.status==200) {
|
if (xhr.status==200) {
|
||||||
commentForm=document.getElementById('comment-form-space-'+fullname);
|
commentForm=document.getElementById('comment-form-space-'+fullname);
|
||||||
commentForm.innerHTML = xhr.response.replace(/data-src/g, 'src');
|
commentForm.innerHTML = xhr.response.replace(/data-src/g, 'src').replace(/style="display:none;visibility:hidden;"/g, '');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var myToast = new bootstrap.Toast(document.getElementById('toast-post-success'));
|
var myToast = new bootstrap.Toast(document.getElementById('toast-post-success'));
|
||||||
|
|
|
@ -24,6 +24,14 @@ if site_name == "Drama":
|
||||||
"color": "text-success",
|
"color": "text-success",
|
||||||
"price": 3500
|
"price": 3500
|
||||||
},
|
},
|
||||||
|
"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)",
|
||||||
|
"icon": "fas fa-seedling",
|
||||||
|
"color": "text-success",
|
||||||
|
"price": 10000
|
||||||
|
},
|
||||||
"shit": {
|
"shit": {
|
||||||
"kind": "shit",
|
"kind": "shit",
|
||||||
"title": "Shit",
|
"title": "Shit",
|
||||||
|
@ -35,19 +43,11 @@ if site_name == "Drama":
|
||||||
"fireflies": {
|
"fireflies": {
|
||||||
"kind": "fireflies",
|
"kind": "fireflies",
|
||||||
"title": "Fireflies",
|
"title": "Fireflies",
|
||||||
"description": "Puts stars on the post.",
|
"description": "Puts fireflies on the post.",
|
||||||
"icon": "fas fa-sparkles",
|
"icon": "fas fa-sparkles",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 500
|
"price": 500
|
||||||
},
|
},
|
||||||
"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)",
|
|
||||||
"icon": "fas fa-seedling",
|
|
||||||
"color": "text-success",
|
|
||||||
"price": 10000
|
|
||||||
},
|
|
||||||
"train": {
|
"train": {
|
||||||
"kind": "train",
|
"kind": "train",
|
||||||
"title": "Train",
|
"title": "Train",
|
||||||
|
@ -60,7 +60,7 @@ if site_name == "Drama":
|
||||||
"kind": "pin",
|
"kind": "pin",
|
||||||
"title": "1-Hour Pin",
|
"title": "1-Hour Pin",
|
||||||
"description": "Pins the post.",
|
"description": "Pins the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 750
|
"price": 750
|
||||||
},
|
},
|
||||||
|
@ -68,7 +68,7 @@ if site_name == "Drama":
|
||||||
"kind": "unpin",
|
"kind": "unpin",
|
||||||
"title": "1-Hour Unpin",
|
"title": "1-Hour Unpin",
|
||||||
"description": "Removes 1 hour from the pin duration of the post.",
|
"description": "Removes 1 hour from the pin duration of the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-black",
|
"color": "text-black",
|
||||||
"price": 1000
|
"price": 1000
|
||||||
},
|
},
|
||||||
|
@ -86,7 +86,7 @@ else:
|
||||||
"fireflies": {
|
"fireflies": {
|
||||||
"kind": "fireflies",
|
"kind": "fireflies",
|
||||||
"title": "Fireflies",
|
"title": "Fireflies",
|
||||||
"description": "Puts stars on the post.",
|
"description": "Puts fireflies on the post.",
|
||||||
"icon": "fas fa-sparkles",
|
"icon": "fas fa-sparkles",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 500
|
"price": 500
|
||||||
|
@ -103,7 +103,7 @@ else:
|
||||||
"kind": "pin",
|
"kind": "pin",
|
||||||
"title": "1-Hour Pin",
|
"title": "1-Hour Pin",
|
||||||
"description": "Pins the post.",
|
"description": "Pins the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 750
|
"price": 750
|
||||||
},
|
},
|
||||||
|
@ -111,7 +111,7 @@ else:
|
||||||
"kind": "unpin",
|
"kind": "unpin",
|
||||||
"title": "1-Hour Unpin",
|
"title": "1-Hour Unpin",
|
||||||
"description": "Removes 1 hour from the pin duration of the post.",
|
"description": "Removes 1 hour from the pin duration of the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-black",
|
"color": "text-black",
|
||||||
"price": 1000
|
"price": 1000
|
||||||
},
|
},
|
||||||
|
|
|
@ -175,22 +175,22 @@ ACTIONTYPES={
|
||||||
},
|
},
|
||||||
"pin_comment":{
|
"pin_comment":{
|
||||||
"str":'pinned a {self.target_link}',
|
"str":'pinned a {self.target_link}',
|
||||||
"icon":"fa-thumbtack",
|
"icon":"fa-thumbtack fa-rotate--45",
|
||||||
"color": "bg-info",
|
"color": "bg-info",
|
||||||
},
|
},
|
||||||
"unpin_comment":{
|
"unpin_comment":{
|
||||||
"str":'un-pinned a {self.target_link}',
|
"str":'un-pinned a {self.target_link}',
|
||||||
"icon":"fa-thumbtack",
|
"icon":"fa-thumbtack fa-rotate--45",
|
||||||
"color": "bg-muted",
|
"color": "bg-muted",
|
||||||
},
|
},
|
||||||
"pin_post":{
|
"pin_post":{
|
||||||
"str":'pinned post {self.target_link}',
|
"str":'pinned post {self.target_link}',
|
||||||
"icon":"fa-thumbtack",
|
"icon":"fa-thumbtack fa-rotate--45",
|
||||||
"color": "bg-success",
|
"color": "bg-success",
|
||||||
},
|
},
|
||||||
"unpin_post":{
|
"unpin_post":{
|
||||||
"str":'un-pinned post {self.target_link}',
|
"str":'un-pinned post {self.target_link}',
|
||||||
"icon":"fa-thumbtack",
|
"icon":"fa-thumbtack fa-rotate--45",
|
||||||
"color": "bg-muted",
|
"color": "bg-muted",
|
||||||
},
|
},
|
||||||
"set_nsfw":{
|
"set_nsfw":{
|
||||||
|
|
|
@ -41,6 +41,14 @@ if site_name == "Drama":
|
||||||
"color": "text-success",
|
"color": "text-success",
|
||||||
"price": 3500
|
"price": 3500
|
||||||
},
|
},
|
||||||
|
"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)",
|
||||||
|
"icon": "fas fa-seedling",
|
||||||
|
"color": "text-success",
|
||||||
|
"price": 10000
|
||||||
|
},
|
||||||
"shit": {
|
"shit": {
|
||||||
"kind": "shit",
|
"kind": "shit",
|
||||||
"title": "Shit",
|
"title": "Shit",
|
||||||
|
@ -52,19 +60,11 @@ if site_name == "Drama":
|
||||||
"fireflies": {
|
"fireflies": {
|
||||||
"kind": "fireflies",
|
"kind": "fireflies",
|
||||||
"title": "Fireflies",
|
"title": "Fireflies",
|
||||||
"description": "Puts stars on the post.",
|
"description": "Puts fireflies on the post.",
|
||||||
"icon": "fas fa-sparkles",
|
"icon": "fas fa-sparkles",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 500
|
"price": 500
|
||||||
},
|
},
|
||||||
"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)",
|
|
||||||
"icon": "fas fa-seedling",
|
|
||||||
"color": "text-success",
|
|
||||||
"price": 10000
|
|
||||||
},
|
|
||||||
"train": {
|
"train": {
|
||||||
"kind": "train",
|
"kind": "train",
|
||||||
"title": "Train",
|
"title": "Train",
|
||||||
|
@ -77,7 +77,7 @@ if site_name == "Drama":
|
||||||
"kind": "pin",
|
"kind": "pin",
|
||||||
"title": "1-Hour Pin",
|
"title": "1-Hour Pin",
|
||||||
"description": "Pins the post.",
|
"description": "Pins the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 750
|
"price": 750
|
||||||
},
|
},
|
||||||
|
@ -85,7 +85,7 @@ if site_name == "Drama":
|
||||||
"kind": "unpin",
|
"kind": "unpin",
|
||||||
"title": "1-Hour Unpin",
|
"title": "1-Hour Unpin",
|
||||||
"description": "Removes 1 hour from the pin duration of the post.",
|
"description": "Removes 1 hour from the pin duration of the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-black",
|
"color": "text-black",
|
||||||
"price": 1000
|
"price": 1000
|
||||||
},
|
},
|
||||||
|
@ -103,7 +103,7 @@ else:
|
||||||
"fireflies": {
|
"fireflies": {
|
||||||
"kind": "fireflies",
|
"kind": "fireflies",
|
||||||
"title": "Fireflies",
|
"title": "Fireflies",
|
||||||
"description": "Puts stars on the post.",
|
"description": "Puts fireflies on the post.",
|
||||||
"icon": "fas fa-sparkles",
|
"icon": "fas fa-sparkles",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 500
|
"price": 500
|
||||||
|
@ -120,7 +120,7 @@ else:
|
||||||
"kind": "pin",
|
"kind": "pin",
|
||||||
"title": "1-Hour Pin",
|
"title": "1-Hour Pin",
|
||||||
"description": "Pins the post.",
|
"description": "Pins the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 750
|
"price": 750
|
||||||
},
|
},
|
||||||
|
@ -128,7 +128,7 @@ else:
|
||||||
"kind": "unpin",
|
"kind": "unpin",
|
||||||
"title": "1-Hour Unpin",
|
"title": "1-Hour Unpin",
|
||||||
"description": "Removes 1 hour from the pin duration of the post.",
|
"description": "Removes 1 hour from the pin duration of the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-black",
|
"color": "text-black",
|
||||||
"price": 1000
|
"price": 1000
|
||||||
},
|
},
|
||||||
|
|
|
@ -1064,19 +1064,6 @@ def api_sticky_post(post_id, v):
|
||||||
if post.stickied: return {"message": "Post pinned!"}
|
if post.stickied: return {"message": "Post pinned!"}
|
||||||
else: return {"message": "Post unpinned!"}
|
else: return {"message": "Post unpinned!"}
|
||||||
|
|
||||||
@app.post("/pin/<post_id>")
|
|
||||||
@auth_required
|
|
||||||
def api_pin_post(post_id, v):
|
|
||||||
|
|
||||||
post = g.db.query(Submission).options(lazyload('*')).filter_by(id=post_id).first()
|
|
||||||
if post:
|
|
||||||
post.is_pinned = not post.is_pinned
|
|
||||||
g.db.add(post)
|
|
||||||
g.db.commit()
|
|
||||||
|
|
||||||
if post.is_pinned: return {"message": "Post pinned!"}
|
|
||||||
else: return {"message": "Post unpinned!"}
|
|
||||||
|
|
||||||
@app.post("/ban_comment/<c_id>")
|
@app.post("/ban_comment/<c_id>")
|
||||||
@limiter.limit("1/second")
|
@limiter.limit("1/second")
|
||||||
@admin_level_required(1)
|
@admin_level_required(1)
|
||||||
|
|
|
@ -29,6 +29,14 @@ def shop(v):
|
||||||
"color": "text-success",
|
"color": "text-success",
|
||||||
"price": 3500
|
"price": 3500
|
||||||
},
|
},
|
||||||
|
"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)",
|
||||||
|
"icon": "fas fa-seedling",
|
||||||
|
"color": "text-success",
|
||||||
|
"price": 10000
|
||||||
|
},
|
||||||
"shit": {
|
"shit": {
|
||||||
"kind": "shit",
|
"kind": "shit",
|
||||||
"title": "Shit",
|
"title": "Shit",
|
||||||
|
@ -40,19 +48,11 @@ def shop(v):
|
||||||
"fireflies": {
|
"fireflies": {
|
||||||
"kind": "fireflies",
|
"kind": "fireflies",
|
||||||
"title": "Fireflies",
|
"title": "Fireflies",
|
||||||
"description": "Puts stars on the post.",
|
"description": "Puts fireflies on the post.",
|
||||||
"icon": "fas fa-sparkles",
|
"icon": "fas fa-sparkles",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 500
|
"price": 500
|
||||||
},
|
},
|
||||||
"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)",
|
|
||||||
"icon": "fas fa-seedling",
|
|
||||||
"color": "text-success",
|
|
||||||
"price": 10000
|
|
||||||
},
|
|
||||||
"train": {
|
"train": {
|
||||||
"kind": "train",
|
"kind": "train",
|
||||||
"title": "Train",
|
"title": "Train",
|
||||||
|
@ -65,7 +65,7 @@ def shop(v):
|
||||||
"kind": "pin",
|
"kind": "pin",
|
||||||
"title": "1-Hour Pin",
|
"title": "1-Hour Pin",
|
||||||
"description": "Pins the post.",
|
"description": "Pins the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 750
|
"price": 750
|
||||||
},
|
},
|
||||||
|
@ -73,7 +73,7 @@ def shop(v):
|
||||||
"kind": "unpin",
|
"kind": "unpin",
|
||||||
"title": "1-Hour Unpin",
|
"title": "1-Hour Unpin",
|
||||||
"description": "Removes 1 hour from the pin duration of the post.",
|
"description": "Removes 1 hour from the pin duration of the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-black",
|
"color": "text-black",
|
||||||
"price": 1000
|
"price": 1000
|
||||||
},
|
},
|
||||||
|
@ -91,7 +91,7 @@ def shop(v):
|
||||||
"fireflies": {
|
"fireflies": {
|
||||||
"kind": "fireflies",
|
"kind": "fireflies",
|
||||||
"title": "Fireflies",
|
"title": "Fireflies",
|
||||||
"description": "Puts stars on the post.",
|
"description": "Puts fireflies on the post.",
|
||||||
"icon": "fas fa-sparkles",
|
"icon": "fas fa-sparkles",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 500
|
"price": 500
|
||||||
|
@ -108,7 +108,7 @@ def shop(v):
|
||||||
"kind": "pin",
|
"kind": "pin",
|
||||||
"title": "1-Hour Pin",
|
"title": "1-Hour Pin",
|
||||||
"description": "Pins the post.",
|
"description": "Pins the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 750
|
"price": 750
|
||||||
},
|
},
|
||||||
|
@ -116,12 +116,39 @@ def shop(v):
|
||||||
"kind": "unpin",
|
"kind": "unpin",
|
||||||
"title": "1-Hour Unpin",
|
"title": "1-Hour Unpin",
|
||||||
"description": "Removes 1 hour from the pin duration of the post.",
|
"description": "Removes 1 hour from the pin duration of the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-black",
|
"color": "text-black",
|
||||||
"price": 1000
|
"price": 1000
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AWARDS2 = {
|
||||||
|
"ban": {
|
||||||
|
"kind": "ban",
|
||||||
|
"title": "1-Day Ban",
|
||||||
|
"description": "Bans the author for a day.",
|
||||||
|
"icon": "fas fa-gavel",
|
||||||
|
"color": "text-danger",
|
||||||
|
"price": 3000
|
||||||
|
},
|
||||||
|
"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)",
|
||||||
|
"icon": "fas fa-seedling",
|
||||||
|
"color": "text-success",
|
||||||
|
"price": 10000
|
||||||
|
},
|
||||||
|
"shit": {
|
||||||
|
"kind": "shit",
|
||||||
|
"title": "Shit",
|
||||||
|
"description": "Makes flies swarm a post.",
|
||||||
|
"icon": "fas fa-poop",
|
||||||
|
"color": "text-black-50",
|
||||||
|
"price": 500
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
query = g.db.query(
|
query = g.db.query(
|
||||||
User.id, User.username, User.patron, User.namecolor,
|
User.id, User.username, User.patron, User.namecolor,
|
||||||
AwardRelationship.kind.label('last_award_kind'), func.count(AwardRelationship.id).label('last_award_count')
|
AwardRelationship.kind.label('last_award_kind'), func.count(AwardRelationship.id).label('last_award_count')
|
||||||
|
@ -171,6 +198,14 @@ def buy(v, award):
|
||||||
"color": "text-success",
|
"color": "text-success",
|
||||||
"price": 3500
|
"price": 3500
|
||||||
},
|
},
|
||||||
|
"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)",
|
||||||
|
"icon": "fas fa-seedling",
|
||||||
|
"color": "text-success",
|
||||||
|
"price": 10000
|
||||||
|
},
|
||||||
"shit": {
|
"shit": {
|
||||||
"kind": "shit",
|
"kind": "shit",
|
||||||
"title": "Shit",
|
"title": "Shit",
|
||||||
|
@ -182,19 +217,11 @@ def buy(v, award):
|
||||||
"fireflies": {
|
"fireflies": {
|
||||||
"kind": "fireflies",
|
"kind": "fireflies",
|
||||||
"title": "Fireflies",
|
"title": "Fireflies",
|
||||||
"description": "Puts stars on the post.",
|
"description": "Puts fireflies on the post.",
|
||||||
"icon": "fas fa-sparkles",
|
"icon": "fas fa-sparkles",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 500
|
"price": 500
|
||||||
},
|
},
|
||||||
"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)",
|
|
||||||
"icon": "fas fa-seedling",
|
|
||||||
"color": "text-success",
|
|
||||||
"price": 10000
|
|
||||||
},
|
|
||||||
"train": {
|
"train": {
|
||||||
"kind": "train",
|
"kind": "train",
|
||||||
"title": "Train",
|
"title": "Train",
|
||||||
|
@ -207,7 +234,7 @@ def buy(v, award):
|
||||||
"kind": "pin",
|
"kind": "pin",
|
||||||
"title": "1-Hour Pin",
|
"title": "1-Hour Pin",
|
||||||
"description": "Pins the post.",
|
"description": "Pins the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 750
|
"price": 750
|
||||||
},
|
},
|
||||||
|
@ -215,7 +242,7 @@ def buy(v, award):
|
||||||
"kind": "unpin",
|
"kind": "unpin",
|
||||||
"title": "1-Hour Unpin",
|
"title": "1-Hour Unpin",
|
||||||
"description": "Removes 1 hour from the pin duration of the post.",
|
"description": "Removes 1 hour from the pin duration of the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-black",
|
"color": "text-black",
|
||||||
"price": 1000
|
"price": 1000
|
||||||
},
|
},
|
||||||
|
@ -233,7 +260,7 @@ def buy(v, award):
|
||||||
"fireflies": {
|
"fireflies": {
|
||||||
"kind": "fireflies",
|
"kind": "fireflies",
|
||||||
"title": "Fireflies",
|
"title": "Fireflies",
|
||||||
"description": "Puts stars on the post.",
|
"description": "Puts fireflies on the post.",
|
||||||
"icon": "fas fa-sparkles",
|
"icon": "fas fa-sparkles",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 500
|
"price": 500
|
||||||
|
@ -250,7 +277,7 @@ def buy(v, award):
|
||||||
"kind": "pin",
|
"kind": "pin",
|
||||||
"title": "1-Hour Pin",
|
"title": "1-Hour Pin",
|
||||||
"description": "Pins the post.",
|
"description": "Pins the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-warning",
|
"color": "text-warning",
|
||||||
"price": 750
|
"price": 750
|
||||||
},
|
},
|
||||||
|
@ -258,7 +285,7 @@ def buy(v, award):
|
||||||
"kind": "unpin",
|
"kind": "unpin",
|
||||||
"title": "1-Hour Unpin",
|
"title": "1-Hour Unpin",
|
||||||
"description": "Removes 1 hour from the pin duration of the post.",
|
"description": "Removes 1 hour from the pin duration of the post.",
|
||||||
"icon": "fas fa-thumbtack",
|
"icon": "fas fa-thumbtack fa-rotate--45",
|
||||||
"color": "text-black",
|
"color": "text-black",
|
||||||
"price": 1000
|
"price": 1000
|
||||||
},
|
},
|
||||||
|
@ -357,7 +384,6 @@ def award_post(pid, v):
|
||||||
author.unban_utc = 0
|
author.unban_utc = 0
|
||||||
author.is_banned = 0
|
author.is_banned = 0
|
||||||
send_notification(NOTIFICATIONS_ACCOUNT, author, f"You have been unbanned!")
|
send_notification(NOTIFICATIONS_ACCOUNT, author, f"You have been unbanned!")
|
||||||
|
|
||||||
elif kind == "grass":
|
elif kind == "grass":
|
||||||
author = post.author
|
author = post.author
|
||||||
author.is_banned = AUTOJANNY_ACCOUNT
|
author.is_banned = AUTOJANNY_ACCOUNT
|
||||||
|
@ -461,6 +487,17 @@ def award_comment(cid, v):
|
||||||
author.ban_reason = f"grass award used by @{v.username} on /comment/{c.id}"
|
author.ban_reason = f"grass award used by @{v.username} on /comment/{c.id}"
|
||||||
link = f"[this comment]({c.permalink})"
|
link = f"[this comment]({c.permalink})"
|
||||||
send_notification(NOTIFICATIONS_ACCOUNT, author, f"Your account has been suspended permanently for {link}. You must [provide the admins](/contact) a timestamped picture of you touching grass to get unbanned!")
|
send_notification(NOTIFICATIONS_ACCOUNT, author, f"Your account has been suspended permanently for {link}. You must [provide the admins](/contact) a timestamped picture of you touching grass to get unbanned!")
|
||||||
|
elif kind == "pin":
|
||||||
|
if c.is_pinned and c.is_pinned.startswith("t:"): t = int(c.is_pinned[2:]) + 3600
|
||||||
|
else: t = int(time.time()) + 3600
|
||||||
|
c.is_pinned = f"t:{t}"
|
||||||
|
g.db.add(c)
|
||||||
|
elif kind == "unpin":
|
||||||
|
if not (c.is_pinned and c.is_pinned.startswith("t:")): abort(403)
|
||||||
|
t = int(c.is_pinned[2:]) - 3600
|
||||||
|
if time.time() > t: c.is_pinned = None
|
||||||
|
else: c.is_pinned = f"t:{t}"
|
||||||
|
g.db.add(c)
|
||||||
|
|
||||||
c.author.received_award_count += 1
|
c.author.received_award_count += 1
|
||||||
g.db.add(c.author)
|
g.db.add(c.author)
|
||||||
|
@ -473,7 +510,7 @@ def award_comment(cid, v):
|
||||||
@admin_level_required(6)
|
@admin_level_required(6)
|
||||||
def admin_userawards_get(v):
|
def admin_userawards_get(v):
|
||||||
|
|
||||||
return render_template("admin/awards.html", awards=list(AWARDS.values()), v=v)
|
return render_template("admin/awards.html", awards=list(AWARDS2.values()), v=v)
|
||||||
|
|
||||||
@app.post("/admin/awards")
|
@app.post("/admin/awards")
|
||||||
@limiter.limit("1/second")
|
@limiter.limit("1/second")
|
||||||
|
@ -523,4 +560,4 @@ def admin_userawards_post(v):
|
||||||
|
|
||||||
g.db.commit()
|
g.db.commit()
|
||||||
|
|
||||||
return render_template("admin/awards.html", awards=list(AWARDS.values()), v=v)
|
return render_template("admin/awards.html", awards=list(AWARDS2.values()), v=v)
|
|
@ -810,10 +810,11 @@ def toggle_pin_comment(cid, v):
|
||||||
|
|
||||||
comment = get_comment(cid, v=v)
|
comment = get_comment(cid, v=v)
|
||||||
|
|
||||||
if v.admin_level < 1 and v.id != comment.post.author_id:
|
if v.admin_level < 1 and v.id != comment.post.author_id: abort(403)
|
||||||
abort(403)
|
|
||||||
|
|
||||||
if comment.is_pinned: comment.is_pinned = None
|
if comment.is_pinned:
|
||||||
|
if comment.is_pinned.startswith("t:"): abort(403)
|
||||||
|
else: comment.is_pinned = None
|
||||||
else: comment.is_pinned = v.username
|
else: comment.is_pinned = v.username
|
||||||
|
|
||||||
g.db.add(comment)
|
g.db.add(comment)
|
||||||
|
|
|
@ -1003,3 +1003,16 @@ def unsave_post(pid, v):
|
||||||
g.db.commit()
|
g.db.commit()
|
||||||
|
|
||||||
return {"message": "Post unsaved!"}
|
return {"message": "Post unsaved!"}
|
||||||
|
|
||||||
|
@app.post("/pin/<post_id>")
|
||||||
|
@auth_required
|
||||||
|
def api_pin_post(post_id, v):
|
||||||
|
|
||||||
|
post = g.db.query(Submission).options(lazyload('*')).filter_by(id=post_id).first()
|
||||||
|
if post:
|
||||||
|
post.is_pinned = not post.is_pinned
|
||||||
|
g.db.add(post)
|
||||||
|
g.db.commit()
|
||||||
|
|
||||||
|
if post.is_pinned: return {"message": "Post pinned!"}
|
||||||
|
else: return {"message": "Post unpinned!"}
|
|
@ -28,11 +28,6 @@
|
||||||
<input id="kind" name="kind" value="" hidden>
|
<input id="kind" name="kind" value="" hidden>
|
||||||
<textarea id="note" name="note" class="form-control" placeholder="Note to include in award notification"></textarea>
|
<textarea id="note" name="note" class="form-control" placeholder="Note to include in award notification"></textarea>
|
||||||
<input id="giveaward" class="btn btn-primary" style="float:right" type="submit" value="Give Award" disabled>
|
<input id="giveaward" class="btn btn-primary" style="float:right" type="submit" value="Give Award" disabled>
|
||||||
<pre>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</pre>
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -67,6 +62,10 @@
|
||||||
background-color: var(--primary)!important;
|
background-color: var(--primary)!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.award-columns {
|
||||||
|
column-count: 2;
|
||||||
|
}
|
||||||
|
|
||||||
@media (min-width: 767.98px) {
|
@media (min-width: 767.98px) {
|
||||||
.award-columns {
|
.award-columns {
|
||||||
column-count: 8 !important;
|
column-count: 8 !important;
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
{% if v %}
|
{% if v %}
|
||||||
{% include "award_modal.html" %}
|
{% include "award_modal.html" %}
|
||||||
<script src="/assets/js/comments_v.js?v=61"></script>
|
<script src="/assets/js/comments_v.js?v=62"></script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.8/dist/clipboard.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.8/dist/clipboard.min.js"></script>
|
||||||
|
@ -119,7 +119,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="px-3">
|
<div class="px-3">
|
||||||
<span class="text-black">{% if c.author.bio_html %}{{c.author.bio_html | safe}}{% endif %}</span>
|
<span class="text-black">{% if c.author.bio_html %}{{c.author.bio_html.replace('src="/assets/images/loading.gif" data-', '') | safe}}{% endif %}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-top d-flex align-items-center px-2 py-3 gap-3 smol">
|
<div class="border-top d-flex align-items-center px-2 py-3 gap-3 smol">
|
||||||
<span>
|
<span>
|
||||||
|
@ -263,14 +263,14 @@
|
||||||
{% if c.active_flags %}<a class="btn btn-primary" style="padding:1px 5px; font-size:10px;" href="javascript:void(0)" onclick="document.getElementById('flaggers-{{c.id}}').classList.toggle('d-none')">{{c.active_flags}} Reports</a>{% endif %}
|
{% if c.active_flags %}<a class="btn btn-primary" style="padding:1px 5px; font-size:10px;" href="javascript:void(0)" onclick="document.getElementById('flaggers-{{c.id}}').classList.toggle('d-none')">{{c.active_flags}} Reports</a>{% endif %}
|
||||||
{% if c.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
{% if c.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
||||||
{% if v and v.admin_level==6 and c.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Shadowbanned by @{{c.author.shadowbanned}}"></i>{% endif %}
|
{% if v and v.admin_level==6 and c.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Shadowbanned by @{{c.author.shadowbanned}}"></i>{% endif %}
|
||||||
{% if c.is_pinned %}<i class="text-admin fas fa-thumbtack" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Pinned by @{{c.is_pinned}}"></i>{% endif %}
|
{% if c.is_pinned %}<i class="text-admin fas fa-thumbtack fa-rotate--45" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Pinned by @{{c.is_pinned}}"></i>{% endif %}
|
||||||
{% if c.distinguish_level %}<i class="fas fa-broom text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{'SITE_NAME' | app_config}} Admin, speaking officially"></i>{% endif %}
|
{% if c.distinguish_level %}<i class="fas fa-broom text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{'SITE_NAME' | app_config}} Admin, speaking officially"></i>{% endif %}
|
||||||
{% if c.is_op %}<i class="fas fa-microphone-stand text-info" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="OP"></i>{% endif %}
|
{% if c.is_op %}<i class="fas fa-microphone-stand text-info" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="OP"></i>{% endif %}
|
||||||
{% if c.is_bot %}<i class="fad fa-robot text-info" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Bot"></i>{% endif %}
|
{% if c.is_bot %}<i class="fad fa-robot text-info" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Bot"></i>{% endif %}
|
||||||
{% 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_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, but you can see this comment because {{'it\'s pinned' if c.is_pinned else 'you\'re an admin'}}."></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, but you can see this comment because {{'it\'s pinned' if c.is_pinned else 'you\'re an admin'}}."></i>{% endif %}
|
||||||
|
|
||||||
{% if c.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if c.author.id == 541 %}#62ca56{% 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.id == 541 %}#62ca56{% elif c.author.id == 2256 %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{c.author.verified}}"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<a class="user-name text-decoration-none" data-bs-position="auto" 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>
|
<a class="user-name text-decoration-none" data-bs-position="auto" 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>
|
||||||
|
@ -435,9 +435,9 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if v and c.post and (v.admin_level >= 1 or v.id == c.post.author_id) and c.level == 1 %}
|
{% if v and c.post and (v.admin_level >= 1 or v.id == c.post.author_id) and c.level == 1 %}
|
||||||
<a id="unpin-{{c.id}}" class="{% if c.is_pinned %}d-md-inline-block{% endif %} list-inline-item text-muted d-none text-info" href="javascript:void(0)" data-bs-dismiss="modal" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast3('/pin_comment/{{c.id}}','pin-{{c.id}}','unpin-{{c.id}}')"><i class="fas fa-thumbtack text-info fa-fw"></i>Unpin</a>
|
<a id="unpin-{{c.id}}" class="{% if c.is_pinned %}d-md-inline-block{% endif %} list-inline-item text-muted d-none text-info" href="javascript:void(0)" data-bs-dismiss="modal" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast3('/pin_comment/{{c.id}}','pin-{{c.id}}','unpin-{{c.id}}')"><i class="fas fa-thumbtack fa-rotate--45 text-info fa-fw"></i>Unpin</a>
|
||||||
|
|
||||||
<a id="pin-{{c.id}}" class="{% if not c.is_pinned %}d-md-inline-block{% endif %} list-inline-item text-muted d-none text-info" href="javascript:void(0)" data-bs-dismiss="modal" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast3('/pin_comment/{{c.id}}','pin-{{c.id}}','unpin-{{c.id}}')"><i class="fas fa-thumbtack text-info fa-fw"></i>Pin</a>
|
<a id="pin-{{c.id}}" class="{% if not c.is_pinned %}d-md-inline-block{% endif %} list-inline-item text-muted d-none text-info" href="javascript:void(0)" data-bs-dismiss="modal" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast3('/pin_comment/{{c.id}}','pin-{{c.id}}','unpin-{{c.id}}')"><i class="fas fa-thumbtack fa-rotate--45 text-info fa-fw"></i>Pin</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
|
@ -579,8 +579,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if v and c.post and (v.admin_level >= 1 or v.id == c.post.author_id) and c.level == 1 %}
|
{% if v and c.post and (v.admin_level >= 1 or v.id == c.post.author_id) and c.level == 1 %}
|
||||||
<a id="pin2-{{c.id}}" class="list-group-item {% if c.is_pinned %}d-none{% endif %} text-info" href="javascript:void(0)" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast2('/pin_comment/{{c.id}}','pin2-{{c.id}}','unpin2-{{c.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack text-info"></i>Pin</a>
|
<a id="pin2-{{c.id}}" class="list-group-item {% if c.is_pinned %}d-none{% endif %} text-info" href="javascript:void(0)" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast2('/pin_comment/{{c.id}}','pin2-{{c.id}}','unpin2-{{c.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack fa-rotate--45 text-info"></i>Pin</a>
|
||||||
<a id="unpin2-{{c.id}}" class="list-group-item {% if not c.is_pinned %}d-none{% endif %} text-info" href="javascript:void(0)" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast2('/pin_comment/{{c.id}}','pin2-{{c.id}}','unpin2-{{c.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack text-info"></i>Unpin</a>
|
<a id="unpin2-{{c.id}}" class="list-group-item {% if not c.is_pinned %}d-none{% endif %} text-info" href="javascript:void(0)" data-bs-target="#actionsModal-{{c.id}}" onclick="post_toast2('/pin_comment/{{c.id}}','pin2-{{c.id}}','unpin2-{{c.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack fa-rotate--45 text-info"></i>Unpin</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if v %}
|
{% if v %}
|
||||||
|
|
|
@ -143,7 +143,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{% if v %}
|
{% if v %}
|
||||||
<script src="/assets/js/comments_v.js?v=61"></script>
|
<script src="/assets/js/comments_v.js?v=62"></script>
|
||||||
{% include "award_modal.html" %}
|
{% include "award_modal.html" %}
|
||||||
{% include "emoji_modal.html" %}
|
{% include "emoji_modal.html" %}
|
||||||
{% include "gif_modal.html" %}
|
{% include "gif_modal.html" %}
|
||||||
|
@ -264,7 +264,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="px-3">
|
<div class="px-3">
|
||||||
<span class="text-black">{% if p.author.bio_html %}{{p.author.bio_html | safe}}{% endif %}</span>
|
<span class="text-black">{% if p.author.bio_html %}{{p.author.bio_html.replace('src="/assets/images/loading.gif" data-', '') | safe}}{% endif %}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-top d-flex align-items-center px-2 py-3 gap-3 smol">
|
<div class="border-top d-flex align-items-center px-2 py-3 gap-3 smol">
|
||||||
<span>
|
<span>
|
||||||
|
@ -308,8 +308,8 @@
|
||||||
|
|
||||||
<button class="nobackground btn btn-link btn-block btn-lg text-left text-muted" data-bs-dismiss="modal" onclick="togglePostEdit('{{p.id}}')"><i class="far fa-edit text-center text-muted mr-3"></i>Edit</button>
|
<button class="nobackground btn btn-link btn-block btn-lg text-left text-muted" data-bs-dismiss="modal" onclick="togglePostEdit('{{p.id}}')"><i class="far fa-edit text-center text-muted mr-3"></i>Edit</button>
|
||||||
|
|
||||||
<button id="pin-profile2-{{p.id}}" class="{% if p.is_pinned %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-muted text-left" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','pin-profile2-{{p.id}}','unpin-profile2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack text-center mr-3"></i>Pin to profile</button>
|
<button id="pin-profile2-{{p.id}}" class="{% if p.is_pinned %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-muted text-left" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','pin-profile2-{{p.id}}','unpin-profile2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack fa-rotate--45 text-center mr-3"></i>Pin to profile</button>
|
||||||
<button id="unpin-profile2-{{p.id}}" class="{% if not p.is_pinned %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-muted text-left" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','pin-profile2-{{p.id}}','unpin-profile2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack text-center mr-3"></i>Unpin from profile</button>
|
<button id="unpin-profile2-{{p.id}}" class="{% if not p.is_pinned %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-muted text-left" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','pin-profile2-{{p.id}}','unpin-profile2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack fa-rotate--45 text-center mr-3"></i>Unpin from profile</button>
|
||||||
|
|
||||||
{% if p.deleted_utc > 0 %}
|
{% if p.deleted_utc > 0 %}
|
||||||
<button class="nobackground btn btn-link btn-block btn-lg text-left text-muted" href="javascript:void(0)" onclick="post_toast('/undelete_post/{{p.id}}')" data-bs-dismiss="modal"><i class="far fa-trash-alt text-center text-muted mr-3"></i>Undelete</button>
|
<button class="nobackground btn btn-link btn-block btn-lg text-left text-muted" href="javascript:void(0)" onclick="post_toast('/undelete_post/{{p.id}}')" data-bs-dismiss="modal"><i class="far fa-trash-alt text-center text-muted mr-3"></i>Undelete</button>
|
||||||
|
@ -340,8 +340,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if v.admin_level >=3 %}
|
{% if v.admin_level >=3 %}
|
||||||
<button id="pin2-{{p.id}}" class="{% if p.stickied %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin2-{{p.id}}','unpin2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack text-center mr-3"></i>Pin</button>
|
<button id="pin2-{{p.id}}" class="{% if p.stickied %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin2-{{p.id}}','unpin2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack fa-rotate--45 text-center mr-3"></i>Pin</button>
|
||||||
<button id="unpin2-{{p.id}}" class="{% if not p.stickied %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin2-{{p.id}}','unpin2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack text-center mr-3"></i>Unpin</button>
|
<button id="unpin2-{{p.id}}" class="{% if not p.stickied %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin2-{{p.id}}','unpin2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack fa-rotate--45 text-center mr-3"></i>Unpin</button>
|
||||||
{% if v==p.author %}
|
{% if v==p.author %}
|
||||||
<button id="distinguish2-{{p.id}}" class="{% if p.distinguish_level %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish2-{{p.id}}','undistinguish2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-crown text-center mr-3"></i>Distinguish</button>
|
<button id="distinguish2-{{p.id}}" class="{% if p.distinguish_level %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish2-{{p.id}}','undistinguish2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-crown text-center mr-3"></i>Distinguish</button>
|
||||||
<button id="undistinguish2-{{p.id}}" class="{% if not p.distinguish_level %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish2-{{p.id}}','undistinguish2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-crown text-center mr-3"></i>Undistinguish</button>
|
<button id="undistinguish2-{{p.id}}" class="{% if not p.distinguish_level %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish2-{{p.id}}','undistinguish2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-crown text-center mr-3"></i>Undistinguish</button>
|
||||||
|
@ -417,14 +417,14 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if v and v.admin_level==6 and p.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Shadowbanned by @{{p.author.shadowbanned}}"></i>{% endif %}
|
{% if v and v.admin_level==6 and p.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Shadowbanned by @{{p.author.shadowbanned}}"></i>{% endif %}
|
||||||
{% if p.stickied %}<i id="pinned-{{p.id}}" class="fas fa-thumbtack fa-fw text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Pinned {% if p.stickied.startswith('t:') %}until {{p.stickied[2:]}}{% else %}by @{{p.stickied}}{%endif%}"></i>{% endif %}
|
{% if p.stickied %}<i id="pinned-{{p.id}}" class="fas fa-thumbtack fa-rotate--45 fa-fw text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Pinned {% if p.stickied.startswith('t:') %}until {{p.stickied[2:]}}{% else %}by @{{p.stickied}}{%endif%}"></i>{% endif %}
|
||||||
{% if p.is_pinned %}<i class="fas fa-thumbtack fa-fw text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Pinned to profile"></i>{% endif %}
|
{% if p.is_pinned %}<i class="fas fa-thumbtack fa-rotate--45 fa-fw text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Pinned to profile"></i>{% endif %}
|
||||||
{% if p.distinguish_level %} <i class="fas fa-broom text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{'SITE_NAME' | app_config}} Admin, speaking officially"></i>{% endif %}
|
{% if p.distinguish_level %} <i class="fas fa-broom text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{'SITE_NAME' | app_config}} Admin, speaking officially"></i>{% endif %}
|
||||||
{% if p.is_bot %} <i class="fad fa-robot text-info" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Bot"></i>{% endif %}
|
{% if p.is_bot %} <i class="fad fa-robot text-info" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Bot"></i>{% endif %}
|
||||||
{% if p.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
{% 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.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.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 p.author.id == 541 %}#62ca56{% 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.id == 541 %}#62ca56{% elif p.author.id == 2256 %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a class="user-name text-decoration-none" data-bs-position="auto" 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 %}
|
<a class="user-name text-decoration-none" data-bs-position="auto" 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>
|
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp"> {{p.age_string}}</span>
|
||||||
|
@ -593,8 +593,8 @@
|
||||||
<a class="list-inline-item" href="javascript:void(0)" data-bs-toggle="modal" data-bs-dismiss="modal" data-bs-target="#reportPostModal" onclick="report_postModal('{{p.id}}')"><i class="fas fa-flag"></i>Report</a>
|
<a class="list-inline-item" href="javascript:void(0)" data-bs-toggle="modal" data-bs-dismiss="modal" data-bs-target="#reportPostModal" onclick="report_postModal('{{p.id}}')"><i class="fas fa-flag"></i>Report</a>
|
||||||
|
|
||||||
{% if v and v.id==p.author_id %}
|
{% if v and v.id==p.author_id %}
|
||||||
<a id="pin-profile-{{p.id}}" class="{% if p.is_stickied %}d-none{% endif %} list-inline-item text-muted" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','unpin-profile-{{p.id}}','pin-profile-{{p.id}}')"><i class="fas fa-thumbtack"></i>Pin to profile</a>
|
<a id="pin-profile-{{p.id}}" class="{% if p.is_stickied %}d-none{% endif %} list-inline-item text-muted" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','unpin-profile-{{p.id}}','pin-profile-{{p.id}}')"><i class="fas fa-thumbtack fa-rotate--45"></i>Pin to profile</a>
|
||||||
<a id="unpin-profile-{{p.id}}" class="{% if not p.is_stickied %}d-none{% endif %} list-inline-item text-muted" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','unpin-profile-{{p.id}}','pin-profile-{{p.id}}')"><i class="fas fa-thumbtack"></i>Unpin from profile</a>
|
<a id="unpin-profile-{{p.id}}" class="{% if not p.is_stickied %}d-none{% endif %} list-inline-item text-muted" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','unpin-profile-{{p.id}}','pin-profile-{{p.id}}')"><i class="fas fa-thumbtack fa-rotate--45"></i>Unpin from profile</a>
|
||||||
|
|
||||||
{% if p.deleted_utc > 0 %}
|
{% if p.deleted_utc > 0 %}
|
||||||
<a class="list-inline-item" href="javascript:void(0)" onclick="post_toast('/undelete_post/{{p.id}}')"><i class="fas fa-trash-alt"></i>Undelete</a>
|
<a class="list-inline-item" href="javascript:void(0)" onclick="post_toast('/undelete_post/{{p.id}}')"><i class="fas fa-trash-alt"></i>Undelete</a>
|
||||||
|
@ -603,8 +603,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if v and v.admin_level>=3 %}
|
{% if v and v.admin_level>=3 %}
|
||||||
<a id="pin-{{p.id}}" class="{% if p.stickied %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin-{{p.id}}','unpin-{{p.id}}')"><i class="fas fa-thumbtack"></i>Pin</a>
|
<a id="pin-{{p.id}}" class="{% if p.stickied %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin-{{p.id}}','unpin-{{p.id}}')"><i class="fas fa-thumbtack fa-rotate--45"></i>Pin</a>
|
||||||
<a id="unpin-{{p.id}}" class="{% if not p.stickied %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','/sticky/{{p.id}}','pin-{{p.id}}','unpin-{{p.id}}')"><i class="fas fa-thumbtack"></i>Unpin</a>
|
<a id="unpin-{{p.id}}" class="{% if not p.stickied %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','/sticky/{{p.id}}','pin-{{p.id}}','unpin-{{p.id}}')"><i class="fas fa-thumbtack fa-rotate--45"></i>Unpin</a>
|
||||||
{% if v==p.author %}
|
{% if v==p.author %}
|
||||||
<a id="distinguish-{{p.id}}" class="{% if p.distinguish_level %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish-{{p.id}}','undistinguish-{{p.id}}')"><i class="fas fa-crown"></i>Distinguish</a>
|
<a id="distinguish-{{p.id}}" class="{% if p.distinguish_level %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish-{{p.id}}','undistinguish-{{p.id}}')"><i class="fas fa-crown"></i>Distinguish</a>
|
||||||
<a id="undistinguish-{{p.id}}" class="{% if not p.distinguish_level %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish-{{p.id}}','undistinguish-{{p.id}}')"><i class="fas fa-crown"></i>Undistinguish</a>
|
<a id="undistinguish-{{p.id}}" class="{% if not p.distinguish_level %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish-{{p.id}}','undistinguish-{{p.id}}')"><i class="fas fa-crown"></i>Undistinguish</a>
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="px-3">
|
<div class="px-3">
|
||||||
<span class="text-black">{% if p.author.bio_html %}{{p.author.bio_html | safe}}{% endif %}</span>
|
<span class="text-black">{% if p.author.bio_html %}{{p.author.bio_html.replace('src="/assets/images/loading.gif" data-', '') | safe}}{% endif %}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-top d-flex align-items-center px-2 py-3 gap-3 smol">
|
<div class="border-top d-flex align-items-center px-2 py-3 gap-3 smol">
|
||||||
<span>
|
<span>
|
||||||
|
@ -183,16 +183,16 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if v and v.admin_level==6 and p.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Shadowbanned by @{{p.author.shadowbanned}}"></i>{% endif %}
|
{% if v and v.admin_level==6 and p.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Shadowbanned by @{{p.author.shadowbanned}}"></i>{% endif %}
|
||||||
{% if p.stickied %}<i id='pinned-{{ p.id }}' class="fas fa-thumbtack text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Pinned {% if p.stickied.startswith('t:') %}until {{p.stickied[2:]}}{% else %}by @{{p.stickied}}{%endif%}"></i>{% endif %}
|
{% if p.stickied %}<i id='pinned-{{ p.id }}' class="fas fa-thumbtack fa-rotate--45 text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Pinned {% if p.stickied.startswith('t:') %}until {{p.stickied[2:]}}{% else %}by @{{p.stickied}}{%endif%}"></i>{% endif %}
|
||||||
{% if p.distinguish_level %}<i class="fas fa-broom text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{'SITE_NAME' | app_config}} Admin, speaking officially"></i>{% endif %}
|
{% if p.distinguish_level %}<i class="fas fa-broom text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{'SITE_NAME' | app_config}} Admin, speaking officially"></i>{% endif %}
|
||||||
{% if p.is_pinned and request.path.startswith('/@') %}<i class="fas fa-thumbtack text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Pinned to profile"></i>{% endif %}
|
{% if p.is_pinned and request.path.startswith('/@') %}<i class="fas fa-thumbtack fa-rotate--45 text-admin" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Pinned to profile"></i>{% endif %}
|
||||||
{% if p.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
{% if p.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
||||||
{% if p.is_bot %} <i class="fad fa-robot text-info" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Bot"></i>{% endif %}
|
{% if p.is_bot %} <i class="fad fa-robot text-info" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Bot"></i>{% endif %}
|
||||||
{% if p.is_blocking %}<i class="fas fa-user-minus text-warning" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="You're blocking this user, but you can see this post because {{'it\'s pinned' if p.stickied else 'you\'re an admin'}}."></i>{% endif %}
|
{% if p.is_blocking %}<i class="fas fa-user-minus text-warning" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="You're blocking this user, but you can see this post because {{'it\'s pinned' if p.stickied else 'you\'re an admin'}}."></i>{% endif %}
|
||||||
{% 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.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.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.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 p.author.id == 541 %}#62ca56{% 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.id == 541 %}#62ca56{% elif p.author.id == 2256 %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a class="user-name text-decoration-none" data-bs-position="auto" 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 %}
|
<a class="user-name text-decoration-none" data-bs-position="auto" 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>
|
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp-{{p.id}}"> {{p.age_string}}</span>
|
||||||
|
@ -239,8 +239,8 @@
|
||||||
<a class="list-inline-item" href="javascript:void(0)" data-bs-toggle="modal" data-bs-dismiss="modal" data-bs-target="#reportPostModal" onclick="report_postModal('{{p.id}}')"><i class="fas fa-flag"></i>Report</a>
|
<a class="list-inline-item" href="javascript:void(0)" data-bs-toggle="modal" data-bs-dismiss="modal" data-bs-target="#reportPostModal" onclick="report_postModal('{{p.id}}')"><i class="fas fa-flag"></i>Report</a>
|
||||||
|
|
||||||
{% if v and v.id==p.author_id %}
|
{% if v and v.id==p.author_id %}
|
||||||
<a id="pin-profile-{{p.id}}" class="{% if p.is_stickied %}d-none{% endif %} list-inline-item text-muted" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','unpin-profile-{{p.id}}','pin-profile-{{p.id}}')"><i class="fas fa-thumbtack"></i>Pin to profile</a>
|
<a id="pin-profile-{{p.id}}" class="{% if p.is_stickied %}d-none{% endif %} list-inline-item text-muted" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','unpin-profile-{{p.id}}','pin-profile-{{p.id}}')"><i class="fas fa-thumbtack fa-rotate--45"></i>Pin to profile</a>
|
||||||
<a id="unpin-profile-{{p.id}}" class="{% if not p.is_stickied %}d-none{% endif %} list-inline-item text-muted" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','unpin-profile-{{p.id}}','pin-profile-{{p.id}}')"><i class="fas fa-thumbtack"></i>Unpin from profile</a>
|
<a id="unpin-profile-{{p.id}}" class="{% if not p.is_stickied %}d-none{% endif %} list-inline-item text-muted" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','unpin-profile-{{p.id}}','pin-profile-{{p.id}}')"><i class="fas fa-thumbtack fa-rotate--45"></i>Unpin from profile</a>
|
||||||
|
|
||||||
{% if p.deleted_utc > 0 %}
|
{% if p.deleted_utc > 0 %}
|
||||||
<a class="list-inline-item" href="javascript:void(0)" onclick="post_toast('/undelete_post/{{p.id}}')"><i class="fas fa-trash-alt"></i>Undelete</a>
|
<a class="list-inline-item" href="javascript:void(0)" onclick="post_toast('/undelete_post/{{p.id}}')"><i class="fas fa-trash-alt"></i>Undelete</a>
|
||||||
|
@ -250,8 +250,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if v and v.admin_level>=3 %}
|
{% if v and v.admin_level>=3 %}
|
||||||
<a id="pin-{{p.id}}" class="{% if p.stickied %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin-{{p.id}}','unpin-{{p.id}}')"><i class="fas fa-thumbtack"></i>Pin</a>
|
<a id="pin-{{p.id}}" class="{% if p.stickied %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin-{{p.id}}','unpin-{{p.id}}')"><i class="fas fa-thumbtack fa-rotate--45"></i>Pin</a>
|
||||||
<a id="unpin-{{p.id}}" class="{% if not p.stickied %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin-{{p.id}}','unpin-{{p.id}}')"><i class="fas fa-thumbtack"></i>Unpin</a>
|
<a id="unpin-{{p.id}}" class="{% if not p.stickied %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin-{{p.id}}','unpin-{{p.id}}')"><i class="fas fa-thumbtack fa-rotate--45"></i>Unpin</a>
|
||||||
{% if v==p.author %}
|
{% if v==p.author %}
|
||||||
<a id="distinguish-{{p.id}}" class="{% if p.distinguish_level %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish-{{p.id}}','undistinguish-{{p.id}}')"><i class="fas fa-crown"></i>Distinguish</a>
|
<a id="distinguish-{{p.id}}" class="{% if p.distinguish_level %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish-{{p.id}}','undistinguish-{{p.id}}')"><i class="fas fa-crown"></i>Distinguish</a>
|
||||||
<a id="undistinguish-{{p.id}}" class="{% if not p.distinguish_level %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish-{{p.id}}','undistinguish-{{p.id}}')"><i class="fas fa-crown"></i>Undistinguish</a>
|
<a id="undistinguish-{{p.id}}" class="{% if not p.distinguish_level %}d-none{% endif %} list-inline-item text-info" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish-{{p.id}}','undistinguish-{{p.id}}')"><i class="fas fa-crown"></i>Undistinguish</a>
|
||||||
|
@ -386,8 +386,8 @@
|
||||||
<button class="nobackground btn btn-link btn-block btn-lg text-left text-muted" href="javascript:void(0)" onclick="post_toast('/publish/{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-globe text-center text-muted mr-3"></i>Publish</button>
|
<button class="nobackground btn btn-link btn-block btn-lg text-left text-muted" href="javascript:void(0)" onclick="post_toast('/publish/{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-globe text-center text-muted mr-3"></i>Publish</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<button id="pin-profile2-{{p.id}}" class="{% if p.is_pinned %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-muted text-left"href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','pin-profile2-{{p.id}}','unpin-profile2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack text-center mr-3"></i>Pin to profile</button>
|
<button id="pin-profile2-{{p.id}}" class="{% if p.is_pinned %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-muted text-left"href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','pin-profile2-{{p.id}}','unpin-profile2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack fa-rotate--45 text-center mr-3"></i>Pin to profile</button>
|
||||||
<button id="unpin-profile2-{{p.id}}" class="{% if not p.is_pinned %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-muted text-left" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','pin-profile2-{{p.id}}','unpin-profile2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack text-center mr-3"></i>Unpin from profile</button>
|
<button id="unpin-profile2-{{p.id}}" class="{% if not p.is_pinned %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-muted text-left" href="javascript:void(0)" onclick="post_toast2('/pin/{{p.id}}','pin-profile2-{{p.id}}','unpin-profile2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack fa-rotate--45 text-center mr-3"></i>Unpin from profile</button>
|
||||||
|
|
||||||
{% if p.deleted_utc > 0 %}
|
{% if p.deleted_utc > 0 %}
|
||||||
<button class="nobackground btn btn-link btn-block btn-lg text-left text-muted" href="javascript:void(0)" onclick="post_toast('/undelete_post/{{p.id}}')" data-bs-dismiss="modal"><i class="far fa-trash-alt text-center text-muted mr-3"></i>Undelete</button>
|
<button class="nobackground btn btn-link btn-block btn-lg text-left text-muted" href="javascript:void(0)" onclick="post_toast('/undelete_post/{{p.id}}')" data-bs-dismiss="modal"><i class="far fa-trash-alt text-center text-muted mr-3"></i>Undelete</button>
|
||||||
|
@ -418,8 +418,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if v.admin_level >=3 %}
|
{% if v.admin_level >=3 %}
|
||||||
<button id="pin2-{{p.id}}" class="{% if p.stickied %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin2-{{p.id}}','unpin2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack text-center mr-3"></i>Pin</button>
|
<button id="pin2-{{p.id}}" class="{% if p.stickied %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin2-{{p.id}}','unpin2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack fa-rotate--45 text-center mr-3"></i>Pin</button>
|
||||||
<button id="unpin2-{{p.id}}" class="{% if not p.stickied %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin2-{{p.id}}','unpin2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack text-center mr-3"></i>Unpin</button>
|
<button id="unpin2-{{p.id}}" class="{% if not p.stickied %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/sticky/{{p.id}}','pin2-{{p.id}}','unpin2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-thumbtack fa-rotate--45 text-center mr-3"></i>Unpin</button>
|
||||||
{% if v==p.author %}
|
{% if v==p.author %}
|
||||||
<button id="distinguish2-{{p.id}}" class="{% if p.distinguish_level %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish2-{{p.id}}','undistinguish2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-crown text-center mr-3"></i>Distinguish</button>
|
<button id="distinguish2-{{p.id}}" class="{% if p.distinguish_level %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish2-{{p.id}}','undistinguish2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-crown text-center mr-3"></i>Distinguish</button>
|
||||||
<button id="undistinguish2-{{p.id}}" class="{% if not p.distinguish_level %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish2-{{p.id}}','undistinguish2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-crown text-center mr-3"></i>Undistinguish</button>
|
<button id="undistinguish2-{{p.id}}" class="{% if not p.distinguish_level %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left" href="javascript:void(0)" onclick="post_toast2('/distinguish/{{p.id}}','distinguish2-{{p.id}}','undistinguish2-{{p.id}}')" data-bs-dismiss="modal"><i class="fas fa-crown text-center mr-3"></i>Undistinguish</button>
|
||||||
|
|
|
@ -87,7 +87,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>
|
<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>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if u.verified %}<span><i class="fas fa-badge-check align-middle ml-1" style="color:{% if u.id == 541 %}#62ca56{% 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.id == 541 %}#62ca56{% elif u.id == 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.admin_level > 1 or (u.admin_level == 1 and (not v or v.admin_level < 2)) %}
|
{% if u.admin_level > 1 or (u.admin_level == 1 and (not v or v.admin_level < 2)) %}
|
||||||
<span>
|
<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>
|
<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>
|
||||||
|
@ -362,7 +362,7 @@
|
||||||
<h5 style="color:#ff66ac;">BANNED USER{% if u.ban_reason %}: {{u.ban_reason}}{% endif %}</h5>
|
<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 %}
|
{% if u.unban_utc %}<h5 style="color:#ff66ac;">{{u.unban_string}}</h5>{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if u.verified %}<span><i class="fas fa-badge-check align-middle ml-1" style="color:{% if u.id == 541 %}#62ca56{% 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.id == 541 %}#62ca56{% elif u.id == 2256 %}#ff0000{% 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>
|
<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 %}
|
{% if u.username != u.original_username %}
|
||||||
<span>
|
<span>
|
||||||
|
|