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 8806112ded..481d96d242 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 fbcea44b57..b070be663e 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()