@@ -5,6 +5,8 @@ import HighchartsReact from 'highcharts-react-official';
55import dynamic from "next/dynamic" ;
66import Image from 'next/image' ;
77import "odometer/themes/odometer-theme-default.css" ;
8+ import { ChartOptions , ChartPointsFormatted } from '@/types/chart' ;
9+ import { PropsUsers } from '@/types/props' ;
810
911const Odometer = dynamic ( import ( 'react-odometerjs' ) , {
1012 ssr : false ,
@@ -25,14 +27,14 @@ interface PageState {
2527 odometerPointsNeededToNextLevel : number ;
2628 odometerPointsNeededForNextLevel : number ;
2729 odometerProgressToNextLevelPercentage : number ;
28- chartOptions : any ;
30+ chartOptions : ChartOptions ;
2931}
3032
31- class IndexPage extends Component < { } , PageState > {
33+ class IndexPage extends Component < object , PageState > {
3234
33- interval : NodeJS . Timeout | null = null
35+ interval : Timer | null = null
3436
35- constructor ( props : any | Readonly < { } > ) {
37+ constructor ( props : PropsUsers ) {
3638 super ( props ) ;
3739
3840 this . state = {
@@ -107,10 +109,10 @@ class IndexPage extends Component<{}, PageState> {
107109 } ,
108110 tooltip : {
109111 shared : true ,
110- formatter ( this : any ) {
112+ formatter ( this : ChartPointsFormatted ) {
111113 if ( ! this . points || this . points . length === 0 ) return '' ;
112114
113- const point = this . points [ 0 ] ; // Assuming you are only dealing with one point
115+ const point = this . points [ 0 ] ;
114116
115117 const index = point . series . xData . indexOf ( point . x ) ;
116118 const lastY = point . series . yData [ index - 1 ] ;
@@ -133,7 +135,7 @@ class IndexPage extends Component<{}, PageState> {
133135 }
134136 } ,
135137 series : [ {
136- name : 'Followers ' ,
138+ name : 'Total XP ' ,
137139 data : [ ] ,
138140 showInLegend : false ,
139141 marker : { enabled : false } ,
@@ -180,7 +182,7 @@ class IndexPage extends Component<{}, PageState> {
180182 ...prevState . chartOptions ,
181183 series : [ {
182184 ...prevState . chartOptions . series [ 0 ] ,
183- data : updatedData ,
185+ data : updatedData as [ number , number ] [ ] ,
184186 } ] ,
185187 } ,
186188 isLoading : false , // Reset isLoading flag
@@ -235,7 +237,7 @@ class IndexPage extends Component<{}, PageState> {
235237 < div className = "relative w-full p-4 rounded-lg flex flex-col justify-center items-center" >
236238 { /* <Image
237239 src={this.state.discordBannerURL}
238- alt="Twitter Banner"
240+ alt="Banner"
239241 className="absolute inset-0 w-full h-full object-cover rounded-lg z-0 blur-sm"
240242 width={1500}
241243 height={500}
@@ -277,9 +279,9 @@ class IndexPage extends Component<{}, PageState> {
277279 </ div >
278280 < div className = "bg-gray-800 p-2 rounded-lg flex flex-col justify-center items-center transition-transform transform hover:scale-105" >
279281 < div className = 'text-xl sm:text-xl md:text-2xl lg:text-2xl' >
280- < Odometer value = { odometerProgressToNextLevelPercentage } /> %
282+ < Odometer value = { odometerProgressToNextLevelPercentage } />
281283 </ div >
282- < div className = "text-gray-400 mt-2 center-text" > Progress Percentage </ div >
284+ < div className = "text-gray-400 mt-2 center-text" > Progress To Next Level (%) </ div >
283285 </ div >
284286 < div className = "bg-gray-800 p-2 rounded-lg flex flex-col justify-center items-center transition-transform transform hover:scale-105" >
285287 < div className = 'text-xl sm:text-xl md:text-2xl lg:text-2xl' >
@@ -300,8 +302,7 @@ class IndexPage extends Component<{}, PageState> {
300302
301303export async function getServerSideProps ( context : { query : { server : string ; user : string ; } ; } ) {
302304 const { server, user } = context . query ;
303- console . log ( server , user ) ;
304-
305+
305306 try {
306307 const response = await fetch ( `http://localhost:18103/get/${ server } /${ user } ` ) ;
307308
0 commit comments