website refactor

This commit is contained in:
2026-01-14 02:02:24 +01:00
parent 8d7c709e0c
commit 4522d41aef
291 changed files with 12763 additions and 9309 deletions

View File

@@ -1,26 +1,24 @@
import { DashboardStats } from '@/lib/api/admin/AdminApiClient';
import { AdminDashboardViewData } from '@/lib/view-data/AdminDashboardViewData';
import type { DashboardStats } from '@/lib/api/admin/AdminApiClient';
import type { AdminDashboardViewData } from '@/lib/view-data/AdminDashboardViewData';
/**
* AdminDashboardViewDataBuilder
*
* Server-side builder that transforms API DashboardStats DTO
* directly into ViewData for the AdminDashboardTemplate.
*
* Deterministic, side-effect free.
*
* Transforms DashboardStats API DTO into AdminDashboardViewData for server-side rendering.
* Deterministic; side-effect free; no HTTP calls.
*/
export class AdminDashboardViewDataBuilder {
static build(apiStats: DashboardStats): AdminDashboardViewData {
static build(apiDto: DashboardStats): AdminDashboardViewData {
return {
stats: {
totalUsers: apiStats.totalUsers,
activeUsers: apiStats.activeUsers,
suspendedUsers: apiStats.suspendedUsers,
deletedUsers: apiStats.deletedUsers,
systemAdmins: apiStats.systemAdmins,
recentLogins: apiStats.recentLogins,
newUsersToday: apiStats.newUsersToday,
totalUsers: apiDto.totalUsers,
activeUsers: apiDto.activeUsers,
suspendedUsers: apiDto.suspendedUsers,
deletedUsers: apiDto.deletedUsers,
systemAdmins: apiDto.systemAdmins,
recentLogins: apiDto.recentLogins,
newUsersToday: apiDto.newUsersToday,
},
};
}
}
}