feat(FE-390): slicing UI and API integration for production dashboard

This commit is contained in:
randy-ar
2025-12-30 19:29:42 +07:00
parent 2712821f4e
commit 28639516d5
15 changed files with 4059 additions and 19 deletions
+34
View File
@@ -0,0 +1,34 @@
import { BaseApiService } from '@/services/api/base';
import { BaseApiResponse } from '@/types/api/api-general';
import { DashboardProduction } from '@/types/api/dashboard/dashboard-production';
import { getDummySingle } from '@/dummy/dashboard/dashboard.production.dummy';
class DashboardService extends BaseApiService<
DashboardProduction,
unknown,
unknown
> {
constructor(basePath: string) {
super(basePath);
}
/**
* Fetch dashboard production data
* @param endpoint - The endpoint URL with query parameters
* @returns Promise with BaseApiResponse containing DashboardProduction
*
* Note: Currently using dummy data. When real API is ready,
* uncomment the line below and remove getDummySingle() call:
* return await this.customRequest<BaseApiResponse<DashboardProduction>>(endpoint);
*/
async getDashboardProductionFetcher(
endpoint: string
): Promise<BaseApiResponse<DashboardProduction>> {
// For now, we're using dummy data regardless of the endpoint
// The endpoint parameter is kept for future API integration
console.log('Fetching dashboard data with endpoint:', endpoint);
return await getDummySingle();
}
}
export const DashboardApi = new DashboardService('/dashboard');