@@ -24,7 +24,8 @@ import {
2424 getModelUsageSummary ,
2525 getDailyModelData ,
2626 getPowerUsers ,
27- getPowerUserDailyData
27+ getPowerUserDailyData ,
28+ getLastDateFromData
2829} from "@/lib/utils" ;
2930
3031function App ( ) {
@@ -34,6 +35,7 @@ function App() {
3435 const [ modelSummary , setModelSummary ] = useState < ModelUsageSummary [ ] > ( [ ] ) ;
3536 const [ dailyModelData , setDailyModelData ] = useState < DailyModelData [ ] > ( [ ] ) ;
3637 const [ powerUserSummary , setPowerUserSummary ] = useState < PowerUserSummary | null > ( null ) ;
38+ const [ lastDateAvailable , setLastDateAvailable ] = useState < string | null > ( null ) ;
3739 const [ isDragging , setIsDragging ] = useState ( false ) ;
3840 const [ isProcessing , setIsProcessing ] = useState ( false ) ;
3941 const fileInputRef = useRef < HTMLInputElement > ( null ) ;
@@ -94,6 +96,10 @@ function App() {
9496 const powerUsers = getPowerUsers ( parsedData ) ;
9597 setPowerUserSummary ( powerUsers ) ;
9698
99+ // Get the last date available in the CSV
100+ const lastDate = getLastDateFromData ( parsedData ) ;
101+ setLastDateAvailable ( lastDate ) ;
102+
97103 setIsProcessing ( false ) ;
98104 toast . success ( `Loaded ${ parsedData . length } records successfully` ) ;
99105 } catch ( error ) {
@@ -133,6 +139,7 @@ function App() {
133139 setModelSummary ( [ ] ) ;
134140 setDailyModelData ( [ ] ) ;
135141 setPowerUserSummary ( null ) ;
142+ setLastDateAvailable ( null ) ;
136143 }
137144 } ;
138145
@@ -453,7 +460,8 @@ function App() {
453460 < XAxis
454461 dataKey = "date"
455462 tick = { { fill : 'var(--foreground)' } }
456- tickLine = { { stroke : 'var(--border)' } }
463+ tickLine = { { stroke : 'var(--border)' } }
464+ domain = { [ 'dataMin' , lastDateAvailable || 'dataMax' ] }
457465 />
458466 < YAxis
459467 tick = { { fill : 'var(--foreground)' } }
@@ -559,7 +567,14 @@ function App() {
559567 </ div >
560568
561569 < div >
562- < h2 className = "text-2xl font-semibold mb-2" > Daily Usage Overview</ h2 >
570+ < div className = "flex justify-between items-center mb-2" >
571+ < h2 className = "text-2xl font-semibold" > Daily Usage Overview</ h2 >
572+ { lastDateAvailable && (
573+ < div className = "text-sm text-muted-foreground" >
574+ Data available through: < span className = "font-medium" > { lastDateAvailable } </ span >
575+ </ div >
576+ ) }
577+ </ div >
563578 < Separator className = "mb-6" />
564579 < div className = "bg-card p-4 rounded-lg border mb-8" >
565580 < ChartContainer
@@ -574,7 +589,8 @@ function App() {
574589 < XAxis
575590 dataKey = "date"
576591 tick = { { fill : 'var(--foreground)' } }
577- tickLine = { { stroke : 'var(--border)' } }
592+ tickLine = { { stroke : 'var(--border)' } }
593+ domain = { [ 'dataMin' , lastDateAvailable || 'dataMax' ] }
578594 />
579595 < YAxis
580596 tick = { { fill : 'var(--foreground)' } }
@@ -640,7 +656,14 @@ function App() {
640656 </ div >
641657
642658 { /* Bar Chart - Requests per Model per Day */ }
643- < h2 className = "text-2xl font-semibold mb-2" > Requests per Model per Day</ h2 >
659+ < div className = "flex justify-between items-center mb-2" >
660+ < h2 className = "text-2xl font-semibold" > Requests per Model per Day</ h2 >
661+ { lastDateAvailable && (
662+ < div className = "text-sm text-muted-foreground" >
663+ Data available through: < span className = "font-medium" > { lastDateAvailable } </ span >
664+ </ div >
665+ ) }
666+ </ div >
644667 < Separator className = "mb-6" />
645668 < div className = "bg-card p-4 rounded-lg border" >
646669 < ChartContainer
@@ -653,6 +676,7 @@ function App() {
653676 dataKey = "date"
654677 tick = { { fill : 'var(--foreground)' } }
655678 tickLine = { { stroke : 'var(--border)' } }
679+ domain = { [ 'dataMin' , lastDateAvailable || 'dataMax' ] }
656680 />
657681 < YAxis
658682 tick = { { fill : 'var(--foreground)' } }
0 commit comments