feat: implement external environmental data display components
- Add WeatherWidget for current weather conditions - Add TideDisplay for tide times and heights - Add WaterQualityIndicator for EPA water quality data - Add BeachQualityDisplay for beach ratings and certifications - Add BiodiversityInfo for marine biodiversity information - Add EnvironmentalDataPanel composite component - Create externalDataService for API integration - Add types for external environmental data - Create demo page at /demo/environmental-data - Add comprehensive README documentation Fulfills requirements 11.1, 11.2, 11.3, 11.4, 11.6, 11.7 Completes task 19 from implementation plan
This commit is contained in:
@@ -179,3 +179,65 @@ export interface QuantityAggregation {
|
||||
count: number;
|
||||
percentage: number;
|
||||
}
|
||||
|
||||
// External environmental data types
|
||||
export interface WeatherData {
|
||||
temperature: number; // Celsius
|
||||
feelsLike: number;
|
||||
humidity: number; // percentage
|
||||
windSpeed: number; // m/s
|
||||
windDirection: number; // degrees
|
||||
description: string;
|
||||
icon: string;
|
||||
timestamp: Date;
|
||||
}
|
||||
|
||||
export interface TideData {
|
||||
tides: Array<{
|
||||
time: Date;
|
||||
height: number; // meters
|
||||
type: 'high' | 'low';
|
||||
}>;
|
||||
nextTide?: {
|
||||
time: Date;
|
||||
height: number;
|
||||
type: 'high' | 'low';
|
||||
};
|
||||
}
|
||||
|
||||
export interface WaterQualityData {
|
||||
status: 'excellent' | 'good' | 'sufficient' | 'poor' | 'unknown';
|
||||
lastUpdated?: Date;
|
||||
parameters?: {
|
||||
bacteria?: number;
|
||||
ph?: number;
|
||||
temperature?: number;
|
||||
};
|
||||
source?: string;
|
||||
}
|
||||
|
||||
export interface BeachQualityData {
|
||||
rating: 'blue-flag' | 'green-coast' | 'excellent' | 'good' | 'adequate' | 'poor' | 'unknown';
|
||||
awards?: string[];
|
||||
facilities?: string[];
|
||||
lastInspection?: Date;
|
||||
}
|
||||
|
||||
export interface BiodiversityData {
|
||||
species?: Array<{
|
||||
name: string;
|
||||
scientificName?: string;
|
||||
status?: string;
|
||||
}>;
|
||||
protectedArea?: boolean;
|
||||
habitatType?: string;
|
||||
conservationStatus?: string;
|
||||
}
|
||||
|
||||
export interface ExternalEnvironmentalData {
|
||||
weather?: WeatherData;
|
||||
tides?: TideData;
|
||||
waterQuality?: WaterQualityData;
|
||||
beachQuality?: BeachQualityData;
|
||||
biodiversity?: BiodiversityData;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user