revert(cards): 撤掉卡片外观配置与分组页卡片外壳,改用文字对比度
- 回退 card.opacity / card.blur 设置与后台「卡片外观」面板 - 分组页内容恢复为直接压在背景图上,不再套卡片 - 分组页文字:次级文字提一档 + 同主题描边(深色暗描边、浅色亮描边) - 保留上一轮:背景缓存、搜索记忆、明暗图标、卡片描边/阴影、侧栏实底
This commit is contained in:
@@ -83,7 +83,6 @@ type TabKey =
|
||||
| 'content'
|
||||
| 'home-sidebar'
|
||||
| 'home-cards'
|
||||
| 'home-cards-look'
|
||||
| 'home-header'
|
||||
| 'home-background'
|
||||
| 'home-search'
|
||||
@@ -103,7 +102,6 @@ const ADMIN_NAV: MenuItem[] = [
|
||||
{ key: 'home-search', label: '搜索框' },
|
||||
{ key: 'home-sidebar', label: '侧边栏' },
|
||||
{ key: 'home-cards', label: '内容卡片' },
|
||||
{ key: 'home-cards-look', label: '卡片外观' },
|
||||
],
|
||||
},
|
||||
{ key: 'profile', label: '资料管理' },
|
||||
@@ -392,16 +390,6 @@ export function AdminNext() {
|
||||
/>
|
||||
)}
|
||||
|
||||
{tab === 'home-cards-look' && (
|
||||
<section className="admin-home-section">
|
||||
<Title level={4}>卡片外观</Title>
|
||||
<CardLookPanel
|
||||
value={draft.card}
|
||||
onChange={(card) => setDraft({ ...draft, card })}
|
||||
/>
|
||||
</section>
|
||||
)}
|
||||
|
||||
{tab === 'home-background' && (
|
||||
<BackgroundPanel
|
||||
value={draft.background}
|
||||
@@ -428,7 +416,6 @@ export function AdminNext() {
|
||||
{(tab === 'home-header' ||
|
||||
tab === 'home-background' ||
|
||||
tab === 'home-search' ||
|
||||
tab === 'home-cards-look' ||
|
||||
tab === 'profile') && (
|
||||
<Space gap="sm" justify="end" className="admin-actions">
|
||||
<Button
|
||||
@@ -1407,48 +1394,6 @@ function SidebarPanel({
|
||||
)
|
||||
}
|
||||
|
||||
// ---------- 卡片外观(透明度 / 毛玻璃) ----------
|
||||
|
||||
function CardLookPanel({
|
||||
value,
|
||||
onChange,
|
||||
}: {
|
||||
value: SiteSettings['card']
|
||||
onChange: (card: SiteSettings['card']) => void
|
||||
}) {
|
||||
return (
|
||||
<Space direction="column" gap="md" align="stretch" className="admin-form">
|
||||
<Text size="sm" tone="muted">
|
||||
说明:前台所有卡片共用这一套外观(首页、分组页、详情页、侧栏)。不透明度越低,背景图透得越多;
|
||||
毛玻璃要配合透明才看得出来。
|
||||
</Text>
|
||||
<FormField
|
||||
label="卡片不透明度"
|
||||
htmlFor="card-opacity"
|
||||
hint="百分比 40–100;100 为实底,40 最透"
|
||||
>
|
||||
<Input
|
||||
id="card-opacity"
|
||||
type="number"
|
||||
min={40}
|
||||
max={100}
|
||||
value={String(value.opacity)}
|
||||
onChange={(event) => {
|
||||
const opacity = Number(event.target.value)
|
||||
if (Number.isFinite(opacity)) onChange({ ...value, opacity })
|
||||
}}
|
||||
/>
|
||||
</FormField>
|
||||
<ToggleRow
|
||||
label="毛玻璃"
|
||||
checked={value.blur === true}
|
||||
onChange={(blur) => onChange({ ...value, blur })}
|
||||
switchLabel="卡片使用毛玻璃"
|
||||
/>
|
||||
</Space>
|
||||
)
|
||||
}
|
||||
|
||||
// ---------- 首页卡片(勾选分组) ----------
|
||||
|
||||
function CardsPanel({
|
||||
|
||||
Reference in New Issue
Block a user