import streamlit as st from common.constants_general import justifications_list def selection_layout(fan_id_source: int) -> tuple[list[bool], str | None, str | None]: """ Function to create layout of components for fan id based export page :param fan_id_source: Optional index value to prefill justification drop down :return: List of possible column values and justification value """ if fan_id_source == 0: pre_selected = 0 else: pre_selected = None fan_export_detailed_justification_ = None with st.container(border=True): st.write("SELECT COLUMNS:") fan_export_justification_ = st.selectbox( placeholder="select", label="Business Justification*", options=justifications_list, index=pre_selected, key="fan_export_justification", ) if fan_export_justification_ == "Other": fan_export_detailed_justification_ = st.text_input( label="Specify justification*", key="detailed_export_justification" ) first_set_of_columns, second_set_of_columns = st.columns(2) with first_set_of_columns: email_column_selected_2 = st.checkbox( label="Email", key="email_column_key_2", disabled=False ) mobile_phone_column_selected_2 = st.checkbox( label="Mobile Phone", key="mobile_phone_column_key_2", disabled=False ) first_name_column_selected_2 = st.checkbox( label="First Name", key="first_name_column_key_2", disabled=False ) last_name_column_selected_2 = st.checkbox( label="Last Name", key="last_name_column_key_2", disabled=False ) gender_column_selected_2 = st.checkbox( label="Gender", key="gender_column_key_2", disabled=False ) age_range_column_selected_2 = st.checkbox( label="Age Range", key="age_range_column_key_2", disabled=False ) birthday_mm_dd_column_selected_2 = st.checkbox( label="Birthday(MM/DD)", key="birthday_mm_dd_column_key_2", disabled=False ) birthdate_mm_dd_yyy_column_selected_2 = st.checkbox( label="Birthdate(MM/DD/YYYY)", key="birthdate_mm_dd_yyy_column_key_2", disabled=False, ) with second_set_of_columns: language_column_selected_2 = st.checkbox( label="Language", key="language_column_key_2", disabled=False ) country_name_column_selected_2 = st.checkbox( label="Country", key="country_name_column_key_2", disabled=False ) state_column_selected_2 = st.checkbox( label="State", key="state_column_key_2", disabled=False ) city_column_selected_2 = st.checkbox( label="City", key="city_column_key_2", disabled=False ) address_column_selected_2 = st.checkbox( label="Address", key="address_column_key_2", disabled=False ) postal_code_column_selected_2 = st.checkbox( label="Postal Code", key="postal_code_column_key_2", disabled=False ) twitter_handle_column_seleted_2 = st.checkbox( label="Twitter Handle", key="twitter_handle_column_key_2", disabled=False ) dsp_column_selected_2 = st.checkbox(label="DSP", key="dsp_column_key_2", disabled=False) created_date_column_selected_2 = st.checkbox( label="Created Date", key="created_date_column_key_2", disabled=False ) if fan_export_detailed_justification_ is not None: fan_export_justification_ = fan_export_detailed_justification_ else: fan_export_justification_ = fan_export_justification_ optional_export_fields = [ email_column_selected_2, last_name_column_selected_2, gender_column_selected_2, birthday_mm_dd_column_selected_2, city_column_selected_2, country_name_column_selected_2, mobile_phone_column_selected_2, language_column_selected_2, created_date_column_selected_2, first_name_column_selected_2, age_range_column_selected_2, address_column_selected_2, birthdate_mm_dd_yyy_column_selected_2, state_column_selected_2, postal_code_column_selected_2, twitter_handle_column_seleted_2, dsp_column_selected_2, # custom_fields_1_20_selected_2, ] return optional_export_fields, fan_export_justification_, fan_export_detailed_justification_