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}