diff options
Diffstat (limited to 'server/tools/src/book.rs')
-rw-r--r-- | server/tools/src/book.rs | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/server/tools/src/book.rs b/server/tools/src/book.rs index 802cbaea..fc2a1502 100644 --- a/server/tools/src/book.rs +++ b/server/tools/src/book.rs @@ -24,15 +24,38 @@ use hurrycurry_protocol::{ }; use hurrycurry_server::data::Serverdata; +struct RecipePageParams<'a> { + name: &'a str, + repr_items: &'a [&'a str], +} +static RECIPE_PAGES: &[RecipePageParams] = &[ + RecipePageParams { + name: "cheese-leek-soup", + repr_items: &["plate:cheese-leek-soup"], + }, + RecipePageParams { + name: "burger", + repr_items: &["plate:seared-patty,sliced-bun"], + }, +]; + pub fn book(data: &Gamedata, serverdata: &Serverdata) -> Result<Book> { let mut pages = Vec::new(); - for item in ["plate:cheese-leek-soup", "plate:seared-patty,sliced-bun"] { - let mut diagram = recipe_diagram(data, serverdata, &[item.to_owned()])?; + pages.push(BookPage::Contents { table: vec![] }); + + for &RecipePageParams { name, repr_items } in RECIPE_PAGES { + let mut diagram = recipe_diagram(data, serverdata, repr_items)?; diagram_layout(&mut diagram)?; pages.push(BookPage::Recipe { - description: Message::Text("Some text goes here...".to_string()), - instruction: Message::Text("Some text goes here...".to_string()), + title: Message::Translation { + id: format!("b.{name}.title"), + params: vec![], + }, + description: Message::Translation { + id: format!("b.{name}.desc"), + params: vec![], + }, diagram, }); } |