def _render_study_info()

in experiments/arena/pages/settings.py [0:0]


def _render_study_info(studies: dict[dict[str, Any]], app_state: me.state):
    """Render the Mesop Studies"""
    def _handle_select(study: me.ClickEvent):
        app_state.study = study.key
        app_state.study_prompts_location = studies[study.key]['gcsuri']
        app_state.study_models = studies[study.key].get('models', [])
    
    def _handle_purge(study: me.ClickEvent):
        asyncio.run(_purge_elo_ratings(study=study.key))
    
    if len(studies):
        me.text("Available Studies", type="headline-5")

        for study in studies.keys():
            
            with me.box(style=_BOX_STYLE):
                this_study = studies[study]

                study_modifier = "Available"
                if app_state.study == study:
                    study_modifier = "Current"
                me.text(f"{study_modifier} Study: {this_study['label']}", style=me.Style(font_weight="bold"))
                me.box(style=me.Style(height=8))

                models = this_study.get("models")
                model_list_items = ""
                if models:
                    for model in models:
                        model_list_items += f"<li>{model}</li>"
                else:
                    model_list_items = """
                    <li>imagegeneration@006</li>
                    <li>imagen-3.0-generate-002</li>
                    <li>imagen-3.0-fast-generate-001</li>
                    <li>black-forest-labs/flux1-schnell</li>
                    <li>stability-ai/stable-diffusion-2-1</li>
                    """
                me.html(f"Models <ul>{model_list_items}</ul>")


                me.text(f"Prompt list: {this_study['gcsuri']}")
                #for key, value in studies[study].items():
                #    me.markdown(f"**{key}:** {value}")


                if app_state.study != study:
                    me.button(
                        label="Activate", 
                        on_click=lambda study=study: _handle_select(study), 
                        key=study, 
                        disabled=app_state.study == study,
                    )
                

            me.box(style=me.Style(height=16))
                
            #me.divider(inset=False)

        me.box(style=me.Style(height=16))

        me.button(label="Reset Leaderboard for current study", 
           on_click=lambda study=app_state.study: _handle_purge(study), key=f"{app_state.study}")
            
    else:
        me.markdown("No Studies found")