Update app.py
Browse files
app.py
CHANGED
@@ -119,6 +119,14 @@ if 'old_val' not in st.session_state:
|
|
119 |
st.session_state.old_val = ""
|
120 |
if 'last_query' not in st.session_state:
|
121 |
st.session_state.last_query = ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
|
123 |
# Timestamp wizardry - clock ticks with flair! β°π©
|
124 |
def format_timestamp_prefix():
|
@@ -374,19 +382,6 @@ def main():
|
|
374 |
available_names = [name for name in FUN_USERNAMES if not any(f"{name} has joined" in line for line in chat_content.split('\n'))]
|
375 |
st.session_state.username = random.choice(available_names) if available_names else random.choice(list(FUN_USERNAMES.keys()))
|
376 |
|
377 |
-
if 'refresh_rate' not in st.session_state:
|
378 |
-
st.session_state.refresh_rate = 5
|
379 |
-
if 'timer_start' not in st.session_state:
|
380 |
-
st.session_state.timer_start = time.time()
|
381 |
-
|
382 |
-
st.markdown("""
|
383 |
-
<style>
|
384 |
-
.chat-box {font-family: monospace; background: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 5px; height: 300px; overflow-y: auto;}
|
385 |
-
.timer {font-size: 24px; color: #ffcc00; text-align: center; animation: pulse 1s infinite;}
|
386 |
-
@keyframes pulse {0% {transform: scale(1);} 50% {transform: scale(1.1);} 100% {transform: scale(1);}}
|
387 |
-
</style>
|
388 |
-
""", unsafe_allow_html=True)
|
389 |
-
|
390 |
st.title(f"π€π§ MMO {st.session_state.username}ππ¬")
|
391 |
st.markdown(f"Welcome to {START_ROOM} - chat, vote, upload, paste images, and enjoy quoting! π")
|
392 |
|
@@ -445,7 +440,7 @@ def main():
|
|
445 |
if audio_file:
|
446 |
play_and_download_audio(audio_file)
|
447 |
|
448 |
-
if
|
449 |
st.markdown(f"### Quoting: {st.session_state.quote_line}")
|
450 |
quote_response = st.text_area("Add your response", key="quote_response")
|
451 |
if st.button("Send Quote π", key="send_quote"):
|
@@ -457,23 +452,23 @@ def main():
|
|
457 |
await save_chat_entry(st.session_state.username, f"Pasted image: {filename}")
|
458 |
st.session_state.pasted_image_data = None
|
459 |
await save_chat_entry(st.session_state.username, markdown_response)
|
460 |
-
|
461 |
st.session_state.message_text = ''
|
462 |
st.rerun()
|
463 |
|
464 |
new_username = st.selectbox("Change Name", [""] + list(FUN_USERNAMES.keys()), index=0)
|
465 |
if new_username and new_username != st.session_state.username:
|
466 |
-
|
467 |
st.session_state.username = new_username
|
468 |
st.rerun()
|
469 |
|
470 |
message = st.text_input(f"Message as {st.session_state.username}", key="message_input", value=st.session_state.message_text, on_change=lambda: st.session_state.update(message_text=st.session_state.message_input))
|
471 |
if st.button("Send π", key="send_button") and message.strip():
|
472 |
-
|
473 |
if st.session_state.pasted_image_data:
|
474 |
filename = await save_pasted_image(st.session_state.pasted_image_data, st.session_state.username)
|
475 |
if filename:
|
476 |
-
|
477 |
st.session_state.pasted_image_data = None
|
478 |
st.session_state.message_text = ''
|
479 |
st.rerun()
|
|
|
119 |
st.session_state.old_val = ""
|
120 |
if 'last_query' not in st.session_state:
|
121 |
st.session_state.last_query = ""
|
122 |
+
if 'message_text' not in st.session_state:
|
123 |
+
st.session_state.message_text = ""
|
124 |
+
if 'audio_cache' not in st.session_state:
|
125 |
+
st.session_state.audio_cache = {}
|
126 |
+
if 'pasted_image_data' not in st.session_state:
|
127 |
+
st.session_state.pasted_image_data = None
|
128 |
+
if 'quote_line' not in st.session_state:
|
129 |
+
st.session_state.quote_line = None
|
130 |
|
131 |
# Timestamp wizardry - clock ticks with flair! β°π©
|
132 |
def format_timestamp_prefix():
|
|
|
382 |
available_names = [name for name in FUN_USERNAMES if not any(f"{name} has joined" in line for line in chat_content.split('\n'))]
|
383 |
st.session_state.username = random.choice(available_names) if available_names else random.choice(list(FUN_USERNAMES.keys()))
|
384 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
385 |
st.title(f"π€π§ MMO {st.session_state.username}ππ¬")
|
386 |
st.markdown(f"Welcome to {START_ROOM} - chat, vote, upload, paste images, and enjoy quoting! π")
|
387 |
|
|
|
440 |
if audio_file:
|
441 |
play_and_download_audio(audio_file)
|
442 |
|
443 |
+
if st.session_state.quote_line:
|
444 |
st.markdown(f"### Quoting: {st.session_state.quote_line}")
|
445 |
quote_response = st.text_area("Add your response", key="quote_response")
|
446 |
if st.button("Send Quote π", key="send_quote"):
|
|
|
452 |
await save_chat_entry(st.session_state.username, f"Pasted image: {filename}")
|
453 |
st.session_state.pasted_image_data = None
|
454 |
await save_chat_entry(st.session_state.username, markdown_response)
|
455 |
+
st.session_state.quote_line = None
|
456 |
st.session_state.message_text = ''
|
457 |
st.rerun()
|
458 |
|
459 |
new_username = st.selectbox("Change Name", [""] + list(FUN_USERNAMES.keys()), index=0)
|
460 |
if new_username and new_username != st.session_state.username:
|
461 |
+
await save_chat_entry("System π", f"{st.session_state.username} changed name to {new_username}")
|
462 |
st.session_state.username = new_username
|
463 |
st.rerun()
|
464 |
|
465 |
message = st.text_input(f"Message as {st.session_state.username}", key="message_input", value=st.session_state.message_text, on_change=lambda: st.session_state.update(message_text=st.session_state.message_input))
|
466 |
if st.button("Send π", key="send_button") and message.strip():
|
467 |
+
await save_chat_entry(st.session_state.username, message)
|
468 |
if st.session_state.pasted_image_data:
|
469 |
filename = await save_pasted_image(st.session_state.pasted_image_data, st.session_state.username)
|
470 |
if filename:
|
471 |
+
await save_chat_entry(st.session_state.username, f"Pasted image: {filename}")
|
472 |
st.session_state.pasted_image_data = None
|
473 |
st.session_state.message_text = ''
|
474 |
st.rerun()
|