import BrowserImageManipulation from 'browser-image-manipulation'; import L from 'leaflet'; import type { Chart as NGChart } from 'navigraph/charts'; import { useEffect, useState, type Dispatch, type FC, type SetStateAction } from 'react'; import { charts } from '../lib/navigraph'; interface SidebarProps { airport: Airport; terminal: Terminal; transitions: Procedure[]; transition: Procedure | undefined; chart: Chart | undefined; setTransition: Dispatch>; setChart: Dispatch>; backAction: () => void; } export const Sidebar: FC = ({ airport, terminal, transitions, transition, chart, setTransition, setChart, backAction, }) => { const [chartIndex, setChartIndex] = useState([]); useEffect(() => { (async () => { setChartIndex((await charts.getChartsIndex({ icao: airport.ICAO, version: 'STD' })) ?? []); })(); }, [airport.ICAO]); return (
Transitions for {terminal.FullName}
{transitions.map((_procedure) => ( ))}
Charts
{chartIndex .filter((_chart) => _chart.is_georeferenced) .map((_chart) => ( ))}
); };