@@ -9,11 +9,7 @@ import {
99import Link from 'next/link'
1010import { Verify } from '@/lib/firebase/firebase'
1111import { Badge } from '@/components/ui/badge'
12- import {
13- formatDate ,
14- getSubscriptionStatus ,
15- isSubscriptionActive ,
16- } from '@/lib/utils'
12+ import { formatDate , getSubscriptionStatus } from '@/lib/utils'
1713import { getSubscription } from '@/lib/api/subscription'
1814import { Card , CardContent , CardHeader , CardTitle } from '@/components/ui/card'
1915import {
@@ -30,6 +26,7 @@ import {
3026 User ,
3127} from 'lucide-react'
3228import { formatDistanceToNowStrict } from 'date-fns'
29+ import { Progress } from '@/components/ui/progress'
3330
3431export default async function SubscriptionDetailsPage ( {
3532 params,
@@ -92,17 +89,7 @@ export default async function SubscriptionDetailsPage({
9289 < div className = "grid grid-cols-1 md:grid-cols-2 gap-4" >
9390 < Card className = "row-span-2" >
9491 < CardHeader >
95- < div className = "flex justify-between items-center" >
96- < CardTitle > Subscription Details</ CardTitle >
97- < Badge
98- variant = {
99- isSubscriptionActive ( subsRes . data ) ? 'default' : 'secondary'
100- }
101- className = "capitalize"
102- >
103- { getSubscriptionStatus ( subsRes . data ) }
104- </ Badge >
105- </ div >
92+ < CardTitle > Subscription Details</ CardTitle >
10693 </ CardHeader >
10794 < CardContent className = "grid gap-2 grid-cols-[max-content_1fr] items-center" >
10895 < CalendarClock className = "size-4" />
@@ -147,7 +134,7 @@ export default async function SubscriptionDetailsPage({
147134 </ CardContent >
148135 </ Card >
149136
150- < Card >
137+ < Card className = "order-first md:order-none" >
151138 < CardHeader >
152139 < CardTitle > User Information</ CardTitle >
153140 </ CardHeader >
@@ -191,6 +178,49 @@ export default async function SubscriptionDetailsPage({
191178 </ p >
192179 </ CardContent >
193180 </ Card >
181+
182+ < Card className = "md:col-span-2" >
183+ < CardHeader >
184+ < CardTitle > Usage</ CardTitle >
185+ </ CardHeader >
186+ < CardContent className = "grid md:grid-cols-2 gap-4" >
187+ { subsRes . data . active_loan_limit && (
188+ < div >
189+ < div className = "flex justify-between" >
190+ < span > Active Borrows</ span >
191+ < span >
192+ { subsRes . data . active_loan_count ?? 0 } /{ ' ' }
193+ { subsRes . data . active_loan_limit }
194+ </ span >
195+ </ div >
196+ < Progress
197+ value = {
198+ ( ( subsRes . data . active_loan_count ?? 0 ) /
199+ subsRes . data . active_loan_limit ) *
200+ 100
201+ }
202+ />
203+ </ div >
204+ ) }
205+ { subsRes . data . usage_limit && (
206+ < div >
207+ < div className = "flex justify-between" >
208+ < span > Borrowed Books</ span >
209+ < span >
210+ { subsRes . data . usage_count ?? 0 } / { subsRes . data . usage_limit }
211+ </ span >
212+ </ div >
213+ < Progress
214+ value = {
215+ ( ( subsRes . data . usage_count ?? 0 ) /
216+ subsRes . data . usage_limit ) *
217+ 100
218+ }
219+ />
220+ </ div >
221+ ) }
222+ </ CardContent >
223+ </ Card >
194224 </ div >
195225 </ div >
196226 )
0 commit comments