import streamlit as st from .streamlit_utils import ( make_multiselect, make_selectbox, make_text_area, make_text_input, make_radio, ) N_FIELDS_SOCIAL_IMPACT = 9 N_FIELDS_UNDERSERVED_COMMUNITIES = 8 N_FIELDS_BIASES= 3 N_FIELDS = N_FIELDS_SOCIAL_IMPACT + N_FIELDS_UNDERSERVED_COMMUNITIES + N_FIELDS_BIASES def context_page(): st.session_state.card_dict["context"] = st.session_state.card_dict.get( "context", {} ) with st.expander("Social Impact of the Dataset", expanded=False): key_pref = ["context", "social-impact"] st.session_state.card_dict["context"]["social-impact"] = st.session_state.card_dict[ "context" ].get("social-impact", {}) with st.expander("Impact on Under-Served Communities", expanded=False): key_pref = ["context", "underserved"] st.session_state.card_dict["context"]["underserved"] = st.session_state.card_dict[ "context" ].get("underserved", {}) with st.expander("Discussion of Biases", expanded=False): key_pref = ["context", "biases"] st.session_state.card_dict["context"]["biases"] = st.session_state.card_dict[ "context" ].get("biases", {}) def context_summary(): total_filled = sum( [len(dct) for dct in st.session_state.card_dict.get("context", {}).values()] ) with st.expander( f"Dataset Overview Completion - {total_filled} of {N_FIELDS}", expanded=False ): completion_markdown = "" completion_markdown += ( f"- **Overall competion:**\n - {total_filled} of {N_FIELDS} fields\n" ) completion_markdown += f"- **Sub-section - Social Impact of the Dataset:**\n - {len(st.session_state.card_dict.get('context', {}).get('social-impact', {}))} of {N_FIELDS_SOCIAL_IMPACT} fields\n" completion_markdown += f"- **Sub-section - Impact on Under-Served Communities:**\n - {len(st.session_state.card_dict.get('context', {}).get('underserved', {}))} of {N_FIELDS_UNDERSERVED_COMMUNITIES} fields\n" completion_markdown += f"- **Sub-section - Discussion of Biases:**\n - {len(st.session_state.card_dict.get('context', {}).get('biases', {}))} of {N_FIELDS_BIASES} fields\n" st.markdown(completion_markdown)