St.chat_input interaction with other menu option component

Summary

Odd behvaiour with the st.chat_input and the streamlit option menu. The menu option flicks back to the original choice although the page remains changed. See code below to reproduce the result. Any help resolving this would be great. Note that the option menu works fine with st.text_input but when I swap it for st.chat_input the issue arises with the conditional โ€œifโ€ block.

Steps to reproduce

import streamlit as st
from streamlit_option_menu import option_menu

def main():
    #st.set_option('deprecation.showPyplotGlobalUse', False)
    st.markdown("Welcome")

    # menu for document analyzer apps
    summary_type = option_menu(
        None,
        options=["Q&A", "Summarization", "Compare & Contrast", "Output Parsers", "Admin Panel"],
        icons=[
            "chat-dots-fill",
            "file-earmark-text-fill",
            "zoom-in",
            "table",
            "person-fill-lock",
        ],
        menu_icon="cast",
        default_index=0,
        orientation="horizontal",
        key="main_menu"
    )
    summary_type

    if summary_type == "Q&A":
        st.markdown("Page 1")
        st.chat_input("Enter your message here")
    
    
if __name__ == "__main__":
    main()

Hi ddealwis09,
It working fine :white_check_mark: when I execute the same code that you provided

Hi Vicky,
You mean the menu option isnโ€™t flicking back to the original option being selected? I have a video recording of it but Iโ€™m not sure how to upload it to streamlit to showโ€ฆ

Yes, while click on the summary button the option flicks and highlighting the Q&A option but showing the summary under the option. You can upload the video on the google drive and share the link here.

Here is the video illustrating the issue. Can anyone help?

So you do agree there is an issue correct?

Can you please make the video view from private to public, or you need to give the access manually.

Yes

Hi, Iโ€™ve now made it public, the link should work.

Can this be resolved with st.session_state ??