Przeglądaj źródła

♻️ refactor(exam): update classroom data type definition and property access

- replace direct ClassroomData import with type inference from API response
- rename training_date to trainingDate to follow camelCase convention
- adjust type definitions to use InferResponseType from hono/client
yourname 5 miesięcy temu
rodzic
commit
a997d1b28c
1 zmienionych plików z 5 dodań i 3 usunięć
  1. 5 3
      src/client/mobile/components/Exam/ExamIndex.tsx

+ 5 - 3
src/client/mobile/components/Exam/ExamIndex.tsx

@@ -3,14 +3,16 @@ import { useNavigate } from "react-router";
 import dayjs from 'dayjs';
 import { message } from 'antd';
 import { classroomDataClient } from '@/client/api';
-import { type ClassroomData } from '@/share/types_stock';
 import { ClassroomStatus } from '@/server/modules/classroom/classroom-data.entity';
+import type { InferResponseType } from 'hono/client';
 
+type ClassroomDataResponse = InferResponseType<typeof classroomDataClient.$get, 200>;
+type ClassroomData = ClassroomDataResponse['data'][0];
 // 教室号输入页面
 function ExamIndex() {
   const [classroom, setClassroom] = useState('');
   const navigate = useNavigate();
-
+  
   const [classroomData, setClassroomData] = useState<ClassroomData | null>(null);
   const [isLoading, setIsLoading] = useState(false);
 
@@ -71,7 +73,7 @@ function ExamIndex() {
           </p>
           {classroomData && (
             <div className="mt-2 text-sm text-gray-500">
-              <p>训练日期: {dayjs(classroomData.training_date).format('YYYY-MM-DD')}</p>
+              <p>训练日期: {dayjs(classroomData.trainingDate).format('YYYY-MM-DD')}</p>
               <p>代码: {classroomData.code}</p>
             </div>
           )}