cold_email / app.py
Raykarr's picture
First model version
18c7cc7
raw
history blame
3.72 kB
import streamlit as st
import pandas as pd
import traceback
import backend
st.set_page_config(page_title="Cold Email Generator", layout="wide",initial_sidebar_state='collapsed')
def main():
try:
# ------------------------------------- Custom CSS -------------------------------------------------------------
st.markdown(
"""
<style>
.css-1d391kg { /* Adjust this class based on your Streamlit version */
padding-left: 10px;
padding-right: 10px;
}
</style>
""",
unsafe_allow_html=True
)
# --------------------------------------------------------------------------------------------------
st.header("Cold Email Generator")
split_screen_col1, split_screen_col2 = st.columns(2)
# Input fields
with split_screen_col1:
industry_col, recipient_col = st.columns(2)
with industry_col:
industry = st.text_input("Industry")
with recipient_col:
recipient_role = st.text_input("Recipient Name")
details_col1, details_col2 = st.columns(2)
with details_col1:
details_type = st.radio("Select Details Type", ["Personal Details", "Company Details"])
with details_col2:
name = st.text_input("Senders Name")
designation = ""
company_name = ""
if details_type == "Personal Details":
designation = st.text_input("Designation/Role")
else:
company_name = st.text_input("Company Name")
designation = st.text_input("Designation/Role")
tone = st.selectbox("Tone", ["Formal", "Casual", "Friendly", "Professional"])
context = st.text_area("Context")
is_generate_clicked = st.button("Generate Email")
with split_screen_col2:
if is_generate_clicked :
generated_email = backend.collect_context_for_email(industry,recipient_role, tone, context, details_type, name, designation, company_name)
st.session_state.edited_email = st.text_area("Generated Email", value = generated_email, height=300, disabled=False)
st.session_state.is_generate_clicked = True
else:
st.text_area("Generated Email", height=300, disabled=True)
# Edit and Send button
if st.button("Completed Editing"):
st.session_state.is_cmp_editing_clicked = True
st.markdown("---")
if st.session_state.get("is_cmp_editing_clicked") and st.session_state.get("is_generate_clicked") :
st.subheader("Chat to refine your email")
email_col1, email_col2 = st.columns(2)
with email_col1:
sender_email = st.text_input("Sender's Email")
with email_col2:
receiver_email = st.text_input("Receiver's Email")
subject = st.text_input("Subject")
st.text_area("Generated Email", value=st.session_state.edited_email, height=300, disabled=False)
is_send_clicked = ""
if st.session_state.get("is_cmp_editing_clicked") :
is_send_clicked = st.button("Send Email")
if is_send_clicked:
st.subheader("All done, real-time email sending will be implemented in part2 😊 ")
except Exception as err:
traceback.print_exc()
print(err)
if __name__ == "__main__":
main()