import React from 'react';
import { DocsComponent } from './index';
import { mockMarks, generateMarkWithType } from '../mock/collection';
// 创建一些示例文档数据
const createSampleDocs = () => {
  const markdownDoc = generateMarkWithType('markdown');
  markdownDoc.title = '项目介绍';
  markdownDoc.description = '了解我们的项目背景和目标';
  markdownDoc.tags = ['介绍', '项目'];
  markdownDoc.data = {
    content: `# 欢迎使用文档系统
这是一个现代化的文档展示系统,现在使用 **marked** 库进行 Markdown 渲染。
## 主要功能
- **响应式设计**: 适配各种屏幕尺寸
- **左侧导航**: 清晰的文档结构  
- **Markdown支持**: 使用 marked 库,支持 GitHub Flavored Markdown
- **多种内容类型**: 支持文本、代码、图片等多种内容
## 技术特性
### 样式设计
使用了现代化的CSS设计,包括:
1. 清新的配色方案
2. 优雅的阴影和边框
3. 流畅的过渡动画
### 功能特性
> **提示**: 这是一个引用块,展示了 marked 的渲染能力
- [x] 点击导航自动切换内容
- [x] 加载状态提示
- [x] 标签和日期显示
- [ ] 响应式布局
## 代码示例
### TypeScript 代码
\`\`\`typescript
import { DocsComponent } from './docs';
import { mockMarks } from './mock/collection';
const App: React.FC = () => {
  return ;
};
\`\`\`
### 内联代码
使用 \`marked\` 库可以更好地处理 Markdown 语法。
## 表格支持
| 功能 | 状态 | 描述 |
|------|------|------|
| Markdown | ✅ | 完整支持 |
| 代码高亮 | ✅ | 语法高亮 |
| 表格 | ✅ | GFM 表格 |
| 任务列表 | ✅ | 支持复选框 |
## 链接和图片
- 外部链接: [GitHub](https://github.com)
- 图片支持: 
---
希望你喜欢这个使用 **marked** 的文档系统!🎉`
  };
  const apiDoc = generateMarkWithType('markdown');
  apiDoc.title = 'API 文档';
  apiDoc.description = 'API接口使用说明和示例';
  apiDoc.tags = ['API', '开发'];
  apiDoc.data = {
    content: `# API 文档
## 🔐 用户认证
### 登录接口
**请求地址**: \`POST /api/auth/login\`
**请求参数**:
| 参数 | 类型 | 必填 | 描述 |
|------|------|------|------|
| username | string | ✅ | 用户名 |
| password | string | ✅ | 密码 |
**响应示例**:
\`\`\`json
{
  "code": 200,
  "message": "success",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIs...",
    "user": {
      "id": 1,
      "username": "admin",
      "email": "admin@example.com"
    }
  }
}
\`\`\`
## 📊 数据操作
### 获取列表
**请求地址**: \`GET /api/data/list\`
**查询参数**:
- \`page\`: 页码 (默认: 1)
- \`size\`: 每页数量 (默认: 10) 
- \`keyword\`: 搜索关键词
### 创建数据
**请求地址**: \`POST /api/data/create\`
**请求体**:
\`\`\`json
{
  "title": "标题",
  "content": "内容", 
  "tags": ["tag1", "tag2"]
}
\`\`\`
## ⚠️ 错误码
| 错误码 | 描述 | 解决方案 |
|--------|------|----------|
| 400 | 请求参数错误 | 检查请求参数格式 |
| 401 | 未授权 | 重新登录获取 token |
| 403 | 禁止访问 | 检查用户权限 |
| 500 | 服务器错误 | 联系技术支持 |
> **注意**: 所有 API 请求都需要在 Header 中包含 \`Authorization: Bearer \`
更多 API 详情请参考 [完整文档](https://docs.example.com) 📖`
  };
  const codeDoc = generateMarkWithType('code');
  codeDoc.title = '代码示例';
  codeDoc.description = '常用的代码片段和最佳实践';
  codeDoc.tags = ['代码', '示例'];
  codeDoc.data = {
    code: `// React Hook 示例
import { useState, useEffect, useCallback } from 'react';
const useDocuments = (initialData = []) => {
  const [docs, setDocs] = useState(initialData);
  const [loading, setLoading] = useState(false);
  const [selectedId, setSelectedId] = useState(null);
  // 获取文档列表
  const fetchDocs = useCallback(async () => {
    setLoading(true);
    try {
      const response = await fetch('/api/docs');
      const data = await response.json();
      setDocs(data);
    } catch (error) {
      console.error('Failed to fetch docs:', error);
    } finally {
      setLoading(false);
    }
  }, []);
  // 选择文档
  const selectDoc = useCallback((id) => {
    setSelectedId(id);
  }, []);
  useEffect(() => {
    fetchDocs();
  }, [fetchDocs]);
  return {
    docs,
    loading,
    selectedId,
    selectDoc,
    refetch: fetchDocs
  };
};
export default useDocuments;`,
    language: 'typescript'
  };
  const configDoc = generateMarkWithType('json');
  configDoc.title = '配置说明';
  configDoc.description = '系统配置项说明和默认值';
  configDoc.tags = ['配置', '设置'];
  return [markdownDoc, apiDoc, codeDoc, configDoc];
};
// 示例组件
export const DocsExample: React.FC = () => {
  const sampleDocs = createSampleDocs();
  
  return (
    
      
    
  );
};
export default DocsExample;