ui_storybook/stories/
save_panel.rs1use leptos::prelude::*;
5
6use crate::components::recorder::SavePanel;
7use crate::fixtures::recorder::{
8 sample_save_panel_choosing, sample_save_panel_exporting, sample_save_panel_saved,
9};
10
11use super::{Story, StoryViewport, render};
12
13#[must_use]
15pub fn stories() -> Vec<Story> {
16 vec![
17 Story {
18 id: "save-panel-choosing",
19 category: "Recorder",
20 title: "Save panel — choosing (folder + format)",
21 viewport: StoryViewport::Fixed {
22 width: 460,
23 height: 220,
24 },
25 render: render_choosing,
26 },
27 Story {
28 id: "save-panel-exporting",
29 category: "Recorder",
30 title: "Save panel — exporting (controls busy)",
31 viewport: StoryViewport::Fixed {
32 width: 460,
33 height: 220,
34 },
35 render: render_exporting,
36 },
37 Story {
38 id: "save-panel-saved",
39 category: "Recorder",
40 title: "Save panel — saved (reveal / done)",
41 viewport: StoryViewport::Fixed {
42 width: 460,
43 height: 160,
44 },
45 render: render_saved,
46 },
47 ]
48}
49
50fn render_choosing() -> String {
51 render(view! {
52 <SavePanel view=sample_save_panel_choosing() />
53 })
54}
55
56fn render_exporting() -> String {
57 render(view! {
58 <SavePanel view=sample_save_panel_exporting() />
59 })
60}
61
62fn render_saved() -> String {
63 render(view! {
64 <SavePanel view=sample_save_panel_saved() />
65 })
66}