toolbar.rs

 1use crate::prelude::*;
 2use crate::{theme, Breadcrumb, Icon, IconButton};
 3
 4#[derive(Clone)]
 5pub struct ToolbarItem {}
 6
 7#[derive(Element, Clone)]
 8pub struct Toolbar {
 9    items: Vec<ToolbarItem>,
10}
11
12impl Toolbar {
13    pub fn new() -> Self {
14        Self { items: Vec::new() }
15    }
16
17    fn render<V: 'static>(&mut self, _: &mut V, cx: &mut ViewContext<V>) -> impl IntoElement<V> {
18        let theme = theme(cx);
19
20        div()
21            .p_2()
22            .flex()
23            .justify_between()
24            .child(Breadcrumb::new())
25            .child(
26                div()
27                    .flex()
28                    .child(IconButton::new(Icon::InlayHint))
29                    .child(IconButton::new(Icon::MagnifyingGlass))
30                    .child(IconButton::new(Icon::MagicWand)),
31            )
32    }
33}