import { FC } from 'react'; const AppointmentScreen: FC = () => { const mockAppointments = [ { id: 1, title: '商务会议翻译', date: '2024-01-20', time: '10:00-12:00', language: '中文 ⇄ 英文', status: '已确认', translator: '李译员' }, { id: 2, title: '医疗咨询翻译', date: '2024-01-22', time: '14:00-15:00', language: '中文 ⇄ 西班牙文', status: '待确认', translator: '王译员' }, { id: 3, title: '法律文件翻译', date: '2024-01-25', time: '09:00-11:00', language: '中文 ⇄ 法文', status: '已取消', translator: '张译员' }, ]; return (
{/* 新建预约 */}

预约翻译服务

{/* 快速预约选项 */}

快速预约

{/* 我的预约 */}

我的预约

{mockAppointments.map((appointment) => (

{appointment.title}

{appointment.status}
📅 日期时间 {appointment.date} {appointment.time}
🌐 语言 {appointment.language}
👤 译员 {appointment.translator}
))}
{/* 预约统计 */}

本月统计

8 总预约
6 已完成
1 待确认
1 已取消
); }; const styles = { container: { display: 'flex', flexDirection: 'column' as const, height: '100%', backgroundColor: '#f5f5f5', }, content: { flex: 1, padding: '16px', paddingBottom: '100px', }, section: { marginBottom: '24px', }, sectionTitle: { fontSize: '18px', fontWeight: 'bold', color: '#333', margin: '0 0 16px 0', }, newAppointmentButton: { display: 'flex', alignItems: 'center', justifyContent: 'center', width: '100%', padding: '16px', backgroundColor: '#1890ff', color: '#fff', border: 'none', borderRadius: '12px', cursor: 'pointer', fontSize: '16px', fontWeight: 'bold', boxShadow: '0 4px 12px rgba(24, 144, 255, 0.3)', }, buttonIcon: { fontSize: '20px', marginRight: '8px', }, buttonText: { fontSize: '16px', }, quickOptions: { display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: '12px', }, quickOption: { display: 'flex', flexDirection: 'column' as const, alignItems: 'center', padding: '20px', backgroundColor: '#fff', border: 'none', borderRadius: '12px', cursor: 'pointer', boxShadow: '0 2px 8px rgba(0, 0, 0, 0.1)', transition: 'transform 0.2s ease', }, optionIcon: { fontSize: '32px', marginBottom: '8px', }, optionLabel: { fontSize: '14px', color: '#333', fontWeight: 'bold', }, appointmentsList: { display: 'flex', flexDirection: 'column' as const, gap: '16px', }, appointmentItem: { backgroundColor: '#fff', borderRadius: '12px', padding: '16px', boxShadow: '0 2px 8px rgba(0, 0, 0, 0.1)', }, appointmentHeader: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '12px', }, appointmentTitle: { fontSize: '16px', fontWeight: 'bold', color: '#333', margin: 0, }, appointmentStatus: { padding: '4px 8px', borderRadius: '4px', fontSize: '12px', fontWeight: 'bold', }, appointmentDetails: { marginBottom: '16px', }, appointmentRow: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '8px', }, appointmentLabel: { fontSize: '14px', color: '#666', }, appointmentValue: { fontSize: '14px', color: '#333', fontWeight: 'bold', }, appointmentActions: { display: 'flex', gap: '8px', }, actionButton: { flex: 1, padding: '8px 16px', backgroundColor: '#1890ff', color: '#fff', border: 'none', borderRadius: '6px', cursor: 'pointer', fontSize: '14px', fontWeight: 'bold', }, statsContainer: { display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: '12px', }, statItem: { display: 'flex', flexDirection: 'column' as const, alignItems: 'center', padding: '16px 8px', backgroundColor: '#fff', borderRadius: '12px', boxShadow: '0 2px 8px rgba(0, 0, 0, 0.1)', }, statValue: { fontSize: '20px', fontWeight: 'bold', color: '#1890ff', marginBottom: '4px', }, statLabel: { fontSize: '12px', color: '#666', textAlign: 'center' as const, }, }; export default AppointmentScreen;