Spaces:
Sleeping
Sleeping
Update pages/Login.tsx
Browse files- pages/Login.tsx +20 -1
pages/Login.tsx
CHANGED
|
@@ -13,6 +13,24 @@ const AVATAR_SEEDS = [
|
|
| 13 |
'Miss kitty', 'Loki', 'Sassy', 'Simba', 'Oliver', 'Princess', 'Garfield', 'Salem'
|
| 14 |
];
|
| 15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
export const Login: React.FC<LoginProps> = ({ onLogin }) => {
|
| 17 |
const [view, setView] = useState<'login' | 'register'>('login');
|
| 18 |
|
|
@@ -55,7 +73,8 @@ export const Login: React.FC<LoginProps> = ({ onLogin }) => {
|
|
| 55 |
fetch(`${location.origin}/api/public/meta?schoolId=${regForm.schoolId}`)
|
| 56 |
.then(res => res.json())
|
| 57 |
.then(data => {
|
| 58 |
-
|
|
|
|
| 59 |
setSchoolSubjects(data.subjects || []);
|
| 60 |
})
|
| 61 |
.catch(console.error);
|
|
|
|
| 13 |
'Miss kitty', 'Loki', 'Sassy', 'Simba', 'Oliver', 'Princess', 'Garfield', 'Salem'
|
| 14 |
];
|
| 15 |
|
| 16 |
+
const gradeOrder: Record<string, number> = {
|
| 17 |
+
'一年级': 1, '二年级': 2, '三年级': 3, '四年级': 4, '五年级': 5, '六年级': 6,
|
| 18 |
+
'初一': 7, '七年级': 7, '初二': 8, '八年级': 8, '初三': 9, '九年级': 9,
|
| 19 |
+
'高一': 10, '高二': 11, '高三': 12
|
| 20 |
+
};
|
| 21 |
+
|
| 22 |
+
const sortClasses = (a: ClassInfo, b: ClassInfo) => {
|
| 23 |
+
const gA = gradeOrder[a.grade] || 99;
|
| 24 |
+
const gB = gradeOrder[b.grade] || 99;
|
| 25 |
+
if (gA !== gB) return gA - gB;
|
| 26 |
+
|
| 27 |
+
const nA = parseInt(a.className.replace(/[^0-9]/g, '')) || 0;
|
| 28 |
+
const nB = parseInt(b.className.replace(/[^0-9]/g, '')) || 0;
|
| 29 |
+
if (nA !== nB) return nA - nB;
|
| 30 |
+
|
| 31 |
+
return a.className.localeCompare(b.className);
|
| 32 |
+
};
|
| 33 |
+
|
| 34 |
export const Login: React.FC<LoginProps> = ({ onLogin }) => {
|
| 35 |
const [view, setView] = useState<'login' | 'register'>('login');
|
| 36 |
|
|
|
|
| 73 |
fetch(`${location.origin}/api/public/meta?schoolId=${regForm.schoolId}`)
|
| 74 |
.then(res => res.json())
|
| 75 |
.then(data => {
|
| 76 |
+
const sortedClasses = (data.classes || []).sort(sortClasses);
|
| 77 |
+
setSchoolClasses(sortedClasses);
|
| 78 |
setSchoolSubjects(data.subjects || []);
|
| 79 |
})
|
| 80 |
.catch(console.error);
|