From a3c243c952a246e99ed7ccd90b5f03467dfca0c0 Mon Sep 17 00:00:00 2001 From: Juan Denis Date: Tue, 3 Nov 2026 12:59:09 -0500 Subject: [PATCH] fix(ui): Recipes page gutter, lede in info tip, readable active filter chip --- frontend/src/i18n/locales/en.json | 1 + frontend/src/pages/Recipes.jsx | 14 ++++++--- frontend/src/styles/pages/_recipes.scss | 41 ++++++++++++++----------- 3 files changed, 33 insertions(+), 23 deletions(-) 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.')} -