Update app.py
Browse files
app.py
CHANGED
@@ -477,8 +477,8 @@ def create_streamlit_interface():
|
|
477 |
st.session_state.message_text = ''
|
478 |
st.rerun()
|
479 |
|
480 |
-
# Image paste component
|
481 |
-
|
482 |
"""
|
483 |
<div id="paste-target">Paste an image here (Ctrl+V)</div>
|
484 |
<script>
|
@@ -503,15 +503,21 @@ def create_streamlit_interface():
|
|
503 |
});
|
504 |
</script>
|
505 |
""",
|
506 |
-
height=100
|
|
|
507 |
)
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
st.session_state.pasted_image_data =
|
514 |
-
|
|
|
|
|
|
|
|
|
|
|
515 |
|
516 |
st.subheader("Media Gallery 🎨🎶🎥")
|
517 |
uploaded_file = st.file_uploader("Upload Media", type=['png', 'jpg', 'mp3', 'mp4'])
|
|
|
477 |
st.session_state.message_text = ''
|
478 |
st.rerun()
|
479 |
|
480 |
+
# Image paste component with a key to capture value
|
481 |
+
components.html(
|
482 |
"""
|
483 |
<div id="paste-target">Paste an image here (Ctrl+V)</div>
|
484 |
<script>
|
|
|
503 |
});
|
504 |
</script>
|
505 |
""",
|
506 |
+
height=100,
|
507 |
+
key="image_paste_component"
|
508 |
)
|
509 |
+
|
510 |
+
# Check for pasted image data in session state
|
511 |
+
if "image_paste_component" in st.session_state and st.session_state.image_paste_component:
|
512 |
+
pasted_image_data = st.session_state.image_paste_component
|
513 |
+
if isinstance(pasted_image_data, str) and st.session_state.pasted_image_data != pasted_image_data:
|
514 |
+
st.session_state.pasted_image_data = pasted_image_data
|
515 |
+
filename = await save_pasted_image(st.session_state.pasted_image_data, st.session_state.username)
|
516 |
+
if filename:
|
517 |
+
await save_chat_entry(st.session_state.username, f"Pasted image: {filename}")
|
518 |
+
st.session_state.pasted_image_data = None
|
519 |
+
del st.session_state.image_paste_component # Clear the component value after processing
|
520 |
+
st.rerun()
|
521 |
|
522 |
st.subheader("Media Gallery 🎨🎶🎥")
|
523 |
uploaded_file = st.file_uploader("Upload Media", type=['png', 'jpg', 'mp3', 'mp4'])
|