- 新建 components/ui/(Button/Input/Select/Modal/Tabs/Spinner/Skeleton 等),变体用联合类型约束,根治幻影变体 - admin/components.tsx 与 matches/ui.tsx 改为再导出壳,消除 Spinner 三份重复 - 日期工具收口到 lib/date.ts,滚动监听收口到 lib/useScroll.ts - index.css 引入 :root RGB 三元组令牌,tailwind.config 接 <alpha-value>(修复透明度修饰符静默失效) - 刘建毛草 5MB 全字库(jsDelivr 未锁版) → 1KB 自托管子集(仅「先知」二字,unicode-range 限定)
26 lines
575 B
TypeScript
26 lines
575 B
TypeScript
/**
|
|
* 小节标题 SectionHeader:同前台 section-head 语言。
|
|
* 原位于 admin/components.tsx。
|
|
*/
|
|
import type { ReactNode } from 'react'
|
|
|
|
export function SectionHeader({
|
|
title,
|
|
description,
|
|
action,
|
|
}: {
|
|
title: string
|
|
description?: string
|
|
action?: ReactNode
|
|
}) {
|
|
return (
|
|
<div className="mb-5 flex flex-wrap items-center justify-between gap-3">
|
|
<div>
|
|
<h2 className="section-head text-base">{title}</h2>
|
|
{description && <p className="mt-1.5 text-xs text-ink-500">{description}</p>}
|
|
</div>
|
|
{action}
|
|
</div>
|
|
)
|
|
}
|