soojeongcrystal commited on
Commit
78d7075
ยท
verified ยท
1 Parent(s): 2268456

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -20
app.py CHANGED
@@ -47,46 +47,43 @@ st.markdown('<div class="header">๐Ÿ† ๋‹ค๋ฅธ ํŒ€์žฅ ๊ณ ๋ฏผํ•ด๊ฒฐ ๋„์™€์ฃผ๊ธฐ
47
  # Load Excel file into DataFrame
48
  df = pd.read_excel("painpoint2.xlsx")
49
 
50
- # ๋ฒ„ํŠผ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ
51
- button_containers = [st.container() for _ in experience_levels]
52
  buttons = st.columns(len(experience_levels))
53
  selected_concern = None
54
 
55
  # ๋ฒ„ํŠผ ์ƒ์„ฑ ๋ฐ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ
56
  for i, experience_level in enumerate(experience_levels):
57
  with buttons[i]:
58
- # ๋ฒ„ํŠผ ์Šคํƒ€์ผ ์„ค์ •
59
- button_style = f"border-radius:10px; border:1px solid #FFF; padding:10px; margin:3px; width:100%;"
60
- if st.session_state.get('active_button') == experience_level:
61
- # ์„ ํƒ๋œ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ ์šฉ
62
- button_style += " background-color:#0d6efd; color:#FFF;"
63
- else:
64
- # ๊ธฐ๋ณธ ๋ฒ„ํŠผ ์Šคํƒ€์ผ
65
- button_style += " background-color:#FFF; color:#333;"
66
-
67
- # ๋ฒ„ํŠผ ๋ Œ๋”๋ง
68
- if st.button(experience_level, key=f"button_{i}", help=f"Select {experience_level}", args=(experience_level,), kwargs={'style': button_style}):
69
- st.session_state['active_button'] = experience_level
70
  concerns = df[experience_level].dropna()
71
  if not concerns.empty:
72
  selected_concern = concerns.sample(n=1).iloc[0]
73
  st.session_state['selected_concern'] = selected_concern
 
 
74
  else:
75
  st.error(f"{experience_level}์— ํ•ด๋‹นํ•˜๋Š” ๊ณ ๋ฏผ์ด ์—†์Šต๋‹ˆ๋‹ค.")
76
 
77
  # ์„ ํƒ๋œ ๊ณ ๋ฏผ ๋‚ด์šฉ์„ ์ „์ฒด ์ปจํ…Œ์ด๋„ˆ์— ํ‘œ์‹œ
78
  if 'selected_concern' in st.session_state:
79
- with st.container():
80
- st.markdown(f"### ์„ ํƒ๋œ ๊ณ ๋ฏผ: {st.session_state['selected_concern']}")
81
 
82
  # ์กฐ์–ธ ์ œ์ถœ ์„น์…˜
83
- if 'selected_concern' in st.session_state and st.session_state.get('active_button'):
84
  advice = st.text_area("๊ณ ๋ฏผ์— ๋Œ€ํ•œ ์กฐ์–ธ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”:", height=100)
85
  if st.button("์กฐ์–ธ ์ œ์ถœํ•˜๊ธฐ"):
86
  if advice.strip(): # ์กฐ์–ธ์ด ๋น„์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ
87
- record_advice(st.session_state.get('active_button'), st.session_state['selected_concern'], advice.strip())
88
  st.success("์กฐ์–ธ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ œ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!")
89
- st.session_state['selected_concern'] = None # ์ œ์ถœ ํ›„ ์„ ํƒ๋œ ๊ณ ๋ฏผ ์ดˆ๊ธฐํ™”
90
- st.session_state['active_button'] = None # ์„ ํƒ๋œ ๋ฒ„ํŠผ ์ดˆ๊ธฐํ™”
 
 
 
91
  else:
92
  st.error("์กฐ์–ธ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.")
 
47
  # Load Excel file into DataFrame
48
  df = pd.read_excel("painpoint2.xlsx")
49
 
50
+ # ์—ฐ์ฐจ ์„ ํƒ์„ ์œ„ํ•œ ๋ฒ„ํŠผ ์„ ์–ธ
51
+ experience_levels = ['์ €์—ฐ์ฐจ ํŒ€์žฅ', '์ค‘๊ฐ„์—ฐ์ฐจ ํŒ€์žฅ', '๊ณ ์—ฐ์ฐจ ํŒ€์žฅ']
52
  buttons = st.columns(len(experience_levels))
53
  selected_concern = None
54
 
55
  # ๋ฒ„ํŠผ ์ƒ์„ฑ ๋ฐ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ
56
  for i, experience_level in enumerate(experience_levels):
57
  with buttons[i]:
58
+ # ๋ฒ„ํŠผ์ด ์ด๋ฏธ ์„ ํƒ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ฉ”์‹œ์ง€ ํ‘œ์‹œ
59
+ if st.session_state.get(experience_level):
60
+ st.button(experience_level, disabled=True)
61
+ elif st.button(experience_level):
62
+ st.session_state[experience_level] = True # ๋ฒ„ํŠผ ์ƒํƒœ๋ฅผ ์ €์žฅ
 
 
 
 
 
 
 
63
  concerns = df[experience_level].dropna()
64
  if not concerns.empty:
65
  selected_concern = concerns.sample(n=1).iloc[0]
66
  st.session_state['selected_concern'] = selected_concern
67
+ st.session_state['experience'] = experience_level # ๊ฒฝํ—˜ ๋ ˆ๋ฒจ ์ €์žฅ
68
+ st.markdown(f"### ์„ ํƒ๋œ ๊ณ ๋ฏผ: {selected_concern}")
69
  else:
70
  st.error(f"{experience_level}์— ํ•ด๋‹นํ•˜๋Š” ๊ณ ๋ฏผ์ด ์—†์Šต๋‹ˆ๋‹ค.")
71
 
72
  # ์„ ํƒ๋œ ๊ณ ๋ฏผ ๋‚ด์šฉ์„ ์ „์ฒด ์ปจํ…Œ์ด๋„ˆ์— ํ‘œ์‹œ
73
  if 'selected_concern' in st.session_state:
74
+ st.markdown(f"### ์„ ํƒ๋œ ๊ณ ๋ฏผ: {st.session_state['selected_concern']}")
 
75
 
76
  # ์กฐ์–ธ ์ œ์ถœ ์„น์…˜
77
+ if 'selected_concern' in st.session_state and st.session_state.get('experience'):
78
  advice = st.text_area("๊ณ ๋ฏผ์— ๋Œ€ํ•œ ์กฐ์–ธ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”:", height=100)
79
  if st.button("์กฐ์–ธ ์ œ์ถœํ•˜๊ธฐ"):
80
  if advice.strip(): # ์กฐ์–ธ์ด ๋น„์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ
81
+ record_advice(st.session_state['experience'], st.session_state['selected_concern'], advice.strip())
82
  st.success("์กฐ์–ธ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ œ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!")
83
+ # ์ œ์ถœ ํ›„ ์„ธ์…˜ ์ƒํƒœ ์ดˆ๊ธฐํ™”
84
+ st.session_state['selected_concern'] = None
85
+ st.session_state['experience'] = None
86
+ for experience_level in experience_levels:
87
+ st.session_state[experience_level] = False # ๋ชจ๋“  ๋ฒ„ํŠผ ์ƒํƒœ ์ดˆ๊ธฐํ™”
88
  else:
89
  st.error("์กฐ์–ธ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.")