1use floem::{action::inspect, prelude::*};
2
3mod dyn_stack;
4mod stack;
5mod stack_from_iter;
6mod virtual_stack;
7
8pub fn stacks_view() -> impl IntoView {
9 let basic_stack = Stack::vertical((
10 "stack".style(|s| s.font_size(16.0)),
11 "From signal: false",
12 "From iter: false",
13 "Renders off-screen: true",
14 stack::stack_view(),
15 ))
16 .style(|s| s.gap(5).width_pct(25.0));
17
18 let stack_from_iter = Stack::vertical((
19 "stack_from_iter".style(|s| s.font_size(16.0)),
20 "From signal: false",
21 "From iter: true",
22 "Renders off-screen: true",
23 stack_from_iter::stack_from_iter_view(),
24 ))
25 .style(|s| s.gap(5).width_pct(25.0));
26
27 let dyn_stack = Stack::vertical((
28 "dyn_stack".style(|s| s.font_size(16.0)),
29 "From signal: true",
30 "From iter: true",
31 "Renders off-screen: true",
32 dyn_stack::dyn_stack_view(),
33 ))
34 .style(|s| s.gap(5).width_pct(25.0));
35
36 let virtual_stack = Stack::vertical((
37 "virtual_stack".style(|s| s.font_size(16.0)),
38 "From signal: true",
39 "From iter: true",
40 "Renders off-screen: false",
41 virtual_stack::virtual_stack_view(),
42 ))
43 .style(|s| s.flex_col().row_gap(5).width_pct(25.0));
44
45 (basic_stack, stack_from_iter, dyn_stack, virtual_stack)
46 .h_stack()
47 .style(|s| s.flex().margin(20).width_full().height_full().col_gap(10))
48 .on_event_stop(el::KeyUp, |_, KeyboardEvent { key, .. }| {
49 if *key == Key::Named(NamedKey::F11) {
50 inspect();
51 }
52 })
53}