diff --git a/files/routes/chat.py b/files/routes/chat.py index f9e93dbdd..bf916f323 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -13,16 +13,18 @@ if SITE in ('pcmemes.net', 'localhost'): socketio = SocketIO(app, async_mode='gevent') typing = [] online = [] + messages = [] @app.get("/chat") @auth_required def chat( v): - return render_template("chat.html", v=v) + return render_template("chat.html", v=v, messages=messages) @socketio.on('speak') @limiter.limit("5/second;30/minute") @auth_required def speak(data, v): + global messages data = data[:1000].strip() if not data: abort(403) @@ -34,6 +36,8 @@ if SITE in ('pcmemes.net', 'localhost'): "time": time.strftime("%d %b %Y at %H:%M:%S", time.gmtime(int(time.time()))) } + messages.append(data) + messages = messages[:20] emit('speak', data, broadcast=True) return '', 204 diff --git a/files/templates/chat.html b/files/templates/chat.html index 1d5366235..f6db9a1b4 100644 --- a/files/templates/chat.html +++ b/files/templates/chat.html @@ -22,7 +22,7 @@
- +
@@ -33,9 +33,27 @@
-
+
+ {% for m in messages %} +
+
+ + + +
+
+ + {{m['username']}} +
+ {{m['text'] | safe}} +
+
+
+
+
+ {% endfor %}
@@ -81,6 +99,14 @@ background-color: var(--primary55); border-radius: 5px; } + + .profile-pic-30 { + width: 30px; + height: 30px; + border-radius: 50%; + text-align: center; + object-fit: cover; + }