breadcrumb.rs

 1use std::path::PathBuf;
 2use std::str::FromStr;
 3
 4use ui::prelude::*;
 5use ui::{Breadcrumb, HighlightedText, Symbol};
 6
 7use crate::story::Story;
 8
 9#[derive(Element, Default)]
10pub struct BreadcrumbStory {}
11
12impl BreadcrumbStory {
13    fn render<V: 'static>(&mut self, _: &mut V, cx: &mut ViewContext<V>) -> impl IntoElement<V> {
14        let theme = theme(cx);
15
16        Story::container(cx)
17            .child(Story::title_for::<_, Breadcrumb>(cx))
18            .child(Story::label(cx, "Default"))
19            .child(Breadcrumb::new(
20                PathBuf::from_str("crates/ui/src/components/toolbar.rs").unwrap(),
21                vec![
22                    Symbol(vec![
23                        HighlightedText {
24                            text: "impl ".to_string(),
25                            color: HighlightColor::Keyword.hsla(&theme),
26                        },
27                        HighlightedText {
28                            text: "BreadcrumbStory".to_string(),
29                            color: HighlightColor::Function.hsla(&theme),
30                        },
31                    ]),
32                    Symbol(vec![
33                        HighlightedText {
34                            text: "fn ".to_string(),
35                            color: HighlightColor::Keyword.hsla(&theme),
36                        },
37                        HighlightedText {
38                            text: "render".to_string(),
39                            color: HighlightColor::Function.hsla(&theme),
40                        },
41                    ]),
42                ],
43            ))
44    }
45}