Implement fullstack education catalog with disease detail pages, API routes, and shared types
- Add disease detail page component with data fetching and error handling - Create shared types for diseases and classifications - Implement API routes for diseases, classifications, and dashboard summary - Develop reusable components for risk badge and disease card - Build catalog page with search and filter functionality - Update dashboard page with data-backed summary and manual classification form - Register new routes in the web application - Ensure type safety and consistency across shared modules
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import type { DiseaseCatalogItem, DiseaseSlug, RiskLevel } from './diseases';
|
||||
|
||||
export type ManualClassificationRequest = {
|
||||
diseaseSlug: DiseaseSlug;
|
||||
observation: string;
|
||||
location: string;
|
||||
};
|
||||
|
||||
export type ManualClassificationRecord = {
|
||||
id: string;
|
||||
diseaseSlug: DiseaseSlug;
|
||||
observation: string;
|
||||
location: string;
|
||||
createdAt: string;
|
||||
disease: DiseaseCatalogItem;
|
||||
};
|
||||
|
||||
export type DashboardSummary = {
|
||||
diseaseCount: number;
|
||||
classificationCount: number;
|
||||
latestClassification: ManualClassificationRecord | null;
|
||||
riskDistribution: Record<RiskLevel, number>;
|
||||
};
|
||||
Reference in New Issue
Block a user