def regenerate_welcome()

in experiments/babel/app/pages/welcome.py [0:0]


def regenerate_welcome(e: me.ClickEvent):  # pylint: disable=unused-argument
    """ regenerate welcome statement """
    state = me.state(PageState)
    state.is_loading = True
    state.audio_output_infos.clear()
    yield

    greetings = [
        "Welcome to today's event!",
        "Welcome, everyone, to today's exciting event!",
        "Welcome!", 
        "Welcome to Chirp 3 H D!", 
        "Welcome, great to see you!",
        "Welcome to Chirp 3: HD!",
        "Welcome!",
        "Greetings!",
    ]
    random_greeting = random.choice(greetings)
    state.welcome_statement = random_greeting
    yield

    data = generate_audio(random_greeting)
    filtered_metadata: list[BabelMetadata] = [
        {
            "voice_name": item["voice_name"],
            "language_code": item["language_code"],
            "gender": item["gender"],
            "text": item["text"],
            "audio_path": item["audio_path"],
        }
        for item in data["audio_metadata"]
        if "voice_name" in item
        and ("Puck" in item["voice_name"] or "Leda" in item["voice_name"])
    ]

    state.audio_output_metadata = filtered_metadata
    state.is_loading = False
    print(f"Received {len(state.audio_output_metadata)} voices")
    yield