Spaces:
Sleeping
Sleeping
Chan Meng
commited on
Commit
·
e1f685d
1
Parent(s):
4c75812
Update app.py
Browse files
app.py
CHANGED
@@ -196,11 +196,11 @@ def main():
|
|
196 |
st.set_page_config(page_title="Emoji Story Generator", page_icon="📚")
|
197 |
st.title("Emoji Story Generator")
|
198 |
|
199 |
-
#
|
200 |
if 'selected_emojis' not in st.session_state:
|
201 |
st.session_state.selected_emojis = []
|
202 |
|
203 |
-
#
|
204 |
ENGLISH_CATEGORIES = {
|
205 |
"Faces & Emotions": EMOJI_CATEGORIES["表情与情绪"],
|
206 |
"Animals": EMOJI_CATEGORIES["动物"],
|
@@ -214,33 +214,30 @@ def main():
|
|
214 |
|
215 |
tabs = st.tabs(list(ENGLISH_CATEGORIES.keys()))
|
216 |
|
217 |
-
#
|
218 |
for tab, (category, emojis) in zip(tabs, ENGLISH_CATEGORIES.items()):
|
219 |
with tab:
|
220 |
st.write(f"Select {category}:")
|
221 |
-
|
222 |
-
cols = st.columns(8) # 每行8个emoji
|
223 |
for i, emoji in enumerate(emojis):
|
224 |
if cols[i % 8].button(emoji, key=f"{category}_{emoji}"):
|
225 |
if emoji not in st.session_state.selected_emojis:
|
226 |
-
if len(st.session_state.selected_emojis) < 5:
|
227 |
st.session_state.selected_emojis.append(emoji)
|
228 |
else:
|
229 |
st.warning("Maximum 5 emojis allowed!")
|
230 |
|
231 |
-
#
|
232 |
if st.session_state.selected_emojis:
|
233 |
st.write("---")
|
234 |
st.write("Selected emojis:", " ".join(st.session_state.selected_emojis))
|
235 |
|
236 |
-
# 添加清除选择按钮
|
237 |
col1, col2 = st.columns([1, 4])
|
238 |
with col1:
|
239 |
if st.button("Clear Selection"):
|
240 |
st.session_state.selected_emojis = []
|
241 |
-
st.
|
242 |
|
243 |
-
# 生成故事按钮
|
244 |
with col2:
|
245 |
if st.button("Generate Story"):
|
246 |
story = generate_story_with_ai(st.session_state.selected_emojis)
|
@@ -252,17 +249,15 @@ def main():
|
|
252 |
else:
|
253 |
st.write("Please select at least one emoji.")
|
254 |
|
255 |
-
#
|
256 |
if st.session_state.stories:
|
257 |
st.markdown("---")
|
258 |
st.header("Generated Stories")
|
259 |
|
260 |
-
# 按点赞数排序故事
|
261 |
sorted_stories = sorted(st.session_state.stories,
|
262 |
key=lambda x: x['votes'],
|
263 |
reverse=True)
|
264 |
|
265 |
-
# 使用列布局显示故事和点赞按钮
|
266 |
for idx, story_data in enumerate(sorted_stories):
|
267 |
col1, col2 = st.columns([4, 1])
|
268 |
with col1:
|
@@ -272,7 +267,7 @@ def main():
|
|
272 |
story_data['votes'] += 1
|
273 |
update_votes()
|
274 |
st.success("Liked!")
|
275 |
-
st.
|
276 |
|
277 |
if __name__ == "__main__":
|
278 |
main()
|
|
|
196 |
st.set_page_config(page_title="Emoji Story Generator", page_icon="📚")
|
197 |
st.title("Emoji Story Generator")
|
198 |
|
199 |
+
# Initialize session state for selected emojis
|
200 |
if 'selected_emojis' not in st.session_state:
|
201 |
st.session_state.selected_emojis = []
|
202 |
|
203 |
+
# Create tab layout
|
204 |
ENGLISH_CATEGORIES = {
|
205 |
"Faces & Emotions": EMOJI_CATEGORIES["表情与情绪"],
|
206 |
"Animals": EMOJI_CATEGORIES["动物"],
|
|
|
214 |
|
215 |
tabs = st.tabs(list(ENGLISH_CATEGORIES.keys()))
|
216 |
|
217 |
+
# Display emojis in each tab
|
218 |
for tab, (category, emojis) in zip(tabs, ENGLISH_CATEGORIES.items()):
|
219 |
with tab:
|
220 |
st.write(f"Select {category}:")
|
221 |
+
cols = st.columns(8)
|
|
|
222 |
for i, emoji in enumerate(emojis):
|
223 |
if cols[i % 8].button(emoji, key=f"{category}_{emoji}"):
|
224 |
if emoji not in st.session_state.selected_emojis:
|
225 |
+
if len(st.session_state.selected_emojis) < 5:
|
226 |
st.session_state.selected_emojis.append(emoji)
|
227 |
else:
|
228 |
st.warning("Maximum 5 emojis allowed!")
|
229 |
|
230 |
+
# Display selected emojis
|
231 |
if st.session_state.selected_emojis:
|
232 |
st.write("---")
|
233 |
st.write("Selected emojis:", " ".join(st.session_state.selected_emojis))
|
234 |
|
|
|
235 |
col1, col2 = st.columns([1, 4])
|
236 |
with col1:
|
237 |
if st.button("Clear Selection"):
|
238 |
st.session_state.selected_emojis = []
|
239 |
+
st.rerun()
|
240 |
|
|
|
241 |
with col2:
|
242 |
if st.button("Generate Story"):
|
243 |
story = generate_story_with_ai(st.session_state.selected_emojis)
|
|
|
249 |
else:
|
250 |
st.write("Please select at least one emoji.")
|
251 |
|
252 |
+
# Display saved stories
|
253 |
if st.session_state.stories:
|
254 |
st.markdown("---")
|
255 |
st.header("Generated Stories")
|
256 |
|
|
|
257 |
sorted_stories = sorted(st.session_state.stories,
|
258 |
key=lambda x: x['votes'],
|
259 |
reverse=True)
|
260 |
|
|
|
261 |
for idx, story_data in enumerate(sorted_stories):
|
262 |
col1, col2 = st.columns([4, 1])
|
263 |
with col1:
|
|
|
267 |
story_data['votes'] += 1
|
268 |
update_votes()
|
269 |
st.success("Liked!")
|
270 |
+
st.rerun()
|
271 |
|
272 |
if __name__ == "__main__":
|
273 |
main()
|