refactor: 重组 components/ 和 pages/ 文件结构,按职责分层
components/ 拆为三层:
- providers/ — 状态管理(App/Theme/SettingsProvider)
- shell/ — 应用外壳(Layout/NavBar/PageDispatcher)
- ui/ — 通用 UI 原子(FloatingPanel/LegalTextModal)
pages/ 重命名 + 重组:
- headers/ → panels/ NavBar 触发的面板页
- login/ → auth/ 认证模块(含注册/忘记密码)
- settings/blocks/ → sections/
- home/components/ → panels/ features/ controls/ hooks/
按职责分:panels(布局壳) + features(功能面板) + controls(表单控件) + hooks
其他清理:
- 删除空占位 Test3.tsx
- HomeContext 从 HomeContent 拆出独立文件
- uploadValidation 内联到 ImageInput
- 修复过时注释(useUI → controls)
This commit is contained in:
23
src/pages/home/controls/TextInput.tsx
Normal file
23
src/pages/home/controls/TextInput.tsx
Normal file
@@ -0,0 +1,23 @@
|
||||
// ============================================================
|
||||
// TextInput — textEdit → Input.TextArea
|
||||
// 用于提示词、文本合成等长文本输入场景
|
||||
// ============================================================
|
||||
|
||||
import { Input } from 'antd';
|
||||
import type { WidgetProps } from './types';
|
||||
|
||||
const { TextArea } = Input;
|
||||
|
||||
export function TextInput({ value, onChange, disabled, config }: WidgetProps) {
|
||||
return (
|
||||
<TextArea
|
||||
rows={4}
|
||||
value={value as string}
|
||||
onChange={(e) => onChange?.(e.target.value)}
|
||||
disabled={disabled}
|
||||
placeholder={(config.placeholder as string) || '请输入'}
|
||||
maxLength={config.maxLength as number | undefined}
|
||||
showCount={config.maxLength !== undefined}
|
||||
/>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user