diff --git a/assets/icons/corner-down-right.svg b/assets/icons/corner-down-right.svg
new file mode 100644
index 0000000..3fdd007
--- /dev/null
+++ b/assets/icons/corner-down-right.svg
@@ -0,0 +1,16 @@
+
+
diff --git a/assets/icons/square-pen.svg b/assets/icons/square-pen.svg
new file mode 100644
index 0000000..9580d9b
--- /dev/null
+++ b/assets/icons/square-pen.svg
@@ -0,0 +1,16 @@
+
+
diff --git a/examples/gallery/pages/chat/history.rs b/examples/gallery/pages/chat/history.rs
new file mode 100644
index 0000000..3edc103
--- /dev/null
+++ b/examples/gallery/pages/chat/history.rs
@@ -0,0 +1,344 @@
+use ely_gpui_component::{
+ buttons::{Button, ButtonVariant},
+ chat::{
+ Conversation, ConversationExport, ConversationList, MessageAvatar, MessageBubble,
+ MessageList, Project, ProjectKnowledgePanel, ProjectList, Role, SharedConversationView,
+ StreamingMarkdown, new_chat_button,
+ },
+ feedback::{Toast, Toaster},
+ forms::{SearchInput, TextInput},
+ overlays::PromptDialog,
+ primitives::{IconName, Severity},
+ theme::{ActiveTheme, Radius},
+};
+use gpui::{App, Entity, IntoElement, ParentElement, SharedString, Styled, Window, div, px};
+use jiff::{Timestamp, ToSpan, tz::TimeZone};
+
+use crate::{
+ probe::probe,
+ ui::{keep, section, set},
+};
+
+/// The conversations and the one open, shared by the list and the shared view.
+pub struct History {
+ pub all: Entity>,
+ pub active: Entity