Update app.py
Browse files
app.py
CHANGED
@@ -29,6 +29,8 @@ def init_session_state():
|
|
29 |
st.session_state.total_words = 0
|
30 |
if 'badges' not in st.session_state:
|
31 |
st.session_state.badges = []
|
|
|
|
|
32 |
|
33 |
init_session_state()
|
34 |
|
@@ -120,6 +122,19 @@ def update_achievements(text: str):
|
|
120 |
st.session_state.badges.append(badge)
|
121 |
st.success(f"π Achievement Unlocked: {badge}!")
|
122 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
# Main UI Layout
|
124 |
st.title("π JoyStory - Interactive Story Adventure")
|
125 |
|
@@ -133,8 +148,8 @@ with st.sidebar:
|
|
133 |
st.session_state.level = level
|
134 |
|
135 |
if st.button("Start New Story"):
|
136 |
-
st.session_state.
|
137 |
-
st.
|
138 |
|
139 |
# Main content area
|
140 |
col1, col2 = st.columns([3, 1])
|
@@ -171,7 +186,8 @@ with col1:
|
|
171 |
ai_response = generate_story_continuation(user_input, st.session_state.level)
|
172 |
st.session_state.story.append({"role": "AI", "content": ai_response})
|
173 |
|
174 |
-
|
|
|
175 |
else:
|
176 |
st.warning("Please write something to continue the story.")
|
177 |
|
|
|
29 |
st.session_state.total_words = 0
|
30 |
if 'badges' not in st.session_state:
|
31 |
st.session_state.badges = []
|
32 |
+
if 'should_reset' not in st.session_state:
|
33 |
+
st.session_state.should_reset = False
|
34 |
|
35 |
init_session_state()
|
36 |
|
|
|
122 |
st.session_state.badges.append(badge)
|
123 |
st.success(f"π Achievement Unlocked: {badge}!")
|
124 |
|
125 |
+
def reset_story():
|
126 |
+
"""Reset the story and related state variables."""
|
127 |
+
st.session_state.story = []
|
128 |
+
st.session_state.achievements = []
|
129 |
+
st.session_state.unique_words = set()
|
130 |
+
st.session_state.total_words = 0
|
131 |
+
st.session_state.badges = []
|
132 |
+
st.session_state.should_reset = False
|
133 |
+
|
134 |
+
# Handle story reset if needed
|
135 |
+
if st.session_state.should_reset:
|
136 |
+
reset_story()
|
137 |
+
|
138 |
# Main UI Layout
|
139 |
st.title("π JoyStory - Interactive Story Adventure")
|
140 |
|
|
|
148 |
st.session_state.level = level
|
149 |
|
150 |
if st.button("Start New Story"):
|
151 |
+
st.session_state.should_reset = True
|
152 |
+
st.rerun()
|
153 |
|
154 |
# Main content area
|
155 |
col1, col2 = st.columns([3, 1])
|
|
|
186 |
ai_response = generate_story_continuation(user_input, st.session_state.level)
|
187 |
st.session_state.story.append({"role": "AI", "content": ai_response})
|
188 |
|
189 |
+
# Clear the input and rerun
|
190 |
+
st.rerun()
|
191 |
else:
|
192 |
st.warning("Please write something to continue the story.")
|
193 |
|