From ceede28fabef6e1e54284ee9cdd056feef082144 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Wed, 13 Dec 2023 21:14:21 -0500 Subject: [PATCH] Ensure the outer `ListItem` element has a unique ID (#3644) This PR fixes an issue where the outer `ListItem` element was using a static ID instead of the one provided to the component. Now that active states are fixed, this meant that any time there were sibling list items they would share active states if one of them was clicked. Release Notes: - N/A --- crates/ui2/src/components/list/list_item.rs | 4 ++-- crates/ui2/src/components/stories/list_item.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/ui2/src/components/list/list_item.rs b/crates/ui2/src/components/list/list_item.rs index 8806112dedc9e65693c5afff350fd107f7c3e1b8..481d96d242e81d78e656be158f555a4077a1ee89 100644 --- a/crates/ui2/src/components/list/list_item.rs +++ b/crates/ui2/src/components/list/list_item.rs @@ -128,7 +128,7 @@ impl RenderOnce for ListItem { fn render(self, cx: &mut WindowContext) -> Self::Rendered { h_stack() - .id("item_container") + .id(self.id) .w_full() .relative() // When an item is inset draw the indent spacing outside of the item @@ -151,7 +151,7 @@ impl RenderOnce for ListItem { }) .child( h_stack() - .id(self.id) + .id("inner_list_item") .w_full() .relative() .gap_1() diff --git a/crates/ui2/src/components/stories/list_item.rs b/crates/ui2/src/components/stories/list_item.rs index fbcea44b579508a15b99dd746144e572e7c50de8..b070be663e8920938c1bbbc43988585cb3d07384 100644 --- a/crates/ui2/src/components/stories/list_item.rs +++ b/crates/ui2/src/components/stories/list_item.rs @@ -17,7 +17,7 @@ impl Render for ListItemStory { .child(ListItem::new("hello_world").child("Hello, world!")) .child(Story::label("Inset")) .child( - ListItem::new("hello_world") + ListItem::new("inset_list_item") .inset(true) .start_slot( IconElement::new(Icon::Bell) @@ -59,7 +59,7 @@ impl Render for ListItemStory { ) .child(Story::label("With end hover slot")) .child( - ListItem::new("with_left_avatar") + ListItem::new("with_end_hover_slot") .child("Hello, world!") .end_slot( h_stack()