import streamlit as st import os import json from PIL import Image # Directory to store scores score_dir = "scores" os.makedirs(score_dir, exist_ok=True) # Function to generate a unique key for each button def generate_key(label, header, idx): return f"{header}_{label}_{idx}" # Function to increment score and save it def update_score(key, increment=1): score_file = os.path.join(score_dir, f"{key}.json") if os.path.exists(score_file): with open(score_file, "r") as file: score_data = json.load(file) else: score_data = {"clicks": 0, "score": 0} score_data["clicks"] += 1 score_data["score"] += increment with open(score_file, "w") as file: json.dump(score_data, file) return score_data["score"] # Function to load score def load_score(key): score_file = os.path.join(score_dir, f"{key}.json") if os.path.exists(score_file): with open(score_file, "r") as file: score_data = json.load(file) return score_data["score"] return 0 # Display headers and buttons with scores def display_buttons_with_scores(): headers = ["Inputs", "Outputs", "Health", "Learning", "AI", "Writing"] buttons = [ ["📝 Text", "📖 Read", "📷 Photo", "đŸ–ŧī¸ View", "🎙ī¸ Record", "🎧 Listen", "đŸŽĨ Video", "📹 Capture"], ["đŸ’Ŧ Chat", "✍ī¸ Write", "🎨 Art", "🌄 Create", "đŸŽĩ Music", "đŸŽļ Compose", "đŸ“ŧ Watch", "đŸŋ Movies"], ["💉 Vaccinate", "đŸŠē Diagnose", "đŸĨ Hospital", "🚑 Emergency", "💊 Meds", "🩹 Bandage", "đŸ§Ŧ DNA", "đŸ”Ŧ Research", "🌡ī¸ Temperature", "🍏 Nutrition"], ["📚 Study", "🧠 Brain", "👩‍🎓 Graduate", "📐 Measure", "🔍 Search", "📊 Analyze", "📋 Plan", "🖋ī¸ Write", "👨‍đŸĢ Teach", "🧩 Puzzle"], ["🤖 Robot", "👾 Game", "đŸ’ģ Code", "🧮 Calculate", "📡 Connect", "🔋 Power", "🕹ī¸ Play", "đŸ–Ĩī¸ Display", "🧑‍đŸ’ģ Develop", "👨‍đŸ”Ŧ Experiment"], ["✍ī¸ Author", "📝 Note", "🖊ī¸ Pen", "🖋ī¸ Sign", "📚 Library", "🔖 Bookmark", "📓 Journal", "✒ī¸ Ink", "📜 Scroll"] ] cols = st.columns(len(headers)) for idx, (col, header, buttons_list) in enumerate(zip(cols, headers, buttons)): with col: st.markdown(f"### {header}") for button_idx, button_label in enumerate(buttons_list, start=1): key = generate_key(button_label, header, button_idx) score = load_score(key) if st.button(f"{button_label} {score}", key=key): new_score = update_score(key) # Reload the page to reflect the updated score st.experimental_rerun() # Main application logic if __name__ == "__main__": st.markdown('# Remixable!') display_buttons_with_scores() # Additional content and functionality can go here col1, col2, col3 = st.columns(3) with col1: st.markdown('''### Inputs''') st.button("📝 Text") st.button("📖 Read") st.button("📷 Photo") st.button("đŸ–ŧī¸ View") st.button("🎙ī¸ Record") st.button("🎧 Listen") st.button("đŸŽĨ Video") st.button("📹 Capture") with col2: st.markdown('''### Outputs''') st.button("đŸ’Ŧ Chat") st.button("✍ī¸ Write") st.button("🎨 Art") st.button("🌄 Create") st.button("đŸŽĩ Music") st.button("đŸŽļ Compose") st.button("đŸ“ŧ Watch") st.button("đŸŋ Movies") with col3: st.markdown('''### Health''') st.button("💉 Vaccinate") st.button("đŸŠē Diagnose") st.button("đŸĨ Hospital") st.button("🚑 Emergency") st.button("💊 Meds") st.button("🩹 Bandage") st.button("đŸ§Ŧ DNA") st.button("đŸ”Ŧ Research") st.button("🌡ī¸ Temperature") st.button("🍏 Nutrition") col4, col5, col6 = st.columns(3) with col4: st.markdown('''### Learning''') st.button("📚 Study") st.button("🧠 Brain") st.button("👩‍🎓 Graduate") st.button("📐 Measure") st.button("🔍 Search") st.button("📊 Analyze") st.button("📋 Plan") st.button("🖋ī¸ Write") st.button("👨‍đŸĢ Teach") st.button("🧩 Puzzle") with col5: st.markdown('''### AI''') st.button("🤖 Robot") st.button("👾 Game") st.button("đŸ’ģ Code") st.button("🧮 Calculate") st.button("📡 Connect") st.button("🔋 Power") st.button("🕹ī¸ Play") st.button("đŸ–Ĩī¸ Display") st.button("🧑‍đŸ’ģ Develop") st.button("👨‍đŸ”Ŧ Experiment") with col6: st.markdown('''### Writing''') st.button("✍ī¸ Author") st.button("📝 Note") st.button("🖊ī¸ Pen") st.button("🖋ī¸ Sign") st.button("📚 Library") st.button("🔖 Bookmark") st.button("📓 Journal") st.button("✒ī¸ Ink") st.button("📜 Scroll") def display_images_and_wikipedia_summaries(): st.title('Gallery with Related Stories') image_files = [f for f in os.listdir('.') if f.endswith('.png')] if not image_files: st.write("No PNG images found in the current directory.") return for image_file in image_files: image = Image.open(image_file) st.image(image, caption=image_file, use_column_width='always') keyword = image_file.split('.')[0] # Assumes keyword is the file name without extension wikipedia_summary = fetch_wikipedia_summary(keyword) st.write(wikipedia_summary) display_images_and_wikipedia_summaries() st.markdown('# Three Dragons 🐉🌍 Mythical Dragons Around the World by Aaron Wacker') dragons = { '#Fafnir #Norse': '- **Story**: Fafnir originally a dwarf, transformed into a fierce dragon due to his greed for the treasure he guarded. He was later slain by the hero Sigurd. - **Significance**: deadly sin of greed and the corrupting power of wealth.', '#Quetzalcoatl #Aztec': '- **Story**: Quetzalcoatl, the Feathered Serpent, is not a dragon in the traditional sense but shares many similarities. He was a deity representing wind, air, and learning. - **Significance**: creator god and a symbol of death and rebirth.', '#Tiamat #Mesopotamian': '- **Story**: Tiamat, primordial goddess of ocean, turned into a dragon-like creature in a battle against her children who threatened her authority. - **Significance**: chaos of primordial creation and is often associated with the forces of nature.' } for dragon, story in dragons.items(): st.subheader(dragon) st.markdown(f"- {story}") st.markdown(''' https://github.com/AaronCWacker/ThreeDragons ![image/png](https://cdn-uploads.huggingface.co/production/uploads/620630b603825909dcbeba35/vkNh6XnEtGSj8mXea1W6p.png) ![image/png](https://cdn-uploads.huggingface.co/production/uploads/620630b603825909dcbeba35/Kr_nqtaglHE_aiFxWH9zF.png) ![image/png](https://cdn-uploads.huggingface.co/production/uploads/620630b603825909dcbeba35/WLRKWqB6dKlMH6saVV9cX.png) ![image/png](https://cdn-uploads.huggingface.co/production/uploads/620630b603825909dcbeba35/Lyazf6FuX4nH__4illVki.png) ![image/png](https://cdn-uploads.huggingface.co/production/uploads/620630b603825909dcbeba35/ZemsxlT3b5idB0W5IjL1o.png) ''')