diff --git a/frontend/src/i18n/locales/en.json b/frontend/src/i18n/locales/en.json
index e369fe45..deba9002 100644
--- a/frontend/src/i18n/locales/en.json
+++ b/frontend/src/i18n/locales/en.json
@@ -4804,6 +4804,7 @@
"cpu": "CPU",
"disk": "Disk",
"featured": "Featured",
+ "headerLine": "One-click installers",
"install": "Install",
"lede": "Ready-to-go installers that run as real operations: probe, derive, apply, verify. Secrets are asked for mid-run and kept in the vault.",
"loadFailed": "Couldn't load the recipe catalog.",
diff --git a/frontend/src/pages/Recipes.jsx b/frontend/src/pages/Recipes.jsx
index af5448b7..2c574090 100644
--- a/frontend/src/pages/Recipes.jsx
+++ b/frontend/src/pages/Recipes.jsx
@@ -9,6 +9,7 @@ import {
import { Drawer } from '../components/ds';
import EmptyState from '../components/EmptyState';
+import SectionIntro from '../components/SectionIntro';
import FormField from '../components/FormField';
import { runRecipe, useRecipeCatalog } from '../hooks/useRecipeCatalog';
import { useToast } from '../contexts/useToast.js';
@@ -143,11 +144,14 @@ export default function Recipes() {
};
return (
-
+
+ }
+ info={t('app.recipes.lede', 'Ready-to-go installers that run as real operations: probe, derive, apply, verify. Secrets are asked for mid-run and kept in the vault.')}
+ >
+ {t('app.recipes.headerLine', 'One-click installers')}
+
-
- {t('app.recipes.lede', 'Ready-to-go installers that run as real operations: probe, derive, apply, verify. Secrets are asked for mid-run and kept in the vault.')}
-