Rathapoom commited on
Commit
7cacc8d
·
verified ·
1 Parent(s): f464c6d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -18
app.py CHANGED
@@ -132,14 +132,22 @@ st.markdown("""
132
 
133
  # Initialize session state variables
134
  def init_session_state():
 
135
  if 'story' not in st.session_state:
136
  st.session_state.story = []
137
  if 'feedback' not in st.session_state:
138
  st.session_state.feedback = None
139
- if 'corrections' not in st.session_state:
140
- st.session_state.corrections = {} # เก็บประวัติการแก้ไข
141
  if 'level' not in st.session_state:
142
  st.session_state.level = 'Beginner'
 
 
 
 
 
 
 
 
 
143
  if 'points' not in st.session_state:
144
  st.session_state.points = {
145
  'total': 0,
@@ -155,14 +163,12 @@ def init_session_state():
155
  'accuracy_rate': 0.0,
156
  'vocabulary_used': set()
157
  }
158
- if 'unique_words' not in st.session_state:
159
- st.session_state.unique_words = set()
160
- if 'total_words' not in st.session_state:
161
- st.session_state.total_words = 0
162
- if 'badges' not in st.session_state:
163
- st.session_state.badges = []
164
- if 'should_reset' not in st.session_state:
165
- st.session_state.should_reset = False
166
 
167
  init_session_state()
168
 
@@ -545,7 +551,7 @@ def show_achievements():
545
  """, unsafe_allow_html=True)
546
 
547
  # แสดงสถิติ
548
- st.markdown("""### 📊 สถิติการเขียน""")
549
  col1, col2 = st.columns(2)
550
  with col1:
551
  st.metric("ประโยคที่เขียนทั้งหมด", st.session_state.stats['total_sentences'])
@@ -554,13 +560,13 @@ def show_achievements():
554
  st.metric("ความแม่นยำ", f"{st.session_state.stats['accuracy_rate']:.1f}%")
555
  st.metric("คำศัพท์ที่ใช้", len(st.session_state.stats['vocabulary_used']))
556
 
557
- # แสดง Achievements
558
  st.markdown("### 🏆 ความสำเร็จ")
559
- for achievement_id, achievement in achievements_list.items():
560
- if achievement['condition']():
561
- st.success(f"{achievement['name']}: {achievement['description']}")
562
- else:
563
- st.info(f"🔒 {achievement['description']} (ยังไม่ปลดล็อก)")
564
 
565
  def update_achievements(text: str):
566
  """Update user achievements based on their writing."""
@@ -664,7 +670,7 @@ def create_story_pdf():
664
  elements.append(Paragraph(text, style))
665
 
666
  # เพิ่ม achievements ที่ได้รับ
667
- if st.session_state.achievements:
668
  elements.append(Spacer(1, 20))
669
  elements.append(Paragraph("Achievements Earned", styles['Heading2']))
670
  for achievement in st.session_state.achievements:
 
132
 
133
  # Initialize session state variables
134
  def init_session_state():
135
+ """Initialize all session state variables"""
136
  if 'story' not in st.session_state:
137
  st.session_state.story = []
138
  if 'feedback' not in st.session_state:
139
  st.session_state.feedback = None
 
 
140
  if 'level' not in st.session_state:
141
  st.session_state.level = 'Beginner'
142
+ if 'unique_words' not in st.session_state:
143
+ st.session_state.unique_words = set()
144
+ if 'total_words' not in st.session_state:
145
+ st.session_state.total_words = 0
146
+ if 'should_reset' not in st.session_state:
147
+ st.session_state.should_reset = False
148
+ if 'user_input' not in st.session_state:
149
+ st.session_state.user_input = ""
150
+ # เพิ่ม points และ stats
151
  if 'points' not in st.session_state:
152
  st.session_state.points = {
153
  'total': 0,
 
163
  'accuracy_rate': 0.0,
164
  'vocabulary_used': set()
165
  }
166
+ # เพิ่ม achievements
167
+ if 'achievements' not in st.session_state:
168
+ st.session_state.achievements = []
169
+ # เพิ่มชื่อผู้เล่น (optional)
170
+ if 'player_name' not in st.session_state:
171
+ st.session_state.player_name = "Young Writer"
 
 
172
 
173
  init_session_state()
174
 
 
551
  """, unsafe_allow_html=True)
552
 
553
  # แสดงสถิติ
554
+ st.markdown("### 📊 สถิติการเขียน")
555
  col1, col2 = st.columns(2)
556
  with col1:
557
  st.metric("ประโยคที่เขียนทั้งหมด", st.session_state.stats['total_sentences'])
 
560
  st.metric("ความแม่นยำ", f"{st.session_state.stats['accuracy_rate']:.1f}%")
561
  st.metric("คำศัพท์ที่ใช้", len(st.session_state.stats['vocabulary_used']))
562
 
563
+ # แสดง Achievements ที่มี
564
  st.markdown("### 🏆 ความสำเร็จ")
565
+ if st.session_state.achievements:
566
+ for achievement in st.session_state.achievements:
567
+ st.success(f"🏆 {achievement}")
568
+ else:
569
+ st.info("ยังไม่มีความสำเร็จ - เขียนต่อไปเพื่อปลดล็อกรางวัล!")
570
 
571
  def update_achievements(text: str):
572
  """Update user achievements based on their writing."""
 
670
  elements.append(Paragraph(text, style))
671
 
672
  # เพิ่ม achievements ที่ได้รับ
673
+ if hasattr(st.session_state, 'achievements') and st.session_state.achievements:
674
  elements.append(Spacer(1, 20))
675
  elements.append(Paragraph("Achievements Earned", styles['Heading2']))
676
  for achievement in st.session_state.achievements: