Spaces:
Running
Running
import streamlit as st | |
def experience_section(): | |
st.write("## Experience") | |
with st.container(border= True): | |
if st.session_state.candidate_data.get("jobs"): | |
for i, item in enumerate(st.session_state.candidate_data["jobs"]): | |
col1, col2 = st.columns(2) | |
col1.markdown("##### Work Experience " + str(i + 1)) | |
current_job = col2.checkbox("**Current Job**", key="current_job" + str(i), value=item.get("current_job", False)) | |
col1, col2 = st.columns(2) | |
started_at = col1.date_input("**From**", key="started_at" + str(i), value=item.get("started_at", None)) | |
if not st.session_state["current_job" + str(i)]: | |
ended_at = col2.date_input("**To**", key="ended_at" + str(i), value=item.get("ended_at", None)) | |
else: | |
ended_at = None | |
col1, col2 = st.columns(2) | |
job_title = col1.text_input("**Job Title**", key="job_title" + str(i), value=item.get("job_title", "")) | |
description = col2.text_area("**Job Description**", key="description" + str(i), value=item.get("job_description", "")) | |
#col1, col2 = st.columns(2) | |
remove_experience_button = st.button(f"Remove Experience {i + 1}", key=f"remove_experience_{i}") | |
st.session_state.candidate_data["jobs"][i] = { | |
"job_title": job_title, | |
"job_description": description, | |
"started_at": started_at, | |
"ended_at": ended_at, | |
"current_job": current_job | |
} | |
if remove_experience_button: | |
st.session_state.candidate_data["jobs"].pop(i) | |
st.rerun() | |
if "new_experience" not in st.session_state: | |
st.session_state.new_experience = {} | |
if "new_experience_clicked" not in st.session_state: | |
st.session_state.new_experience_clicked = False | |
if st.session_state.new_experience_clicked: | |
st.write("#### Update New Experience") | |
col1, col2 = st.columns(2) | |
st.session_state.new_experience["started_at"] = col1.date_input("**From**", key="from", value= st.session_state.new_experience.get("started_at",None)) | |
st.session_state.new_experience["ended_at"] = col2.date_input("**To**", key="to", value= st.session_state.new_experience.get("ended_at",None)) | |
col1, col2 = st.columns(2) | |
st.session_state.new_experience["job_title"] = col1.text_input("**Job Title**", key="job_title", value= st.session_state.new_experience.get("job_title","")) | |
st.session_state.new_experience["job_description"] = col2.text_area("**Job Description**", key="job_description", value= st.session_state.new_experience.get("job_description","")) | |
new_experience_button = st.button("Add New Experience" if not st.session_state.new_experience_clicked else "Save") | |
if new_experience_button: | |
if st.session_state.new_experience_clicked: | |
if "jobs" not in st.session_state.candidate_data: | |
st.session_state.candidate_data["jobs"] = [] | |
st.session_state.candidate_data["jobs"].append(st.session_state.new_experience.copy()) | |
st.session_state.new_experience = {} | |
st.session_state.new_experience_clicked = False | |
else: | |
st.session_state.new_experience_clicked = True | |
st.rerun() |