gpui_router/
router.rs

1use gpui::*;
2use smallvec::SmallVec;
3
4pub fn router() -> impl IntoElement {
5  Router::new()
6}
7
8#[derive(IntoElement, Default)]
9pub struct Router {
10  children: SmallVec<[AnyElement; 1]>,
11}
12
13impl Router {
14  pub fn new() -> Self {
15    Default::default()
16  }
17}
18
19impl ParentElement for Router {
20  fn extend(&mut self, elements: impl IntoIterator<Item = AnyElement>) {
21    self.children.extend(elements);
22  }
23}
24
25impl RenderOnce for Router {
26  fn render(self, _window: &mut Window, _cx: &mut App) -> impl IntoElement {
27    div().children(self.children)
28  }
29}