@@ -7,6 +7,7 @@ import JurorRewards from "./JurorRewards";
77import PixelArt from "./PixelArt" ;
88import { useAccount } from "wagmi" ;
99import { useUserQuery } from "queries/useUser" ;
10+ import { getCoherencyScore , getUserLevelData } from "utils/userLevelCalculation" ;
1011// import StakingRewards from "./StakingRewards";
1112
1213const Container = styled . div `` ;
@@ -35,35 +36,20 @@ const Card = styled(_Card)`
3536 ) }
3637` ;
3738
38- const levelTitles = [
39- { scoreRange : [ 0 , 20 ] , level : 0 , title : "Diogenes" } ,
40- { scoreRange : [ 20 , 40 ] , level : 1 , title : "Pythagoras" } ,
41- { scoreRange : [ 40 , 60 ] , level : 2 , title : "Socrates" } ,
42- { scoreRange : [ 60 , 80 ] , level : 3 , title : "Plato" } ,
43- { scoreRange : [ 80 , 100 ] , level : 4 , title : "Aristotle" } ,
44- ] ;
45-
46- const calculateCoherencyScore = ( totalCoherent : number , totalDisputes : number ) : number =>
47- totalCoherent / ( Math . max ( totalDisputes , 1 ) + 10 ) ;
48-
4939const JurorInfo : React . FC = ( ) => {
5040 const { address } = useAccount ( ) ;
5141 const { data } = useUserQuery ( address ?. toLowerCase ( ) ) ;
5242 const totalCoherent = data ?. user ? parseInt ( data ?. user ?. totalCoherent ) : 0 ;
5343 const totalResolvedDisputes = data ?. user ? parseInt ( data ?. user ?. totalResolvedDisputes ) : 1 ;
5444
55- const coherencyScore = calculateCoherencyScore ( totalCoherent , totalResolvedDisputes ) ;
56- const roundedCoherencyScore = Math . round ( coherencyScore * 100 ) ;
57- const userLevelData =
58- levelTitles . find ( ( { scoreRange } ) => {
59- return roundedCoherencyScore >= scoreRange [ 0 ] && roundedCoherencyScore < scoreRange [ 1 ] ;
60- } ) ?? levelTitles [ 0 ] ;
45+ const coherencyScore = getCoherencyScore ( totalCoherent , totalResolvedDisputes ) ;
46+ const userLevelData = getUserLevelData ( totalCoherent , totalResolvedDisputes ) ;
6147
6248 return (
6349 < Container >
6450 < Header > Juror Dashboard</ Header >
6551 < Card >
66- < PixelArt level = { userLevelData . level } />
52+ < PixelArt level = { userLevelData . level } width = "189" height = "189" />
6753 < Coherency
6854 userLevelData = { userLevelData }
6955 score = { coherencyScore }
0 commit comments