aboutsummaryrefslogtreecommitdiff
path: root/server/data/src/book/mod.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-10-07 00:13:56 +0200
committermetamuffin <metamuffin@disroot.org>2025-10-07 00:14:00 +0200
commitf6458b62e733de11e3665c83bcde4fd4051d7842 (patch)
tree540942eeee8381d289022668d8cf81f6a73f75a5 /server/data/src/book/mod.rs
parentdfa1adc6f7e2d57c1897223d1620f28140b518e8 (diff)
downloadhurrycurry-f6458b62e733de11e3665c83bcde4fd4051d7842.tar
hurrycurry-f6458b62e733de11e3665c83bcde4fd4051d7842.tar.bz2
hurrycurry-f6458b62e733de11e3665c83bcde4fd4051d7842.tar.zst
Book pages from recipe groups
Diffstat (limited to 'server/data/src/book/mod.rs')
-rw-r--r--server/data/src/book/mod.rs63
1 files changed, 3 insertions, 60 deletions
diff --git a/server/data/src/book/mod.rs b/server/data/src/book/mod.rs
index b52779f3..f9b54d0d 100644
--- a/server/data/src/book/mod.rs
+++ b/server/data/src/book/mod.rs
@@ -30,64 +30,6 @@ use hurrycurry_protocol::{
book::{Book, BookPage},
};
-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: "tomato-soup",
- repr_items: &["plate:tomato-soup"],
- },
- RecipePageParams {
- name: "mushroom-soup",
- repr_items: &["plate:mushroom-soup"],
- },
- RecipePageParams {
- name: "burger",
- repr_items: &[
- "plate:seared-patty,sliced-bun,sliced-lettuce,sliced-tomato",
- "plate:seared-patty,sliced-bun,sliced-cheese,sliced-tomato",
- ],
- },
- RecipePageParams {
- name: "noodles",
- repr_items: &["plate:cooked-noodles,sliced-cheese,tomato-juice"],
- },
- RecipePageParams {
- name: "pizza",
- repr_items: &["plate:baked-rolled-dough:sliced-cheese,sliced-mushroom,tomato-juice"],
- },
- RecipePageParams {
- name: "curry",
- repr_items: &["plate:cooked-rice,curry"],
- },
- RecipePageParams {
- name: "drinks",
- repr_items: &[
- "glass:water",
- "glass:tomato-juice",
- "glass:strawberry-shake",
- ],
- },
- RecipePageParams {
- name: "mochi",
- repr_items: &["plate:strawberry-mochi"],
- },
- RecipePageParams {
- name: "doughnut",
- repr_items: &["plate:doughnut"],
- },
- RecipePageParams {
- name: "doughnut",
- repr_items: &["plate:doughnut"],
- },
-];
-
pub fn book(data: &Gamedata, serverdata: &Serverdata) -> Result<Book> {
let mut pages = Vec::new();
@@ -97,8 +39,9 @@ pub fn book(data: &Gamedata, serverdata: &Serverdata) -> Result<Book> {
});
let mut toc = Vec::new();
- for &RecipePageParams { name, repr_items } in RECIPE_PAGES {
- let mut diagram = recipe_diagram(data, serverdata, repr_items)?;
+ for (name, repr) in serverdata.recipe_groups.clone() {
+ let repr = repr.into_iter().collect::<Vec<_>>();
+ let mut diagram = recipe_diagram(data, serverdata, &repr)?;
diagram_layout(&mut diagram)?;
let title = Message::Translation {
id: format!("b.{name}.title"),