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() |