mirror of
https://github.com/bendtherules/buildit-weather-app.git
synced 2026-08-18 13:42:14 +00:00
Add SingleInstanceForecast
This commit is contained in:
@@ -0,0 +1,23 @@
|
|||||||
|
.SingleInstanceForecast {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
margin: 1em 0;
|
||||||
|
padding-bottom: 0.25em;
|
||||||
|
|
||||||
|
font-size: 0.75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.SingleInstanceForecast .weather-icon-container {
|
||||||
|
padding: .25em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.SingleInstanceForecast .bottom-dividor{
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
left: 50%;
|
||||||
|
width: 1em;
|
||||||
|
height: 2px;
|
||||||
|
background-color: black;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
import * as React from 'react';
|
||||||
|
import './Component.css';
|
||||||
|
import '../../../node_modules/open-weather-icons/dist/css/open-weather-icons.css';
|
||||||
|
import { ForecaseAtInstance, Utils } from '../../Utils';
|
||||||
|
|
||||||
|
export interface SingleInstanceForecastProps {
|
||||||
|
forecastAtInstance: ForecaseAtInstance;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class SingleInstanceForecast extends React.Component<SingleInstanceForecastProps, {}> {
|
||||||
|
|
||||||
|
constructor(props: SingleInstanceForecastProps) {
|
||||||
|
super(props);
|
||||||
|
|
||||||
|
this.props = props;
|
||||||
|
|
||||||
|
// this.state = { data: undefined };
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUpdate(nextProps: SingleInstanceForecastProps) {
|
||||||
|
this.props = this.props;
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const day = Utils.createDateFromEpochInIndiaTZ(this.props.forecastAtInstance.dt);
|
||||||
|
const forecastAtInstance = this.props.forecastAtInstance;
|
||||||
|
const defaultWeather = forecastAtInstance.weather[0];
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="SingleInstanceForecast">
|
||||||
|
<div className="date">
|
||||||
|
At {day.format('h A')}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="weather-icon-container">
|
||||||
|
<div className={`weather-icon owi owi-2x owi-${defaultWeather.icon}`} />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="weather-description">
|
||||||
|
{Utils.stringToNormalCase(defaultWeather.description)}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="temp" title={`Temperature : ${forecastAtInstance.main.temp.toFixed(0)}°C`}>
|
||||||
|
|
||||||
|
<div className="temp-value">
|
||||||
|
{forecastAtInstance.main.temp.toFixed(0)}°C
|
||||||
|
</div>
|
||||||
|
<div className="clearfix" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="humidity" title={`Humidity : ${forecastAtInstance.main.humidity.toFixed(0)} %`}>
|
||||||
|
|
||||||
|
<div className="humidity-value">
|
||||||
|
{forecastAtInstance.main.humidity.toFixed(0)} %
|
||||||
|
</div>
|
||||||
|
<div className="clearfix" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="bottom-dividor" />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
export { SingleDayForecast } from './Component';
|
||||||
Reference in New Issue
Block a user