feat(dashboard): add dynamic loading for dashboard component

feat(team-account-benefit-statistics): implement benefit statistics card with budget and booking details

feat(team-account-health-details): create health details component displaying account health metrics

feat(team-account-statistics): develop team account statistics page with charts and customer table

feat(load-team-account-health-details): add server-side function to retrieve account health details

chore(migrations): create trigger for logging changes in account memberships
This commit is contained in:
Danel Kungla
2025-08-18 14:54:46 +03:00
parent bbb5e83ed9
commit c48a4b482f
16 changed files with 362 additions and 125 deletions

View File

@@ -0,0 +1,69 @@
import React from 'react';
import { Clock, TrendingUp, User } from 'lucide-react';
interface AccountHealthDetailsField {
title: string;
value: string;
Icon: React.ComponentType<{
size?: number;
color?: string;
className?: string;
}>;
normStatus: NormStatus;
}
export enum NormStatus {
CRITICAL = 'CRITICAL',
WARNING = 'WARNING',
NORMAL = 'NORMAL',
}
export const getAccountHealthDetailsFields =
(): AccountHealthDetailsField[] => {
const test = '';
return [
{
title: 'Naised',
value: '50% (16)',
Icon: User,
normStatus: NormStatus.NORMAL,
},
{
title: 'Mehed',
value: '50% (16)',
Icon: User,
normStatus: NormStatus.NORMAL,
},
{
title: 'Keskmine vanus',
value: '56',
Icon: Clock,
normStatus: NormStatus.NORMAL,
},
{
title: 'KMI',
value: '271',
Icon: TrendingUp,
normStatus: NormStatus.WARNING,
},
{
title: 'Üldkolesterool',
value: '6.1',
Icon: TrendingUp,
normStatus: NormStatus.WARNING,
},
{
title: 'Vitamiin D',
value: '76',
Icon: TrendingUp,
normStatus: NormStatus.NORMAL,
},
{
title: 'Suitsetajad',
value: '22%',
Icon: TrendingUp,
normStatus: NormStatus.CRITICAL,
},
];
};