From af5966cedf4822f11846c6088bb941b6ed7fae37 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jaakko=20Kera=CC=88nen?= jaakko.keranen@iki.fi
Date: Mon, 22 May 2023 12:09:00 +0300
Subject: [PATCH 1/1] Added ASCII icons user setting
Implemented currently only for the check boxes.
IssueID #62
50_bubble.py | 9 ++++++++-
model.py | 1 +
settings.py | 6 ++++++
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/50_bubble.py b/50_bubble.py
index 815cfef..78ce645 100644
--- a/50_bubble.py
+++ b/50_bubble.py
@@ -92,6 +92,13 @@ Bubble is open source:
self.c_user = None # User associated with the context subspace, if any
self.token = None
def set_user(self, user):
self.user = user
if user:
if user.flags & User.ASCII_ICONS_FLAG:
self.CHECKS = [ '[_]', '[x]' ]
# TODO: Add more of these.
def is_editable(self, post: Post):
return self.user.role == User.ADMIN or post.user == self.user.id
@@ -315,7 +322,7 @@ Bubble is open source:
if req.identity:
# Find the user account.
session.user = db.get_user(identity=req.identity)
session.set_user(db.get_user(identity=req.identity))
if session.user is None:
if req.path == self.path + 'register':
if not session.bubble.user_register:
diff --git a/model.py b/model.py
index 70a2afd..8f2ece0 100644
--- a/model.py
+++ b/model.py
@@ -152,6 +152,7 @@ class User:
# Flags:
HOME_FOLLOWED_FEED_FLAG = 0x1
def __init__(self, id, name, info, url, avatar, role, flags, notif, email, email_inter, \
password, ts_password, ts_created, ts_active, sort_post, sort_cmt):
diff --git a/settings.py b/settings.py
index bba523d..ba87bd4 100644
--- a/settings.py
+++ b/settings.py
@@ -192,6 +192,10 @@ def make_settings_page(session):
User.SORT_COMMENT_NEWEST))
return 30, '/settings'
db.update_user(session.user, flags=(session.user.flags ^ User.ASCII_ICONS_FLAG))
return 30, '/settings'
elif req.path == session.path + 'settings/notif':
notif = session.user.notif
@@ -395,11 +399,13 @@ def make_settings_page(session):
SORT_POST = { 'r': '🕑 Most recent', 'h': '🔥 Hotness' }
SORT_COMMENT = { 'o': '⬇ Oldest first', 'n': '⬆ Newest first' }
HOME_FEED = [ 'All Posts', 'Followed' ]
ICON_MODE = [ 'Unicode/Emoji' , 'ASCII' ]
user_space = db.get_subspace(owner=session.user.id)
page += f'=> /settings/homefeed Home feed: {HOME_FEED[nonzero(session.user.flags & User.HOME_FOLLOWED_FEED_FLAG)]}\n'
page += f'=> /settings/sort-feed Sort posts: {SORT_POST[session.user.sort_post]}\n'
page += f'=> /settings/sort-cmt Sort comments: {SORT_COMMENT[session.user.sort_cmt]}\n'
page += f'=> /settings/ascii Display icons as: {ICON_MODE[nonzero(session.user.flags & User.ASCII_ICONS_FLAG)]}\n'
page += f'\n=> /settings/omit-all {session.CHECKS[nonzero(user_space.flags & Subspace.OMIT_FROM_ALL_FLAG)]} ' + \
f'Omit u/{session.user.name} from All Posts\n'
--
2.25.1
text/plain
This content has been proxied by September (ba2dc).