James McCool commited on
Commit
57ecfc8
·
1 Parent(s): 1afc466

Refactor Streamlit UI in app.py: reorganize layout for clearer user interaction and restore 'Clear data' button functionality.

Browse files
Files changed (1) hide show
  1. app.py +21 -12
app.py CHANGED
@@ -681,18 +681,25 @@ with tab2:
681
  )
682
 
683
  with tab3:
684
- if st.button('Clear data', key='reset3'):
685
- st.session_state.clear()
686
  if 'portfolio' in st.session_state and 'projections_df' in st.session_state:
687
- col1, col2, col3 = st.columns([1, 8, 1])
688
  excluded_cols = ['salary', 'median', 'Own', 'Finish_percentile', 'Dupes', 'Stack', 'Win%', 'Lineup Edge']
689
- with col1:
690
- site_var = st.selectbox("Select Site", ['Draftkings', 'Fanduel'])
691
- sport_var = st.selectbox("Select Sport", ['NFL', 'MLB', 'NBA', 'NHL', 'MMA'])
692
- st.info("It currently does not matter what sport you select, it may matter in the future.")
693
- type_var = st.selectbox("Select Game Type", ['Classic', 'Showdown'])
694
- Contest_Size = st.number_input("Enter Contest Size", value=25000, min_value=1, step=1)
695
- strength_var = st.selectbox("Select field strength", ['Average', 'Sharp', 'Weak'])
 
 
 
 
 
 
 
 
 
696
  if site_var == 'Draftkings':
697
  if type_var == 'Classic':
698
  map_dict = {
@@ -771,7 +778,9 @@ with tab3:
771
  sum(map_dict['own_map'].get(player, 0) for player in row.iloc[1:]),
772
  axis=1
773
  )
774
- with col3:
 
 
775
  with st.form(key='filter_form'):
776
  max_dupes = st.number_input("Max acceptable dupes?", value=1000, min_value=1, step=1)
777
  min_salary = st.number_input("Min acceptable salary?", value=1000, min_value=1000, step=100)
@@ -790,7 +799,7 @@ with tab3:
790
 
791
  submitted = st.form_submit_button("Submit")
792
 
793
- with col2:
794
  st.session_state['portfolio'] = predict_dupes(st.session_state['portfolio'], map_dict, site_var, type_var, Contest_Size, strength_var)
795
  st.session_state['portfolio'] = st.session_state['portfolio'][st.session_state['portfolio']['Dupes'] <= max_dupes]
796
  st.session_state['portfolio'] = st.session_state['portfolio'][st.session_state['portfolio']['salary'] >= min_salary]
 
681
  )
682
 
683
  with tab3:
 
 
684
  if 'portfolio' in st.session_state and 'projections_df' in st.session_state:
685
+
686
  excluded_cols = ['salary', 'median', 'Own', 'Finish_percentile', 'Dupes', 'Stack', 'Win%', 'Lineup Edge']
687
+ with st.container():
688
+ col1, col2, col3 = st.columns(3)
689
+ with col1:
690
+ if st.button('Clear data', key='reset3'):
691
+ st.session_state.clear()
692
+ site_var = st.selectbox("Select Site", ['Draftkings', 'Fanduel'])
693
+
694
+ with col2:
695
+ sport_var = st.selectbox("Select Sport", ['NFL', 'MLB', 'NBA', 'NHL', 'MMA'])
696
+ st.info("It currently does not matter what sport you select, it may matter in the future.")
697
+ type_var = st.selectbox("Select Game Type", ['Classic', 'Showdown'])
698
+
699
+ with col3:
700
+ Contest_Size = st.number_input("Enter Contest Size", value=25000, min_value=1, step=1)
701
+ strength_var = st.selectbox("Select field strength", ['Average', 'Sharp', 'Weak'])
702
+
703
  if site_var == 'Draftkings':
704
  if type_var == 'Classic':
705
  map_dict = {
 
778
  sum(map_dict['own_map'].get(player, 0) for player in row.iloc[1:]),
779
  axis=1
780
  )
781
+
782
+ col1, col2 = st.columns([9, 1])
783
+ with col2:
784
  with st.form(key='filter_form'):
785
  max_dupes = st.number_input("Max acceptable dupes?", value=1000, min_value=1, step=1)
786
  min_salary = st.number_input("Min acceptable salary?", value=1000, min_value=1000, step=100)
 
799
 
800
  submitted = st.form_submit_button("Submit")
801
 
802
+ with col1:
803
  st.session_state['portfolio'] = predict_dupes(st.session_state['portfolio'], map_dict, site_var, type_var, Contest_Size, strength_var)
804
  st.session_state['portfolio'] = st.session_state['portfolio'][st.session_state['portfolio']['Dupes'] <= max_dupes]
805
  st.session_state['portfolio'] = st.session_state['portfolio'][st.session_state['portfolio']['salary'] >= min_salary]