69 lines
2.5 KiB
Plaintext
69 lines
2.5 KiB
Plaintext
import { CustomIcon } from '@src/components/CustomIcon'
|
|
|
|
export function HicadProjectDashboardHeading({
|
|
projectCount,
|
|
}: {
|
|
projectCount: number
|
|
}) {
|
|
const startCreatingProject = () => {
|
|
document
|
|
.querySelector<HTMLButtonElement>('[data-testid="home-new-file"]')
|
|
?.click()
|
|
}
|
|
const startFromSample = () => {
|
|
document
|
|
.querySelector<HTMLButtonElement>(
|
|
'[data-testid="home-create-from-sample"]'
|
|
)
|
|
?.click()
|
|
}
|
|
|
|
return (
|
|
<div
|
|
className="flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"
|
|
data-testid="hicad-project-dashboard-heading"
|
|
>
|
|
<div className="min-w-0">
|
|
<p className="mb-1 text-xs font-medium text-primary">HiCAD 项目空间</p>
|
|
<h1 className="text-3xl font-bold">我的 CAD 项目</h1>
|
|
<p className="mt-1 text-sm text-chalkboard-70 dark:text-chalkboard-30">
|
|
共 {projectCount} 个项目,编辑内容会自动保存
|
|
</p>
|
|
</div>
|
|
<div className="flex flex-none items-center gap-2">
|
|
<button
|
|
type="button"
|
|
onClick={startFromSample}
|
|
className="inline-flex h-10 items-center justify-center gap-2 rounded-sm border border-chalkboard-30 bg-chalkboard-10 px-3 text-sm font-medium text-chalkboard-90 transition-colors hover:border-primary/50 hover:bg-primary/5 dark:border-chalkboard-70 dark:bg-chalkboard-90 dark:text-chalkboard-20"
|
|
data-testid="hicad-create-from-sample"
|
|
>
|
|
<CustomIcon name="file" className="h-4 w-4" />
|
|
从示例开始
|
|
</button>
|
|
<button
|
|
type="button"
|
|
onClick={startCreatingProject}
|
|
className="inline-flex h-10 items-center justify-center gap-2 rounded-sm border border-primary bg-primary px-4 text-sm font-semibold text-white transition-colors hover:brightness-110 focus-visible:outline-appForeground"
|
|
data-testid="hicad-create-project"
|
|
>
|
|
<CustomIcon name="plus" className="h-5 w-5" />
|
|
新建项目
|
|
</button>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export function HicadAutosaveStatus() {
|
|
return (
|
|
<span
|
|
className="mr-1 inline-flex h-7 items-center gap-1.5 rounded-md border border-chalkboard-30 bg-chalkboard-10/80 px-2 text-xs text-chalkboard-70 dark:border-chalkboard-70 dark:bg-chalkboard-100/50 dark:text-chalkboard-30"
|
|
data-testid="hicad-autosave-status"
|
|
title="项目内容会自动保存到当前浏览器"
|
|
>
|
|
<span className="h-1.5 w-1.5 rounded-full bg-succeed-60" />
|
|
自动保存已开启
|
|
</span>
|
|
)
|
|
}
|