'use client'; import { getAirport } from '@/api/airport'; import { Airport } from '@/api/airport.types'; import { getMetars } from '@/api/metar'; import { Metar } from '@/api/metar.types'; import { Grid, Title, Text } from '@mantine/core'; import { useEffect, useState } from 'react'; export default function Page({ params }: { params: { icao: string } }) { const [airport, setAirport] = useState(undefined); const [metar, setMetar] = useState(undefined); useEffect(() => { async function loadAirport() { const airportData = await getAirport({ icao: params.icao }); setAirport(airportData); const metarData = await getMetars([airportData.icao]); if (metarData.length > 0) { setMetar(metarData[0]); } } loadAirport(); }, []); if (airport) { return ( {airport.icao} - {airport.name} {airport.municipality} | {airport.iso_region} | {airport.iso_country} {metar && ( {metar.raw_text} )}

Frequencies

{airport.frequencies.map((frequency) => (
  • {frequency.id}: {frequency.frequency_mhz} MHz
))}

Runway Information

{airport.runways.map((runway) => (
Runway {runway.id}
  • Dimensions: {runway.length_ft} x {runway.width_ft} ft.
  • Surface: {runway.surface}
))}
); } else { return <>; } }