|
1 | 1 | export const levelTitles = [
|
2 |
| - { scoreRange: [0, 20], level: 0, title: "Diogenes" }, |
3 |
| - { scoreRange: [20, 40], level: 1, title: "Pythagoras" }, |
4 |
| - { scoreRange: [40, 60], level: 2, title: "Socrates" }, |
5 |
| - { scoreRange: [60, 80], level: 3, title: "Plato" }, |
6 |
| - { scoreRange: [80, 100], level: 4, title: "Aristotle" }, |
| 2 | + { level: 0, title: "Diogenes" }, |
| 3 | + { level: 1, title: "Pythagoras" }, |
| 4 | + { level: 2, title: "Socrates" }, |
| 5 | + { level: 3, title: "Plato" }, |
| 6 | + { level: 4, title: "Aristotle" }, |
7 | 7 | ];
|
8 | 8 |
|
9 |
| -export const getUserLevelData = (coherencyScore: number) => { |
10 |
| - return ( |
11 |
| - levelTitles.find(({ scoreRange }) => { |
12 |
| - return coherencyScore >= scoreRange[0] && coherencyScore < scoreRange[1]; |
13 |
| - }) ?? levelTitles[0] |
14 |
| - ); |
| 9 | +export const getUserLevelData = (coherencyScore: number, totalResolvedDisputes: number) => { |
| 10 | + if (totalResolvedDisputes >= 3 && coherencyScore < 50) { |
| 11 | + return levelTitles.find(({ level }) => level === 0); |
| 12 | + } |
| 13 | + |
| 14 | + if (totalResolvedDisputes === 0 || (totalResolvedDisputes >= 1 && coherencyScore >= 0 && coherencyScore <= 70)) { |
| 15 | + return levelTitles.find(({ level }) => level === 1); |
| 16 | + } |
| 17 | + |
| 18 | + if (totalResolvedDisputes >= 3 && coherencyScore > 70 && coherencyScore <= 80) { |
| 19 | + return levelTitles.find(({ level }) => level === 2); |
| 20 | + } |
| 21 | + |
| 22 | + if (totalResolvedDisputes >= 7 && coherencyScore > 80 && coherencyScore <= 90) { |
| 23 | + return levelTitles.find(({ level }) => level === 3); |
| 24 | + } |
| 25 | + |
| 26 | + if (totalResolvedDisputes >= 10 && coherencyScore > 90) { |
| 27 | + return levelTitles.find(({ level }) => level === 4); |
| 28 | + } |
| 29 | + |
| 30 | + return levelTitles.find(({ level }) => level === 1); |
15 | 31 | };
|
0 commit comments