feat(MED-97): display accounts count, usage total
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
import React from 'react';
|
||||
|
||||
import { formatCurrency } from '@/packages/shared/src/utils';
|
||||
import { PiggyBankIcon } from 'lucide-react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import { Card, CardTitle } from '@kit/ui/card';
|
||||
import { cn } from '@kit/ui/lib/utils';
|
||||
import { Trans } from '@kit/ui/trans';
|
||||
|
||||
import { TeamAccountBenefitExpensesOverview } from '../_lib/server/load-team-account-benefit-expenses-overview';
|
||||
import { AccountBenefitStatistics } from '../_lib/server/load-team-account-benefit-statistics';
|
||||
|
||||
const StatisticsCard = ({ children }: { children: React.ReactNode }) => {
|
||||
@@ -38,8 +38,10 @@ const StatisticsValue = ({ children }: { children: React.ReactNode }) => {
|
||||
|
||||
const TeamAccountBenefitStatistics = ({
|
||||
accountBenefitStatistics,
|
||||
expensesOverview,
|
||||
}: {
|
||||
accountBenefitStatistics: AccountBenefitStatistics;
|
||||
expensesOverview: TeamAccountBenefitExpensesOverview;
|
||||
}) => {
|
||||
const {
|
||||
i18n: { language },
|
||||
@@ -47,25 +49,16 @@ const TeamAccountBenefitStatistics = ({
|
||||
|
||||
return (
|
||||
<div className="flex h-full w-full flex-col gap-2 sm:flex-row">
|
||||
<Card className="relative flex flex-row">
|
||||
<div className="p-6">
|
||||
<div className="flex h-16 w-16 items-center justify-center rounded-full bg-orange-100">
|
||||
<PiggyBankIcon className="h-[32px] w-[32px] stroke-orange-400 stroke-2" />
|
||||
</div>
|
||||
<StatisticsCardTitle className="mt-4 text-xl font-bold">
|
||||
<Trans i18nKey="teams:benefitStatistics.budget.volume" />
|
||||
<div className="grid flex-2 grid-cols-2 gap-2 sm:grid-cols-3 sm:grid-rows-2">
|
||||
<StatisticsCard>
|
||||
<StatisticsCardTitle className="text-lg font-bold">
|
||||
<Trans i18nKey="teams:benefitStatistics.budget.membersCount" />
|
||||
</StatisticsCardTitle>
|
||||
<StatisticsValue>
|
||||
{formatCurrency({
|
||||
value: accountBenefitStatistics.periodTotal,
|
||||
locale: language,
|
||||
currencyCode: 'EUR',
|
||||
})}
|
||||
{accountBenefitStatistics.companyAccountsCount}
|
||||
</StatisticsValue>
|
||||
</div>
|
||||
</Card>
|
||||
</StatisticsCard>
|
||||
|
||||
<div className="grid flex-2 grid-cols-2 gap-2 sm:grid-cols-3 sm:grid-rows-2">
|
||||
<StatisticsCard>
|
||||
<StatisticsCardTitle className="text-lg font-bold">
|
||||
<Trans i18nKey="teams:benefitStatistics.data.totalSum" />
|
||||
@@ -79,11 +72,30 @@ const TeamAccountBenefitStatistics = ({
|
||||
</StatisticsValue>
|
||||
</StatisticsCard>
|
||||
|
||||
<StatisticsCard>
|
||||
<StatisticsCardTitle className="text-lg font-bold">
|
||||
<Trans i18nKey="teams:benefitStatistics.data.currentMonthUsageTotal" />
|
||||
</StatisticsCardTitle>
|
||||
<StatisticsValue>
|
||||
{formatCurrency({
|
||||
value: expensesOverview.currentMonthUsageTotal,
|
||||
locale: language,
|
||||
currencyCode: 'EUR',
|
||||
})}
|
||||
</StatisticsValue>
|
||||
</StatisticsCard>
|
||||
|
||||
<StatisticsCard>
|
||||
<StatisticsCardTitle>
|
||||
<Trans i18nKey="teams:benefitStatistics.data.analysis" />
|
||||
</StatisticsCardTitle>
|
||||
<StatisticsValue>{accountBenefitStatistics.orders.analysesSum} €</StatisticsValue>
|
||||
<StatisticsValue>
|
||||
{formatCurrency({
|
||||
value: accountBenefitStatistics.orders.analysesSum,
|
||||
locale: language,
|
||||
currencyCode: 'EUR',
|
||||
})}
|
||||
</StatisticsValue>
|
||||
<StatisticsDescription>
|
||||
<Trans
|
||||
i18nKey="teams:benefitStatistics.data.reservations"
|
||||
@@ -106,7 +118,9 @@ const TeamAccountBenefitStatistics = ({
|
||||
<StatisticsDescription>
|
||||
<Trans
|
||||
i18nKey="teams:benefitStatistics.data.analysisPackagesCount"
|
||||
values={{ value: accountBenefitStatistics.orders.analysisPackagesCount }}
|
||||
values={{
|
||||
value: accountBenefitStatistics.orders.analysisPackagesCount,
|
||||
}}
|
||||
/>
|
||||
</StatisticsDescription>
|
||||
</StatisticsCard>
|
||||
|
||||
Reference in New Issue
Block a user