mirror of
https://github.com/jhd3197/ServerKit.git
synced 2026-11-10 05:53:05 +09:00
fix(ui): Recipes page gutter, lede in info tip, readable active filter chip
This commit is contained in:
1 parent
600b96befc
commit
a3c243c952
3 files changed
+33
-23
No files matched your search
@@ -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.",
|
||||
|
||||
@@ -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 (
|
||||
<div className="recipes-page">
|
||||
<div className="sk-tabgroup__inner recipes-page">
|
||||
<SectionIntro
|
||||
icon={<ChefHat />}
|
||||
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')}
|
||||
</SectionIntro>
|
||||
<div className="recipes-page__head">
|
||||
<p className="recipes-page__lede">
|
||||
{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.')}
|
||||
</p>
|
||||
<label className="recipes-page__search">
|
||||
<Search size={14} />
|
||||
<input
|
||||
@@ -165,7 +169,7 @@ export default function Recipes() {
|
||||
<SharedButton variant="unstyled"
|
||||
key={cat}
|
||||
type="button"
|
||||
className={`sk-pill${category === cat ? ' is-active' : ''}`}
|
||||
className={`recipes-page__cat${category === cat ? ' is-active' : ''}`}
|
||||
onClick={() => setCategory(cat)}
|
||||
>
|
||||
{cat === 'all' ? t('common.labels.all', 'All') : cat}
|
||||
|
||||
@@ -5,19 +5,7 @@
|
||||
|
||||
&__head {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
gap: $spacing-lg;
|
||||
margin-bottom: $spacing-md;
|
||||
}
|
||||
|
||||
&__lede {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
margin: 0;
|
||||
color: var(--text-secondary);
|
||||
font-size: $text-sm;
|
||||
line-height: 1.55;
|
||||
max-width: 640px;
|
||||
margin: $spacing-md 0;
|
||||
}
|
||||
|
||||
&__search {
|
||||
@@ -25,6 +13,9 @@
|
||||
align-items: center;
|
||||
gap: $space-2;
|
||||
width: 260px;
|
||||
|
||||
@media (max-width: $breakpoint-md) { width: 100%; }
|
||||
|
||||
height: $control-md;
|
||||
padding: 0 $space-3;
|
||||
border: 1px solid var(--border-color);
|
||||
@@ -49,14 +40,28 @@
|
||||
gap: $space-2;
|
||||
margin-bottom: $spacing-md;
|
||||
|
||||
.sk-pill {
|
||||
.recipes-page__cat {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
height: $control-sm;
|
||||
padding: 0 $space-3;
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: $radius-full;
|
||||
background: transparent;
|
||||
color: var(--text-secondary);
|
||||
font-size: $text-sm;
|
||||
font-weight: $font-weight-medium;
|
||||
cursor: pointer;
|
||||
opacity: 0.72;
|
||||
|
||||
&:hover {
|
||||
background: var(--bg-hover);
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
&.is-active {
|
||||
opacity: 1;
|
||||
border-color: var(--primary-color);
|
||||
color: var(--primary-color);
|
||||
background: var(--accent-bg);
|
||||
border-color: var(--accent-bright);
|
||||
color: var(--accent-bright);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user