Refactor UI components for improved theming, better flight trace logic and weather data (RainViewer radar tiles and METAR reports) (#17)
* Refactor UI components for improved theming and accessibility - Updated color schemes in `fpv-hud.tsx`, `hero-banner.tsx`, `keyboard-shortcuts-help.tsx`, `mobile-flight-toast.tsx`, `provider-panel.tsx`, `scroll-area.tsx`, and `slider.tsx` to utilize foreground and background variables for better dark mode support. - Enhanced visual consistency by replacing hardcoded colors with theme variables across various components. - Adjusted text and background colors for improved readability and accessibility. - Fixed minor issues with key bindings in `keyboard-shortcuts-help.tsx`. - Optimized flight data handling in `use-trail-history.ts` and `trail-cleanup.ts` for better performance and accuracy. - Implemented outlier filtering in trail history to reduce GPS glitches. * feat: enhance aircraft appearance and flight trail rendering with improved safety checks and visual effects * feat: implement last flight leg trimming and nearest airport search functionality * feat: Enhance flight data parsing and handling - Added optionalFinite helper function to ensure only finite numbers are processed in flight data. - Extended FlightState type to include avionics data (ias, tas, mach, roll, trackRate, magHeading) and navigation intent (navAltitudeMcp, navAltitudeFms, navHeading, navQnh, navModes). - Updated parseRawAircraft function to utilize optionalFinite for avionics and navigation data. - Adjusted removeSpikePoints function to increase cosThreshold from -0.17 to -0.05 for better spike removal. - Increased MAX_WINDOW in removePathLoops function from 120 to 300 to allow for larger path loops. - Integrated loop cleaning in stitchHistoricalTrail function to ensure cleaner paths and altitudes. * feat: add AtcSpectrum component for audio visualization and useAirportBoard hook for flight data management
@ -14,7 +14,7 @@ const cspHeader = `
|
|||||||
style-src 'self' 'unsafe-inline';
|
style-src 'self' 'unsafe-inline';
|
||||||
img-src 'self' blob: data: https: ;
|
img-src 'self' blob: data: https: ;
|
||||||
font-src 'self';
|
font-src 'self';
|
||||||
connect-src 'self' data: https://opensky-network.org https://*.basemaps.cartocdn.com https://basemaps.cartocdn.com https://server.arcgisonline.com https://s3.amazonaws.com https://tile.opentopomap.org https://www.google-analytics.com https://www.googletagmanager.com https://api.github.com https://api.airplanes.live https://api.adsb.lol https://res.cloudinary.com;
|
connect-src 'self' data: https://opensky-network.org https://*.basemaps.cartocdn.com https://basemaps.cartocdn.com https://server.arcgisonline.com https://s3.amazonaws.com https://tile.opentopomap.org https://www.google-analytics.com https://www.googletagmanager.com https://api.github.com https://api.airplanes.live https://api.adsb.lol https://res.cloudinary.com https://api.rainviewer.com;
|
||||||
worker-src 'self' blob:;
|
worker-src 'self' blob:;
|
||||||
child-src blob:;
|
child-src blob:;
|
||||||
object-src 'none';
|
object-src 'none';
|
||||||
|
|||||||
@ -28,7 +28,7 @@
|
|||||||
"lucide-react": "^0.564.0",
|
"lucide-react": "^0.564.0",
|
||||||
"maplibre-gl": "^5.18.0",
|
"maplibre-gl": "^5.18.0",
|
||||||
"motion": "^12.34.0",
|
"motion": "^12.34.0",
|
||||||
"next": "16.2.0",
|
"next": "16.2.1",
|
||||||
"next-themes": "^0.4.6",
|
"next-themes": "^0.4.6",
|
||||||
"react": "19.2.4",
|
"react": "19.2.4",
|
||||||
"react-dom": "19.2.4",
|
"react-dom": "19.2.4",
|
||||||
|
|||||||
82
pnpm-lock.yaml
generated
@ -57,8 +57,8 @@ importers:
|
|||||||
specifier: ^12.34.0
|
specifier: ^12.34.0
|
||||||
version: 12.34.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
version: 12.34.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
||||||
next:
|
next:
|
||||||
specifier: 16.2.0
|
specifier: 16.2.1
|
||||||
version: 16.2.0(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
version: 16.2.1(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
||||||
next-themes:
|
next-themes:
|
||||||
specifier: ^0.4.6
|
specifier: ^0.4.6
|
||||||
version: 0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
version: 0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
||||||
@ -658,60 +658,60 @@ packages:
|
|||||||
'@napi-rs/wasm-runtime@0.2.12':
|
'@napi-rs/wasm-runtime@0.2.12':
|
||||||
resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
|
resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
|
||||||
|
|
||||||
'@next/env@16.2.0':
|
'@next/env@16.2.1':
|
||||||
resolution: {integrity: sha512-OZIbODWWAi0epQRCRjNe1VO45LOFBzgiyqmTLzIqWq6u1wrxKnAyz1HH6tgY/Mc81YzIjRPoYsPAEr4QV4l9TA==}
|
resolution: {integrity: sha512-n8P/HCkIWW+gVal2Z8XqXJ6aB3J0tuM29OcHpCsobWlChH/SITBs1DFBk/HajgrwDkqqBXPbuUuzgDvUekREPg==}
|
||||||
|
|
||||||
'@next/eslint-plugin-next@16.2.0':
|
'@next/eslint-plugin-next@16.2.0':
|
||||||
resolution: {integrity: sha512-3D3pEMcGKfENC9Pzlkr67GOm+205+5hRdYPZvHuNIy5sr9k0ybSU8g+sxOO/R/RLEh/gWZ3UlY+5LmEyZ1xgXQ==}
|
resolution: {integrity: sha512-3D3pEMcGKfENC9Pzlkr67GOm+205+5hRdYPZvHuNIy5sr9k0ybSU8g+sxOO/R/RLEh/gWZ3UlY+5LmEyZ1xgXQ==}
|
||||||
|
|
||||||
'@next/swc-darwin-arm64@16.2.0':
|
'@next/swc-darwin-arm64@16.2.1':
|
||||||
resolution: {integrity: sha512-/JZsqKzKt01IFoiLLAzlNqys7qk2F3JkcUhj50zuRhKDQkZNOz9E5N6wAQWprXdsvjRP4lTFj+/+36NSv5AwhQ==}
|
resolution: {integrity: sha512-BwZ8w8YTaSEr2HIuXLMLxIdElNMPvY9fLqb20LX9A9OMGtJilhHLbCL3ggyd0TwjmMcTxi0XXt+ur1vWUoxj2Q==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@next/swc-darwin-x64@16.2.0':
|
'@next/swc-darwin-x64@16.2.1':
|
||||||
resolution: {integrity: sha512-/hV8erWq4SNlVgglUiW5UmQ5Hwy5EW/AbbXlJCn6zkfKxTy/E/U3V8U1Ocm2YCTUoFgQdoMxRyRMOW5jYy4ygg==}
|
resolution: {integrity: sha512-/vrcE6iQSJq3uL3VGVHiXeaKbn8Es10DGTGRJnRZlkNQQk3kaNtAJg8Y6xuAlrx/6INKVjkfi5rY0iEXorZ6uA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@next/swc-linux-arm64-gnu@16.2.0':
|
'@next/swc-linux-arm64-gnu@16.2.1':
|
||||||
resolution: {integrity: sha512-GkjL/Q7MWOwqWR9zoxu1TIHzkOI2l2BHCf7FzeQG87zPgs+6WDh+oC9Sw9ARuuL/FUk6JNCgKRkA6rEQYadUaw==}
|
resolution: {integrity: sha512-uLn+0BK+C31LTVbQ/QU+UaVrV0rRSJQ8RfniQAHPghDdgE+SlroYqcmFnO5iNjNfVWCyKZHYrs3Nl0mUzWxbBw==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
libc: [glibc]
|
libc: [glibc]
|
||||||
|
|
||||||
'@next/swc-linux-arm64-musl@16.2.0':
|
'@next/swc-linux-arm64-musl@16.2.1':
|
||||||
resolution: {integrity: sha512-1ffhC6KY5qWLg5miMlKJp3dZbXelEfjuXt1qcp5WzSCQy36CV3y+JT7OC1WSFKizGQCDOcQbfkH/IjZP3cdRNA==}
|
resolution: {integrity: sha512-ssKq6iMRnHdnycGp9hCuGnXJZ0YPr4/wNwrfE5DbmvEcgl9+yv97/Kq3TPVDfYome1SW5geciLB9aiEqKXQjlQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
libc: [musl]
|
libc: [musl]
|
||||||
|
|
||||||
'@next/swc-linux-x64-gnu@16.2.0':
|
'@next/swc-linux-x64-gnu@16.2.1':
|
||||||
resolution: {integrity: sha512-FmbDcZQ8yJRq93EJSL6xaE0KK/Rslraf8fj1uViGxg7K4CKBCRYSubILJPEhjSgZurpcPQq12QNOJQ0DRJl6Hg==}
|
resolution: {integrity: sha512-HQm7SrHRELJ30T1TSmT706IWovFFSRGxfgUkyWJZF/RKBMdbdRWJuFrcpDdE5vy9UXjFOx6L3mRdqH04Mmx0hg==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
libc: [glibc]
|
libc: [glibc]
|
||||||
|
|
||||||
'@next/swc-linux-x64-musl@16.2.0':
|
'@next/swc-linux-x64-musl@16.2.1':
|
||||||
resolution: {integrity: sha512-HzjIHVkmGAwRbh/vzvoBWWEbb8BBZPxBvVbDQDvzHSf3D8RP/4vjw7MNLDXFF9Q1WEzeQyEj2zdxBtVAHu5Oyw==}
|
resolution: {integrity: sha512-aV2iUaC/5HGEpbBkE+4B8aHIudoOy5DYekAKOMSHoIYQ66y/wIVeaRx8MS2ZMdxe/HIXlMho4ubdZs/J8441Tg==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
libc: [musl]
|
libc: [musl]
|
||||||
|
|
||||||
'@next/swc-win32-arm64-msvc@16.2.0':
|
'@next/swc-win32-arm64-msvc@16.2.1':
|
||||||
resolution: {integrity: sha512-UMiFNQf5H7+1ZsZPxEsA064WEuFbRNq/kEXyepbCnSErp4f5iut75dBA8UeerFIG3vDaQNOfCpevnERPp2V+nA==}
|
resolution: {integrity: sha512-IXdNgiDHaSk0ZUJ+xp0OQTdTgnpx1RCfRTalhn3cjOP+IddTMINwA7DXZrwTmGDO8SUr5q2hdP/du4DcrB1GxA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@next/swc-win32-x64-msvc@16.2.0':
|
'@next/swc-win32-x64-msvc@16.2.1':
|
||||||
resolution: {integrity: sha512-DRrNJKW+/eimrZgdhVN1uvkN1OI4j6Lpefwr44jKQ0YQzztlmOBUUzHuV5GxOMPK3nmodAYElUVCY8ZXo/IWeA==}
|
resolution: {integrity: sha512-qvU+3a39Hay+ieIztkGSbF7+mccbbg1Tk25hc4JDylf8IHjYmY/Zm64Qq1602yPyQqvie+vf5T/uPwNxDNIoeg==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@ -2305,8 +2305,8 @@ packages:
|
|||||||
react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
|
react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
|
||||||
react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
|
react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
|
||||||
|
|
||||||
next@16.2.0:
|
next@16.2.1:
|
||||||
resolution: {integrity: sha512-NLBVrJy1pbV1Yn00L5sU4vFyAHt5XuSjzrNyFnxo6Com0M0KrL6hHM5B99dbqXb2bE9pm4Ow3Zl1xp6HVY9edQ==}
|
resolution: {integrity: sha512-VaChzNL7o9rbfdt60HUj8tev4m6d7iC1igAy157526+cJlXOQu5LzsBXNT+xaJnTP/k+utSX5vMv7m0G+zKH+Q==}
|
||||||
engines: {node: '>=20.9.0'}
|
engines: {node: '>=20.9.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -3550,34 +3550,34 @@ snapshots:
|
|||||||
'@tybys/wasm-util': 0.10.1
|
'@tybys/wasm-util': 0.10.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/env@16.2.0': {}
|
'@next/env@16.2.1': {}
|
||||||
|
|
||||||
'@next/eslint-plugin-next@16.2.0':
|
'@next/eslint-plugin-next@16.2.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
fast-glob: 3.3.1
|
fast-glob: 3.3.1
|
||||||
|
|
||||||
'@next/swc-darwin-arm64@16.2.0':
|
'@next/swc-darwin-arm64@16.2.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-darwin-x64@16.2.0':
|
'@next/swc-darwin-x64@16.2.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-arm64-gnu@16.2.0':
|
'@next/swc-linux-arm64-gnu@16.2.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-arm64-musl@16.2.0':
|
'@next/swc-linux-arm64-musl@16.2.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-x64-gnu@16.2.0':
|
'@next/swc-linux-x64-gnu@16.2.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-x64-musl@16.2.0':
|
'@next/swc-linux-x64-musl@16.2.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-win32-arm64-msvc@16.2.0':
|
'@next/swc-win32-arm64-msvc@16.2.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-win32-x64-msvc@16.2.0':
|
'@next/swc-win32-x64-msvc@16.2.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@nodelib/fs.scandir@2.1.5':
|
'@nodelib/fs.scandir@2.1.5':
|
||||||
@ -5238,9 +5238,9 @@ snapshots:
|
|||||||
react: 19.2.4
|
react: 19.2.4
|
||||||
react-dom: 19.2.4(react@19.2.4)
|
react-dom: 19.2.4(react@19.2.4)
|
||||||
|
|
||||||
next@16.2.0(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
|
next@16.2.1(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@next/env': 16.2.0
|
'@next/env': 16.2.1
|
||||||
'@swc/helpers': 0.5.15
|
'@swc/helpers': 0.5.15
|
||||||
baseline-browser-mapping: 2.9.19
|
baseline-browser-mapping: 2.9.19
|
||||||
caniuse-lite: 1.0.30001769
|
caniuse-lite: 1.0.30001769
|
||||||
@ -5249,14 +5249,14 @@ snapshots:
|
|||||||
react-dom: 19.2.4(react@19.2.4)
|
react-dom: 19.2.4(react@19.2.4)
|
||||||
styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.4)
|
styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.4)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@next/swc-darwin-arm64': 16.2.0
|
'@next/swc-darwin-arm64': 16.2.1
|
||||||
'@next/swc-darwin-x64': 16.2.0
|
'@next/swc-darwin-x64': 16.2.1
|
||||||
'@next/swc-linux-arm64-gnu': 16.2.0
|
'@next/swc-linux-arm64-gnu': 16.2.1
|
||||||
'@next/swc-linux-arm64-musl': 16.2.0
|
'@next/swc-linux-arm64-musl': 16.2.1
|
||||||
'@next/swc-linux-x64-gnu': 16.2.0
|
'@next/swc-linux-x64-gnu': 16.2.1
|
||||||
'@next/swc-linux-x64-musl': 16.2.0
|
'@next/swc-linux-x64-musl': 16.2.1
|
||||||
'@next/swc-win32-arm64-msvc': 16.2.0
|
'@next/swc-win32-arm64-msvc': 16.2.1
|
||||||
'@next/swc-win32-x64-msvc': 16.2.0
|
'@next/swc-win32-x64-msvc': 16.2.1
|
||||||
sharp: 0.34.5
|
sharp: 0.34.5
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@babel/core'
|
- '@babel/core'
|
||||||
|
|||||||
BIN
public/airline-logos/air-busan.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
public/airline-logos/air-corsica.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
public/airline-logos/air-do.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/airline-logos/air-greenland.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
public/airline-logos/air-koryo.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
public/airline-logos/air-madagascar.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
public/airline-logos/air-malta.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
public/airline-logos/air-niugini.png
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
BIN
public/airline-logos/air-peace.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
public/airline-logos/air-senegal.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/airline-logos/air-seychelles.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
public/airline-logos/air-tanzania.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
public/airline-logos/airbridgecargo-airlines.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
public/airline-logos/akasa-air.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
public/airline-logos/ameriflight.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/airline-logos/ariana-afghan-airlines.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
public/airline-logos/arkia-israeli-airlines.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
public/airline-logos/asl-airlines-belgium.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
public/airline-logos/asl-airlines-france.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
public/airline-logos/aurigny-air-services.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/airline-logos/aurora.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
public/airline-logos/avion-express.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
public/airline-logos/azerbaijan-airlines.png
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
BIN
public/airline-logos/bamboo-airways.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
public/airline-logos/bangkok-airways.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
public/airline-logos/batik-air.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
public/airline-logos/beijing-capital-airlines.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
public/airline-logos/belavia.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
public/airline-logos/biman-bangladesh-airlines.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
public/airline-logos/blue-air.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
public/airline-logos/boliviana-de-aviacion.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/airline-logos/breeze-airways.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
public/airline-logos/bulgaria-air.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
public/airline-logos/cargojet-airways.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
public/airline-logos/cargolux.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
public/airline-logos/caribbean-airlines.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
public/airline-logos/china-cargo-airlines.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
public/airline-logos/china-express-airlines.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
public/airline-logos/citilink.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
public/airline-logos/corendon-airlines.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/airline-logos/cyprus-airways.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
public/airline-logos/dhl.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
public/airline-logos/discover-airlines.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
public/airline-logos/druk-air.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/airline-logos/eastar-jet.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
public/airline-logos/eastern-airways.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
public/airline-logos/edelweiss-air.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
public/airline-logos/endeavor-air.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/airline-logos/enter-air.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
public/airline-logos/flair-airlines.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
public/airline-logos/flybe.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
public/airline-logos/flynas.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
public/airline-logos/flyone.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
public/airline-logos/freebird-airlines.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
public/airline-logos/french-bee.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
public/airline-logos/fuji-dream-airlines.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/airline-logos/helvetic-airways.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
public/airline-logos/hi-fly.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
public/airline-logos/iran-air.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
public/airline-logos/iraqi-airways.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
public/airline-logos/j-air.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
public/airline-logos/jin-air.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
public/airline-logos/kalitta-air.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
public/airline-logos/kalitta-charters.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
public/airline-logos/kenya-airways.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
public/airline-logos/kuwait-airways.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
public/airline-logos/lam-mozambique.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
public/airline-logos/lion-air.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
public/airline-logos/loganair.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/airline-logos/lucky-air.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
public/airline-logos/mahan-air.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
public/airline-logos/mandarin-airlines.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
public/airline-logos/mesa-airlines.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
public/airline-logos/miat-mongolian-airlines.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
public/airline-logos/middle-east-airlines.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
BIN
public/airline-logos/mng-airlines.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
public/airline-logos/myanmar-airways-international.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
public/airline-logos/myanmar-national-airlines.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
public/airline-logos/neos.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
public/airline-logos/nippon-cargo-airlines.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
public/airline-logos/nok-air.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
public/airline-logos/nordwind-airlines.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/airline-logos/nouvelair.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
public/airline-logos/okay-airways.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
public/airline-logos/omni-air-international.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
public/airline-logos/play.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
public/airline-logos/polar-air-cargo.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/airline-logos/precision-air.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/airline-logos/rex-airlines.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
public/airline-logos/royal-brunei-airlines.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
public/airline-logos/rwandair.png
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
BIN
public/airline-logos/s7-airlines.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
public/airline-logos/scat-airlines.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
public/airline-logos/shandong-airlines.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
public/airline-logos/silk-way-west-airlines.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
public/airline-logos/sky-airline.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
public/airline-logos/skyup-airlines.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |