1
0
Fork 0
mirror of https://github.com/pawelmalak/flame.git synced 2025-07-20 03:59:36 +02:00
flame/client/src/components/UI/Icons/WeatherIcon/IconMapping.ts

34 lines
739 B
TypeScript
Raw Normal View History

import { IconKey } from 'skycons-ts';
export interface WeatherCondition {
code: number;
icon: {
day: IconKey;
night: IconKey;
}
}
export enum TimeOfDay {
day,
night
}
2022-09-02 20:17:34 +02:00
const mapFromJson = require('./WeatherMapping.json')
export class IconMapping {
2022-09-02 20:17:34 +02:00
private conditions: WeatherCondition[] = mapFromJson.mapping
mapIcon(weatherStatusCode: number, timeOfDay: TimeOfDay): IconKey {
const mapping = this.conditions.find((condition: WeatherCondition) => condition.code === weatherStatusCode);
if (mapping) {
if (timeOfDay === TimeOfDay.day) {
return mapping.icon.day;
} else if (timeOfDay === TimeOfDay.night) {
return mapping.icon.night;
}
}
return 'clear-day';
}
}