@@ -122,6 +122,31 @@ const submissionCalendarData = {
122
122
"1707417600" : 1 ,
123
123
} ;
124
124
125
+ function worthCalculator (
126
+ streak : number ,
127
+ easySolved : number ,
128
+ mediumSolved : number ,
129
+ hardSolved : number ,
130
+ activeYears : number ,
131
+ totalActiveDays : number
132
+ ) {
133
+ const easyPoints = 1 ;
134
+ const mediumPoints = 2 ;
135
+ const hardPoints = 5 ;
136
+ const streakPoints = streak >= 30 ? 10 : 5 ;
137
+ const activeYearPoints = 2 ;
138
+ const totalActiveDaysPoints = 10 ;
139
+
140
+ return (
141
+ easySolved * easyPoints +
142
+ mediumSolved * mediumPoints +
143
+ hardSolved * hardPoints +
144
+ streak * streakPoints +
145
+ activeYears * activeYearPoints +
146
+ totalActiveDays * totalActiveDaysPoints
147
+ ) ;
148
+ }
149
+
125
150
export default function Heatmap ( ) {
126
151
const [ isMounted , setIsMounted ] = useState ( false ) ;
127
152
const [ username , setUsername ] = useState ( "" ) ;
@@ -316,9 +341,9 @@ export default function Heatmap() {
316
341
< button
317
342
type = "button"
318
343
onClick = { downloadAsImage }
319
- disabled = { ! username || loading }
344
+ disabled = { ! data || loading }
320
345
className = { `border flex items-center text-center bg-gradient-to-r from-[#cb42b2] to-[#f38d90] bg-clip-text text-transparent justify-center gap-2 px-4 h-[40px] rounded-md font-semibold text-lg mt-4 ${
321
- loading || ! username
346
+ loading || ! data
322
347
? "cursor-not-allowed opacity-50"
323
348
: "cursor-pointer"
324
349
} `}
@@ -404,7 +429,15 @@ export default function Heatmap() {
404
429
405
430
< h2 className = "text-sm font-semibold mt-4 text-gray-400 text-center" >
406
431
< span className = "text-[#f3e58d] text-2xl" >
407
- { data . totalSolved * 10 } $
432
+ { worthCalculator (
433
+ data . easySolved ,
434
+ data . mediumSolved ,
435
+ data . hardSolved ,
436
+ data ?. activeYears . length ,
437
+ data ?. calendarData . userCalendar . streak ,
438
+ data ?. calendarData . userCalendar . totalActiveDays
439
+ ) }
440
+ $
408
441
</ span >
409
442
< br />
410
443
Estimated Worth
0 commit comments