cli_text_reader/
demo_registry.rs

1use crate::demo_content::get_marketing_demo_content;
2use crate::demo_script::DemoScript;
3
4// List all available demos
5pub fn list_all_demos() -> Vec<(usize, &'static str, &'static str)> {
6  vec![
7    (0, "Marketing Demo", "Comprehensive feature showcase"),
8    (1, "Speed Demo", "Quick demo for social media"),
9    (2, "Power User Demo", "Advanced features for developers"),
10    (3, "Minimal Demo", "Clean and simple reading experience"),
11    (4, "Workflow Demo", "Document processing workflow"),
12  ]
13}
14
15// Get demo script by ID
16pub fn get_demo_by_id(id: usize) -> Option<DemoScript> {
17  match id {
18    0 => Some(DemoScript::marketing_demo()),
19    1 => Some(DemoScript::speed_demo()),
20    2 => Some(DemoScript::power_user_demo()),
21    3 => Some(DemoScript::minimal_demo()),
22    4 => Some(DemoScript::workflow_demo()),
23    _ => None,
24  }
25}
26
27// Get demo content by ID
28pub fn get_demo_content_by_id(_id: usize) -> String {
29  // All demos use the same marketing content
30  get_marketing_demo_content()
31}