import gradio as gr import pypokedex import json import utils import datetime from huggingface_hub import login, HfApi import os streaks = utils.get_streak() pokemons = utils.get_pokemon() hf_token = os.environ["HF_TOKEN"] login(hf_token) hfapi = HfApi() def new_streak(intensity): global pokemons pokemons = utils.get_pokemon() reward = utils.new_streak(intensity) new_streak = utils.get_streak() return f"{new_streak} streak days", '## ' + '✅ ' * new_streak, reward def restart(): with open('dummy.txt', 'w') as f: f.write(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")) hfapi.upload_file( path_or_fileobj="dummy.txt", path_in_repo="dummy.txt", repo_id="panda1835/pokemon-habit", repo_type="space", ) with gr.Blocks() as demo: gr.Markdown('

PokeVerse

') reward_md = gr.Markdown() winning_btn = gr.Button("💪 Are you winning today? 💪") restart_btn = gr.Button("🍀 Restart 🍀") intensity = gr.Slider(0, 3, step=1, label="Intensity") streak_md = gr.Markdown(f"### 🔥 {streaks} streak days") streakboard = gr.Markdown('## ' + '✅ ' * streaks) money_md = gr.Markdown(f"### 💰 Money saved: {'{:,}'.format(utils.get_money())} VND") money_md = gr.Markdown(f"### 🧱 Minifigure: {utils.get_total_minifigure()}") gr.Markdown('

My Poke Friends

') with gr.Row(): for dex in pokemons.keys(): if pokemons[dex]['visible'] == True: with gr.Group(): with gr.Column(min_width=200) as poke_col: gr.Image(pokemons[dex]['image'], show_label=False) with gr.Accordion(pokemons[dex]['name'], open=False): gr.Markdown(pokemons[dex]['description']) info = gr.Markdown(f"**EXP**: {utils.get_poke_energy(dex)}") winning_btn.click(new_streak, inputs=[intensity], outputs=[streak_md, streakboard, reward_md]) restart_btn.click(restart, None, None) demo.launch()