From 29df5878e3039d6cf5f4886316abc1a53a7781ef Mon Sep 17 00:00:00 2001 From: Paulo V C Medeiros Date: Mon, 13 Nov 2023 02:07:25 +0100 Subject: [PATCH] Ask for confirmation before removing a chat --- pyrobbot/app/multipage.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pyrobbot/app/multipage.py b/pyrobbot/app/multipage.py index b2b6377..38dcd1a 100644 --- a/pyrobbot/app/multipage.py +++ b/pyrobbot/app/multipage.py @@ -56,7 +56,7 @@ def add_page(self, page: AppPage, selected: bool = True, **page_obj_kwargs): if selected: self.register_selected_page(page) - def remove_page(self, page: AppPage): + def _remove_page(self, page: AppPage): """Remove a page from the app.""" self.pages[page.page_id].chat_obj.private_mode = True self.pages[page.page_id].chat_obj.clear_cache() @@ -66,6 +66,20 @@ def remove_page(self, page: AppPage): except StopIteration: self.add_page() + def remove_page(self, page: AppPage): + """Remove a page from the app after confirmation.""" + st.error("Are you sure you want to delete this chat?") + col1, col2 = st.columns([0.5, 0.5]) + with col1: + st.button("No, take me back", use_container_width=True) + with col2: + st.button( + "Yes, delete chat", + on_click=self._remove_page, + kwargs={"page": page}, + use_container_width=True, + ) + def register_selected_page(self, page: AppPage): """Register a page as selected.""" self.state["selected_page"] = page