@@ -18,7 +18,6 @@ import {
18
18
TrendingUp ,
19
19
CheckCircle ,
20
20
} from "lucide-react" ;
21
- import { V2Navbar } from "@/components/DashboardV2/V2Navbar" ;
22
21
23
22
export default function Dashboard ( ) {
24
23
const { fetchLeetcodeUserProfile, leetcodeUserProfile } = useLeetcodeStore ( ) ;
@@ -31,7 +30,6 @@ export default function Dashboard() {
31
30
}
32
31
return (
33
32
< div className = "flex flex-col p-4 sm:p-6 md:p-8" >
34
- < V2Navbar />
35
33
< Card className = "w-full max-w-4xl mx-auto shadow-xl border-none" >
36
34
< CardHeader className = "flex flex-col sm:flex-row items-center gap-6 pb-6 border-b" >
37
35
< div className = "relative w-32 h-32 sm:w-40 sm:h-40" >
@@ -76,41 +74,39 @@ export default function Dashboard() {
76
74
< StatItem
77
75
icon = { < Book className = "w-5 h-5 text-blue-500" /> }
78
76
value = {
79
- leetcodeUserProfile . submitStats . acSubmissionNum [ 0 ]
80
- . count || 0
77
+ leetcodeUserProfile . submitStats . acSubmissionNum [ 0 ] . count ||
78
+ 0
81
79
}
82
80
label = "Total Solved"
83
81
subtitle = { `${ (
84
- ( leetcodeUserProfile . submitStats . acSubmissionNum [ 0 ]
85
- . count /
86
- leetcodeUserProfile . submitStats . totalSubmissionNum [ 0 ]
87
- . count ) *
82
+ ( leetcodeUserProfile . submitStats . acSubmissionNum [ 0 ] . count /
83
+ leetcodeUserProfile . submitStats . totalSubmissionNum [ 0 ] . count ) *
88
84
100
89
85
) . toFixed ( 1 ) } % success rate`}
90
86
/>
91
87
< StatItem
92
88
icon = { < Target className = "w-5 h-5 text-green-500" /> }
93
89
value = {
94
- leetcodeUserProfile . submitStats . acSubmissionNum [ 1 ]
95
- . count || 0
90
+ leetcodeUserProfile . submitStats . acSubmissionNum [ 1 ] . count ||
91
+ 0
96
92
}
97
93
label = "Easy Problems"
98
94
subtitle = { `${ leetcodeUserProfile . submitStats . acSubmissionNum [ 1 ] . submissions } submissions` }
99
95
/>
100
96
< StatItem
101
97
icon = { < Target className = "w-5 h-5 text-yellow-500" /> }
102
98
value = {
103
- leetcodeUserProfile . submitStats . acSubmissionNum [ 2 ]
104
- . count || 0
99
+ leetcodeUserProfile . submitStats . acSubmissionNum [ 2 ] . count ||
100
+ 0
105
101
}
106
102
label = "Medium Problems"
107
103
subtitle = { `${ leetcodeUserProfile . submitStats . acSubmissionNum [ 2 ] . submissions } submissions` }
108
104
/>
109
105
< StatItem
110
106
icon = { < Target className = "w-5 h-5 text-red-500" /> }
111
107
value = {
112
- leetcodeUserProfile . submitStats . acSubmissionNum [ 3 ]
113
- . count || 0
108
+ leetcodeUserProfile . submitStats . acSubmissionNum [ 3 ] . count ||
109
+ 0
114
110
}
115
111
label = "Hard Problems"
116
112
subtitle = { `${ leetcodeUserProfile . submitStats . acSubmissionNum [ 3 ] . submissions } submissions` }
@@ -133,10 +129,7 @@ export default function Dashboard() {
133
129
icon = { < Star className = "w-5 h-5 text-yellow-500" /> }
134
130
value = { leetcodeUserProfile . profile . starRating }
135
131
label = "Contest Rating"
136
- subtitle = { `Level ${
137
- Math . floor ( leetcodeUserProfile . profile . starRating / 500 ) +
138
- 1
139
- } `}
132
+ subtitle = { `Level ${ Math . floor ( leetcodeUserProfile . profile . starRating / 500 ) + 1 } ` }
140
133
/>
141
134
< StatItem
142
135
icon = { < CheckCircle className = "w-5 h-5 text-green-500" /> }
@@ -148,32 +141,32 @@ export default function Dashboard() {
148
141
</ div >
149
142
</ div >
150
143
< br > </ br >
151
- { /* Original Badges */ }
152
- < div className = "grid gap-6 md:grid-cols-3" >
153
- < div className = "space-y-4" >
154
- < h3 className = "text-xl font-semibold mb-6" > Recent Badges</ h3 >
155
- < div className = "grid grid-cols-2 sm:grid-cols-3 gap-3" >
156
- { leetcodeUserProfile . badges . slice ( 0 , 5 ) . map ( ( badge ) => (
157
- < div
158
- key = { badge . id }
159
- className = "flex flex-col items-center p-2 bg-secondary rounded-lg"
160
- >
161
- < div className = "relative w-12 h-12 mb-2" >
162
- < Image
163
- src = { badge . icon }
164
- alt = { badge . displayName }
165
- fill
166
- className = "object-contain"
167
- />
168
- </ div >
169
- < span className = "text-xs text-center" >
170
- { badge . displayName }
171
- </ span >
144
+ { /* Original Badges */ }
145
+ < div className = "grid gap-6 md:grid-cols-3" >
146
+ < div className = "space-y-4" >
147
+ < h3 className = "text-xl font-semibold mb-6" > Recent Badges</ h3 >
148
+ < div className = "grid grid-cols-2 sm:grid-cols-3 gap-3" >
149
+ { leetcodeUserProfile . badges . slice ( 0 , 5 ) . map ( ( badge ) => (
150
+ < div
151
+ key = { badge . id }
152
+ className = "flex flex-col items-center p-2 bg-secondary rounded-lg"
153
+ >
154
+ < div className = "relative w-12 h-12 mb-2" >
155
+ < Image
156
+ src = { badge . icon }
157
+ alt = { badge . displayName }
158
+ fill
159
+ className = "object-contain"
160
+ />
172
161
</ div >
173
- ) ) }
174
- </ div >
162
+ < span className = "text-xs text-center" >
163
+ { badge . displayName }
164
+ </ span >
165
+ </ div >
166
+ ) ) }
175
167
</ div >
176
168
</ div >
169
+ </ div >
177
170
{ /* Submission Timeline */ }
178
171
< div className = "mt-8" >
179
172
< h3 className = "text-xl font-semibold mb-4 flex items-center" >
@@ -184,14 +177,8 @@ export default function Dashboard() {
184
177
< div className = "grid grid-cols-2 md:grid-cols-4 gap-4" >
185
178
< TimelineStat
186
179
label = "All Time"
187
- value = {
188
- leetcodeUserProfile . submitStats . totalSubmissionNum [ 0 ]
189
- . count
190
- }
191
- total = {
192
- leetcodeUserProfile . submitStats . totalSubmissionNum [ 0 ]
193
- . count
194
- }
180
+ value = { leetcodeUserProfile . submitStats . totalSubmissionNum [ 0 ] . count }
181
+ total = { leetcodeUserProfile . submitStats . totalSubmissionNum [ 0 ] . count }
195
182
/>
196
183
</ div >
197
184
</ div >
@@ -317,4 +304,4 @@ function DashboardSkeleton() {
317
304
</ Card >
318
305
</ div >
319
306
) ;
320
- }
307
+ }
0 commit comments