Files
crepes-demo/lib/recipes.ts
OpenClaw 9b750238c2
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
Initial commit: json-render crepes demo
2026-02-09 07:30:54 +01:00

393 lines
14 KiB
TypeScript

export const recipes = [
{
root: "root",
elements: {
root: {
type: "RecipeCard" as const,
props: {
title: "Crêpes Suzette",
description: "The iconic flambéed orange crêpe dessert, a timeless French classic",
imageUrl: "https://images.unsplash.com/photo-1576284805570-ca5c04e3aa2c?w=800",
},
children: [
"chef",
"header",
"ingredients1",
"ingredients2",
"steps",
"tip",
],
},
chef: {
type: "ChefInfo" as const,
props: {
name: "Auguste Escoffier",
bio: "The legendary French chef who codified French cuisine and created many classic dishes. His influence on modern French cooking is immeasurable.",
sourceUrl: "https://www.escoffier.edu/blog/culinary-arts/the-legendary-auguste-escoffier/",
},
},
header: {
type: "RecipeHeader" as const,
props: {
title: "Crêpes Suzette",
chef: "Auguste Escoffier",
origin: "Monte Carlo, 1895",
prepTime: "45 minutes",
servings: 4,
},
},
ingredients1: {
type: "IngredientList" as const,
props: {
title: "For the Crêpes",
ingredients: [
{ quantity: "200g", name: "All-purpose flour" },
{ quantity: "4", name: "Large eggs" },
{ quantity: "500ml", name: "Whole milk" },
{ quantity: "50g", name: "Melted butter" },
{ quantity: "1 pinch", name: "Salt" },
{ quantity: "2 tbsp", name: "Sugar" },
],
},
},
ingredients2: {
type: "IngredientList" as const,
props: {
title: "For the Suzette Sauce",
ingredients: [
{ quantity: "100g", name: "Unsalted butter" },
{ quantity: "100g", name: "Sugar" },
{ quantity: "Zest of 2", name: "Oranges" },
{ quantity: "150ml", name: "Fresh orange juice" },
{ quantity: "50ml", name: "Grand Marnier" },
{ quantity: "50ml", name: "Cognac" },
],
},
},
steps: {
type: "InstructionSteps" as const,
props: {
steps: [
{
number: 1,
instruction: "Whisk together flour, eggs, milk, melted butter, salt, and sugar until smooth. Let the batter rest for 30 minutes.",
},
{
number: 2,
instruction: "Heat a non-stick pan over medium heat. Pour a thin layer of batter and swirl to coat. Cook for 1-2 minutes per side until golden.",
},
{
number: 3,
instruction: "For the sauce: In a large pan, melt butter with sugar until caramelized. Add orange zest and juice, simmer for 2 minutes.",
},
{
number: 4,
instruction: "Fold each crêpe into quarters and arrange in the orange sauce. Heat through gently.",
},
{
number: 5,
instruction: "Add Grand Marnier and Cognac, ignite carefully to flambé. Serve immediately with the sauce.",
},
],
},
},
tip: {
type: "TipCard" as const,
props: {
tip: "The flambé should be done tableside for maximum theatrical effect. Ensure your pan is hot before adding the alcohol for proper ignition.",
author: "Auguste Escoffier",
},
},
},
},
{
root: "root",
elements: {
root: {
type: "RecipeCard" as const,
props: {
title: "Crêpes Bretonnes au Sarrasin",
description: "Traditional Breton buckwheat crêpes with ham, egg, and Gruyère",
imageUrl: "https://images.unsplash.com/photo-1505253468034-514d2507d914?w=800",
},
children: [
"chef",
"header",
"ingredients",
"steps",
"tip",
],
},
chef: {
type: "ChefInfo" as const,
props: {
name: "Olivier Roellinger",
bio: "Three-Michelin-starred chef from Brittany, known for his innovative use of spices and celebration of Breton culinary traditions.",
sourceUrl: "https://www.maisons-de-bricourt.com/en/",
},
},
header: {
type: "RecipeHeader" as const,
props: {
title: "Crêpes Bretonnes au Sarrasin",
chef: "Olivier Roellinger",
origin: "Brittany, France",
prepTime: "30 minutes",
servings: 6,
},
},
ingredients: {
type: "IngredientList" as const,
props: {
title: "Ingredients",
ingredients: [
{ quantity: "250g", name: "Buckwheat flour" },
{ quantity: "1", name: "Large egg" },
{ quantity: "500ml", name: "Water" },
{ quantity: "1 tsp", name: "Salt" },
{ quantity: "30g", name: "Melted butter" },
{ quantity: "6 slices", name: "Jambon de Paris (quality ham)" },
{ quantity: "6", name: "Fresh eggs" },
{ quantity: "200g", name: "Grated Gruyère cheese" },
],
},
},
steps: {
type: "InstructionSteps" as const,
props: {
steps: [
{
number: 1,
instruction: "Mix buckwheat flour with salt. Gradually whisk in water and egg until smooth. Add melted butter. Let rest 1 hour.",
},
{
number: 2,
instruction: "Heat a large crêpe pan or flat griddle. Lightly oil the surface.",
},
{
number: 3,
instruction: "Pour batter to form a thin crêpe. Let it set for 30 seconds.",
},
{
number: 4,
instruction: "Place a slice of ham in the center, crack an egg on top, and sprinkle with Gruyère. Season with pepper.",
},
{
number: 5,
instruction: "Fold the edges inward to form a square, leaving the egg yolk visible. Cook until egg white is set and yolk is still runny.",
},
{
number: 6,
instruction: "Serve immediately with a glass of Breton cider.",
},
],
},
},
tip: {
type: "TipCard" as const,
props: {
tip: "The buckwheat flour gives these galettes their distinctive nutty flavor. Use genuine buckwheat from Brittany if possible, and never skip the resting time for the batter.",
author: "Olivier Roellinger",
},
},
},
},
{
root: "root",
elements: {
root: {
type: "RecipeCard" as const,
props: {
title: "Crêpes with Salted Caramel",
description: "Modern French crêpes with homemade salted butter caramel sauce",
imageUrl: "https://images.unsplash.com/photo-1519676867240-f03562e64548?w=800",
},
children: [
"chef",
"header",
"ingredients1",
"ingredients2",
"steps",
"tip",
],
},
chef: {
type: "ChefInfo" as const,
props: {
name: "Pierre Hermé",
bio: "Renowned pastry chef dubbed the 'Picasso of Pastry' by Vogue. Master of combining unexpected flavors and textures in French desserts.",
sourceUrl: "https://www.pierreherme.com/",
},
},
header: {
type: "RecipeHeader" as const,
props: {
title: "Crêpes au Caramel Beurre Salé",
chef: "Pierre Hermé",
origin: "Paris, France",
prepTime: "40 minutes",
servings: 8,
},
},
ingredients1: {
type: "IngredientList" as const,
props: {
title: "For the Crêpes",
ingredients: [
{ quantity: "300g", name: "All-purpose flour" },
{ quantity: "3", name: "Large eggs" },
{ quantity: "600ml", name: "Whole milk" },
{ quantity: "40g", name: "Melted butter" },
{ quantity: "30g", name: "Sugar" },
{ quantity: "1 pinch", name: "Fleur de sel" },
],
},
},
ingredients2: {
type: "IngredientList" as const,
props: {
title: "For the Salted Caramel",
ingredients: [
{ quantity: "200g", name: "Sugar" },
{ quantity: "100g", name: "Salted butter (Breton preferred)" },
{ quantity: "200ml", name: "Heavy cream" },
{ quantity: "1 tsp", name: "Fleur de sel" },
],
},
},
steps: {
type: "InstructionSteps" as const,
props: {
steps: [
{
number: 1,
instruction: "Prepare crêpe batter: Whisk flour, eggs, milk, melted butter, sugar, and fleur de sel until smooth. Rest for 30 minutes.",
},
{
number: 2,
instruction: "For the caramel: In a heavy saucepan, melt sugar over medium heat without stirring until it becomes deep amber.",
},
{
number: 3,
instruction: "Remove from heat and carefully whisk in butter, then cream (it will bubble vigorously). Return to low heat and stir until smooth.",
},
{
number: 4,
instruction: "Add fleur de sel to taste. Let caramel cool slightly.",
},
{
number: 5,
instruction: "Cook crêpes in a hot pan until lightly golden on both sides.",
},
{
number: 6,
instruction: "Fold crêpes into quarters, drizzle generously with warm salted caramel. Garnish with extra fleur de sel.",
},
],
},
},
tip: {
type: "TipCard" as const,
props: {
tip: "The key to perfect caramel is patience. Don't rush the caramelization, and use quality salted butter from Brittany. The contrast between sweet and salty creates an unforgettable experience.",
author: "Pierre Hermé",
},
},
},
},
{
root: "root",
elements: {
root: {
type: "RecipeCard" as const,
props: {
title: "Crêpes Parmentier",
description: "Savory potato and bacon crêpes, rustic and comforting",
imageUrl: "https://images.unsplash.com/photo-1525184782196-8e2ded604bf7?w=800",
},
children: [
"chef",
"header",
"ingredients",
"steps",
"tip",
],
},
chef: {
type: "ChefInfo" as const,
props: {
name: "Joël Robuchon",
bio: "Holder of the most Michelin stars in the world (31 total). Known for elevating simple ingredients into extraordinary dishes through perfect technique.",
sourceUrl: "https://www.joel-robuchon.com/",
},
},
header: {
type: "RecipeHeader" as const,
props: {
title: "Crêpes Parmentier",
chef: "Joël Robuchon",
origin: "France (modern bistro)",
prepTime: "50 minutes",
servings: 4,
},
},
ingredients: {
type: "IngredientList" as const,
props: {
title: "Ingredients",
ingredients: [
{ quantity: "200g", name: "All-purpose flour" },
{ quantity: "3", name: "Large eggs" },
{ quantity: "400ml", name: "Whole milk" },
{ quantity: "50g", name: "Melted butter" },
{ quantity: "400g", name: "Yukon Gold potatoes" },
{ quantity: "200g", name: "Quality bacon lardons" },
{ quantity: "100g", name: "Comté cheese, grated" },
{ quantity: "2", name: "Shallots, finely chopped" },
{ quantity: "100ml", name: "Crème fraîche" },
{ quantity: "To taste", name: "Salt, pepper, nutmeg" },
],
},
},
steps: {
type: "InstructionSteps" as const,
props: {
steps: [
{
number: 1,
instruction: "Make crêpe batter with flour, eggs, milk, and melted butter. Season lightly and rest for 30 minutes.",
},
{
number: 2,
instruction: "Peel and dice potatoes into small cubes. Boil in salted water until just tender, about 8 minutes. Drain thoroughly.",
},
{
number: 3,
instruction: "In a large pan, cook bacon lardons until crispy. Add shallots and cook until soft.",
},
{
number: 4,
instruction: "Add potatoes to the pan, season with salt, pepper, and a grating of nutmeg. Stir in crème fraîche.",
},
{
number: 5,
instruction: "Cook crêpes until golden. Fill each with the potato-bacon mixture and fold or roll.",
},
{
number: 6,
instruction: "Place filled crêpes in a buttered baking dish, top with Comté cheese. Bake at 200°C for 10 minutes until bubbly and golden.",
},
],
},
},
tip: {
type: "TipCard" as const,
props: {
tip: "The potatoes should be cooked al dente, not mushy. This is the Robuchon way—respect the texture of every ingredient. A quality Comté adds depth that's essential to the dish.",
author: "Joël Robuchon",
},
},
},
},
];