1use gpui2::geometry::rems;
2use ui::prelude::*;
3use ui::{
4 empty_buffer_example, hello_world_rust_buffer_example,
5 hello_world_rust_buffer_with_status_example, Buffer,
6};
7
8use crate::story::Story;
9
10#[derive(Element, Default)]
11pub struct BufferStory {}
12
13impl BufferStory {
14 fn render<V: 'static>(&mut self, _: &mut V, cx: &mut ViewContext<V>) -> impl IntoElement<V> {
15 let theme = theme(cx);
16
17 Story::container(cx)
18 .child(Story::title_for::<_, Buffer>(cx))
19 .child(Story::label(cx, "Default"))
20 .child(div().w(rems(64.)).h_96().child(empty_buffer_example()))
21 .child(Story::label(cx, "Hello World (Rust)"))
22 .child(
23 div()
24 .w(rems(64.))
25 .h_96()
26 .child(hello_world_rust_buffer_example(&theme)),
27 )
28 .child(Story::label(cx, "Hello World (Rust) with Status"))
29 .child(
30 div()
31 .w(rems(64.))
32 .h_96()
33 .child(hello_world_rust_buffer_with_status_example(&theme)),
34 )
35 }
36}