Files
AIclinicalresearch/frontend-v2/src/shared/components/Placeholder.tsx
HaHafeng 3634933ece refactor(asl): ASL frontend architecture refactoring with left navigation
- feat: Create ASLLayout component with 7-module left navigation
- feat: Implement Title Screening Settings page with optimized PICOS layout
- feat: Add placeholder pages for Workbench and Results
- fix: Fix nested routing structure for React Router v6
- fix: Resolve Spin component warning in MainLayout
- fix: Add QueryClientProvider to App.tsx
- style: Optimize PICOS form layout (P+I left, C+O+S right)
- style: Align Inclusion/Exclusion criteria side-by-side
- docs: Add architecture refactoring and routing fix reports

Ref: Week 2 Frontend Development
Scope: ASL module MVP - Title Abstract Screening
2025-11-18 21:51:51 +08:00

53 lines
1.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { Result, Button } from 'antd'
import { useNavigate } from 'react-router-dom'
import { RocketOutlined } from '@ant-design/icons'
interface PlaceholderProps {
title?: string
description?: string
moduleName?: string
}
const Placeholder = ({
title = '功能开发中',
description = '该模块正在规划和开发中,敬请期待',
moduleName
}: PlaceholderProps) => {
const navigate = useNavigate()
return (
<div className="flex-1 flex items-center justify-center bg-gray-50">
<Result
icon={<RocketOutlined style={{ fontSize: 72, color: '#1890ff' }} />}
title={<span className="text-2xl">{title}</span>}
subTitle={
<div className="space-y-2">
<p className="text-gray-600">{description}</p>
{moduleName && (
<p className="text-sm text-gray-400">
{moduleName}
</p>
)}
</div>
}
extra={
<Button type="primary" onClick={() => navigate('/')}>
</Button>
}
/>
</div>
)
}
export default Placeholder