diff --git a/src/app/page.tsx b/src/app/page.tsx
index 23cc836..2b6dfba 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -17,6 +17,9 @@ setAirport('KCJR', new Airport('Culpeper Regional Airport', 'KCJR'))
setAirport('KHWY', new Airport('Warrenton-Fauquier Airport', 'KHWY'))
setAirport('KRMN', new Airport('Stafford Regional Airport', 'KRMN'))
setAirport('KEZF', new Airport('Shannon Airport', 'KEZF'))
+// setAirport('KMQI', new Airport('Test Airport', 'KMQI'))
+// setAirport('KEKQ', new Airport('Test Airport', 'KEKQ'))
+// setAirport('KCSV', new Airport('Test Airport', 'KCSV'))
export default function Page() {
return <>
diff --git a/src/components/MetarGrid.tsx b/src/components/MetarGrid.tsx
index faf87a9..888fed8 100644
--- a/src/components/MetarGrid.tsx
+++ b/src/components/MetarGrid.tsx
@@ -3,7 +3,7 @@ import { getAirports, setAirport } from "@/js/state";
import { Metar, getMetars } from "@/js/weather"
import Link from "next/link"
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
-import { faLocationArrow } from '@fortawesome/free-solid-svg-icons'
+import { faArrowsSpin, faLocationArrow } from '@fortawesome/free-solid-svg-icons'
export default async function MetarGrid() {
const airports: Airport[] = getAirports();
@@ -45,6 +45,14 @@ function MetarCard({ airport}: { airport: Airport}) {
}
}
+ function windColor(metar: Metar | undefined) {
+ if (Number(metar?.wind_speed_kt) <= 12) {
+ return 'bg-green-300';
+ } else if (Number(metar?.wind_speed_kt) > 12) {
+ return 'bg-orange-300';
+ }
+ }
+
return (
{airport.metar?.flight_category? airport.metar?.flight_category : 'UNKN'}
- {airport.metar && airport.metar.wind_dir_degrees && airport.metar.wind_dir_degrees != 0?
- // : <>>
- : <>>
- }
- {airport.metar?.wind_speed_kt} KT
+
+ {airport.metar && airport.metar.wind_dir_degrees && Number(airport.metar.wind_dir_degrees) > 0?
+ : <>>
+ }
+ {airport.metar && airport.metar.wind_dir_degrees && airport.metar.wind_dir_degrees == 'VRB'?
+ : <>>
+ }
+ {airport.metar?.wind_speed_kt != undefined && airport.metar?.wind_speed_kt > 0? `${airport.metar?.wind_speed_kt} KT` : "CALM"}
+
diff --git a/src/js/weather.ts b/src/js/weather.ts
index 78b0fcc..1440f95 100644
--- a/src/js/weather.ts
+++ b/src/js/weather.ts
@@ -15,12 +15,12 @@ export async function getMetars(airports: Airport[]): Promise {
const response = await axios
.get(`${url}`)
.catch((error) => console.error(`${error}`));
- // const metars = new Map();
const metars: Metar[] = [];
if (response != null && response != undefined) {
const json = xml2json(response.data, { compact: true });
const jsonObject = JSON.parse(json);
let metarData = jsonObject?.response?.data?.METAR;
+ console.log(metarData);
if (!Array.isArray(metarData)) {
metarData = [metarData];
}
@@ -50,7 +50,7 @@ export async function getMetars(airports: Airport[]): Promise {
longitude: Number(data.longitude._text),
temp_c: Number(data.temp_c._text),
dewpoint_c: Number(data.dewpoint_c._text),
- wind_dir_degrees: Number(data.wind_dir_degrees._text),
+ wind_dir_degrees: data.wind_dir_degrees._text,
wind_speed_kt: Number(data.wind_speed_kt._text),
visibility_statute_mi: data.visibility_statute_mi?._text,
altim_in_hg: Number(data.altim_in_hg?._text),
@@ -83,7 +83,7 @@ export interface Metar {
longitude: number;
temp_c: number;
dewpoint_c: number;
- wind_dir_degrees: number;
+ wind_dir_degrees: string;
wind_speed_kt: number;
visibility_statute_mi: string;
altim_in_hg: number;