ui_storybook/stories/
recorder_on_screen.rs1use 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#[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}