Skip to main content

ui_storybook/stories/
recorder_on_screen.rs

1//! On-screen-options-popover stories (M-UI.10 / AUT-130).
2
3use leptos::prelude::*;
4
5use crate::components::recorder::OnScreenOptionsPopover;
6use crate::fixtures::recorder::{
7    sample_on_screen_options, sample_on_screen_options_all_on, sample_on_screen_options_long_copy,
8};
9
10use super::{Story, StoryViewport, render};
11
12/// All on-screen-options stories.
13#[must_use]
14pub fn stories() -> Vec<Story> {
15    vec![
16        Story {
17            id: "on-screen-options-default",
18            category: "Recorder",
19            title: "On-screen options — default (some on)",
20            viewport: StoryViewport::Fixed {
21                width: 420,
22                height: 360,
23            },
24            render: render_default,
25        },
26        Story {
27            id: "on-screen-options-all-on",
28            category: "Recorder",
29            title: "On-screen options — all toggles on",
30            viewport: StoryViewport::Fixed {
31                width: 420,
32                height: 360,
33            },
34            render: render_all_on,
35        },
36        Story {
37            id: "on-screen-options-sensitive-disabled",
38            category: "Recorder",
39            title: "On-screen options — Blur sensitive disabled",
40            viewport: StoryViewport::Fixed {
41                width: 420,
42                height: 360,
43            },
44            render: render_sensitive_disabled,
45        },
46        Story {
47            id: "on-screen-options-long-copy",
48            category: "Recorder",
49            title: "On-screen options — long copy wraps",
50            viewport: StoryViewport::Fixed {
51                width: 420,
52                height: 380,
53            },
54            render: render_long_copy,
55        },
56    ]
57}
58
59fn render_default() -> String {
60    render(view! {
61        <OnScreenOptionsPopover options=sample_on_screen_options(false) />
62    })
63}
64
65fn render_all_on() -> String {
66    render(view! {
67        <OnScreenOptionsPopover options=sample_on_screen_options_all_on() />
68    })
69}
70
71fn render_sensitive_disabled() -> String {
72    render(view! {
73        <OnScreenOptionsPopover options=sample_on_screen_options(true) />
74    })
75}
76
77fn render_long_copy() -> String {
78    render(view! {
79        <OnScreenOptionsPopover options=sample_on_screen_options_long_copy() />
80    })
81}