From bf99d4843f5efaf26c643bd5c54b993bc83a1152 Mon Sep 17 00:00:00 2001 From: kew <108450560+kewonit@users.noreply.github.com> Date: Tue, 17 Feb 2026 21:50:39 +0530 Subject: [PATCH] Feat/airline logos opensky refresh (#6) * feat: keyboard shortcuts, click-to-select, pulse/glow, smooth orbit resume * feat: add camera controls and enhance keyboard shortcuts help; improve flight card accessibility * feat: enhance flight layers and keyboard shortcuts; improve airline data structure * feat: expand airline logos and refresh flight/OpenSky mapping * feat: import expanded airport dataset * perf: reduce trail recomputation and soften airport dots * perf: speed up 9k airport search with index + cache * docs: add community standards and contribution templates * docs: enforce issue templates via config * chore: ignore only .github/agents * fix: improve airport visibility and stable map marker --- .github/ISSUE_TEMPLATE/bug_report.md | 27 +++ .github/ISSUE_TEMPLATE/config.yml | 2 + .github/ISSUE_TEMPLATE/feature_request.md | 21 +++ .github/SECURITY.md | 15 ++ .github/pull_request_template.md | 15 ++ .gitignore | 2 +- CODE_OF_CONDUCT.md | 21 +++ CONTRIBUTING.md | 21 +++ public/airline-logos/aegean-airlines.png | Bin 0 -> 2781 bytes public/airline-logos/aer-lingus.png | Bin 0 -> 4244 bytes public/airline-logos/aeroflot.svg | 1 + .../airline-logos/aerola-neas-argentinas.png | Bin 0 -> 683 bytes public/airline-logos/aeroma-xico.png | Bin 0 -> 1806 bytes public/airline-logos/air-algerie.png | Bin 0 -> 3111 bytes public/airline-logos/air-arabia.png | Bin 0 -> 1153 bytes public/airline-logos/air-astana.png | Bin 0 -> 768 bytes public/airline-logos/air-baltic.png | Bin 0 -> 2391 bytes public/airline-logos/air-berlin.png | Bin 0 -> 2380 bytes public/airline-logos/air-canada-jazz.png | Bin 0 -> 717 bytes public/airline-logos/air-canada.svg | 1 + public/airline-logos/air-china.svg | 1 + public/airline-logos/air-dolomiti.png | Bin 0 -> 953 bytes public/airline-logos/air-europa.png | Bin 0 -> 1625 bytes public/airline-logos/air-france.svg | 1 + public/airline-logos/air-india-express.png | Bin 0 -> 1622 bytes public/airline-logos/air-india.svg | 1 + public/airline-logos/air-mauritius.png | Bin 0 -> 872 bytes public/airline-logos/air-new-zealand.png | Bin 0 -> 606 bytes public/airline-logos/air-nostrum.png | Bin 0 -> 717 bytes public/airline-logos/air-serbia.svg | 1 + public/airline-logos/air-transat.svg | 1 + public/airline-logos/airasia-x.png | Bin 0 -> 2021 bytes public/airline-logos/airasia.svg | 1 + public/airline-logos/alaska-airlines.png | Bin 0 -> 4622 bytes public/airline-logos/alitalia-ita-airways.png | Bin 0 -> 2355 bytes public/airline-logos/alitalia.png | Bin 0 -> 2355 bytes public/airline-logos/all-nippon-airways.png | Bin 0 -> 1255 bytes public/airline-logos/allegiant-air.png | Bin 0 -> 4525 bytes public/airline-logos/american-airlines.svg | 1 + public/airline-logos/amerijet.png | Bin 0 -> 717 bytes public/airline-logos/ana.png | Bin 0 -> 1255 bytes public/airline-logos/asiana-airlines.png | Bin 0 -> 1814 bytes public/airline-logos/atlas-air.png | Bin 0 -> 3411 bytes public/airline-logos/austrian-airlines.png | Bin 0 -> 1586 bytes public/airline-logos/avianca.svg | 1 + public/airline-logos/azul.png | Bin 0 -> 2943 bytes public/airline-logos/binter-canarias.png | Bin 0 -> 628 bytes public/airline-logos/british-airways.svg | 1 + public/airline-logos/brussels-airlines.png | Bin 0 -> 1426 bytes public/airline-logos/cathay-pacific.png | Bin 0 -> 1166 bytes public/airline-logos/cebu-pacific.png | Bin 0 -> 3942 bytes public/airline-logos/china-airlines.png | Bin 0 -> 6451 bytes public/airline-logos/china-eastern.png | Bin 0 -> 1416 bytes public/airline-logos/china-southern.png | Bin 0 -> 3232 bytes public/airline-logos/condor.png | Bin 0 -> 1619 bytes public/airline-logos/copa-airlines.svg | 1 + public/airline-logos/croatia-airlines.png | Bin 0 -> 1239 bytes public/airline-logos/delta-air-lines.svg | 1 + public/airline-logos/easyjet-europe.png | Bin 0 -> 1534 bytes public/airline-logos/easyjet.svg | 1 + public/airline-logos/egyptair.png | Bin 0 -> 2228 bytes public/airline-logos/el-al.png | Bin 0 -> 1720 bytes public/airline-logos/emirates.svg | 1 + public/airline-logos/envoy-air.png | Bin 0 -> 717 bytes public/airline-logos/ethiopian-airlines.svg | 1 + public/airline-logos/etihad-airways.svg | 1 + public/airline-logos/eurowings.png | Bin 0 -> 1243 bytes public/airline-logos/eva-air.png | Bin 0 -> 4296 bytes public/airline-logos/fedex-express.png | Bin 0 -> 717 bytes public/airline-logos/fiji-airways.png | Bin 0 -> 1347 bytes public/airline-logos/finnair.png | Bin 0 -> 814 bytes public/airline-logos/flydubai.png | Bin 0 -> 532 bytes public/airline-logos/frontier-airlines.png | Bin 0 -> 429 bytes public/airline-logos/garuda-indonesia.png | Bin 0 -> 1414 bytes public/airline-logos/german-air-force.svg | 20 +++ public/airline-logos/gol.png | Bin 0 -> 4238 bytes public/airline-logos/gulf-air.png | Bin 0 -> 2092 bytes public/airline-logos/hainan-airlines.png | Bin 0 -> 1198 bytes public/airline-logos/hawaiian-airlines.png | Bin 0 -> 5239 bytes public/airline-logos/hong-kong-airlines.png | Bin 0 -> 3739 bytes public/airline-logos/hong-kong-express.png | Bin 0 -> 1801 bytes public/airline-logos/iberia-express.png | Bin 0 -> 751 bytes public/airline-logos/iberia.svg | 1 + public/airline-logos/icelandair.svg | 1 + public/airline-logos/indigo.svg | 1 + public/airline-logos/interjet.png | Bin 0 -> 717 bytes public/airline-logos/ita-airways.png | Bin 0 -> 2355 bytes public/airline-logos/japan-airlines.svg | 1 + public/airline-logos/jeju-air.png | Bin 0 -> 1755 bytes public/airline-logos/jet2.png | Bin 0 -> 502 bytes public/airline-logos/jetblue.svg | 1 + public/airline-logos/jetstar.png | Bin 0 -> 957 bytes public/airline-logos/juneyao-airlines.png | Bin 0 -> 3687 bytes public/airline-logos/klm.svg | 1 + public/airline-logos/korean-air.png | Bin 0 -> 9284 bytes public/airline-logos/latam-airlines.png | Bin 0 -> 2633 bytes public/airline-logos/latam-brasil.png | Bin 0 -> 2633 bytes public/airline-logos/latam-pera.png | Bin 0 -> 2633 bytes public/airline-logos/lot-polish-airlines.svg | 1 + public/airline-logos/lufthansa-cityline.png | Bin 0 -> 717 bytes public/airline-logos/lufthansa.svg | 1 + public/airline-logos/luxair.png | Bin 0 -> 1642 bytes public/airline-logos/malaysia-airlines.png | Bin 0 -> 657 bytes .../airline-logos/norse-atlantic-airways.png | Bin 0 -> 2101 bytes public/airline-logos/norwegian-air-int-l.png | Bin 0 -> 607 bytes .../airline-logos/norwegian-air-shuttle.svg | 1 + public/airline-logos/norwegian.svg | 1 + public/airline-logos/oman-air.png | Bin 0 -> 2345 bytes .../airline-logos/pakistan-int-l-airlines.png | Bin 0 -> 989 bytes .../pakistan-international-airlines.png | Bin 0 -> 989 bytes public/airline-logos/peach-aviation.png | Bin 0 -> 439 bytes public/airline-logos/pegasus-airlines.svg | 1 + public/airline-logos/philippine-airlines.png | Bin 0 -> 2410 bytes public/airline-logos/porter-airlines.png | Bin 0 -> 1434 bytes public/airline-logos/qantas.svg | 1 + public/airline-logos/qatar-airways.svg | 1 + public/airline-logos/republic-airways.png | Bin 0 -> 4154 bytes public/airline-logos/rossiya.png | Bin 0 -> 3661 bytes public/airline-logos/royal-air-maroc.png | Bin 0 -> 2721 bytes public/airline-logos/royal-jordanian.png | Bin 0 -> 1828 bytes public/airline-logos/ryanair.svg | 1 + public/airline-logos/sas.png | Bin 0 -> 1056 bytes public/airline-logos/saudia.svg | 1 + .../airline-logos/scandinavian-airlines.png | Bin 0 -> 1056 bytes public/airline-logos/scoot.png | Bin 0 -> 2065 bytes public/airline-logos/shenzhen-airlines.png | Bin 0 -> 1860 bytes public/airline-logos/sichuan-airlines.png | Bin 0 -> 5538 bytes public/airline-logos/singapore-airlines.svg | 1 + public/airline-logos/sky-express.png | Bin 0 -> 4238 bytes public/airline-logos/skymark-airlines.png | Bin 0 -> 2580 bytes public/airline-logos/skywest-airlines.png | Bin 0 -> 717 bytes .../airline-logos/south-african-airways.png | Bin 0 -> 4938 bytes public/airline-logos/southwest-airlines.svg | 1 + public/airline-logos/spicejet.png | Bin 0 -> 1429 bytes public/airline-logos/spirit-airlines.png | Bin 0 -> 1190 bytes public/airline-logos/spring-airlines.svg | 1 + public/airline-logos/srilankan-airlines.png | Bin 0 -> 1581 bytes public/airline-logos/starlux-airlines.png | Bin 0 -> 747 bytes public/airline-logos/sun-country-airlines.png | Bin 0 -> 3367 bytes .../airline-logos/swiss-int-l-air-lines.png | Bin 0 -> 1621 bytes public/airline-logos/swiss.png | Bin 0 -> 1086 bytes public/airline-logos/tap-air-portugal.png | Bin 0 -> 1529 bytes public/airline-logos/tarom.svg | 1 + public/airline-logos/thai-airways.png | Bin 0 -> 1087 bytes public/airline-logos/transavia-france.png | Bin 0 -> 728 bytes public/airline-logos/transavia.png | Bin 0 -> 728 bytes public/airline-logos/tui-airways.svg | 1 + public/airline-logos/turkish-airlines.svg | 1 + public/airline-logos/tway-airlines.png | Bin 0 -> 3510 bytes public/airline-logos/united-airlines.svg | 1 + public/airline-logos/ups-airlines.svg | 1 + public/airline-logos/us-airways.png | Bin 0 -> 717 bytes public/airline-logos/vietjet-air.png | Bin 0 -> 2733 bytes public/airline-logos/vietnam-airlines.png | Bin 0 -> 1442 bytes public/airline-logos/virgin-atlantic.svg | 1 + public/airline-logos/virgin-australia.png | Bin 0 -> 4277 bytes public/airline-logos/volaris.png | Bin 0 -> 2101 bytes public/airline-logos/volotea.png | Bin 0 -> 4106 bytes public/airline-logos/vueling.png | Bin 0 -> 876 bytes public/airline-logos/westjet.png | Bin 0 -> 2276 bytes public/airline-logos/widera-e.png | Bin 0 -> 707 bytes public/airline-logos/wizz-air.svg | 1 + public/airline-logos/xiamen-airlines.png | Bin 0 -> 1755 bytes public/airline-logos/xiamenair.png | Bin 0 -> 1755 bytes public/airline-logos/zipair.png | Bin 0 -> 1592 bytes src/components/map/airport-layer.tsx | 166 +++++++++++++----- src/components/map/flight-layers.tsx | 109 ++++++++++-- src/components/ui/flight-card.tsx | 81 ++++++++- src/lib/aircraft.ts | 36 ++++ src/lib/airline-logos.ts | 77 ++++++++ src/lib/airlines.ts | 61 +++++++ src/lib/airports.ts | 74 ++++++-- src/lib/opensky.ts | 4 +- 173 files changed, 721 insertions(+), 73 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/SECURITY.md create mode 100644 .github/pull_request_template.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 public/airline-logos/aegean-airlines.png create mode 100644 public/airline-logos/aer-lingus.png create mode 100644 public/airline-logos/aeroflot.svg create mode 100644 public/airline-logos/aerola-neas-argentinas.png create mode 100644 public/airline-logos/aeroma-xico.png create mode 100644 public/airline-logos/air-algerie.png create mode 100644 public/airline-logos/air-arabia.png create mode 100644 public/airline-logos/air-astana.png create mode 100644 public/airline-logos/air-baltic.png create mode 100644 public/airline-logos/air-berlin.png create mode 100644 public/airline-logos/air-canada-jazz.png create mode 100644 public/airline-logos/air-canada.svg create mode 100644 public/airline-logos/air-china.svg create mode 100644 public/airline-logos/air-dolomiti.png create mode 100644 public/airline-logos/air-europa.png create mode 100644 public/airline-logos/air-france.svg create mode 100644 public/airline-logos/air-india-express.png create mode 100644 public/airline-logos/air-india.svg create mode 100644 public/airline-logos/air-mauritius.png create mode 100644 public/airline-logos/air-new-zealand.png create mode 100644 public/airline-logos/air-nostrum.png create mode 100644 public/airline-logos/air-serbia.svg create mode 100644 public/airline-logos/air-transat.svg create mode 100644 public/airline-logos/airasia-x.png create mode 100644 public/airline-logos/airasia.svg create mode 100644 public/airline-logos/alaska-airlines.png create mode 100644 public/airline-logos/alitalia-ita-airways.png create mode 100644 public/airline-logos/alitalia.png create mode 100644 public/airline-logos/all-nippon-airways.png create mode 100644 public/airline-logos/allegiant-air.png create mode 100644 public/airline-logos/american-airlines.svg create mode 100644 public/airline-logos/amerijet.png create mode 100644 public/airline-logos/ana.png create mode 100644 public/airline-logos/asiana-airlines.png create mode 100644 public/airline-logos/atlas-air.png create mode 100644 public/airline-logos/austrian-airlines.png create mode 100644 public/airline-logos/avianca.svg create mode 100644 public/airline-logos/azul.png create mode 100644 public/airline-logos/binter-canarias.png create mode 100644 public/airline-logos/british-airways.svg create mode 100644 public/airline-logos/brussels-airlines.png create mode 100644 public/airline-logos/cathay-pacific.png create mode 100644 public/airline-logos/cebu-pacific.png create mode 100644 public/airline-logos/china-airlines.png create mode 100644 public/airline-logos/china-eastern.png create mode 100644 public/airline-logos/china-southern.png create mode 100644 public/airline-logos/condor.png create mode 100644 public/airline-logos/copa-airlines.svg create mode 100644 public/airline-logos/croatia-airlines.png create mode 100644 public/airline-logos/delta-air-lines.svg create mode 100644 public/airline-logos/easyjet-europe.png create mode 100644 public/airline-logos/easyjet.svg create mode 100644 public/airline-logos/egyptair.png create mode 100644 public/airline-logos/el-al.png create mode 100644 public/airline-logos/emirates.svg create mode 100644 public/airline-logos/envoy-air.png create mode 100644 public/airline-logos/ethiopian-airlines.svg create mode 100644 public/airline-logos/etihad-airways.svg create mode 100644 public/airline-logos/eurowings.png create mode 100644 public/airline-logos/eva-air.png create mode 100644 public/airline-logos/fedex-express.png create mode 100644 public/airline-logos/fiji-airways.png create mode 100644 public/airline-logos/finnair.png create mode 100644 public/airline-logos/flydubai.png create mode 100644 public/airline-logos/frontier-airlines.png create mode 100644 public/airline-logos/garuda-indonesia.png create mode 100644 public/airline-logos/german-air-force.svg create mode 100644 public/airline-logos/gol.png create mode 100644 public/airline-logos/gulf-air.png create mode 100644 public/airline-logos/hainan-airlines.png create mode 100644 public/airline-logos/hawaiian-airlines.png create mode 100644 public/airline-logos/hong-kong-airlines.png create mode 100644 public/airline-logos/hong-kong-express.png create mode 100644 public/airline-logos/iberia-express.png create mode 100644 public/airline-logos/iberia.svg create mode 100644 public/airline-logos/icelandair.svg create mode 100644 public/airline-logos/indigo.svg create mode 100644 public/airline-logos/interjet.png create mode 100644 public/airline-logos/ita-airways.png create mode 100644 public/airline-logos/japan-airlines.svg create mode 100644 public/airline-logos/jeju-air.png create mode 100644 public/airline-logos/jet2.png create mode 100644 public/airline-logos/jetblue.svg create mode 100644 public/airline-logos/jetstar.png create mode 100644 public/airline-logos/juneyao-airlines.png create mode 100644 public/airline-logos/klm.svg create mode 100644 public/airline-logos/korean-air.png create mode 100644 public/airline-logos/latam-airlines.png create mode 100644 public/airline-logos/latam-brasil.png create mode 100644 public/airline-logos/latam-pera.png create mode 100644 public/airline-logos/lot-polish-airlines.svg create mode 100644 public/airline-logos/lufthansa-cityline.png create mode 100644 public/airline-logos/lufthansa.svg create mode 100644 public/airline-logos/luxair.png create mode 100644 public/airline-logos/malaysia-airlines.png create mode 100644 public/airline-logos/norse-atlantic-airways.png create mode 100644 public/airline-logos/norwegian-air-int-l.png create mode 100644 public/airline-logos/norwegian-air-shuttle.svg create mode 100644 public/airline-logos/norwegian.svg create mode 100644 public/airline-logos/oman-air.png create mode 100644 public/airline-logos/pakistan-int-l-airlines.png create mode 100644 public/airline-logos/pakistan-international-airlines.png create mode 100644 public/airline-logos/peach-aviation.png create mode 100644 public/airline-logos/pegasus-airlines.svg create mode 100644 public/airline-logos/philippine-airlines.png create mode 100644 public/airline-logos/porter-airlines.png create mode 100644 public/airline-logos/qantas.svg create mode 100644 public/airline-logos/qatar-airways.svg create mode 100644 public/airline-logos/republic-airways.png create mode 100644 public/airline-logos/rossiya.png create mode 100644 public/airline-logos/royal-air-maroc.png create mode 100644 public/airline-logos/royal-jordanian.png create mode 100644 public/airline-logos/ryanair.svg create mode 100644 public/airline-logos/sas.png create mode 100644 public/airline-logos/saudia.svg create mode 100644 public/airline-logos/scandinavian-airlines.png create mode 100644 public/airline-logos/scoot.png create mode 100644 public/airline-logos/shenzhen-airlines.png create mode 100644 public/airline-logos/sichuan-airlines.png create mode 100644 public/airline-logos/singapore-airlines.svg create mode 100644 public/airline-logos/sky-express.png create mode 100644 public/airline-logos/skymark-airlines.png create mode 100644 public/airline-logos/skywest-airlines.png create mode 100644 public/airline-logos/south-african-airways.png create mode 100644 public/airline-logos/southwest-airlines.svg create mode 100644 public/airline-logos/spicejet.png create mode 100644 public/airline-logos/spirit-airlines.png create mode 100644 public/airline-logos/spring-airlines.svg create mode 100644 public/airline-logos/srilankan-airlines.png create mode 100644 public/airline-logos/starlux-airlines.png create mode 100644 public/airline-logos/sun-country-airlines.png create mode 100644 public/airline-logos/swiss-int-l-air-lines.png create mode 100644 public/airline-logos/swiss.png create mode 100644 public/airline-logos/tap-air-portugal.png create mode 100644 public/airline-logos/tarom.svg create mode 100644 public/airline-logos/thai-airways.png create mode 100644 public/airline-logos/transavia-france.png create mode 100644 public/airline-logos/transavia.png create mode 100644 public/airline-logos/tui-airways.svg create mode 100644 public/airline-logos/turkish-airlines.svg create mode 100644 public/airline-logos/tway-airlines.png create mode 100644 public/airline-logos/united-airlines.svg create mode 100644 public/airline-logos/ups-airlines.svg create mode 100644 public/airline-logos/us-airways.png create mode 100644 public/airline-logos/vietjet-air.png create mode 100644 public/airline-logos/vietnam-airlines.png create mode 100644 public/airline-logos/virgin-atlantic.svg create mode 100644 public/airline-logos/virgin-australia.png create mode 100644 public/airline-logos/volaris.png create mode 100644 public/airline-logos/volotea.png create mode 100644 public/airline-logos/vueling.png create mode 100644 public/airline-logos/westjet.png create mode 100644 public/airline-logos/widera-e.png create mode 100644 public/airline-logos/wizz-air.svg create mode 100644 public/airline-logos/xiamen-airlines.png create mode 100644 public/airline-logos/xiamenair.png create mode 100644 public/airline-logos/zipair.png create mode 100644 src/lib/aircraft.ts create mode 100644 src/lib/airline-logos.ts diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..d80244e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,27 @@ +--- +name: Bug report +about: Report a reproducible problem +labels: bug +--- + +## Summary +Describe the issue clearly. + +## Steps to Reproduce +1. +2. +3. + +## Expected Behavior +What should happen. + +## Actual Behavior +What happened instead. + +## Environment +- OS: +- Browser/Version: +- Commit/Branch: + +## Additional Context +Logs, screenshots, or other details. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..8005e32 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,2 @@ +blank_issues_enabled: false +contact_links: [] diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..e7c9089 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,21 @@ +--- +name: Feature request +about: Propose an enhancement +labels: enhancement +--- + +## Problem +What problem should this solve? + +## Proposal +Describe the proposed solution. + +## Scope +What is in scope and out of scope? + +## Acceptance Criteria +- [ ] +- [ ] + +## Additional Context +Related links, references, or constraints. diff --git a/.github/SECURITY.md b/.github/SECURITY.md new file mode 100644 index 0000000..4d873b5 --- /dev/null +++ b/.github/SECURITY.md @@ -0,0 +1,15 @@ +# Security Policy + +## Supported Versions +The `main` branch is the supported baseline for security fixes. + +## Reporting a Vulnerability +Please do not disclose vulnerabilities publicly. + +Report security issues privately to the maintainers with: +- A clear description of the issue +- Steps to reproduce +- Impact assessment +- Any suggested mitigation + +We will acknowledge valid reports and provide status updates during triage and remediation. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..efdc481 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,15 @@ +## Summary +Describe what changed and why. + +## Changes +- + +## Validation +- [ ] Relevant checks pass +- [ ] Manual verification completed + +## Related +Issue/Task: + +## Notes +Any deployment, migration, or follow-up notes. diff --git a/.gitignore b/.gitignore index 862e698..ab06e51 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,7 @@ # production /build -.github +.github/agents # misc .DS_Store diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..33ed9a2 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,21 @@ +# Code of Conduct + +## Our Commitment +We are committed to a respectful, inclusive, and constructive environment for everyone participating in this project. + +## Expected Behavior +- Be respectful and professional. +- Provide constructive feedback. +- Focus on technical discussion and project goals. +- Assume good intent and communicate clearly. + +## Unacceptable Behavior +- Harassment, discrimination, or personal attacks. +- Threatening, abusive, or disruptive conduct. +- Sharing private information without consent. + +## Reporting +Report concerns to the maintainers through private repository contact channels. Reports will be reviewed promptly and handled confidentially where possible. + +## Enforcement +Maintainers may remove, edit, or reject contributions and interactions that violate this Code of Conduct. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..572d0d3 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,21 @@ +# Contributing + +## Workflow +1. Create a branch from `main`. +2. Make focused, minimal changes. +3. Run relevant checks locally. +4. Open a pull request with clear context. + +## Pull Request Expectations +- Keep PRs scoped to one topic. +- Include a short summary of what changed and why. +- Reference related issues when applicable. +- Update docs when behavior changes. + +## Code Quality +- Follow existing project style and conventions. +- Avoid unrelated refactors. +- Prefer clear, maintainable implementations. + +## Commit Messages +Use concise, descriptive commit messages (for example: `feat: add airport search index`). diff --git a/public/airline-logos/aegean-airlines.png b/public/airline-logos/aegean-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..6d0d175f75438f8cf66e41dffb2863a7e75203b6 GIT binary patch literal 2781 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 literal 0 HcmV?d00001 diff --git a/public/airline-logos/aer-lingus.png b/public/airline-logos/aer-lingus.png new file mode 100644 index 0000000000000000000000000000000000000000..512974fcfb41b1fe7027b123dc87e627bf828efb GIT binary patch literal 4244 zcmV;F5Nq#=P)8 zf)tv3^esC2J39KExqzJJe7bpoMD+nNRx4H0yQ!neL$^VM9VUq+9P=YyAI5QqaE{N6 zUb0zS6t9=4HlRR3Q+WtMRoEhoZZajmOs}C+XCQ_!mB8!+UV6u}pTg%nN;MYeP%Q`% z0U>r``!TlXO_v|T_^8+-(aR8Sv{Fyi0R;k@$^ouZHOWhASV=0x`724HVssK6y9#(8 zE@IKUsBNN`rlk~6COUrFB3)yDUt%%={30s&3MK?t@O zO-8{LK1i16f*e!I3y6={RP9X!`quyMQ7MNSVxICqQXw6e-Jv|O6jl{$Jq@0iBwj5PH76MKOA-iG_I`iV|#N%wbk-BS3+|O@)A= zHq79mAIjN%TJWXVoG|L zh_dQFQ14airdg*|15{SHsSw~sPePbep%#Q=%G&&f5M`)P@6&y!wCZM$wvMg?C>Xe@ z5G-!m4p%xE($U9LMXZLUOwSl1)Q*^+l>1`VDxHHH0}7Th9mL6>q%3N3zeLS>`!rtj zbRW>QNOaL=bmmB?L@{`(isgCD#N_m0Lgk1#q}->|kIc}ts_@0)gI218WKmzF8^>8Z zG#3}Q(cmQ`PueVAns0K^Bx4SBn}c*Bpv!?9O$UDlJ~>;8`bZIFi}^ue z)g>t%%Jvm53a0VhO_G1Oea2EqZ($MmJyMQ;nI$@Gk>~&f`w{QGi;Lc#?4@x@FHsXf zC4rcI{V7XNaF(*gRZGmy>?&f@6c8ohE0ryJO?XCl+X@whvuvC@F-mm5rGP%+Q3V1N zLmUBN{6H9ybn!LzIf9FS1y;4doJVa+x>rgDH9+Tl*za7~X0uhq`n-nXuFM`nXIB+P z+T!0;*>npct&uGNg_`Sr$oW!SST;I*45E}S|AC|uIFN`WwH}tH$6NyV6WG{iSrWv< zeu0Pr*QqJyWOon==@CL@k2#^V>z+`hs=~TsaR{h9xaJ3(g~uxRIirV;2W<9|U!dQ? zW_>=j1mq`=hQj^62F0Zjgjt_oU)+}2N5nW)LTQivUSW&AU$3>x+!5BGW&q^ulw^cJCgR($?I95g||HFvXJy;YH}=n%w=Hn^FuC7XIekUXQ0&IXeYfjH+O#3OLYo*Zvja9E%g!hFNA>be0o zs~cP=T&V5Z50&<~joLkVG!isiNLWH34n=iW-{TlnQZ9UuiW}#H#$p;^r3z6zgnJht&4y=N0>+<8^7e zmRGY9j$3$O*9hM;+~}p5IEN88^9lUF2Le0snjf=d7(8T0U!L)Q?xx8*k?Nd=V*y=@ ztG=`bjj@n=@IyR6mxJa?Om5nR4jl`LFp{4?jW3Z>z6k%&?V}aw%pXbn ztBMWodPQ?{I{!S@G194YYHkm=s(R_}8(0qz!`7A}QG2*YG(<4qyoI>Fuh8K`untaq z70cGm*Ie?tuY3>t`rzUP^c#-#;+!|HdXDM=DhZk^!2#RMl02*i562UjcJf*zr2#RR z6t;lnY}??i`{vB-?y2J(LuV*6mA!S({S!y5f~qCEX@F6p+35J5lvn5@SlM6rzbNQy z!|@R39IorD6u99kSRx=9G*`lv20W~WEH^9px1Ymw`^fVeW@9#WTAJH>_(W&_ZkW9` zkOg@ZmX(+f>+q5Z7rr0y=sRprS|D&p^Tj?O`33q4g5Sh3i=U?hA~aW!;-a=V=wTdu zFodh&Gx+iu%Tdw+NapgOdasv;!qhFeIj@@w=`URLd9x(DLiv!)7A?{KM`6*|6($*x z-sqy0T!z6u8IskoyPDYKu6M8OPM2fJp%$>Hr4T?ea}X_%AH|kCvgoG~%;)Jpp_+h* zo06d5rmYe206TsRP8&TTNG3_uFj;H%^MahViDf0{Wg!w?AaX9Ka6WWHGS~i zdRO%~Ajna(Jj<>m4DKpt^{+Q=2#C00l40VQ2+e^{f5dB

7=U))aGdyBwXGK4h2L zF{V?=coJ_NGgxiaZl97l{Od$t4f#2CrC|nZ@*94xms->ZL}&n2H@GN@>s7e+Botq= z#ZyPj%IS7)eAECWVcUn4Qx@j7<+e5N%iQQl;v`N?Hn%=3VDxc23nfl*bhN zVuivMkJM!JE9+hLe?-u|P+2aNRLDv7=I_kP?llaMjK9H!t;Vo?AmEcilr6}vEzWHt zrezHgF=^^g@LXpduXVy64XXi&c@VC;%GGfD1m~!O3Rp>0T7tm#Wt}ZNPVcJnI==sW zWr?!J)AY!U>^^sdJ=(S|AQ^uHQC1qg^hY2gPNJu}SeDyT+?v@>#5)ydR1QrpEMS__ z8sC~QwFboGe1-B;7tOmfyU))mo7OK1;>#P+>Cy4Gz0kBF&XeQGKN=aG& z@TP&U_zlwb?M8SO&j<`Rg($q6YzA&;OuZheavO$T`Bd+VGFZ+sDiwjqA8>M$o@L;9_K{iW4){BBq3zn~ZpZH*qxLU2HhNR4PR4OIlCIq900 zsR3fgBU?Q+kKU9qNGKh#LTS?(VY*ELl?3|@g!}$l9xG|1gm~y_mK^68*&d@~Bc)zh z9Z+ew`kU}Owg^TRA`p_iGzszPGps#|6P#m2ls)zO=$7wReY3+N2(_m=Cl>j>6&5;&ktYAr*~SZzR5!mz@1Kn*lOg;@FQGo zQ0XP}W*5!C#e9k7LGhhgeT2rY{UOq(yIG#_T@G6$gq)oG68&CIiK$}4OB5!jR7(q* z(7_M#A6;_(N#Si0f?0WvSTc~0U7ZzZWIcu7gY61!bG{K|iS+0j}M*#g69TNtW ztlyk5ph#;|?;EpM-3?G_uz08$I`o`H3ck8Cc|W!VqliuW<&D zr{Wtt^~8ARsNXeK&D20^Zn+A<;G=%9z&$wUX^0)LDBu8Y)N))~eL$5W40ptY^^OHK zFW3qeX0@xS80Q@I6>8;125!a|&-n^y265BuVJr`sVWG=ogf`$EV zlxT+~pGN94sV<;kKocB%XShZMoC7Qj*Web7b&N`lNY!=)6bvllYe|3ENFs*XO;YD)9Crfr0>bT)cui;$TomN z0lOFf0(Tt(y*Yzg@ee?`oNPVB;8+si%(nbzzA#@c|IV?bug}Wtb~eE_YOUs3O*23@ zB0-Ez!!<8}ZbX7Tfjqnp!ldjOaD;`qJ+trWc<1mL zy8MCl0Nsd$rbfw0000Aeroflot \ No newline at end of file diff --git a/public/airline-logos/aerola-neas-argentinas.png b/public/airline-logos/aerola-neas-argentinas.png new file mode 100644 index 0000000000000000000000000000000000000000..d2ac32821d081068938a30248a0c882836428b95 GIT binary patch literal 683 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT1|$ph9aIEGX(zP;`&5f&)o_Aux6 zw%pr!lX5{65SgCbX1z8>{qgn7<`vI>uUox&uSD_@HrD`&)<6`5%4-dr5zneWx6H*! z{)|JuiJPm4Lz;?XjEhUakALxpS{$-vj+f3kRJP`b4UeP0iEFBeJKGY692YkZmWJ|v z{^aWVM%x0`XX3Vpd}9t6zBv}9b3B5_E&7UMzY;0pUnQL&#Z#;F@t{KS>i>U|1 zos<~676`H>3x0bn7I(nnVoCO~X%&BF{Je=>7kUEREOCEB|n-nR2}1&0*si|9!HT z{1i~tC|YdWmiVPQH&C88;C}0?g_6G(-}nD=FyqW&nKMUaPRHaN&O05~E{q7u_#{y)2B$g{Y(xcun+(9x*k!4s{d;+B@O`H4f^5|tjo<#Uon+!96Hzyy$n fBP1q7ERK2dNBfj$7p)FpB4qG%^>bP0l+XkKt7sU` literal 0 HcmV?d00001 diff --git a/public/airline-logos/aeroma-xico.png b/public/airline-logos/aeroma-xico.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb17d43801755fc742f6c7f1d2760c54d05e929 GIT binary patch literal 1806 zcmV+p2l4ocP)mQ|H4f!Eeq{k+16j(;Y`-CQI!<+JCfSOeXv%3k!M|yTk-k1O-B7{Q<9h}( zkU@-M8jD#+$gp)RXC5<{#AIf%oRDNZ?Kea)^_f7}fM)SGuX8ge(U$$$nT82_(2gtk zjJ%|9nq)ednhe|sr^HFrOkq3Au{XCdk$4w`b;5e%R=fABNE@(%+T&2$!) z@S?nqD~cORZ9dE3&d+Bwzwie4a1qDQmIK+9`qZTcRjEV;DpG|SY|YLbLO0Ii0X}9R zvshD%7I*F9w0IwkxRbb=5j@999KhC8B$lDZX&Gv=Cx>$vKarbHP|N60)B;at2_XV2 z_>q&@nw*4+lqul!J)c{6fX8^0d%2cVXi8mT#q1{3rX}a`5MMDZpFjLfg)L}b#u6eh zkQ1qrSaw}{@+7xVkvOr$_p9<2lA>xV8o3OZq*RMW2!9BdsOadybP~ z#r40r3!@2Xn8Rtr*oSXfo6qUB4K?_ME0eaNJu3(in#?Z6xE94|$QJ95?LHbo@Aph{ zXv6RVt`C#UFH_5|=QCP>5#|>pPP*1pc8Sdr*(oEGJ~Z zFt$l0m?sFVO|pj7tYQU=$z>p~a3pm(i1&(dCz(SdYVZ#s;Tz&~ehmeN9*oxN7BCO|B%JK)psK<91Xv0*9ax7yv zatS3gfyOl8-vXXCwxKSgSxhsYB}8a2wW18Ba~f@mNpzwv9~1JC%g!9kP-buwmlGm1 zlRY8}ri2@~j=yM3{UU}i`cj26_>@=Z!^td5nKb_rX0`nF=dl_`jPGz3qUux&Gjx9Kh-mFP;P=13PAc?m)R^}5sR70?QF3jf;o}3gcJ>- zHT%$yKJ1w0#OzAcp#i(H7YA}^!tRvI@RWGq1wsnu@hp3A7-Ja30j1%+qE2+A9z%+G ziyY2lw4oU!?*)Ucid6 zJq>BZSY|PfK77Xq37_*jqnXb_`f?+?5G$>(>y=?|PU9gyi@;} w8sn6sVnVr%`_5vvvX!lDWh-0R%2u}i53$IA(k;HX@c;k-07*qoM6N<$f)$WyZvX%Q literal 0 HcmV?d00001 diff --git a/public/airline-logos/air-algerie.png b/public/airline-logos/air-algerie.png new file mode 100644 index 0000000000000000000000000000000000000000..9feecfdebfb6b142f247ad5eb924c8a2fa1f43c7 GIT binary patch literal 3111 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 Ts$#&q00000NkvXXu0mjf>cSEi literal 0 HcmV?d00001 diff --git a/public/airline-logos/air-astana.png b/public/airline-logos/air-astana.png new file mode 100644 index 0000000000000000000000000000000000000000..927008a677b3ca4daa56a0860802e21854859db5 GIT binary patch literal 768 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 JPDHLkV1grBSZV+O literal 0 HcmV?d00001 diff --git a/public/airline-logos/air-berlin.png b/public/airline-logos/air-berlin.png new file mode 100644 index 0000000000000000000000000000000000000000..bc988a95ba7d0d23188b58f8d2660b356f3aaf9e GIT binary patch literal 2380 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 Canada \ No newline at end of file diff --git a/public/airline-logos/air-china.svg b/public/airline-logos/air-china.svg new file mode 100644 index 0000000..b89229d --- /dev/null +++ b/public/airline-logos/air-china.svg @@ -0,0 +1 @@ +Air China \ No newline at end of file diff --git a/public/airline-logos/air-dolomiti.png b/public/airline-logos/air-dolomiti.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4c57268e417a8a95a774b8dc8a2c27e6a7d3da GIT binary patch literal 953 zcmV;q14jIbP)faBRk2>9K)iM;W9+Qb)>Rxz+=%r;siuVVQVH|V^-M-QBu#kEdh&u0gE9@dRn(vV$qLa z97M?^JRZc$`W-wJ&M;jdO4i_Ik3n8VQ=GyK{NZ~T{%AFbk^}hI)F zFJbsYxp51k;2i$&5G6HMLSk_QmGGom7=C#oTv41=(gYaf8;lC#<(VerVfdxr<0M2$ z@c@Fnjh46w3DQV>drx7EclvFb=PGdoc?#um1QG%l(HyUP3S%tl8Rc1}PaILwV71~K zeNj9XNEmZg83|D`9Z$xx%@_mm!2%@k5~dwQ$y&S~O_2A{5mzBTx`ToEJk~ILLuH7P zgZSJC@-!;p7$l6&qJDITVG)Zg2~lzme;HBIdw(BMw+%VXFxAln4HYDb^#1iHCPD6F z)A5&YHbe zpIL&W=BH8(<OtrV~WTO1u)yd(VHE4GDvDsE1brnS94W zluW^+F`N$O!ybqauA>J&_qtbF0#VW%561Ax^$Hr}g7S6m@4@b_-@{gjlBRKdw10^q zkPuphOrbcB`A&IUFA>1(lM>4z_h3ItdgHQ8Lhc)NT52hj*1{oaR=AG2(oMBM>EJ ztO{eqiKjTa-$Evmiz;cC4W_Q3up00000NkvXXu0mjf_~W|4 literal 0 HcmV?d00001 diff --git a/public/airline-logos/air-europa.png b/public/airline-logos/air-europa.png new file mode 100644 index 0000000000000000000000000000000000000000..a9f503dd0aeb0ae1db438e8922d61b00e4f44309 GIT binary patch literal 1625 zcmV-f2B!ImP)ut!>-3ZQHhO+qP}n_U=sHf4-X-WOelhJ0rf(?o`&xE;SzT!V53F z@WKl(yzs&cFN~trf+)O*5_Vw%D&jN5TIPKQ@lXw;umLA<8CP)u zN3afKPzQSHO+!v|6D<06)#5?*t& zAkp|9{cr|iX)g-l;RtyjMG6deDX$;vkr6SrMR^eoa1!F8>u8B5gXD}we2m3ah|4aZ z1frc5<$KJ94`RTFyNci4LsvZcpPX-?9nKk!1Tl0LDV;2G>9H50bOw`A8##~;xzG|j zA{3`39zhbUR^&R3NvMkg$c2*Vj{Oj&d3fGrJ;{Sp5QX#Tif{37h&DgOJV*#vF#^XS zVO&I4e1nHVT+mN3AEIyrxwM7JiL(%eHAs$FMZ0lv4&u;uq|@h8{|&=6MM;6<5QRy2 z&tQ5!idhf`*5Dh%?R_jnVP~YqzQ8t!!dSfGU@`9jF|-ZeI>=QGqHrZ#BhO(9L}3$d3vx+=#Z-?h;69nJXJ^DRNE0Q-MFO4N=&NH!M5)Jk~-K zrsFY-TrXjfBF`x#4E*sM24|KgE{vAcxS`yMidy7(6de^emDf-PQGpGVP;So`@Usig za(Y1&4&eifU9UNAE2e5yJQS>f*${<=c*3$UZ)1I)+Ky(&O^Ct-#99`nIz(wOqQbQG3~Jy+gdL|RJ~ZuUGl)`G%c8_! zI7F#Mn7i_yFg?s7?!$7V!$VFwI{~6p-?A{zs872<apoXScX2LVdUcx?AST2_HnMS&;J!U=;zkLKyVUq z1OL-8cl#iD$I z(IJi~w~;&GA(c^QPvU!n2S;%+0XHEIY{u&@EU*QzGfbXoc<;YIN{K5DM$MxUI`bad z;Vi_0AGHzXa4q>6qr+U7dl-yYg1t7`3NdgC_3&tjhtOpLu8yr!NNZS-FVGREBYX_m z0#Ao}0@fR1=oUsJGrmItRKqI8ZN@1FQ|kx{;4;G^*IXYuCPU0G_ z;sjQrJF?+5SFR3i;7#O053Ixq+=L&3J2;Q+n1DJ+gy&37$XAir France \ No newline at end of file diff --git a/public/airline-logos/air-india-express.png b/public/airline-logos/air-india-express.png new file mode 100644 index 0000000000000000000000000000000000000000..818d24616dfd69c3616790f00ceceaa906904b82 GIT binary patch literal 1622 zcmV-c2C4apP)3X}NXI_yVw=(Rur%OK0JLgevxI(A|q zda=z1EH9Bz)hXtMf#=W$GqIKNq#{?w927;!=l_}5k9C-W7Hrc5D(vXauSNzNg`#kf zK8E9QRDvpDeqQq$mTj?Bb~1fSs9nu(A zoP!bcw;!LOJXDPM2;@<$lGlO5f)NGu+fq)_(Vke#u>2fp(zkPi5kYpQeKhACxpMr5 zJn7TBJwzW%FeVOk9dxdWR=f!u=BJK}Aa%QLBO8HmYW!Mb%u3REUq$w*=O z4TIJ>->~z>BPPLA!PE%BjF2miO6Xuj9n90Lnqh2H&ZMu`c|K?n$~IgIRT4_1Q@qUJ zbuP6Tgm9ZlF!iv^;t=`_N;sfmz~HN6rsmynclb^E`_?3w$#NxhRxlFIOL|pf9KaPO z=bAII^{7x%`TH&?rv{^2H87gPb6hYfXm(U(wSdo=!Pu{w?ebnt9p_3MrdrmpJPpdZ z!Pr07{A|)!DRjacP!0~pe$}we8ZA5R(&xjq<_!7z;vpNiyjVb=$9E7CO%rA4UY_Fzh* zk4CjX-aWfKm|KyiQ7!9XxIGxHYLQ_6fQqLCtd_to*1y1HwnJI?TyTSDyIR_s%);{0 z-_I=XcT2_SR?A`5zs{tev#}G?P~E}7*shj-7GH&Ycht9+A2~f3-D=5Z{d+Aw5MM6q z!PvmxXE`qz`_(cI70tgwF@ndf+X{Xs2BTXo1+4$9Nk5e_#pGj&RGFRbs9?%rfM&JK zwfH*Z0h!QaRbf?~6wDJ^^W~U6A`^Vf4#)lxCIoyMdbUyuRIJ6cGx@A`k!H25LL-x4 zu0e!Z-^L!+xjC^bhIzOw+uN9r_oKy3%@)PnelgBX$Y2P?k8hB#7fN8O+`O6H&~4NB zjCcm?pOa|8lx1LFAxpnn0{^moibrCO{Hfimc5 z2Kuq%Thl!<5pWm7|pa8)qu&{zbZqGQyT>G?rN2P5%! z8*|VS52Lo-+j0AhD!2pxU>X>IAkz4Q;eEtzEJ8P&X7yev1r-p$4R`|Y;0x{$zr**m zzr?$E8aLw%RAL|=sCbg`mp^L!PaZRV(Ec26;c?s`<{907*qoM6N<$g7V8BJpcdz literal 0 HcmV?d00001 diff --git a/public/airline-logos/air-india.svg b/public/airline-logos/air-india.svg new file mode 100644 index 0000000..8ccd355 --- /dev/null +++ b/public/airline-logos/air-india.svg @@ -0,0 +1 @@ +Air India \ No newline at end of file diff --git a/public/airline-logos/air-mauritius.png b/public/airline-logos/air-mauritius.png new file mode 100644 index 0000000000000000000000000000000000000000..a146def890cf1955d82025bc252d9241068e840d GIT binary patch literal 872 zcmV-u1DE`XP)1PwXJy;?y>%x;xF+HKE~7bztl}SY_HxN$wxU{bqBhM--TUo8Xp54KNNeslH*H|I%yCY!WZtBNoc@sL9e-{8=t+6Fq{ zjQ<#g?FKr>VH2 z62C(2y_40BziW~m+GjK43h`$urjL03PKZ&8ndoQjZr06HfuqE2#YgUAm5>o5;be)| z2o-?~RL3LX{|4PL3B@~E9kcAwiG7S1rxK%T5S@=mUGcU0?m_AfB~eg$#oIZ~f@v16 z#IKAh;;P|O$Cq42Er+PfZ)nUB+K-oPhB4>pyF~lV`X9xc{O^rv$>xiPVj6!T7GoYJ zqCX0W)iq#Dk$5nsW9epuScWO+7XGH~pM~VDyzG;#zhf`tqAHn$S)p`&8)on?#LfJN zCH)frefBH%XZ(#OXodFZlnZk^qAi-O925B-AK-cMeYhGv#r`XTxP(WlLnj4{OB2_` z3H*!MJB@vu|E%Pn&b0X4y70jkbC y?~(HM;Ftga003c-{ZrdvH!uJI0000003bQ1N?HFjGyLQL0000q;AcmnJ%J8-YZn z^X{7(g_XyNRNm?0Bt2=Q@op>{0dsG>6*zb&6p`n-KVt3~VNF2vOoV_rqL~{+e1`D|R!WnR6)!UI1qTBSL z@%Tv#W~7-eK;r!AiYgPHxRR{Xmol4e66=#A&kj8MBo6Z}>>ir9#-6{#I|;rW+T88W?-AH zlp+R*3CGl9;MMZktO%7*7c(f1XPNzT+LKBqQ|QXBZ^-t#YastuFFFBpR!+|sQY3-m sdn%HJ`r?^n90(*1`VVz=kO8z+pe){oNbMfUBlccoxSE>d-r5Fo{aHi+qU`X2`ATHpG{}}WB!)!zFP`^ zPy!<`0`nz-5g36H7=elR@@}wQv0igr{*dje^_umn`w(rfJ4UVITSbZ_*kFh4V|F+p z!Fhl-(;1`Ia2_OZAp!bLaS#New34nEwVwTigb?Ttg+LG;t=m1rD2}rRL_vQ_hE%My z(h)-|IFCz+fc_#IthaT2n!K9{LcgRaFhbs?BPO(nzz6!vVju_^b;HC4NCi$%jRGKu z4b%yv*0tU>L(#;zU?`x~b;8Iy2_m4HSz$k`(>MrOwC)yG0usC%b-~0&k|HN)k|H38 z%+dj)v^GD|zFSyc5X3ui$Ix;gUUN~_*N4HQ&3cx;XJ_odnPi2Ku$qn z^V%QdjEVO&ytYA2g<N^pRtnI8nPp`0*E7gK>5O4=AVqyn`X7mU){_Sk?} zx)e6A&vRMgXchN)f^Y^Dh0SXo81HWFXGnWqhv#s>1Y_(O$|N5M5*_o73C|^Pfo7N! zMmDeWiHQx93hYobq^K~#wLi~)A>#dwuWXu+bBcK#&nqV0%lN{Y1%)D*VqUYjQ&=95 z5~X?GFwsedx7kwIeof2f2@_gEifma^R2bNPojXQtEbk?7LIusTC(tT5-01qL|IW&P`wR*DbwZI*Y) z+vKh9+a_<%u^r(B;-|F02n?qLMqmU+UAir Serbia \ No newline at end of file diff --git a/public/airline-logos/air-transat.svg b/public/airline-logos/air-transat.svg new file mode 100644 index 0000000..b078a8c --- /dev/null +++ b/public/airline-logos/air-transat.svg @@ -0,0 +1 @@ +Air Transat \ No newline at end of file diff --git a/public/airline-logos/airasia-x.png b/public/airline-logos/airasia-x.png new file mode 100644 index 0000000000000000000000000000000000000000..5d083e3848907f84b90fb4f225e89f5b88e7c14d GIT binary patch literal 2021 zcmXYxdpy(oAIB$twS$V3Ttc~LbBiR=A#<7JIPN=c%V8xsIjs9S4W*_O8>0Hf5h@u6 zIWDP|TXb=Y?8=528#9+}Hrt%9&iOo^pV#O8c)c%weLf#tV1Un7RXtS@2(%UM3kw2H z?~M&s-cZ4gzkx$3Ey(8>sHShvEC{rzGSEN73ozG#g~hHzAT(1r&GZn%!C~Caj=A4q z!or?nZc8(@p_$s!_X7&0nL@}W5Q@1q)eK5C1L`3Z6DY+TP{4#x&8&bLim4R^P%|Ka zYyhM-0xR+c5P$YQ=D(A_J7gdQI2-0h*MISb1GIb}Vq!%$gOV+5$ouWc zkOO3E2da%D)z*n>?@V=Yp&mR!b#kLRAEmpv(~o%2T|MbXz3A@V3{Uu&xBr-Lz!*Gm z>_pIbVCZ;II5P;r3_&o%BAL;@vcjWTh!|ERk`*1tI*FPt>ltJ9Y-(^vlBT)oc0U}vsp%wTWKWZs&&aeMYAZZ<1>7MC-deUE$h zJ~tE&NG%mhsT5N1y{JUkbsb#6Tb*bg`Qfu4N>o-enZeP6__Q-vUrrTN~5jP=&N+bDq~DCHZBykGh>mW>`&*v*|J$>fIiCK+(zq-G>%2{uyD!^ar44CQZP}>4zs}UU@lVI$ zJ?x&;c*L0q)RAPKW7{0jt17kt{lXM%H&&-VMH;KNT{ga=5aY1lkF5%#T z&+3igzQilsybtLGOv)|~>S9+Fkfn#HykJDdAiUXA#t_s9Fta^YV*#*@zSuX1&hv5%}XC;?>G|yb_?mc36_Z-u!x-`Jn zi+%pQ&Euz0H*IH%o<^y4MD%(+${A)S{SnttpXfJoM-54aM@zd)OocxuH-A21aY=b0 z@YK7mtT>(2at&hTYch;?MsHP3M2IaU5sy(i5wE9re!AoIV@*_>yF?Uk5lbX1m%6JC zo|Qow{eo)oJo`uqaFY-^<~77%e2r0W0=9mK^Oxm{oVMt;`}cl0bZC=hZd7xD(S^a3 zM9CDVr^UJZlh^3;3imFKjow>C#H)uGuvWpllZ9Nu?jGyVkG$Qr?YSn1lr((R@LIa~ zh1fsz=$dAWzPrf_KMo9Ow2Ra~RnL%#i|)9V`MFef*oAq&Cwknk4&f^ato7^Ca~|bO z_hR*1uN$=NBAJar8TVA#JYl)b&-GVIo)jxJ<>5CsT|J(X{);N}TucYND(0lJx*6g3 zoEkXjw`I)1TEnuVskd5nXnodOvIn4{_<^%EOTjvNmv@BsJUsKQwAVQGkh+cG9}mjk z;)E7ftmNFzrmfAxGz$Kpy?wI;JuCD>=F z?9r4+L}XUqiuQ3Q`h`4O(&v4tN*EmrRNd)ohRl=NR+O`5ChlH zOgf6Km~t&b`1ECLmoU0=)jRkEyHK=12UCZOR6jNxPKWA(aSY=V6B_u4MD2gyhW7V| zQjlF*;rpn^Rb_wegG)Nty~5qLo|^glCWth!%09O!>TF&*mO>oz=&u706oKsr9h8;o zd~UxmG||AKU!u!sfvd^B&FJ6U4Q2Sz*w&rJsy~*)vTX;81^XO+k!ff@NVkdayotLG zweQ{d1@6@Of~s-7l+zZp!qWvAirAsia \ No newline at end of file diff --git a/public/airline-logos/alaska-airlines.png b/public/airline-logos/alaska-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..a2eed0279179e9af3a505f00926cfe5c82cae0ad GIT binary patch literal 4622 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 Eg2}zKqW}N^ literal 0 HcmV?d00001 diff --git a/public/airline-logos/alitalia-ita-airways.png b/public/airline-logos/alitalia-ita-airways.png new file mode 100644 index 0000000000000000000000000000000000000000..b674de1aa4fecd0f377e69f9c97ba757e63f71aa GIT binary patch literal 2355 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 RYuo?;002ovPDHLkV1fvHH(LMz literal 0 HcmV?d00001 diff --git a/public/airline-logos/allegiant-air.png b/public/airline-logos/allegiant-air.png new file mode 100644 index 0000000000000000000000000000000000000000..f8dac3cd7fb0671b7ba285ebacc3b8e3d90a8681 GIT binary patch literal 4525 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 Airlines \ No newline at end of file diff --git a/public/airline-logos/amerijet.png b/public/airline-logos/amerijet.png new file mode 100644 index 0000000000000000000000000000000000000000..fbeab85a676d213542ca00ffedbbc41fd81b238f GIT binary patch literal 717 zcmV;;0y6!HP)8z+pe){oNbMfUBlccoxSE>d-r5Fo{aHi+qU`X2`ATHpG{}}WB!)!zFP`^ zPy!<`0`nz-5g36H7=elR@@}wQv0igr{*dje^_umn`w(rfJ4UVITSbZ_*kFh4V|F+p z!Fhl-(;1`Ia2_OZAp!bLaS#New34nEwVwTigb?Ttg+LG;t=m1rD2}rRL_vQ_hE%My z(h)-|IFCz+fc_#IthaT2n!K9{LcgRaFhbs?BPO(nzz6!vVju_^b;HC4NCi$%jRGKu z4b%yv*0tU>L(#;zU?`x~b;8Iy2_m4HSz$k`(>MrOwC)yG0usC%b-~0&k|HN)k|H38 z%+dj)v^GD|zFSyc5X3ui$Ix;gUUN~_*N4HQ&3cx;XJ_odnPi2Ku$qn z^V%QdjEVO&ytYA2g<N^pRtnI8nPp`0*E7gK>5O4=AVqyn`X7mU){_Sk?} zx)e6A&vRMgXchN)f^Y^Dh0SXo81HWFXGnWqhv#s>1Y_(O$|N5M5*_o73C|^Pfo7N! zMmDeWiHQx93hYobq^K~#wLi~)A>#dwuWXu+bBcK#&nqV0%lN{Y1%)D*VqUYjQ&=95 z5~X?GFwsedx7kwIeof2f2@_gEifma^R2bNPojXQtEbk?7LIusTC(tT5-01qL|IW&P`wR*DbwZI*Y) z+vKh9+a_<%u^r(B;-|F02n?qLMqmU+Uqr#8cWU;qFB000006z9I4f+SsnFbwAyv1f2>+qP}nw(arSwr$(CZ4K5o za^LN!iOBe)QP+F%4BGYmS((+DPuKhf9ndH{mx@ZfCQZ4?tclVKmt#dL72av0aXqIi)uODqC&VY1pP*s91u@z~!?+p}@Fvu`3KH-uG>oSq9^Qod z29s24h{~Y3%6j+UT1c!=&ch~X7#~8M1WbU2@hK!A7m8KLfEZ_>3>wD!kQg$s$ZHEd zR!!5tXsyzJwo2bnwN!`r1k)6X16T$%euFsK*a{7!8zi6~6hk2a|3k3{YoNw2kQn}k z#`F~UozQHI%79RBS&vg=2E&u?#6c*U;}fWn4{>hC5hxmAC)6nk^oC?CfuaG#I3Js# zXol~hMj<4Mi?G$V;imo8#Wvi}Amt*3l3<$GcASMLphkU&^P#!QcVGt8cpTzfiXBjV z12Jksu@4vF6{yh+5=C3DP@brv886q<_)e2U+lVz!LW)l?Z$q8`A$S&Qw1GHPpeRE! z8bgh05a&^-^Psu?0&It(1q6>njqZ>L?!h6yYN@8l1%1mK?om7jvBHIti4{;RL56wb zqfn<8#OV#i1PES(8Z(gu!8cIs!nqLGezwm{svDuk7)Tfi7~>Vn@$vj_Qhoqc9(H-}<2QX#k!d&6v(OK>0%a3Un&UEhXF zFq%|nD7__AEjw{_%wXIH+y%uz#07eTZERB@xDflG_#T2d41*e1P+3 z+s_P)?!`C>Vq{{O_jvxYjq59+YN-tI38otqJ8==jI2~J{&QiqT8L0CV#Q6tmbVCIc zLs1!mTXD!vx_|{xrx<64AMY_dSwl0Qsig@m#+Hxg)i@<)Fs{)Zg`x-QqqWh?jBmv{ z#N$UO_TmzVb6cP%EyEM0y55An7{&M#t&L8mf)%@PMPRG#@Ey;oW<29#NJK7_R7{6r zHO4_>*o$m5H4C@^ucbZa{w1(yjhq8w19?Dj7;<~7vnqhMR%hoHbIShA$Smn zeXAw8s9$-t9Kl17sN89DD-`391c_iM)Oa2np{N4iFLNUT=b{`)1kIqv%SggB--cV^ z{m^(W|31_a;uFk&*oalQ2NFedl%N--3T2p!(;*T3i4v?w z37*HpD8>4yo;t3^`oy}!)>ADdEO;@l@D1iI6yh&43L|*~`N+k;cnp6d&zw`Nbo`7w zp9TMfBuGsBI3XQt zhYkq<000;U^>6(M7qbWo@QD#4MvNFSV#J6MgBUSl#B^fBh!G=3j2JOu#4s`|(e9SD RYuo?;002ovPDHLkV1fvHH(LMz literal 0 HcmV?d00001 diff --git a/public/airline-logos/asiana-airlines.png b/public/airline-logos/asiana-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..9dba60b7f0b95446e86645742c1f00c35ef7a922 GIT binary patch literal 1814 zcmV+x2kH2UP)*r^Tyn|flBM32=>>YIcV$Itc4hU`GgRX{ze8e#%SwTWR=Cjx;342PPynHAT{S805Hk}u`M^dg zAajoErX?q9vPR!FHcH8=gqS|A+Cp#Q25;FRMWkgvXyb}W83L}_Cnbx4k6bY+QMj>k zJEe%U+yr5+mXu&nY=;bvvyGAOH8~lrT}R5!t=%=dG7IbzvQ1hKfA^*C_}ZX>d*D<^aWJCXPZqzPVQU9 zt{_uXXbEFUnxqfsqghVqg2?-VG zc!^@F3rI<954J)K&1>@p*Q{7=MT{vWm?5m<@O1jPIMz&vLQjd}8VGWBDeb^Upo18m z=QEmVHf~_*-OYvMLP-8@75_1R4y`#e1T7P4Oo&N}Ud&g(-I=Ad1#3YA;FvEw@0AHm zlbz1g7PjBhxhq)ZiBVKn63&~Y#6$x~ab_uAU=^s>OEHKU@GjMSlhHUwL`n|s*~ES= zc)#f!DN$IGBB%fX&ML(dECo+ZQuJc>kC{zH8yQn_CU-fzb7}-*l8EODF_MArxH+Sg z)?guc+*AtY3)cO!7GbN-#wBwul`!bpr%y^kCG8D#>?<0`tEK-ud-DS_fT}%lhYAC&LCw3xM5Ao1=5$^C7rllink=DZhj!B#n=p?nLsqVI1}X92swF80aI(EbB4`!yX(FYjgAdbw{VJ2hJV!`fQ8+K(9?#ZJ zn?aL;K4ZN-(s?l1dcPOR80_fpR0e|z%iHmAewl>PduCFq4PqX|`crl)w7HNny^z}D zk^I=2QS{^Z`E)@04J?FgX$imlBQOYLJWrP|G#*DnjCb?18X!gWdXotVYaKy85#feuV}L@B+%No%{07_`=< zh_wT+4e(_@t%=jkADK#{yf(E|hym3#q~#SylM)DySUabblitmCACnNAav|kU_W+jW zm!ci&yN=l=q>*fhad#vsU4h!tvyYJS1Bq;MPBE8K10h1#>9()YRR2$OQJyLqYP%3Y z9e$&9Bq`m&K5Gwzr8wr_CBDyW$)=QC_vpz~K2zzG9_x9$pNbl`TU(_F%0XvG*?mGF zp}?Ayv!p-0L;TpYQflz|9#$zOT^F(BpmaW_M;eduQZYNF2$|~~B`Jd-rqtR?rjuk4 zt0Y~R>6ouiiD;dh?%i0ncM4LnPLeVr6szJ{b>Pb@!JkBvvoQ_z-sI7XcKt>iRafy zkR-*_LLIpnzK7ZkqcZ|lu`x)AB&FwONzAZL>Fj@`MX>l~woWuSVE7B64rtAR6fMpw zS{&f&AwnyF6lwj(txH3;_r&^1JvKC;b+nM7RRXcT6_D0|ov0pCv|+X*4s`#5n3wtD zIu?vKyn$;5#3+xEp~<(2e==k!Aw>c^kMd00fyv{0ZcIi}l#roR8W7hbI;SP$#*`4F z46~iFU^sBSe>9X!F1h5AOD?(Ol1nbR;e0|CGE-4EuaJOBUy07*qoM6N<$ Eg30|?M*si- literal 0 HcmV?d00001 diff --git a/public/airline-logos/atlas-air.png b/public/airline-logos/atlas-air.png new file mode 100644 index 0000000000000000000000000000000000000000..eb6fb87376a88587ab686ec3c95e0891eaae083d GIT binary patch literal 3411 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 literal 0 HcmV?d00001 diff --git a/public/airline-logos/avianca.svg b/public/airline-logos/avianca.svg new file mode 100644 index 0000000..b8beac3 --- /dev/null +++ b/public/airline-logos/avianca.svg @@ -0,0 +1 @@ +avianca \ No newline at end of file diff --git a/public/airline-logos/azul.png b/public/airline-logos/azul.png new file mode 100644 index 0000000000000000000000000000000000000000..af22e0f0b24deab6c7601de1cd40fa7fb0258e8f GIT binary patch literal 2943 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 literal 0 HcmV?d00001 diff --git a/public/airline-logos/binter-canarias.png b/public/airline-logos/binter-canarias.png new file mode 100644 index 0000000000000000000000000000000000000000..bb41cafa1a8c54e6078189bf5a742b0428efce49 GIT binary patch literal 628 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT3?e@WZ39w`0X`wFKw4>5I7w*znH*%~w<<1k za}r!+=8;U31yNHEXN0efUv@HEdu~M4&Xn>UDR2d7j1%A9I|3b{T@vIM%wW(^5YT`B z|9XY_4g%-jC+rs}SpWY2|Nr|N49){7APBfW|9pT#fuHyPm z@la&y)cL^&+~*pG6`ADL#e_5ev2;_Uy_KMl7d^=$*SkeHC^Pwt@4vU#er!%|jQ{&X?|;$%gr*hE=U;w2 z*|M=r0Zcfvgk$ZRQ3f*#5?E_Bl*Ruq#kIbFB`iNUY uwp+XLN!w;jn)(|Ua}1uYelF{r5}E*bJ1AfP literal 0 HcmV?d00001 diff --git a/public/airline-logos/british-airways.svg b/public/airline-logos/british-airways.svg new file mode 100644 index 0000000..b2ddd0a --- /dev/null +++ b/public/airline-logos/british-airways.svg @@ -0,0 +1 @@ +British Airways \ No newline at end of file diff --git a/public/airline-logos/brussels-airlines.png b/public/airline-logos/brussels-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..7e93eaf832899c3fec97aadd35ff23846adb7d66 GIT binary patch literal 1426 zcmV;D1#S9?P)n%*7G>>5u^w=1M-i4JqUrR6}<(EEzyP zsxas~h2Na*Ny^y@GqTDie-F`M(lJH03}Ajs${2@ysf=xc^Xn2owXN-4Dx!&JuA==MnWMkBNlMYZctnSK~5Z+p4lPx#9LJBdb zH=qD-QDlGs{w@}q{I!TxrhxJ`bk~2pBryo~A%o~~%=KBgN^cOja3_*t~MrA{V zET3}zJshNEpBQd$GL^z?SE7p)a(M)^b2qF#Jz4=FyiFAHzCs3$VaVT9>AqNH){LCU zI}+HldpcyCpSQ|>H;}>ykT4IqN7NALRUqhY;p^%#$CU_ zdbkW`-n2_IMj>xI4E&|btCGSy(BbCMSzX@vj;Zs$mtb>07P0o!UH)}VFt7?By(|U| zP{>UuDEd@C)EjtnVN9U<=@^%NNJ~Sy gJjyz9d-p+)2C~yviIdA8j{pDw07*qoM6N<$f=?BZm;e9( literal 0 HcmV?d00001 diff --git a/public/airline-logos/cathay-pacific.png b/public/airline-logos/cathay-pacific.png new file mode 100644 index 0000000000000000000000000000000000000000..5747ccf8453ea980aa4366ea1b446f29c611c0b6 GIT binary patch literal 1166 zcmV;91abR`P)w<-fM!$`pd6}-3*8sMhYgV;N916-2BC5t-ZFoH97H5OOfF&G73Kr;S2&u8#D~cy%pJnKZvG+HWQIu*=A_g^=?fkt zg3K_-rXEV)^BR|toy3PZM3|?IzvW9_qb#NQ zhv&$dv@ltChTud1n)0-hQr2*wBz)PG(&LoA&!FRNx2a_30 zOIlHt0(`_Z$q56u(UdMsWj$SKM^oxhfKNChNnvtRn{kY1J=5tzd-~Fp-*}e1$p{0l zvYcgXVFSzP!Weo`lE1k#NnwtrDMQ&zNLj%sy3mT6{LS5*5&tmo5d)clD8Le?GnJk+ zqdf0(eiFi*NC#H3g#eH;lP0vGF5hx~yu-j-gdG@6cNS2WU%4jkVe-+LupOIN$ZD3+ zhsr!2-!O0&D+y^@M_;D$9Xa9|2Fek3QFTs@YnU?`P1r@_c$Hl73Iorwfv}4<(}3IJ z7A6~&2)k(kWwAu zg0PRQWCr6H#ZZP=Pk+C|m-5$^97Nlb8ti=*_6Cax`-?C^n8wzV{eTIRit`Aw2>Zbn zVJZl74AG9H2K$Z$UPT|mJ~WxPg~_=epJUSC$&gZPAnZj8DaG0Q|5Yh{S$Tm`ggtB( zHMoNaGE5lYG>Wr`O@!UBf_mIRHlhq11~`XKyYZQ-8n=*(2r_<{LwKLD1kyEy|G1F| zh(VYv+(u_Yn$|Fgk2#YF;uGcs3bKNbh6Oa{DGnim_=L&E^YkaAVJyFLGdYMLUSZCl z3TxB&P}rVVIfDp@S(rS$$wb0-45uj9l7k518RlwQ61HI}^>~R>h=7=eIg+oLwT&19 z`IRflO9b%_b1R()0F0w7_mPhXh%%Nn)&Kwi07*qoM6N<$f}_18u>b%7 literal 0 HcmV?d00001 diff --git a/public/airline-logos/cebu-pacific.png b/public/airline-logos/cebu-pacific.png new file mode 100644 index 0000000000000000000000000000000000000000..018afbe3753617c7c9d681451790c03537b0b518 GIT binary patch literal 3942 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 AqW}N^ literal 0 HcmV?d00001 diff --git a/public/airline-logos/china-airlines.png b/public/airline-logos/china-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..7a8b3b59dd54fa31ffcdc0f7fc7bf67dcc82e713 GIT binary patch literal 6451 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 N002ovPDHLkV1mS=QUw42 literal 0 HcmV?d00001 diff --git a/public/airline-logos/china-eastern.png b/public/airline-logos/china-eastern.png new file mode 100644 index 0000000000000000000000000000000000000000..8175f9705f1935256358282e20b93ea53999fd7e GIT binary patch literal 1416 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 Sepk8x0000E z0}w1Z5PivPdKPEfwpBRWwr$(C?YqL+wr$(C&A+dzwrbOr*`3;~|EtQ!>?G;#Nq3Uh zjjrMU{|!WDLE<)sm7`$f+G=~D+TMq8-&EV5Z2UK$@i)H1ciD%1IR=ITV~#mG61N$w zTmj?0thWCn+m{@RV{&W^6!=w>bXi!r62|>bg*w!J=Nz1?zgN;Bhgc-C4vf6iM4_*$ z?S5Ey4s5zB61O1|Sp|jS;%xjkpYb=o!*|)I;h3D0b5n-CLLprmM&8H}{4W@}2{zpU zA~T^?urJ5pSR6An7iFL?zg>Gl|P)UnZSa7>QPIl^;aP1(>BB(ge; z`yn9M!ziT7pj+TvoKwp|*(hVzFwHb6tUDv{mEJ{?E{|S;b5jN_7iFc)9mN=9i~-{w zQj`A+D~Dr>DT?SZC0JjjWRICQ7ebKMVwPqOySZTR8V#mbEsnrCt5G6|DXcxV1hbmy{Kz$7`etfr*Qil z5>OZKoI_pnUIg4H2otshz-Yr?)RVUh^0Cl2n-mRRvXM&uD7o5`NFr?t! zN(JI|GMP7Zkb4+I4(jL~{AhzvP*Q%k42B%k(bJhW&>(;6kxU~AJhF>6&}_a(T$3Fe zNkCmaf}OUgf$0d3qpi`AjMO4Cl5cIbWuBHNny8F4otE$Pq*W>t)M!$VL#8b<+~_9X z4~t8{$OkQ_IY?mFqf!~4i8Mtfb-UeDHOM%qfjVn$7BDaDCBvG5vBA1i8oPqrh(d8O&3VvB8SgV!eP^}Z5!bRZpYkq5WleNI*ULKg|%~o>c)ZL4DEYzvHVXlH$I5(%a3UxfOatz&zUse6~ z7?sWa5scgrFv?9W*UeD(+Bmcc7$|EGSccIK%ssb*m4i8UW>rFHby+zc%`nL%CGJ3h zcye$|oeXvNHjhlh#G`gbdOBX@?+D)x#>#Ndt#B)#TQ8myLyqD#FSYirVZ2^w#`+1LM36e$`lnsm&`I zli|Haxjd04ux4>*j&fFVI7U8D zhKVR=9fAUARfKRRjNBGq06mN)^X2k{?Jt=h(as%M006)+5ZteumJZn+qI~h0BJgKq zVV0B4kjwPXSQN;Mi+sOCUTlya5C-#*Fc^R^5WSE|5!T@-raq*Y8l;%SyB1<(_Y>p8 RA<_T<002ovPDHLkV1jsy0bT$A literal 0 HcmV?d00001 diff --git a/public/airline-logos/copa-airlines.svg b/public/airline-logos/copa-airlines.svg new file mode 100644 index 0000000..73962bd --- /dev/null +++ b/public/airline-logos/copa-airlines.svg @@ -0,0 +1 @@ +Copa Airlines \ No newline at end of file diff --git a/public/airline-logos/croatia-airlines.png b/public/airline-logos/croatia-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..7da25d850803c7b33502a6a2856e2be4a315711b GIT binary patch literal 1239 zcmV;|1StE7P)h>`dF)>`~0N%dUGCl~Ecc)2KB5 zN4(|Rl8-?Vl(OW@;BF;Z$;aYf%lS*=ALP~Y`f*R8jB!kPR7C;Y zd@6K1hCrp0ow!5>kc<^j9+ztaJ`aaH+3$=CyZ~Dr*-eOW6jRo5%n*ElIKBBc=~T=% zq{?}tvDA}2ZYkz~C;zRbn9Yvt22U|%jBFn~t!MObKGcLtqaAn@*W+HS@??)9NgG21 z_ImQ485fv<4UX(u$=Qmjs1@?0En_>VC{!jnj=Cr>YT}3|UktZu9`_Wv16SiR&6T(r zKjRDkQ_0@wuQ&>oMYdrnR$w_+d&bil?^*Q5c5D-SuoYzxbIy-z4*m%Hp*$9&qgV*# zQ4?=y)_Sr95Q9X-<0{XeWI@OHD;c@1_#j>8F`VdmXh!d9~kGJ@5%mVWRpBk zw-S!A*U&OkaDBQ?@HpWESPf-SNz0YCWjr^|1)l65Mm9AK#SBGChRl5BMmHDA&=aqS zE>IpnAO>+_u_ybZ@%y8&(vdCY7;`gBMnc+`1pacaz<8*0v{}knDh_+H-SHFt#P2AK zHQ0fjnmzd2G2YK{b*8M9q?8kh z4p0u$aFgaQPj;ebR%-h0ET;GWWy$KAUz`WEpe#li**87KOhJT^uj0u5eG=3_s7uVnqPcf5`Hx0#@`KH-wqiP%L z4sE;O81{+1@_pYHMSt``U-ZOM?6UX)QHT^#h`=)_E3V2`#Yj0XW4EV-O863A$;T2n z=2-k)h(tqKEW&)T5IwW~)~1y61lBoa0RZx)$;K& z16Pcc^AI*z-Z|%SnHBNuy%@y1{?q8!=LMv1=!vlt<>;qksDf#gP*do+PA zMlSk%48s9LJ2L%oK=W;|ixF~jt&ar9&y#S0COWXic$N{b;}!9Qu?6Z8>|$~ouTho< zYl4^dg8qcUT7<Delta \ No newline at end of file diff --git a/public/airline-logos/easyjet-europe.png b/public/airline-logos/easyjet-europe.png new file mode 100644 index 0000000000000000000000000000000000000000..5c67da570b696afbf2d0986ac6f294593402f265 GIT binary patch literal 1534 zcmVKv~p7XNi8 z$@tQ1VU~&G~JN< z8uIG(Jl3AJ+mk*TtjW#g6Y%qwaqSsYT|9l27UHUtdEs)NyO?J#;QRwx(Z8ALS~AI{lxQGbmXvk?Fn{*%_c;K)KH~M8 zx$t1hOcgMpuhZ`I`IJ$EdHp6v3}A5g1k!qIdVkD-uXz7~+~}kUJk)|Rb93EUNdx%y z4Mq>)+t<0b0Ta>=`hP{oUFr8l=0A4{l@}2(%hTr*VB+|IZMqTPyvDduym?#FYve$# zKZmEfGQ2N9V*UJiEl^2eJ z$YCGrzzyf}a4YJp%oCjgGGGGvn^&W}DvMDiVANQO?(aeYGhkl45*X5xYfk6Wry$S^ zg}r<&K=!M!Am!(oDyfv98n4ID-oW_L^#789-!kYsUc8FhD{x!YLe52SF-HQX(t=!l zO6HL?`08c4?!&q90mV8nc~Sv92fgG7UbvDkp68;&ip$A?VcbYAJu0B0AO?I*Vv1_3 zEfH`4_c!63sb{_cQ-8H=Og8Vf4-MBz8nxJrN7_UUqXs8{;r&S3p#O24*VC|%0+ie5jrKSF1eDydX{z8Gd+gxu6ycSbpP*G(G1u)aLpIl)`8zJb|fSE2VnC}1E%o1uU}#8 z@c7;b52bIafeD;cnoZWH-3~NbC%=~|6g4l+H=)yRk$m+fQ+zdCQ=aPui}4AxD7G4| zoxra+Au0ILqcKNv%jM=FwMd@)V(s=jrd-JLO=6rM+~4mod^`qM+-tCqsG#&d7mDg+iGnD%fAv`)4ubvqUU2``=3Ou6go2 zUwb;|A4s*u`Jr7qrU4L!q9__Rc61;B18iUdgdq(VBuu=CgoGMs&u|T#{-yoh-LAjW zu)QY=#(NAHFv*s{#DMw#2GXY^UFmMHGfk!4^^oSYHrA5H)RkZa1`HT5V8DO@0|pEj kfdK;s3>YwAz<{Z)2Y~gRAES37TL1t607*qoM6N<$g6Ns)0{{R3 literal 0 HcmV?d00001 diff --git a/public/airline-logos/easyjet.svg b/public/airline-logos/easyjet.svg new file mode 100644 index 0000000..db71d0d --- /dev/null +++ b/public/airline-logos/easyjet.svg @@ -0,0 +1 @@ +easyJet \ No newline at end of file diff --git a/public/airline-logos/egyptair.png b/public/airline-logos/egyptair.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1cb1dd2371fc2bf4fcb768757c8e520aea0791 GIT binary patch literal 2228 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 O0000Emirates \ No newline at end of file diff --git a/public/airline-logos/envoy-air.png b/public/airline-logos/envoy-air.png new file mode 100644 index 0000000000000000000000000000000000000000..fbeab85a676d213542ca00ffedbbc41fd81b238f GIT binary patch literal 717 zcmV;;0y6!HP)8z+pe){oNbMfUBlccoxSE>d-r5Fo{aHi+qU`X2`ATHpG{}}WB!)!zFP`^ zPy!<`0`nz-5g36H7=elR@@}wQv0igr{*dje^_umn`w(rfJ4UVITSbZ_*kFh4V|F+p z!Fhl-(;1`Ia2_OZAp!bLaS#New34nEwVwTigb?Ttg+LG;t=m1rD2}rRL_vQ_hE%My z(h)-|IFCz+fc_#IthaT2n!K9{LcgRaFhbs?BPO(nzz6!vVju_^b;HC4NCi$%jRGKu z4b%yv*0tU>L(#;zU?`x~b;8Iy2_m4HSz$k`(>MrOwC)yG0usC%b-~0&k|HN)k|H38 z%+dj)v^GD|zFSyc5X3ui$Ix;gUUN~_*N4HQ&3cx;XJ_odnPi2Ku$qn z^V%QdjEVO&ytYA2g<N^pRtnI8nPp`0*E7gK>5O4=AVqyn`X7mU){_Sk?} zx)e6A&vRMgXchN)f^Y^Dh0SXo81HWFXGnWqhv#s>1Y_(O$|N5M5*_o73C|^Pfo7N! zMmDeWiHQx93hYobq^K~#wLi~)A>#dwuWXu+bBcK#&nqV0%lN{Y1%)D*VqUYjQ&=95 z5~X?GFwsedx7kwIeof2f2@_gEifma^R2bNPojXQtEbk?7LIusTC(tT5-01qL|IW&P`wR*DbwZI*Y) z+vKh9+a_<%u^r(B;-|F02n?qLMqmU+UEthiopian Airlines \ No newline at end of file diff --git a/public/airline-logos/etihad-airways.svg b/public/airline-logos/etihad-airways.svg new file mode 100644 index 0000000..4489d30 --- /dev/null +++ b/public/airline-logos/etihad-airways.svg @@ -0,0 +1 @@ +Etihad Airways \ No newline at end of file diff --git a/public/airline-logos/eurowings.png b/public/airline-logos/eurowings.png new file mode 100644 index 0000000000000000000000000000000000000000..fc8beeef4c24da7f5931c4cd9847e79d980879d4 GIT binary patch literal 1243 zcmV<11SI>3P)Usx>;}(wJ2BEt9_K^LO{`L457{Zys<#0H}@-1i%Abz&>20 zct8P4fdbB%ax}fhffRYJcTPFf(I=*QZ|oEF3uhE|!pn2;_m&X(_L_n@calP`TrU#_^iWf9*jzMMvuUPEh__0sO#O$s;%M=Rd^4_Q;cla>FOPAPA05TQwP zbOx4QNmI+ZY4ft{S%xMA$9GbSpHvlA@F!WLzmnDeBUx*HAgk|tdUSk!yp-}dNdf!S z;>)PG^lF+})HTAMbt95 zn?9dh8!Khzv;L+>r*G*MG`_4$SA~RYHC`O%&eSWu4=KtpxL*f$k`%k96>p99R7Lq0 zT@}qKY^TEXT&$D{@BNyp;Naw{*qXaR5}{E*|KZhLEe~k?{x_2a$oNT8+}NrRNXnDK zrH|JKXBtAVyjq5IEDdl)C&-C>eO1UL=gHQ0*UX2zg>6L(`SD zka-}VB!h=GwCTou=fVfM8VvG8kRi1COs=>*!Ne-c(2U;pvY03Myorp?t`7Bi0vSB8 z>5W&Ul{`Tunaa@Q!Mu*-36j2L8P$1$ry9gO!Pl6|&}9F#>E_(^0ootW1gYl;Ou#~( zfR}w5UwOTjVM>?YpTO%N0Mvv4ybhfGB8HbO5Tp^pM+f_ilqb=y+ut#l!K}WWw!iQN z-)J5vKq*il54ym-b_I3yoqb1yn-+y&Ad5RXA$T2Y0}qA1sSrNSo6oq9HuRU$h)5z2 zT(G>IL9lD`sSom_cfY2%i!fXrGw*y||A+*@1CD-FcsT^2i41+5#p7v?0={s}j6~U0 z94`d84U~ZlU6I1^G$N8SC!4P3rd%27kEpK5b_szeJb;-_$-aRMq1|VY9~npqg_S|e zklKA)d126TGFcszyg$icXEMnPVMpq`l&-3kA(afBCzys?%?mgCyfC=7ClShyg1aZ;#Hp0cj_&9{>K;#(BLTso|tu( zgus`N$RT|3O#{1%<<|f0!GQn(004j>f9pZ600000J_2LRK+MCqOQrw-002ovPDHLk FV1iA$Rbc=C literal 0 HcmV?d00001 diff --git a/public/airline-logos/eva-air.png b/public/airline-logos/eva-air.png new file mode 100644 index 0000000000000000000000000000000000000000..5771544fc3d180fa8728a123ad95ba64d34c2cf8 GIT binary patch literal 4296 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 FV1lgmbXWiY literal 0 HcmV?d00001 diff --git a/public/airline-logos/finnair.png b/public/airline-logos/finnair.png new file mode 100644 index 0000000000000000000000000000000000000000..49ba990d558e93501942bade52eec8c6f2dafb20 GIT binary patch literal 814 zcmV+}1JV46P) zK;#0D$u%IWm4qIvsFwlqj4+fFizUHikpmjUQb+ z76#I?xUCh15~!4~*)NLKNH2e(K}LVE*AnbAU!J(D3)pA|?Ul>#90i$>QA z7KQdoQl`QfX#n6I3=z4lr%oX$pJ{sBr`&@|_7C9TRg3JKVn%@xI)EbB$q2zsM#!%CNV!Y6KRvw}W5i*V(-Axu;N)}V~ z0jFqZsigDS*tGM4JxYn4=WW^rsQ9NFQjEo^nt&2m!C~?pDx_qmQL@vi7!kTX@|Q-_ z0TY+*GMp5Xl57F8-%lguEscs2ZMRgik0YM}Ru7nEPycG)+-zQK<|O}EhyrP%gG3~E zcuD2ZvLtt;+8_#NSF@}rSSk>OmH`wv1{Lii#08O(BPjHga)E9ygnE%h=ax0C5OvE3BLiD{3t9Xdl_l(fE1W*75qJ| zg11*;SjperDu}CsOo!LZ#fLq52mV{CG7=^16&3DL^6H&4R~XH?0q6=pRXk z0U|f_U+=~a#G(H>A}U=zUr4$*1T^MC%MKWisAz)(7if@X2w>3Q6Q4|>5CcOlJHwCy sfcD@(000000LcHf5mZ%GRaI400dTwCAys0y1LBSp!FKafk?z z3uHh9;c9S+K*S9$RhR?qP$&uV3uZ9b|Ns4ZhX#d&`{xz@?{6^ZPw2lNAmA|n{QURp z0}2XidxZNL7#N*BT^vIy7~fuE>~2Z`NJg;?p@xZ`c0MuYB}`Z7pv@GxIrl z0scmN*F~#<;9u)9Q74(c3Z<#9J}j7eNcyjP^ZCUGgk8OCB!u!i7!PbX>#=kC#!ZLU z1#AEMHpTeu&pL*Llt&(!y%!y-qGr?_+M;&+h$eq7&!#l7={r4Veu~O)U8i$u;*?1t z4L;m$Pj*c@D7|Zk-ji9z^Vth^<+q+(!u8;8@H4hMmx?bnge*S!MCZtc*%OzrE!Z}* zL8YKIywOuanKS0rvrxBpsXUWfmlc;}c`3ORyx! zFPK5V!64!M|M~kH-uDOGFHl$?JHLJr0|TRkr;B4q1>>8`?m-TU0xTEQOeO#Q^?x1Z zB)WJ;ZS{_fia35GcumqGjp>G&Q?zGTbgBCMnmbEpf0m!*W|x(#3=F4uv56m> zt0Tsgy6Pa8YgS0aMU~gW=QEmnXCxi}t=anC_2rHfg$uUkI_G8{k!?-3Ej<1(X2RT$ zZO`I%PU0zCQ>_0W;&I&W;Nati?`$o?b}TQ{iI0@BcxQ1^G3F=hG-*f21H~^d3K;4q gA7YbWla^p*`1;TCh4mfJU7&FHboFyt=akR{0P72)*Z=?k literal 0 HcmV?d00001 diff --git a/public/airline-logos/garuda-indonesia.png b/public/airline-logos/garuda-indonesia.png new file mode 100644 index 0000000000000000000000000000000000000000..ac945fc966f89f4a2287b14312f3f11ec8af5c2f GIT binary patch literal 1414 zcmV;11$p|3P)qr?$opU;qFB06^Z!v8MpJvM36}JGO1xwr$(CZB=#9#!MUI*tTukww;{$ zAA-uwX-18Qukm#SYYR3Qj$UYhGRTRJ`#pNR^&wm)I$f1#P3*#8+Zrx!DTGKL{vhO&>YN< z6a{(F3rq1F%EA@QM0+HUFu`bK!7v$U?Y@<2a<%p zj;UsfPEgedYA*l3fHF9Ten^XEN`g0b<)1~<3{fd{k}D2if%D1nA(hmr8c2Hb|S@E8{fY6Brn5eLso5C{PcBA|zwfbOFQ zTH~TWcb_H@Y{gkvqboXSbo`(d;{K9VB7_7egpt?`^%XnMLj*HKCc7q)&bB!SXgzDD zn~pzG8FQgD?2!o@pn}LMbaV{U2UpzF1awy%y(WvvHLEn6K1?c3(G~9*G{zu*9_w3C z9Ha0CN@F$pVgnAqj6P_9jK8#e2_hq$@C?cl({o*>x%ZMTw)L2teVXZchbgFuozSgb z2UNpRD1-O72VLnu!dS!&&S7%H1S^;|tY8Cc3_&k6M`h$fB1DB)$dBck=~3e3wN8dR z*OSK6oTbtf-6y{ml>#VcKNNsFR4_FSPB5u307EfYV<=|84a;yIuc1D8guU>?AmoL7 z&=%LAEU{XTWvW|0>1x-CJJ1!W_SFIIp(|SYQ_ROu6>V@E%EB%Djj`y4_85wj82BUC zB?fY$JC@-Ul!e#Wh;E3E6jI?Qfy-aR3rTO&!g!4l4SU-W<7yw;yZ$rwUUIc$d@g~JY zJb*GdjkYL;t(xh1K|lkgpF;(yY}%!no;Mha%2HdBxai7^vO!yP3s_v_VyqoWl`7ZeJ z%W#-VI1XiS2Q5(zXQ2!(q9&3c1)@T}D}MZHiQomL;etH)3reFB1PCX=XmrGFD1!qi zi%vL%JJ^UOh!OsS0rL7&yst16X^|457hZz_qQZ>VPzDVk5h@ssN|=d5SdQ9=ga{u@ zB6Nf!1|d1*|90q@1^@tnVUT~ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/airline-logos/gol.png b/public/airline-logos/gol.png new file mode 100644 index 0000000000000000000000000000000000000000..ec7056a3e27f9d6d1b822feeff1e464ae1747abb GIT binary patch literal 4238 zcmV;95OME`P)c?THeDu)0700000000000BA?OUBET9{(k_cY@};!XXkquWlI}uJG9+N z*qt;yw%F|ryW?UZcFR?iu=Qeh7hSsoSJk<8e!uG6~tPG(m4p0zqj_ko1gPmL(^lc3Xd1rsFf1%}pLMcrse zV9ck8L^KW1APChc{JOd|oY1yBbnpN)=pCnwa}jDCRLcTld;lHZ0X_2;%?d}$7*sA- z&(ikj$0O*GNoapBw7%EZ)u}xUbty!DJA^*!j27KO<>@Nx`$VQxc!7)sd-;d_?a{wO z$KurV`w3E9KjSF0Mu4^L0j)}JSX12iZ9v20Z1+73=>?!i0TLA60OJq$0 zfbA{}j(!7Fvz3~!;{zJk50&epC7GOgXz2trETV=3qFo2=uphm+0R7xZjX->ZkJC`- zQoVY40(8-KH2v)Ns!OIzVnA4K6p07Rau1LjU@MpBPK-JY!8s*=EgJWXq4va%J}Dl` zi2K&#^|O2rAX#Vip4J9|M@x|%%>cB|#K2geL+h>n^6Sw#fF2pIUY*eeH58Qk$!KI7 zG}}k1z#r_~ZK$TPdiA#6ho0|^%JqJDodu}OhpYpBxnsytXeD3!-Z`ug67J6aO{0e; zGh|#mzZpLnJS34;3Bnw(WM_$NXaHbeVqhFcp?bdm?*fAlte1_>J%|?T{oJ73>V;A= z_3CvoMAPP|-M~6zCJ4(7A^X6x+*{;c#jo#@$6!_NJjJ~QlbfO;LbNELnhjnb{jeH6`x0G01znzsZd!pRK0veDp~dd#kXP!} zYjq#Jyc1QUAs3M2ASnN}AMpjB&s{U?Mr6XOSFz7}1hYv6 zt)Go*bW@u3Z$TS1MO{v!fmvwd8C49GchGIxRrVx?WDZc}x{@u>Qr_;v*6@XJ;9-*! z_XejkJr>R%DRbY%NcuRnkc#fWF3%LfLcuubEy?3g;g`V>hrQBz&FeEW`SwriOn$;N zp?qY433i`n z=-;DM2E~NTs~AFN5Px7l7d+TI@f~AuEPeD`abKo$pF5_(JTGt%ODS3q4fUnwRsq5! zu#j4d3~4hE+L~J>3Uk1s?%FTcVY(SzHV`c`Q8`&|OkyhPkrHq4`P}wY#E@T@c8i-@ zEVbMOF5(X&TN;4o0t4)DtCqrJ0Fn>hD_YC}phn70km~@4lL}>IN-YRXZ#i1DOTC~Z zm7vyrfAW6MH1tfV%KFO4G@vUQXgRc!_qz9fqBUc9c!!UD%h8NwM}5nq{0UH3GE~%t zwgZ~&%e}Mt+^S^(s+C;LIo~mKZlTiZv2u`O$pyva_+44pT{wJaM6W5%0!Fv13*Ctt z4|>w!Two+tF2a-L-f))LUITEm%IOuQ3vhCf%$2OFk-*@8Tz4V5cdmLtc~^wCZ&ov_ zHt&6CVO-?~;pPm#lLW;i^=-GX7I5=c|G;H!7Ba1S9OTdCr$9Z)a#1I`H2~|!b^Q&{ zR^8A#M&H;|FG3G2RN2#TLuA3==yd2&9I;d0KZ$7{)y=F4Z#I~U$8oDC*2+x1e)!@y@SJ0aTID4_kHUW-$1h?RQ5Dy$Zf^`&8;Eh zx-nY2!UYk6@i1I+R#cZZ1R>jw3ru~7EjEDwUbkP&58e-uk}Ug+JgC9I1hHsw!j}uk zyn{MBecSWQ4x&zJoLf0Js<092J`=s_uQD(P$tA^VTKw!|s)@J5yOCX$;K^}Y=?hZ9$hwO!rB4U&A4m^H$QU@Cpj z1*U<+4x1nVuM01B1)l*(*&(}Cqk&mCQ@x%g*&c1|@NLhV^%O0n(A@2uTU0m`&EJNW zi7M6iH%OuHZ3BZj|H8JKzG zsAB&oeN{vcSoO?j0Jtt?8g@4pW>OxYEA3WG1G8hgdV$$#hHAQe+w)c!eD94unI3M{ z7j%h!4xNhAwv6uEnGuGGOi%E-f`Pb~$ok(wQRv5Mgqp|y*uZpuhW_)gQr#oSZbjW$ zLnC`Zhj*LCtQU8LX??p;jRaG`Lh`1T1}5&VdJVJYiPAr>J%MRXmMc~rd7jbc5R#v~ z;AZCzOuz_Di#L`#Ku28m@16zihDt}GCX;_`V7#uQMc$R_9!>TDRUR0dNHKJOdw+Ce z_ua6h&tA%1upG=J*|oKY*{5E^?6{0-ifUb8T9FkMfia1$3laHE=IeJ_!HgPSk7sLn z4zwk@N`dj?)I-hJ|KJ{GHu}%`N_DR%35vQu%nJ{Ltq^4N ziK|6C@Wq(Xd>eqv(rqE zHw&!A!$tNq1HgLJ(!ex(h`u_ZUQe@d8>$iUbN631zNm6&iYM0<`x-a9jlBs4v5ooW z{F@Lc2^N{q<{)InNYC>mbqmfKYZW-B>g zvE_a`>@*y^qtT^_!!V{{XL~x0iUmFCY^A_RP>%*^%g?CJn{Pb2$U)=9m4f1n_hs@u zqo>12nf5;LpT_u4n{M&M@-#FT7mFNd8=zS)rNCG^+_eb<@O=F0aY#HslE3UMxmgR& zlKN_+MMY{JI<7-S{2yDFgD(1@pvu5laC4cL(WhX*r}Q0H`uAmqM-DQ*!Se?*aX*om zZVJHqDg~z(XJgdb1l8JD%^}DJjVVI^N%(hA`jRb*{g#5ih#7P&@w?P&)Dx!ZhU{jx zR_|elC!a|a&H^)OE_bHIDxD==bAD}`1mHF>r&VMrz{wdhH?q1moL0|5PcEt6D&;~0 z)P;{~{P~TSwCzyOj_A#6)xP<*m!v9uRvJ7HK3>pszti+EWcu!d!PFZtkZ#2*lK(yx zmU4!oQdiVwC0e($%6k7M1Zb0G`1~ad-naP_BWp)~uef=4joeert#b3DWDu6uBPns@ zXvT3(sOwt0#}MybM&G0Mf}u1<XFf-p=AiXyRHLcVP%{Q?*dBG*hAwqM)2Dp(GTV&IuQ=Qr7o7t= zif12p9_-Hao1bDa(DE1X7C*tewXBoUhMt6TBIgLyaV-@o*bO{$vTM&kJ~P$uRlzi3 z0kiuh%C?eQ;G7gKTTCuM^RoJd$s`immF4DcjJggJa}PgT6WkLXB_7zYqW3jsWbhc9 zSO|j{_Bz;7*TGo&n~0^GE0*~xR&n;s1>pjKX4f`c>um~9-?}`AYXFY4Qt#uibRlZG z4Ye4;IZ92(a1KCqC#$+~HxvzhfEL}WUW1iALf?-@PbZ*j>!C}1(Dkp;b4SpO4XAu^ z^`0kNh-NgbG-sGZ_A1`#S>njau=4G+ySc%e5Am!}D zSq4j}&%l%H>@m@af=52};)48TjC9Jmq?sc<81uC!l0!#sW;EBfIHosfJwweqyr5yH z7fk!%8{25wFN9Q|K#S>?F<>TsZ`DQkC-7K(QES=;fb~)_r{be7v#DPMrvMt>k;~_9 z2GD6%y&HFV2IwOSeOQ7%(oj<^^zjyS`Pr&2e@{Z^A4Q8-C>2)27J8v!v8ZGQHt5_ucpa6uEtGLrBUv=wi3WIlRMwHK z2YyN2!ZNZLoaJ`uK@k$z@uE)ZjZtxoaAWGishwvrl99bS1hm=)Pde?ld&2lZ509Hx zFKI2H*%U4a_c`xyKH=PsN?xFDrKp`ds=ox)?4suCk#ln&RIZ8slg;_+JNp_f6QcWu zfA3}aP*mcKM#<1WnxN+>G<7tZpoeZPL_-duZnx1!jepQ*aJEE6{y4`8xFM@UW&-t# zKz5(p1B>IYWdq1jXq&P!D>8C5Y(JQr_G$bfW@2PSFzYd&$#*UjKBc^Y->fw@xC4*# zEZQOswedhLtk4EmQBA{dtKW7lIz$s4TFiO#JDY|M6QXUqYSieL|7#Bp1ONa40D$~o k8$nf7RaI40RaI401(q^p^D8*;l>h($07*qoM6N<$f@jDi=>Px# literal 0 HcmV?d00001 diff --git a/public/airline-logos/gulf-air.png b/public/airline-logos/gulf-air.png new file mode 100644 index 0000000000000000000000000000000000000000..2dcff0b22d096df391bd19d1f9da53cb82bde1da GIT binary patch literal 2092 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 M07*qoM6N<$f&tYohyVZp literal 0 HcmV?d00001 diff --git a/public/airline-logos/hawaiian-airlines.png b/public/airline-logos/hawaiian-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..325aeb127cbfc565461e82b89072fc9353586797 GIT binary patch literal 5239 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 FV1kaF9ZdiL literal 0 HcmV?d00001 diff --git a/public/airline-logos/hong-kong-express.png b/public/airline-logos/hong-kong-express.png new file mode 100644 index 0000000000000000000000000000000000000000..3feb4baddf2792119d64a8ba44ed58b067d82505 GIT binary patch literal 1801 zcmV+k2ln`hP)JdSngHc*d7iT0000000000;J;+IJ$CH@xUn@1<9Lm`O_pVVCS5saCD5##W6bv$Z~U0pCwd1K{-7Q zogS(;A7e9|_6_47i|hA@3!2(ULE&6K5d-RqThPxR@wf75b`_0o;dV>Sg7U-z%Xp}H zO0~lQ6EJME$cyLo=&7Rh93K?x_IS-nJEw~8{jvN`EIkiDTou<|$P8?CSj~&{WjLxP zhJ4d(K94G*!(4jF@qsZPhl|}YzQ2YSp_S3f6bCobti3gj(O8wtHP=8a(-pTnVDu*q z-z_~u&wNQPo)nxsV{r9zjJqMSz%9|t1CP8B*Ur1k=oX!LoEFp3qZ`hQ##fFg2-NPkG+B-V_TZI`_%#xRb=nQe?O(CT z7AX;FJ5}w(p?3InWXcO2IvmTF!%AZ@Ja-yT1*@_72y{M)!6Q%*bmNmJSk6mIfJVVF zIE{^?@!`Cr7yQizbo`8+@}ppyw!*zykB$M@?l{K9=q4zSCSb*W+Fn1U^27<1N?#xK zX6MiV6~2udLNR&>K3Cnip3ioupKLm$>B#H zvncGUz%>b&YZ{JkA+Dgu{n4Z?t~#ilp#0d3^T(rYYuyCJdKs?u!no;pWfeM=&*8z* z^F`T)#6KTfSX^N*zDM)vIP-|Ob|Pot@v~T8hQ>C!2}<#K=ywwnPN5(qc1u^3wMf*6 zbnW9cR$QTjOi?irJGR02l1cx4{Ca%nhkIU(Zblc<3^W06hPZw%`PMqwBhyzM13nTw zi6v{{u7eo+-v?ksDaS>#_skxtvd=Z^rhK)t#i>31s^;aC$`i*`s;{F{35*w>>y1S{ zq$3R%ziUwt#Q8NEd$vKti@F_e-aY8m0sZBvY!VL{xVEJKqW+VowE5Zb)^3@J-1+&* zO8ySReiDS}&nO5OC&R7PP;nvAAf&*Qx`D6aH4Dzq(Kzc4ItQb^oya4|2ee*_UG4G0 zFpM=#<6Cv(K}AZuUHGwsflcEZD_EC4K5miHn*e->*m_V18e2R2bZ%( zKoVT=_D*cI7fq^3l}*f?nQ80C~c z0g1YUcQ@eZ##p!k>KBzNmAUsCf5#>(aK%@=_Z7eO#@LQ1oJb}RzhHEK{3OR4CveGZ zZ2Af<$DrOwsS;T_K>A-W|5$W4!)Ei*(+CHg#{mx5Ybe$qjir`g?h~m0dwXy|0ssJj r0H{&@-`0;%8vpFWN72?qaL2Z&y?~Ogj zfp#dA1o;Is7z8xT-!Gt0@c(?mdx!P+f!zN6>;DTRILtp^aR0r+>Mw>Y3=B+io-U3d z6^w5#v^E|#5OBF@7<^*OrVqc?8=cY7JYLEAhjq_i2S*9l!c9{Sg-%mH>i1Hnvs+p8 z&XdKDW<2&SEL8fo`c2PY?Npi8c~ezxy?YoqGeq-2}{{- zYVG#8TejtzRmd{YX*VuhzISGy&{BpS3zRSI3Swgjp5@20Z7N4X??PjqutN``T3B*4 zou^y8Dew%>h)C3py?TJ{ddbwp4Hqu(u61qkRQjKq)|MAoajRhWrO1#MYM(z&I`!sx z$QN%d+iFMG>mSy?V7w=)Y*C}VX)WV=uj}S>4hH#Z?~2Zv-S(a-Ki^*Ne$pKMTgt+> z8ypol{5T7ao#y{rK6An3&&!)q{=D}}_RHbh&DNCe|92vGe@#vRJ4vWieNm?d0W0P+OBWJr! zs6nYhWyQ&PagR<|29!R`c<5o%veesnfA$;kvyr^)%XA*sRxK^ixWu(5dlJ{DpEWDy z1?_6^jw)w-HR;lg`KDiEiw~`wH}Ud!ci!KxF5Q`MTzBoK)D=tS#TIYinKbk6t3CWr z-)xp_x7lKsQFMKQ=Fb5Bd-pf3ms%xs?h5NlMRdm~qQ267Bk!a7=M_;F*;!yDx&t;ucLK6T@yIberia \ No newline at end of file diff --git a/public/airline-logos/icelandair.svg b/public/airline-logos/icelandair.svg new file mode 100644 index 0000000..1355cf1 --- /dev/null +++ b/public/airline-logos/icelandair.svg @@ -0,0 +1 @@ +Iceland \ No newline at end of file diff --git a/public/airline-logos/indigo.svg b/public/airline-logos/indigo.svg new file mode 100644 index 0000000..3c48fc6 --- /dev/null +++ b/public/airline-logos/indigo.svg @@ -0,0 +1 @@ +IndiGo \ No newline at end of file diff --git a/public/airline-logos/interjet.png b/public/airline-logos/interjet.png new file mode 100644 index 0000000000000000000000000000000000000000..fbeab85a676d213542ca00ffedbbc41fd81b238f GIT binary patch literal 717 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 Airlines \ No newline at end of file diff --git a/public/airline-logos/jeju-air.png b/public/airline-logos/jeju-air.png new file mode 100644 index 0000000000000000000000000000000000000000..6395c40a4bf089b1fb38bb0d0a6ed91ce5e89235 GIT binary patch literal 1755 zcmV<11|<23P)U`hUc+H~-L=%euBno^ z=gGx&+~uq3gzN%D$jkFYOZ@&!mUQ=WgF$kT&NMuXMTl*Lb)4e(VB7Iq*^zUP9@ftvYfPfo8od*zLoomZ;fLNEbDQ9`MUdL}TwhCNBF3iT{Xx~=V&<#B*K(coQ!Z$0Y zV@(}(bG>h>oq-4mkmP*Fn!|dq08B6tA(L)+ZOV)*Ux@!~jO&W`wv;8KLp!CG>z%`b z@f*Hx*x9_41uA<)O+FYTz?A>^tNZtaY|p&I4A52{oHRU3PWB9Kif2cra_a%H9;Uja zcB?`n(RH75Yam(Y)Ft#FTS)Hr3>ILmc4-adnY>*7;+q3{0P*|Mf!&ehV=|U{5#99{ zzFEWXvbO%XV=DuQFA=C`MDDCNE57jX8~j?CH6r7%=1U~|I~3$e*xerQkD&;kIL6>{ zK!os8lAq^A+9Db6vZ8bphHe$eG`7ymObkK5PtzGzF_er0lN6AV^A z?)T{f+d=jNWlRq2oDGn~k=>EFpO`GJ^=x@H;Cvc|z&;AL9zs8mT=gb`{yN{uTT!R- ztE>S7)3!DyYpbeSbhl^9^gozuSa)&5R)YhsbxkHyHU!%aVS&D2j6j6&Qj(+*nFk}a z>DgpdP6F6= z`c^qxZ=!DKti^np!})?>u0miRLH4F^X;FY=X$f>-=tp%brUt>sGir;4#5Xs&D=WI8 zGk#{G(IqTo4dl-wS$DWGEe^!G@KPF6UX7}SbL7MO(Eixt=RwAIX1@vd8aP{z02>@r zeVJO`y)zIY_azc795_Nps|(xc2_WFuW0WCSR{y2&)Pasiu`ZOq!A=Asz-+)tH6|C6 zDUg05eq8x92QOPBg|_su zk29fRQy%)yl0F@9Lj8n_GDx=nH7Qe{?t^qx%`6_(VqG|UIAEcR!E)%@&I+v(L1id| zo+ihP>568Pv=c0vx%e_~74d+bDj@3!{hYB`2@V?L>d z`sn-RdYiPRo~~Y76zy;zw!|idAM7=;6_q*IF03dFght);YFU8<#Aui@I9AQm1Bi9W zpAgU!>=J3~S&?aQ@O>sSSJ>Y_q!-C9xE~qnh8`yss~Ev<uiFxHTIIQfl>Z!jFch9e)O?23^Xc$fGV-YxYzlULZ=YrAD% zz$5p*`oh2@jU49q{#6gpSq@{`#EAvCwRUEpoKNgB*U)z7v5r~sZDB2D4E)O{3rQ{} z!9k(fl}FKE0vmS&QHu3m{$Ad<7ms32d{&0W2n=W8*rfrxXq7e=h8idjtHMc7f^CNI z^mr{}4jRRY-?;VQ_4UM65=Z$7>z0ec`>4NN+9aeWgg*i`>Q$62%q1iOxb7WC0( zKJdJKCfCPyVuzy;hX>F>;PWHs{Lb+AN9v^w9@{{aV!aps6?bjzd^}&pp+?6tmf9Nu zOaOv-tL0?JkSD{b6E-Ag%ab@~3Jz+Q@dSbVGB|s>AD6rO_-hYD2)7$fs>PYOJO$2Q z;2P=z&(u%F>9hmq3=r#*vn$7=dk;Xj9qZvg2*<` zCpl4l{J&AHk87*rGms%s2k{Rc5T)RyB>%TVhXeos01Sirw||WRt+D>`^8f$;^@NH1*4X{z<@cYY@J&_oXm9(-%kDBe`MbXSh@7PW z00DkUL_t(|0qxaMl7k=+1kfHqT13G6pLSELZVI+SrpA2ceQOssjNt2&WO5gQk)H#f z7T7Foh&81J6JaaDWMylE2xCQi=d@r9{IK{xFX}n>=`!H_AOnf-5Zi^`DYk z{NBkj!WIy*`bc%?vIdZWp5haik-DQ z@V|foM=gheOr^DABv3~%JetBlue \ No newline at end of file diff --git a/public/airline-logos/jetstar.png b/public/airline-logos/jetstar.png new file mode 100644 index 0000000000000000000000000000000000000000..120a8ae1b29bcc309aea3905e1d6dad696a99585 GIT binary patch literal 957 zcmV;u148_XP)YN+n)L7+~kg49?MGd#jVqwx~$$vQXZKsLfpg5 zeEiUDv0WA>2T?x5DOs2eqdW`Y^ehZ)lrymq!bMpa5Mpl(hpd}YABG5w_zoe*$KU&0_vqT%s)^O?a~&;M0ph|p*J>9 zOBfU7N-Tp)7=|6w5XM9~7!#o~OvFA(4`ZTiiFQz#=HrMog!vY#zzUq4!;NK(Vpg_jflu%T9>;H)#g3(Y)&B7yjpD|{RfN4<5w7^lt9=;~drC121z#_bd zElZ9{HqISb3MJS;TwLjJZQ{HDCDbq2+37sS#Q6Y9kSVy=^#sqx`6{UoShry|!M{*U zEx~)()bk~Qy=l-iX%AS}VQic|&=ZP@U$JWti%1jaK#Y#T1NQ!)SJx)av6u=)P;(p= z*0zI*b0OwH5wQ&KVYATpW9<3zGALwyaY3Xus_Z_?N+=}XW0y$o;MqT61#BwraUa0n zFz-Nq2=j2?ZIp{bdd>{Oc99HYCQld)gm<_l?Aph`a>>!7g`v5#v}(i;-(UxdoMJA9BPA&0}sO&J;=e(+z0ny z(+ck4{Qx;I4m$@L#temM0+ne5p25}uFGi0GI?S6;87AXR?Bc;n{eCQfDsWd|VeB2b zQs3YleC+jH!W?&C0#v3?0tsV><~}8E2z-Yle7uf!R0T&hb%F}>4V1@n{Eia>x~sPv z>O&aE^b9`IIZ2Dl|!q~&KNqNp`u86?<25*$ubidZGTbmoB zA!K#Nt=Kq1ukGA}c~Bm2`xWL*2m|miwutDvk{4h+l;a=I!`Kb&A$SGb#^43@BhU?6 zPd9Agb(pK&z5^6OoLx~HvgTsX?BAq-5S!u)$T}wrvtgjuAiR`?$w8DS@JSY?@ae_I fS(tFnt~09v!PnYEP*KFV00000NkvXXu0mjf9u&N^ literal 0 HcmV?d00001 diff --git a/public/airline-logos/juneyao-airlines.png b/public/airline-logos/juneyao-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..72fee2d9a7cd3e140a1bf0d8fa16a6d9b359b417 GIT binary patch literal 3687 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 \ No newline at end of file diff --git a/public/airline-logos/korean-air.png b/public/airline-logos/korean-air.png new file mode 100644 index 0000000000000000000000000000000000000000..64a89ac14831df90109e1f9ea37f581a90d92de7 GIT binary patch literal 9284 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 literal 0 HcmV?d00001 diff --git a/public/airline-logos/latam-brasil.png b/public/airline-logos/latam-brasil.png new file mode 100644 index 0000000000000000000000000000000000000000..60c483ac3db4b30e495506f15aa56ced66b03599 GIT binary patch literal 2633 zcmV-P3byr$P)|awzMnjz~FMUq#*^`q@|r4Lnh^lwJTwpBjHF08FMBaZAt?u2bQ$9 zfhIK5$&k{*Oq0+yC6myD9wbAL&?XadKuJieNg1wUbXu}Q&~E>4S2DsFEQvtJcEG5{?1@w9`bX-Mjz)Gm-ArG@xlXbR{@ilEY(7sU4z66ZAiD*gPeVd zzuaDtlVA`9HwQTJ0*i>Q;3Pw8*CS5wWBo4!yuCJL7Rz!=XLy^tHLfYC!b#Sn2-db} zdUPC+o(u4fyA(@xac)G8L7Wdgc_$FplwcYWl$eRN>=CJUIB0Y{?l(BbJIUGS`q?Ni z?uHiZ5AwDZ0j~B73Q<8czQXUgT1N6wpmC2^j1%gS_|>)}D*T)5Vu|stIa}M%A?< z^ho#>qH%5uH=FOCGRzC!WF2UUZw%3J9L?MF=M3VMqx!1BDOE0$&5Cso;W~fBj3)HR zmqDt<^+@&^#1jEteEz>iVJdD^QMZ8UD3%Ew2pYsA*sv#{w@*kVir5Gn9XDb_-^cp5 z5e;%CdgN21NKj%%L3yj}zP5=)&J9@ugB0*~bw`7VzJwFcV;+DWtVBhrOy&9tE$#~) z`6kkADUGct0EdW<$hODbPLT-LhJ_VbIdp_`=5(BQ<)n7crdp(-1Fy=1Ze5 z(I5#yKzar1=Z1~dhLlpRbm|a4Z?D3-T>x{2rAwr}TejiaRfrIq@~^U)@=o2N*uDL~ z8yj7)NiHJ^P&|s6+}Q(zO^rna_yX~br`wlARAVWgL`3`;DL3UbfABZ>iY<)+(}*RX1Dsh`#pK$wiN?M>PBiFj_6NS+P(<3NYHC$XNI1 z>!K@WIuJC9^8n~IY&4ikU!s**8&a!Efo{lqbo1r90jrgXh4soXYQhE^F+FJjQK2YS z+7h*rd)9U5kwW^~(E#))g!&&ylUT>TB*#Wp}{R8+`qr)5TaD%V_dtm_&LGeuxejTzjexpf_fDOix5+qFpTX{%=Ux2MI*ZJ$TDsT z51WPhO;+SA?HA!&g$R>oybF(I-XWQ_dT0AD-eI(mjRi=RhZR z0?26#MAVXjh%$H#B8#k11@-bAbhf*OEQ)#c4mlFkZkL_P99D!nF(PgBFbQBk;Q;| zK8E%*EiGPCgQ~V2HsC}X%6_E7;TH2tVHK85VNvvw?tXdxfVDDf3C{^v>XAR!J@~?tH>`-=UbI0r#Y_Da{8Dx;0a9f$HuD@dbsTqFj^FVvfV9K7 zfO!yW*WwyuQhiS|)sM!y)f_b(K+h6lDVsv6?;fwjQv+uu*KCyGm$6Zw)^#RVA1R(D zOgE&Xh!n{}^|w+AF8b0^FYU!+`10#_6`7uYce@1`Mq4T^BrV4sd;=e-Exv)1_<%d$ zj;9*PnNoYMC(mGjm|@mR{h3Tly_K3iwUA4?j$D$n4>tA{K$^lLD#bNL06GclHUq#h zO@lHo^%m$KOY=%<8r>tmj5AXGSb+E*Ail-USu_ojuBFt+5S<@tDeJzeN5KF93qJIN z*wF9sJd*x7%Vnh=Kv~L4JMjAS5_0Q$42<(u1u*+j1U^DNCamqLtd0OJ>C^&IDNi@;tp zQT@VvfKiN%PX>%1Vg9Epi;(MJ3Lv@@u=%H;9UoluJW>i~F-O5v&{LDl)OY|u&S!G8 zpn-AK<{TK9$mLdgIs-TDNqD7bI)~*s=#@HJ1PPT%dfiO*GxE|abvS2X^Ih~lPP~3| z9(pBrM~mP^bZi5VJ6N}yXI|;DuVR}KDKA2l?d-@i?>brr#!5d(q)HTXpLPiD$?yM3 z3y-uI5pszA^vg(%W2tv&qmtaZk+i&jFNxl9EyLLdqI-*#JYVf)p&CeO6#EGW=HFlw zVrFu^&%UqDSMe=jr~TTgfAUW_RL^uQZ~B(bsuJ@`mme*tU_Q!QFjww;d%;`g literal 0 HcmV?d00001 diff --git a/public/airline-logos/latam-pera.png b/public/airline-logos/latam-pera.png new file mode 100644 index 0000000000000000000000000000000000000000..60c483ac3db4b30e495506f15aa56ced66b03599 GIT binary patch literal 2633 zcmV-P3byr$P)|awzMnjz~FMUq#*^`q@|r4Lnh^lwJTwpBjHF08FMBaZAt?u2bQ$9 zfhIK5$&k{*Oq0+yC6myD9wbAL&?XadKuJieNg1wUbXu}Q&~E>4S2DsFEQvtJcEG5{?1@w9`bX-Mjz)Gm-ArG@xlXbR{@ilEY(7sU4z66ZAiD*gPeVd zzuaDtlVA`9HwQTJ0*i>Q;3Pw8*CS5wWBo4!yuCJL7Rz!=XLy^tHLfYC!b#Sn2-db} zdUPC+o(u4fyA(@xac)G8L7Wdgc_$FplwcYWl$eRN>=CJUIB0Y{?l(BbJIUGS`q?Ni z?uHiZ5AwDZ0j~B73Q<8czQXUgT1N6wpmC2^j1%gS_|>)}D*T)5Vu|stIa}M%A?< z^ho#>qH%5uH=FOCGRzC!WF2UUZw%3J9L?MF=M3VMqx!1BDOE0$&5Cso;W~fBj3)HR zmqDt<^+@&^#1jEteEz>iVJdD^QMZ8UD3%Ew2pYsA*sv#{w@*kVir5Gn9XDb_-^cp5 z5e;%CdgN21NKj%%L3yj}zP5=)&J9@ugB0*~bw`7VzJwFcV;+DWtVBhrOy&9tE$#~) z`6kkADUGct0EdW<$hODbPLT-LhJ_VbIdp_`=5(BQ<)n7crdp(-1Fy=1Ze5 z(I5#yKzar1=Z1~dhLlpRbm|a4Z?D3-T>x{2rAwr}TejiaRfrIq@~^U)@=o2N*uDL~ z8yj7)NiHJ^P&|s6+}Q(zO^rna_yX~br`wlARAVWgL`3`;DL3UbfABZ>iY<)+(}*RX1Dsh`#pK$wiN?M>PBiFj_6NS+P(<3NYHC$XNI1 z>!K@WIuJC9^8n~IY&4ikU!s**8&a!Efo{lqbo1r90jrgXh4soXYQhE^F+FJjQK2YS z+7h*rd)9U5kwW^~(E#))g!&&ylUT>TB*#Wp}{R8+`qr)5TaD%V_dtm_&LGeuxejTzjexpf_fDOix5+qFpTX{%=Ux2MI*ZJ$TDsT z51WPhO;+SA?HA!&g$R>oybF(I-XWQ_dT0AD-eI(mjRi=RhZR z0?26#MAVXjh%$H#B8#k11@-bAbhf*OEQ)#c4mlFkZkL_P99D!nF(PgBFbQBk;Q;| zK8E%*EiGPCgQ~V2HsC}X%6_E7;TH2tVHK85VNvvw?tXdxfVDDf3C{^v>XAR!J@~?tH>`-=UbI0r#Y_Da{8Dx;0a9f$HuD@dbsTqFj^FVvfV9K7 zfO!yW*WwyuQhiS|)sM!y)f_b(K+h6lDVsv6?;fwjQv+uu*KCyGm$6Zw)^#RVA1R(D zOgE&Xh!n{}^|w+AF8b0^FYU!+`10#_6`7uYce@1`Mq4T^BrV4sd;=e-Exv)1_<%d$ zj;9*PnNoYMC(mGjm|@mR{h3Tly_K3iwUA4?j$D$n4>tA{K$^lLD#bNL06GclHUq#h zO@lHo^%m$KOY=%<8r>tmj5AXGSb+E*Ail-USu_ojuBFt+5S<@tDeJzeN5KF93qJIN z*wF9sJd*x7%Vnh=Kv~L4JMjAS5_0Q$42<(u1u*+j1U^DNCamqLtd0OJ>C^&IDNi@;tp zQT@VvfKiN%PX>%1Vg9Epi;(MJ3Lv@@u=%H;9UoluJW>i~F-O5v&{LDl)OY|u&S!G8 zpn-AK<{TK9$mLdgIs-TDNqD7bI)~*s=#@HJ1PPT%dfiO*GxE|abvS2X^Ih~lPP~3| z9(pBrM~mP^bZi5VJ6N}yXI|;DuVR}KDKA2l?d-@i?>brr#!5d(q)HTXpLPiD$?yM3 z3y-uI5pszA^vg(%W2tv&qmtaZk+i&jFNxl9EyLLdqI-*#JYVf)p&CeO6#EGW=HFlw zVrFu^&%UqDSMe=jr~TTgfAUW_RL^uQZ~B(bsuJ@`mme*tU_Q!QFjww;d%;`g literal 0 HcmV?d00001 diff --git a/public/airline-logos/lot-polish-airlines.svg b/public/airline-logos/lot-polish-airlines.svg new file mode 100644 index 0000000..1395606 --- /dev/null +++ b/public/airline-logos/lot-polish-airlines.svg @@ -0,0 +1 @@ +LOT Polish Airlines \ No newline at end of file diff --git a/public/airline-logos/lufthansa-cityline.png b/public/airline-logos/lufthansa-cityline.png new file mode 100644 index 0000000000000000000000000000000000000000..fbeab85a676d213542ca00ffedbbc41fd81b238f GIT binary patch literal 717 zcmV;;0y6!HP)8z+pe){oNbMfUBlccoxSE>d-r5Fo{aHi+qU`X2`ATHpG{}}WB!)!zFP`^ zPy!<`0`nz-5g36H7=elR@@}wQv0igr{*dje^_umn`w(rfJ4UVITSbZ_*kFh4V|F+p z!Fhl-(;1`Ia2_OZAp!bLaS#New34nEwVwTigb?Ttg+LG;t=m1rD2}rRL_vQ_hE%My z(h)-|IFCz+fc_#IthaT2n!K9{LcgRaFhbs?BPO(nzz6!vVju_^b;HC4NCi$%jRGKu z4b%yv*0tU>L(#;zU?`x~b;8Iy2_m4HSz$k`(>MrOwC)yG0usC%b-~0&k|HN)k|H38 z%+dj)v^GD|zFSyc5X3ui$Ix;gUUN~_*N4HQ&3cx;XJ_odnPi2Ku$qn z^V%QdjEVO&ytYA2g<N^pRtnI8nPp`0*E7gK>5O4=AVqyn`X7mU){_Sk?} zx)e6A&vRMgXchN)f^Y^Dh0SXo81HWFXGnWqhv#s>1Y_(O$|N5M5*_o73C|^Pfo7N! zMmDeWiHQx93hYobq^K~#wLi~)A>#dwuWXu+bBcK#&nqV0%lN{Y1%)D*VqUYjQ&=95 z5~X?GFwsedx7kwIeof2f2@_gEifma^R2bNPojXQtEbk?7LIusTC(tT5-01qL|IW&P`wR*DbwZI*Y) z+vKh9+a_<%u^r(B;-|F02n?qLMqmU+ULufthansa \ No newline at end of file diff --git a/public/airline-logos/luxair.png b/public/airline-logos/luxair.png new file mode 100644 index 0000000000000000000000000000000000000000..da07c202276cf36cebaa7c62fac87f1b1da5769e GIT binary patch literal 1642 zcmV-w29^1VP)5JQsmq5 z$&!Vma2M*J2Y$m~%)l(iObo-H=z|8hA15Fik`xSnDvMju0~4_W8mB#&jNZ5(6^de* zOVAw)p*~rT-ngoVajwX~DYzT0F)d8^0k}35!c;_8?1mZ}@F{LW4kSTocn76$1v+6l)Yy+6 zs2o(7n=ub+tVIhP1M$!g_!#0+8E;@F)L4MqlO3i$_CZ~?qaBWdc&q^wXG1KM!TVTi zzddM%bic!t#^+EYALl`Q@E{723yI)pd<8YWMrpsoltwPpWiRR@6XJu5u?32IAyIk~ z8=x+^sN{8+GO(-8D%=L~$x&Dc#Uhl0#Ncd9gu0AHMX$n?f{ii*r$T&E62qa6wvaef zhW*>~Q8v*q>G%TbG84x`e3EA7iTyYq5~m#e1a4}7?pVTNoQ>e>uNP@EQAJnB` zykTy@0W+tZ1o6>RP~&xo2dZEK)Nv3u#2Tg|7MRuN7Ko3o!cM5mHXH}>$Vpgd4gxF0 z5~c^#r2)i8Ct(@X_zmK*2cRy!q78E~_L>v3Oo&e^U>p?IQxG5YfjSQ0(nw*_QD6@9 z&w=>pXDF<7s0#5xWvqZY3XmQy%&kzD)({`HgNE=m#78ecU2Y8*Cf9soH6T8D1scXf z5FcfmRjMFVm7BleD;W0zAv<4>`Jr=M?!pX8rDL?_!W`_IhX@= z^sr${V+qvp8N>%wFbx{POORwRNB2um8gjTvw-7f%JeG;Sp%LuBagZcA#T;1P>JHNl z>R5;zh)2xth-fGz$%a4y{!S-M7REyzeIXuu7aFC;kR+=Gb&N-rFdS{ZN{>Q3bO-iB zqfm%zAW3#D3ZdAEqlMvasACt-fOzD5tcONvDM~?-tddzN?-qvIP{$%3y`YXk9v&YIfX3)ONI*V@0yJUx4eIy=;(>n97!~3wNI>dC0h%xjhB{h7 z5>yu&hwZ2e3CPP(fF=wxppFkbx;dtCn2#JtKputyG+~(S(V_T7*b0r)%z(q(1qEor zFbnE<84`zMuo#+v8OTnNFtco!cOfwY@6OfYgHmG;w0s%X`sy5{ICkF!y-^&<_gGgrR|1GBY3%T!)=dAAA7` zz)&ba6NdZEMWRz6VVr;!P#^V5@(NWBtDyi*oPTr=)Nvmqgz^{%O@a})9+Cu?;Q$o0 zpb0}3CPN*aAr><58#KxC@T|{IS-b;v(1Iomg5K^m9GMWKJv2ZYk&pLr3Cch`k_&b8 zc3<eNQx_MqhLTn+j5MG7z=fomf{ogaTo-38IP)7Z~d!e zxBg)ho`Iy8+p*Mc;6hbDH;aA=H9p0WkbqT0M;x$oif@}mjfU6{byaK>z>% literal 0 HcmV?d00001 diff --git a/public/airline-logos/malaysia-airlines.png b/public/airline-logos/malaysia-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..2b2083d317b9bb2ec0e6c4a68dffba6ea1fafe15 GIT binary patch literal 657 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT3?e@WZ39v{0X`wFK>D(w6-g*V&%IFJtySNJ zUnhtpbg(!8az9Eg{GoYE?mZ2mfkf9@Vt;DZN$ZPb|cr@^IL1$($<8@7_qiXH(qT!yi7f_ zHGf6eU++sN%7ks!xAbg2TejN%xX}6|jN(oEwkt(h>Hgo|;mz?^w@wGwNd1t8Z4tp9x>;n%X5k^57<;oY{*wHwz(D$d1afZ?nYj1O{1dXPE-G)l zroR2Q*4A5^o35+lk8_SmkK86Ul%V1`B!~zlKwKc%_fSt*!`;p=F(I?0yt<*YtGl(W zv$D1+DXY}TCHl0G>8vACL|5E}M9d6=o)s~(_KvS@XzBgJ>gnleYHnAy44!vfmfXli zNDvFkS$9QM%PzdCuBrDsR(nU6f?43?{qMM_CEyvgU2N|IUBBq8?(QC*(2Xr^h2?db z1(i9))%ZP>!_rlKQ|lRF(~;Z7@B|J)BL1-Zo=#{&9#7oz>PDZ)OgWQ)Tavb?giJ4p zTSy!EN2V0Cb#yXO!NI)3GbZhO%PlPp-Xy&Atb&7oGEdOt>@p!Ww|U2925l6=#sz~n z3Ju)wYWp26->59u8&gp=4K15)XpGp#5lF=3c8I@Hb8Bj8CsHP6l_Hvr*eZ(9$26y5 zTSb5k%FHXNVJfP*wf%{rGwhZtkdQi8UsQGvO(*g-G`BrhaUnV9OP|2nJAr9_t?ivE zmcgTUh;s$fzzss@Ma|1=8i{-{X+^v4>A={&l(Mj)QbYwFB*4>ij2yF*Gmr+XfAvVg zi6>uNdNCjk*zk%41|~OfqtN2h@}LnfRb81WtF66L!zPSFS^^|^!hcb_xlPeLXvQH) z{5=$ijo(1r4cFA3skk@=rreaY#RafW-YqR{9pc(vqc~-F7sM<;b9f?_RW-m{o-4at zlCZq~&gO-xtBylNaC|P}hj&Eg+RLhLA!!|*UCi8d?XC4l?t};U#==u_W*)IDW&qR5 zEv_ysudQor?dtAEuyzVa-f~l8$r**L!b;|q@T>g~^+#;u3?ve!H{Z~(^-UykoL*^p z@f_f)rmViuHc_$#}?tP#)VecF0 zbM{f`@T7w7?rtU|q*^3pPC%k#8vJ4IF`4yO)wbQz+;&@Q!!`9qr{%}&l)yhBO(BCx z=y=sNw$LWJ^o#LNh1((e^DxH>B!E7fLSJoeV zY%l^(;2I>D9Jrh#x+~NIA%Ab+i{M7o2!6y=Bf3RFaXE9r_qK>|2oi}3LhA0-_02RS zbo16;R^c^`=bw~K|5Q;xh~DyqJ+E;AS0Ev=qKH5T@3Sg;t>Z;hL@tJ+h(|F)NOfH^ zDv|NKUlZhipSGf3_f*OGvkhcKbEt?lt(da^t#itKe{IF{3o0ZIiW`CU75MX}?5_(;So*1AtN#j9h9F;Gb zl+oe-*mI+z@;ag@W?1(OPe&_r!XBb78W{g47ibZq4kz6o)-rI4LKp<3&)zt8m&DEY zwg}=hwaqWB71i`WB~R>-8Xxi*60AtmF6^^bcU#g9T$?EhjS2&SywVyP6}mB~9RUnO zL`>pfy?7BBkm5!@LP9+|=a|fA9jUdgWA}X>2*Hwow!o9GOyV+%$sB-Q2pcZJsmNxy zZ0k);IN{{|#5wr`35)^twtsXsElO5l75Wf>^gVh;6Vt&z3C+OIqGEog@T7dqPT|1( zgCw-$j&?*+KK=U079dF2V6GVHq1{8H(szo)z!PpDV2~g&C4h9{@@dRM0T!2 zq7QgY+5c|yO%2ecgHH^waS~!XP7z#HgAPHf1xZVENyj@gKw3Q5g5*myD%S4*KNtOw f`XTj0;>PX+Q_ZL{NPp(_00000NkvXXu0mjfTjBH# literal 0 HcmV?d00001 diff --git a/public/airline-logos/norwegian-air-int-l.png b/public/airline-logos/norwegian-air-int-l.png new file mode 100644 index 0000000000000000000000000000000000000000..6fd89e453f988d3ef1e9b6cb440b40af63f65621 GIT binary patch literal 607 zcmV-l0-*hgP)&7)obu?01GgOc?PeWLGsItQCGB$Pq00Fm2 zL_t(|0qxa?mVz)4h2ao_$sKA?i8c8CPq~71gad0mjc=>%rw`&=CX>k|kfBmaM&b=K zZE!~V#gfzn#7Uavd0sT3S302u%K2h>lvObr^7)7ZsUo+T4smyb zIOz>~rN=Fa(TBX~6U=s|H?!`|*hnzLsbo_;u_`R39Y&ZaP>w<|A~YDL>3a4HZt64i2fsN0)G zpb%$#A`GGXP>AY0)+}MZI!0oQVIkIOLPh=}GMP+%=nt=;HLl$~kB9&O002ovPDHLkV1o3N67c{4 literal 0 HcmV?d00001 diff --git a/public/airline-logos/norwegian-air-shuttle.svg b/public/airline-logos/norwegian-air-shuttle.svg new file mode 100644 index 0000000..92f5db3 --- /dev/null +++ b/public/airline-logos/norwegian-air-shuttle.svg @@ -0,0 +1 @@ +Norwegian \ No newline at end of file diff --git a/public/airline-logos/norwegian.svg b/public/airline-logos/norwegian.svg new file mode 100644 index 0000000..92f5db3 --- /dev/null +++ b/public/airline-logos/norwegian.svg @@ -0,0 +1 @@ +Norwegian \ No newline at end of file diff --git a/public/airline-logos/oman-air.png b/public/airline-logos/oman-air.png new file mode 100644 index 0000000000000000000000000000000000000000..020c59b5dfd9d02aaf41c897fd83d363b06ce3c3 GIT binary patch literal 2345 zcmV+^3D)+BP))N*MzW?u4R+T1`o7?kNyVf^xJM(AH z-g_pg$ba&m{3rj(fAXI-{)rYS2Z8vCZDO(5TD7&c2UJy6X_Zx#Pl7^F3qrcC-`iGj z*N$Poc1_r;-W~C4cVWGA$g7^*Qlf1OL@v?pyLSWB?S-gcyAcS%!U`=dEgPfJ*ToxO zrBAEWD`Q5mZ=POL_5j2v3VW4BA+Hik!<4X3`3~omqe72_0?MUL1)cZ(^2-<21;Q<& zMP0T>J)cG$#)o{$Ke5;gYXc!zWJ6q#YW;CEeu`0u1W^{$>g5-*!EC%OeCoomPaS|| zD=PXvEiD?*&ZB63f-kHOgbXc3U3UrlJr{(1+KUk67YMS1zl$3*tl8gXFCYjDQ}jCh zI9SLiHa-(L=aH~qecRYjCxPHg(SWgN%x_q>K)?zt--|cWuRMX{k4Ajj!x5kQ4EDW? zYbtSW6z6@3V}C*HsVTqLs}79#I_(MsAuKY&Zo}?jCJN4(94vZp7yS4R?Dil!9X)Nw^a5Ugiv9A}zm~HSccLR|~;tq zFjHk2X<)(+!LlxkeBe2~0TqrEdd>|MbUMEUH29T^8VhjDuPSK3tqkL|LON20e>z*B z4hA4x(u$RA2!bP}1Vp4n&{sMsct`gr=P#`pn1iNvO|Y@CVkv#lDYd0U*Li zvpgz&48F&D-{p;8V4-XM_CxT&jetl6i`sfStIH0DRs0NoXe!foKt+1w zkQ1g)sc-Np`v8#%7KGMvtRcd@2CKQ0>o)i+T6*jLp9Q*Z19SZ(hoaJWI$v5eeHRd! zSh)fVsWII7FX)7^oMcBFMko$2=^%3;Ld^p2G!=F}fc}Z&H$#@2mUzMNY|L)4z7*YR zPYClKw}~Bpvs@f~O$fsA76*szCCWaCSg)XK&sg4-%7HM01%1nfi49}8rZ`5yEW+=2 zJr)eE!!gTh>K@ETMxYHpL4+{INN+^EYL{q0*+1&j&R7=Wl{tp~`bmRP>RZJW?vy-myENZG<*aX$Et*Kkl6^?5omM}ZX_#Zh)+fx259U#Eka&NJ_! z-(c4T-%zkrnJi7ij#aX`+l5PI(j4k+pfWDuFm_v+`g``jNBJ#>x-VU)T^` z{6vnHAr3R@udp1%IUG()*cz4l)jNR578bOa0qMdo?)V|hYp}gULLB<7Fnt*tjz&&T zsQhSJ#K$#VHVOIFXSwZQmsNEoQ1&gE)SoGsb!!S#conEOgOJIKRqCXyzBrglIZ#)o&Vk zEJURdSu|+AUaOy0Uthlm&L8JMw_4062|&=V$XSRwm7$vRxj;BUyg)^N%Ca$2>+0$b z=I{aQv$;hQ z4ng3AujHJuS?C1~d_D!l>LOmCzh7gqA%DYiHpg|haoZtrK5J@f+Kge_n5`!8XE>mq z0L1DhUND5(=mKBhx(%^>#4&Mn{dPEE;=l@@2Ev%1 zxJA+qRHRH|{^hCVk6%7=$lokwS^$LGB<*0@FO%6q*gH9jrk`-gawa0%-U_8wu&upGxx@j%M)1=mH1nA=Q+>X%07OTGg$$g$+LkkNK>VLzktZ)qUYNWvtBd~t+mMs~^lOaph(+#-PP=K8l4y6VCPrWh_fO|e-;W7O8<?kJsm^xAf|iSo0p>EdTyV@o{|KX-8nL_? z%pI-zAErLdu4zeM%3Up>Ha)pMGVyNl4W%I#|NurJ2fJ^;p`@P-vXEd_UOV-F8dNc9Rn|bA>64z>8R;=ddEi7|O{KmMa(7b)+ zqZ^ZLj@-=uRq1k~Fud*I|M|zfvj0Ze$bPE%DVTWYu9VuwO)|`EFC_BLI0#AQ@K-?DZV8r@CE$WFMrwqyb}>7fF;#?pNC&y||7$1ek3ZJYD@< J);T3K0RSkR$ua-{ literal 0 HcmV?d00001 diff --git a/public/airline-logos/pakistan-international-airlines.png b/public/airline-logos/pakistan-international-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..4cf4301f77b1abeaa1338c7da3b238a6ae3fcad8 GIT binary patch literal 989 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT1|$ph9^lOaph(+#-PP=K8l4y6VCPrWh_fO|e-;W7O8<?kJsm^xAf|iSo0p>EdTyV@o{|KX-8nL_? z%pI-zAErLdu4zeM%3Up>Ha)pMGVyNl4W%I#|NurJ2fJ^;p`@P-vXEd_UOV-F8dNc9Rn|bA>64z>8R;=ddEi7|O{KmMa(7b)+ zqZ^ZLj@-=uRq1k~Fud*I|M|zfvj0Ze$bPE%DVTWYu9VuwO)|`EFC_BLI0#AQ@K-?DZV8r@CE$WFMrwqyb}>7fF;#?pNC&y||7$1ek3ZJYD@< J);T3K0RSkR$ua-{ literal 0 HcmV?d00001 diff --git a/public/airline-logos/peach-aviation.png b/public/airline-logos/peach-aviation.png new file mode 100644 index 0000000000000000000000000000000000000000..04b06583c446a0fe7af72edcfbc80e1e9526d803 GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT3?e@WZ39xq0X`wFKzf(ke3H+(+5}62 z{DK+&I}|7wGz82S*x!Hu{rQCTuTNw>VqjoY@^owD8m zxirr_(2H8T>{iY{mDy+0Hs6fMzAJxy&K^al9>I8@MOvN@{X;b+6Jn%3(59F;uLV<)oSR*4JAyB>FSf%Z5JK zd8SH|Nsx0>Tk~OQ`|}y1$ugX7Co_`I_ZfaXEg7uf#c9MTH%mC|?Bvf&GLH)I-E3q$ znD{_)a{H<|hCOyGjh7q?k((#6DTYyWyVR2#(Q6N?ywCXcc-D^{$L?M}vB*v2&P37P zs416B{(lkk&$uF{?Yq~q;P-<@=f!+6+4J_*tqHvDpFOXRXH8(gW9FC3G3E1@?f$cq u^HTeBhT4;!d*|D)yqRM*`|PvhMXdWQxobB*Dy{(rC4;A{pUXO@geCynBf%X2 literal 0 HcmV?d00001 diff --git a/public/airline-logos/pegasus-airlines.svg b/public/airline-logos/pegasus-airlines.svg new file mode 100644 index 0000000..176a185 --- /dev/null +++ b/public/airline-logos/pegasus-airlines.svg @@ -0,0 +1 @@ +Pegasus Airlines \ No newline at end of file diff --git a/public/airline-logos/philippine-airlines.png b/public/airline-logos/philippine-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..2614b463a0f13787e8c8a95ac246bf336aca62c7 GIT binary patch literal 2410 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 literal 0 HcmV?d00001 diff --git a/public/airline-logos/qantas.svg b/public/airline-logos/qantas.svg new file mode 100644 index 0000000..6beec92 --- /dev/null +++ b/public/airline-logos/qantas.svg @@ -0,0 +1 @@ +Qantas \ No newline at end of file diff --git a/public/airline-logos/qatar-airways.svg b/public/airline-logos/qatar-airways.svg new file mode 100644 index 0000000..f4151ab --- /dev/null +++ b/public/airline-logos/qatar-airways.svg @@ -0,0 +1 @@ +Qatar Airways \ No newline at end of file diff --git a/public/airline-logos/republic-airways.png b/public/airline-logos/republic-airways.png new file mode 100644 index 0000000000000000000000000000000000000000..8578aed77a5e4a50c6e60a0df1c209ced7e6a23d GIT binary patch literal 4154 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 Eg3P`K&Hw-a literal 0 HcmV?d00001 diff --git a/public/airline-logos/rossiya.png b/public/airline-logos/rossiya.png new file mode 100644 index 0000000000000000000000000000000000000000..a8bef690ef38093f015bdd1c8f5278739f714a9c GIT binary patch literal 3661 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 literal 0 HcmV?d00001 diff --git a/public/airline-logos/royal-air-maroc.png b/public/airline-logos/royal-air-maroc.png new file mode 100644 index 0000000000000000000000000000000000000000..0776558c5db3a77ec5d7d262c307829723aeb458 GIT binary patch literal 2721 zcmV;S3SRYzP)m~t# z_ZR!0i2_N1q(D+2DUcLM3M2)R0!e|SK)NZ{?kkEYko*&p0CV@Jk?%K*c&`BsK5uVG zUH}i4P*v@cy#09c_G9X*UHPQ*wuFS_L~dq@Jty+sg7>5ykC zSo_aVSMO%&JI&g68Vx=}o~bAekjDEXq-*!$W5vT>s~P@w-JnNGg}zYLF=laW`3~8^ zG4^5e;+E}*U$(xI2ui-}D4FGwg9@?0hN%ys!j z2M(6B`LMc1_smP-Syv;oLsZ&^{b^@j4%ap6pA)Li4vfya9HFVzGilpV1{W9|?wM;t zo~^_p{sKw3jdQ}X&)f<2kqe9+$E2UQnjI8_Dd;3O1U^tasz`H$hN@~;=fvd*=1Mzu z+1O#UW7I+>GFZ5xKR^;Ds+<$4b5CDQn!bA1C!x<*c1>E5c`?j0dwu8&Rfrbb(76Z= z{LM3G13!Tl!!npDSScr5BMjvykcx!8TBE??GWVEt^{$V-J@ zQK8jsXf+I@`3oe03PlL3CWuDU~D&1Rk2f4k!Ddvn`1Fxd**H+-GR+H zX$Aht6mi@7DSNa+x5+dByBlDEMYoL?VgbzHqy5o z>Yly^dchPwWe+l26@^1s2h8MZ`plD<8*L!^J@Yo^#u!o$p39BY(U~0*YaKKT-oRj{ z_%+8v;0=(2LPs3wn|A0+)k2=Gkbd%N+R;lSMv|erTDQ2RI|?1wv#vy7MyB|wm4sSQ z2f(BqxfoNn9iQF@(%qj#7i;l(LdxfHNl~9RcEu%hdT3~e> z+mAAJ9$R2`L51Y1Gngr)`=qT$S>*4zYB^wh;I9ZIO;fuUY+B!9$kjVO^7#p8gGo4xu$%^@X5q{oh`OvN5=m}Wq=bvJwRK(ueM$v{{9(h&@bwfrmo2=uz;b> z2uJ{1g)l@2!R~&7Y+_Hf&pT#e1jcYB<3=V zG{}@M5>vUpcyYLEz?IeMQ^7tY0 zgtN+pNWfLF3_ixMT%%l|c^WfLNUkI3QxBXY%Zb5o)0BN@cyy2njBQ840~xHY)|H7& z$6`1S3;Jv!@;(ZnhFmL@L{&rU;R);Zp*#=(0-S&w$@KBE=I#?A#W(|YL~sw6A?|BMP8~OeL>xBQ&7@C=UdYYy;$XCFkv#yOE@Xhs0Lwq^g8;7D9Y;NIc_w z?nE>o?zt|d?92e{W9mGPD58pj5yTXPMr^ruoR?$VQf6T*p#+dH0;fQ|4K+1VQ>i{w4;kQ4|}<~d_D&c zat;_Dpe-jyq-M-cgkavF$I2kKL9=*nq@TK$xZxmU6#8AgfJ#ATv9o~#w>Aojv;Onl*EAeb?!+yHP18|ZbrRhLUh&;)=K-xQb=LsrUL64W=Q=Gb& z?>XbJGo=Mn*9k;Ip2|eMg~22%48ns-;(LTa`iU#a+m1_6Ak>YqDzQX} zil;}?_G7s*Must%*Ax@+QWg=G2g&vMo7jSl-R{~j^PhFz{aDuP0a%XYqQk4I2gD8*`ND3qck^)JAq(D+2DUcLM b|1bF-lIn3@4k?T{00000NkvXXu0mjfZ-XF) literal 0 HcmV?d00001 diff --git a/public/airline-logos/royal-jordanian.png b/public/airline-logos/royal-jordanian.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb02d79f3ba8c65213f747919285ee52557449b GIT binary patch literal 1828 zcmV+<2iy3GP)411+u|lTTHv5jnj@O11zIA|C_$93{}cLiP0)RKc>z2PfRB_A1S1&12&QJ3 zdFneRm=b1Sf+=AZCYU!$YaNU)mQG&HP7=8c*ldRpr@Dm`IY@H5%{ zYjZIC_*Hyf=zwr$(CZL@puck)kCsnk7Hquz&3 z^6k!4ANRd=Po3Mty`u=|0{Vj9pcY7}$fN+@=vNHaQYdmMsoR^jI)h>$Zn!Uul0-%@ z790mYCaZE83(n@IS%9e-GWiEALW_RG=yN8EkV1>I_KiVJk1Vp~*iX>e>yE%fm)u z`Viw_tUojMR3BUzI?qC*tBp?^nMU^8&}w6-#YQ8_Il&xOGp8()ZOLgBa9(gCvDo1X zOkwO{2tP~VU}vddL*hKB;9M98=LGAF&6zt*9BU{%GvA=LFNWX>zGt_Q)9@r?2b0lY8$!E z4#sS|<(8;Ni?_yOfenJvbI?NxCLK8EA$t>~cT6faxTM?QT5Lxf>A_85A4#Xk_E2X( zI;=q~wJ zC4t`{{|tQo4vB3t*x2N(4`1|YI(-*6$VapEVIu=_0l|deq#)SFBcNo$C0xrfsTigv zjcYL+ZPXHO>0}-{ZG?PJf`qmM+f8ZKA?!=vJ0_LdbQ^FjwWE#iz4i-vW<+7ID#H7oZN?UYid+7Q>WzTPoEVUSq3(g5cquhdSG_Xb}%o-3)(9cC5URP{f=c9z- zY7GedA_R8=#IrbpH%<;epLI0P4&@d@D`I3|$^<gvkMr(!*gQ5N2qa20A1eSABHy&v6~} z2I@^AV@Tv7pAzhM$g^ueUQKMg<>a~1;R)4U(;4KD;6Dam|2XIk(sa5zJc%}2CI}Ni z64Rh+ouJrCk##N1BRWfJnf*S~4xvK@`J}W7+wO&Ncwe89Lnj0+qGNm=7ER(?C{_OLeYx zym$d>x*rXkj{-Hd7k7U8j%Sd~%9sxUpEhZ%%v{sBzdn(lRs{r|tYDV%mNAQVnjR1K zg2kX4Xs>+%H@Mb~GJC0$T6?-Yr2H(9Rfwm6IS2Wtvo24J=HRII)-WMIuMU3T-qHw^ z1!c6oY91&Iip!m@40Vgs);x7@pwF_5p*v%$t~8OC75SsgDXv%;*SU$3>_JZE$7q+c zgiknyJ3|{j7g@$OhOr)0ikSLizoJbK&M>eCbQJDktUkt`{*%1ahv6pSzYy|Ez)w|} zXu{;{6j%t3c#Rr`K4}?fN|t%`8Nw*_2z{S2ea@JpeVW1$!_PmifYu;^^4RVKu4&0#$-AG|W$YU_n_%64KruTfXO zRbJ6oJ^IefSneq@TY~wEsy5&ulkh2*^*P{Il6^+BvycXD5TCLx>MKR`)Av=y#&gEl zCOCy5yyOdjFTq!AyoxAm!K45v!Wh0%*7Aq`O{7fFZlwa?M=%bAg;T~c#sa}Cj5=`( z@5~NnVa7+G!i*1EVU)+>STH(#g4ozbgf?G+P+>xa2^A((m{4Itg$WfV((wjeukdO( SWyqWW0000Ryanair \ No newline at end of file diff --git a/public/airline-logos/sas.png b/public/airline-logos/sas.png new file mode 100644 index 0000000000000000000000000000000000000000..d10679545b8957603ed750c3db581c85a0b469dd GIT binary patch literal 1056 zcmV+*1mF9KP)qr#8f1Un*fO&Md{5^Ia0d-{Jd8afaZFw z%oZ>7>I~3V0H2AX`Ev(=+W|B#pfNyl8yJyE<7d4ZdCkd>mlgrs1)y)d&Mu`gHUjAF zykzKV1~V-;2Dqu>HvuMAZV2$}dC5@4ZD2)8j_SmijhBq`qX4}IaBZ)J(Q7?nhQ2oh zUf1?`Q}r01i2#2q@w!(5s_C^L@*e;@{8`K(0|B=i@<{F(ebCQgf*!HWsCx@4?){j= z4h3kB0+YYHOs8 zsPOX!pTki;?sUUI_rr`k2jIm~1q_xxvvLD~W}6zX3Z1C?xW}Mi>;*hi8SGD(Nbe8O z)F>%)0Cz<6_d^WH9|sGPs_>PRE3@CVIp!6`2oX6~_edb$K25P7T|2y(Xo&nIJ>;_6bvcQ*Nfo?<b_U@5!LNy6J|rjT#|8e9`1Dv zRQSE1pY*gX5r+CiZ(iW_T=>oZZ7pY_;6OJA0_v(?ICD2WF~9AabJAY~@Jmve`N-#> zVKJU}AwXc6?-CJ#vX6#NU2b|8sHlxUOG_{xT-xk5C8xG01)JFy}|$$00000 a0KgS5O%oHxyeISk0000Saudia \ No newline at end of file diff --git a/public/airline-logos/scandinavian-airlines.png b/public/airline-logos/scandinavian-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..d10679545b8957603ed750c3db581c85a0b469dd GIT binary patch literal 1056 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 literal 0 HcmV?d00001 diff --git a/public/airline-logos/sichuan-airlines.png b/public/airline-logos/sichuan-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..8b4ffa43d8403780faf89c9b7b6cf7ba898fdc84 GIT binary patch literal 5538 zcmV;T6ISt030w?ZbYZc0h2e)qEE z#>Jey`?9ug?Kyk)mfpTv`|+)Wn=Wq@YXIxUp9K;DBJY%Damw!9 zV7kOLl`kKsE?f|9=M?sDLyCcExV=;2)M**(*5n;MSn>El)r%Lk zpFh+^Gpj$mt$O*g{NA0sL;E>vR>e=8#I&&o!my!65l*h@E0)!KekZFJ=?QFzUSNdP z#aA!Kj2aD5;P|6FeYhLfSG{`P#?Mib?&wx3rHxV^NATcY#@f}9Zl1sfF~*G> zSMl_rys>V;z=jMAjIvEy{_qaK;DG67)~SmYR=J2;qX zps_v9+SRRvIpnF|1`_@$WP-={BAi^p{%sULeth-2SKVFhgX)M0uqMHi`_aDsu*@hQ z-F$y0+4Nv)7JW$)WbH8Q80S>+zu*Hv5jo5fAdXfH0{Zdy+@G^blw7oI&y&Th~k z5l@h|Vks;q(%lOI2ipHzlK_p0$vVpJ-(cD~QHGoHc5P8goABUZKmwkcs+2_wL;r0U zKWSo9TGBv-qldV};nYYk->{*E+>L7#%?)@&Pe^K+xE9U;@=2I7839p$FavW)v17&n zRp!qI7 z!m}sBh8f3<9^G1yO#+BaRNGcu)XYg~NQ`REOjEYE{%)um5@I4;Jm8)dh%gaj~8UEXObNnKteJZ|u z9!HAx^G_auVS{HVB*azp3liR|%GtX!>|chQmCICGX3%FDA%nuSaiE!6)6H#xjpgpq zkPwT<2R&14$>rtj-wUNEx)?$pk~h^S1y2tfZd`QfT>qs6t&L__+p}EUTJp2L-Y9vb z;Ot4nK|s==GO~>F_mk#we;pMDF; ztvfPxLt-?;$`;#ex5cCyS|kNd>8h>h zH!95l;})|R1!qsBFI$lqI5lqE=!C$@i9vxeJ^?gyE96x8SkQd#hPA4$4jm*YQTCo4 z@Wa`AclM|hKZjHo#iW^7#*7&ws~7%YesKIJHrX(?Ary!AdndF7Dg6X+qNp(T7H~XG$toN6f|QC znz0oo-k806TU$xN*T&Q(s)j;-^V9NA9EP9@jvv;z4UF$WYRSt&P8#Lq(^*yiQxzh{ zn!bEFasjvs27m#Tu|?Ld9p9Igy5_^n2p4yN$LoP7+{s1o{4w#--?3Zu_ku6e);`+D zx2vY&N03TyTnYWRLEhng>Yo1Ex4gL?2{|%tcnghZH?_w9D4w(nioed4otCNiR5cBxU}*2p2botsQsM21ynNuR&x?oIVX64Dx{_5hN<# zJlBsUs@qEoA?GM>-%fbiZ$hek`T&lBw`)7Xgq|t4s;#B1tPp8$+OnmQUS8Sz_V9LW zhh(&PZ179T)l1NAJ)?8Cq6=99QhIR&tuG`J?Q-_*4*i!w!O6pe!EST{P*uKt4o^)p zvZQPMN4ULn(S>t8impLf1ra~=p9Tn_UqgZ+wXlO{P)3-=O&qUi6b}k#lQ-52>7NTu z9*cDGpqXmI7aU#2`qj!d$si>r>e|qc;N}_Y)~bm)^@h|{D}Y0U?Lv+)JAK!KqL&nK z)-0nKn^A_E;$t<0(8LDP@2CJj@ZhSqFT^Zn;rSENT#h~#+mf3Ftz$2k z1qK-Hqc0?3=m)xqhMN#026?M|@mPO#AJoKNt?Fv8eDySD^hg{!%|w&h zkdP4W;3COL>kFy+%}bg#XkcnXq2_fWCQXlh400~mR?6pYUQaXA&_ZldHxU(>woZ-7 ziC;l_`$`iB%^)HjDiAQ&s@Km6FZ`oqMIu4%=XWsy0T2!${#rhXX@d!4L9GuIzAvPj zx33^2{kX3<3tfhdVl@En8gv z@OFJHqw@9BC@){8y|Xm)EBDZx%En2sXU{99}`8; zJ1R>Nn$awQO6VFYXavH!$?9sFGg7NRzRo*-IB7<3?1a%7>sD8Pc-0Uei5>@nY}LEh zC@1tIP3#d;K1TZm^ezW5Z0s{Ou0?qW5rQm>s&b5fK!h`r_PoB3TKRbq&aTmZ{^(?B zY_TXWYxg#$lM6l(A(ElBF^CSKnqg@l72ux~G#%M>_JLjbr;lLb#c7L{v8M+|j|^bg zInvB5V<(K`Uks7vWJoeoLDIRKS0x5cseFFF@XX1QTUUPoiBK8-rE{E%r`wE{M(i51)n zLmQ59W>^LfQVcN7!qAibw=vb!BFe`vbNeRnahbTLC6~+Fvok($a@n05@&<9<@q<;b z9w*HTYR%()2NKz3A!pSxs);2HYiT(Y(vX7F$IwC5Awka$hu)f>UHRe(;!X0b*+_o- zLIRIWU$GqfL;I-k>~Vxe9q)wq6g+vr-L?VgP=u2+a!Hz*HPygEW22U~3_JTscMtZg z8M%k{3u&K`TC01M$c}UN?+JHuN?p3RCiIm!ir$zUmv?M`>CHL_w3m-#S!#x;eoQXmfX0^gwh(pZc$?~XSul-Up=pAt|!Z*qs6~? z22C``4LSnAa9vuRG)E)v+xe1+NktZbk0Vt9I6$ak{>j5lDe>~Ay6+bdQCRM1FD(!} zy`Q>t5%z?(P0W~);NZ1kZ;Gy;uXz5j=)wu^`c)#v=Y+|V$QJv0w!-Z6mCLXqHVQ~^ zxtw*YB$?^|RWk{wOx*bK07H^4-Gp+6J2*?T(!LD|GKu!_BSeEZIsk*juuC-ka}Mk- zzkf#*!DvW|mhw`YQse6)nQ+jk=pqk8OB~uCHp~REB5TK%_R{>)2e2ej5@l#AI#VjB*^IdAfJvB=Al=u2BhVdxo6@A_H(D+19v?5oT1ahX7ScoDl@I zlsAcT5A01}y-L;DF5#x-pE{Uxa5q2XROPd$sGdr)(x78XX>(gqZrQzCiPHlSA@Ctk z)VN9G1&{A4TO``;DVsTLgfcj8&>EsUq*en>!*v3f8MX&Y$v<|8?El*pB4OAE?2>L_ z$FO$5J23$Ra)ZihKw<)(CiB76a4oG`n=|blljqN^{`dy{C=?CZb7m&bnT-OAC_J?M z{tf=wVVV3v~`GENjFq3uXOptmTYX-hwyjY%E6F zpXKTXYDkAn0MghTO&U0WD1Tq}oZ0*fryEleQKRWmbVB1e9S=aV=sFz3)-2$ozk=n_`de0&XNfW5+_;>d8I zkOs@c6PAYkv=ro!N-~C!9*TQBDRbezTYdxy18ol!RkC($)0w_ZTrJ7u)Wt;Ce0~pa zj(rR1VU6r0)Ma!Re4#z(*PqBH<4pG&FBeyOZW+<1AAb&Ji<13qy{A z^2UxCD-#O1TTquaWLVj!ESR6W?*RWoNdB>7Sz9)<=gy9F^P*{83oMFeWDXLeL2~y- zizXs}K?3Bs{UYV1H>W4I7VuC?fQS;NOd<8TpEqL)Lry})lY)Z8;gr^Vo=jLH6V)KO zN0|=4ca#@3r6tyUdYgM-UqawC>=I3Us(~qPMzxjXgXSg83@W{Q6AX*DZ+mU%Tda)+ zsiLK!;LPzTA0M>gLWdfnUkY6a9cqM55d?x00fFMKUyoC7<>#xl-B?hw=JceBXAe*? zgG_M0C&J#DVPVH|b`Q6A#k(qB=|uE1NYH6qPXd!bqJj6vjhhfReqvHkVEp9CvEwFy zN;0h+2t^{kF2dEV=yC|I%k*?Bc)NB)`}xW1MV+-(F#6V z${*cE6wW_>r0D8-SO|);EqU3vo7dgdCabM#NQ^1Hbscx5;wDZEw{e63u@F=d7Eb$; zAX!sJm?zJgrEHb-4-!eAKE46#A^r_!N=O}CIex)MYhyN6f|9uKc5Z<_5bA)$20}n# z9e=`V5m<{aU1;U=kXl0~&_MpVGxhP2s6%uJiaM)GAaMK+u7v9$c}EVV%$*bCKa%h| zV8C*^SkfoFGHe~{<5>M|Z0fo)a9Nc968kT}v@p<{K&(iZIvLd;X$}{9P8w~%1Bu0s z8r>zTA_l;}aF%Xm4aU@2Rm$D84o(l3kMIdl8&KgWU*AYi?{G&qf&l{8!m!fN91{|M zu$+b&lPHYyC2)SQFo4;G>JVkh`V`1$<1rXOvyzNGN4Yl z9)UxJl2pF_(nlZ^6aF{c*`+r09h3@L24X|X{MqQqGp!J&EvT4gn3gniOPU3k4w7i3 zs4h{yehJg2vS$TzRxim|vjP+`dG1W~)F3qMCwbmn!m0*xm7|dz!*X#&gy!ws3=g4d zllEnI@=g(x0tKVtj7OMqH?JdQtzONA`&1)S*d%1$%t`K1cBz$JGLf(~msiK4;k`n} z=c@NFYAEkTENU(FQ$u28YkqD=MVX?h0iFi>OSAx8g7j6(agj0F&lesKj|}|64YVA@ zhi++8cJ~?{(P2?Y>cx>X&YG1_Cz_U|Bm@P1T|n(oDoSo$Vp!Y3#W8IhljqDqKeIlT zg-Zx+a1!xFS7$;>L_&2L-W%XR?E4U?vC6 zNL#WPH(Zg}^LA{@Id~xV;Qo@^mvN@K2lv8&(I|of>w7IqwZ^9XnX-*+t!9YV#!6)EaYd*bEW9Sb_ zx2LMN&+)lfn4$Bh8rNh2^X;fC>u1FW!M>LAF>~vtn1GScSZo?F;NN-?|Gq98;G?{K zaDllm9{q1kVt^n+!Jt2cl1F)Z3m)C;|9!^ZrigrA9LXp+b0TfYA|y+=U5%Tvq$brn z{$Q=7;9zu`$=e41ZYu@^!rig~%7geFH*RcWVhkee01BwOfr<}O&&K3VYzw6Pnnt&6r8$rVaEDZsY~W31x}BfIEm%#hN=q$f>(kZ$BZ1s+qPBApy=vb ze}*sndFEW5WUO0Pa_v%m z3=1bhYzE`c_LZ#O6h@|yHnf)&Nis7Ulj6ioiU?nhiJ&zl$4fFe9Tg==C{d8={gyxd k7w7sre)})Z{SD@S0L@logs@bVs{jB107*qoM6N<$g4czAxc~qF literal 0 HcmV?d00001 diff --git a/public/airline-logos/singapore-airlines.svg b/public/airline-logos/singapore-airlines.svg new file mode 100644 index 0000000..169934d --- /dev/null +++ b/public/airline-logos/singapore-airlines.svg @@ -0,0 +1 @@ +Singapore Airlines \ No newline at end of file diff --git a/public/airline-logos/sky-express.png b/public/airline-logos/sky-express.png new file mode 100644 index 0000000000000000000000000000000000000000..ec7056a3e27f9d6d1b822feeff1e464ae1747abb GIT binary patch literal 4238 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 literal 0 HcmV?d00001 diff --git a/public/airline-logos/skymark-airlines.png b/public/airline-logos/skymark-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..55d7263d483f297843015f3bf802d2bd7ad7016c GIT binary patch literal 2580 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 IM6N<$g4V!-6aWAK literal 0 HcmV?d00001 diff --git a/public/airline-logos/southwest-airlines.svg b/public/airline-logos/southwest-airlines.svg new file mode 100644 index 0000000..8bb6fda --- /dev/null +++ b/public/airline-logos/southwest-airlines.svg @@ -0,0 +1 @@ +Southwest Airlines \ No newline at end of file diff --git a/public/airline-logos/spicejet.png b/public/airline-logos/spicejet.png new file mode 100644 index 0000000000000000000000000000000000000000..9e14d84540b7d337c2ff0d7ceeb9ccc6ca1c50df GIT binary patch literal 1429 zcmV;G1#0?mMcFYn=zxRfb$RD| zfByUX{O<4BEi>@1vEf->ug5Ti7Tr z`se5U_V(B(E%e67`QPCD@$vZE-0PH=>W`B5*Vyfzq1-(~;8R%RXl&n3Q`jjl>WYou zPgLSxW9Wf}>Wq-(aC6x#GU|+v=X`+PNKO6t`0u8u*()*QW@_n(i{DXJ<#KlNxVqm` zSM$8SHs*LhP5C`{?QZ`TF+A=u){QT^hoZ??(?3kPKxx3?JY1uF}>Whx|)YbF8!29a! z^uomAUSj5Tc<`*Q?VO+W$;$4drt-SH^S{8}OHlmq@cZrV_tw|<)zhmC@v^k-o1W=~i1o4%HpQ&-(YN%`R6^S!_3ba?8Hk=;c~=z)a&^Yq#^I`Ol$`|RxS z!|huD00P}fL_t(|0qx9#wjBu+0MUw*imhkFwr$(CZQHhO+qRQWn$;b1?7No_ihqHK zh=_=Yh!iPP@!O!%2vlGgZ(?G7=d?JtLej1VA8IzxhK;fUG}b1B$Y|4M8XX1AZ2>J?skY7xZQ82s+6Q6n z0A)L>ojMoFWuOZ{SMAoFKw9lqyNC9qm-ePtAN#iGrtN8?{rV?6AQ1+dVGx7c*?hYa=23p$!s_VoQeVxQR zX)>ylQ@|9979zV&Wt!9L)G6u=C_Qs#nl?IX%$NzzhBIh79>z;lbg2$ zdO}lcRb#8$wgj><*`kRA61MLs2s?EhgLPNXTEcEE$8eiN);)XnHq!3AGueF%>f{wbEhe1L;`h!GBeqV|WwdgQ29r2LHa$Kbdw;e;N9lj~2BT`LosryYwg z468ld5@b(vAlfsW?c}-cox8b$%6c;I3>^jMwLXjVLhMDo#03RVwv~8OO?)ASP zKj}eg;NgbZlgDQQSneI*(VfSwpOg(2llshl%IBV$GsW{4EBS##T7#dl!WR6D3YwB1 zOMK}XzN@b0g-Q0~XVllSd{-NNF!7ll|N)gNJRw8{K@tY*0oq7S+7y; zATiTM*#(;iH@Sa4VovY&(1?CkmfNR%AEfu>l3&m}w3!bNl9&{b_u|@DNTnq+98|li zkL>QW zWlbGv|2$%b_pu6x8QRMtX_0 z?qmTjU?clm$!1gVfBc4j$rA@{B6^W7>C+&pMc)#{Q&F0f8fw?n^kq^hV_JXtn!{Zv1Vn$?c3q~p{+%g=qE;}Ejt*~;iXKvj*J4Ch z%Iu-rgz7J!<)AKY%=}-eilF;veMlX~kWyQgIc2tRIU%-C2YIbh8NHzY#pf6}*}a{G za%R;^1y`XAPf+qCYUz2qT_M&A`OFbY0%i*k%UI%s0Xx|;ain6t3F}+`t`@|zF=HqhzjN9rTp%Ly3lhWig(Xuu4caCItyfs<+}ezmD~lwf zDUwnq(||YuM|gwivwOuZHfn$swM)R(%y)+MFM2e#iIis?tvFO4k&dVw)ZOxBh(Tf0 zXkq-_QoW))kYNuuUlV_s+-4JK_=C1^(J)zMR zH81>myWX){%lZ#SKB~Y73>YwA zz<>b*1`HT5U<3vX7%*VKfB^#r3>bZdRQF2x2PPiH071ZA$Q>`4DgXcg07*qoM6N<$ Ef`IxgU;qFB literal 0 HcmV?d00001 diff --git a/public/airline-logos/spring-airlines.svg b/public/airline-logos/spring-airlines.svg new file mode 100644 index 0000000..11a2af9 --- /dev/null +++ b/public/airline-logos/spring-airlines.svg @@ -0,0 +1 @@ +Spring \ No newline at end of file diff --git a/public/airline-logos/srilankan-airlines.png b/public/airline-logos/srilankan-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..3900c2c0cae407ead9ace13e1f036c2c48231a20 GIT binary patch literal 1581 zcmV+|2GaS7P)a*s%y!gsoZ0QJ`t^j} znXle!Mx4c2oW)t3#aW!iS)8SEELn+WZ}bvY2RS<6Im~ooc)5+!_*D294TP1WhG%Y0 z(pViu8w_!xAiLg(FV@bzQf1W~`Y9tP1R|`eG{T&Y5`L_*+~!pfO|Pmff~4Rn?0~{p z2%M>e(NHKtBPYy3&p_b~2;hX72?cF7oG_S%QYd60uBwNrjXQAwO2Z|v^-8}7hbsKY@qu0S-TGKY!8 zM0|+-M+s7bhtUcGRDv*av(X$U%ALkT5jPu4jvr+-S`}-K=l6bsI*J2$%p1h6U?cIdDdjc4>chE(yM?)jAbZ1alH2 zWw(teoAQzewSmBIdKGX85srJHG@=v|r8iN|&QCae2ul=|UCWrhV`h^^g~um{L;R&z z0fi6|cm_nlU53h7YD_1{3CE5Cw`P97VMvFXyBDXtvTJ@?J&3>bDqs*IvO<(w4Hb5a zarc`|%zjLteSC3Sqb0X~#saoCY1e|ZLOvT*hA{U*`HYsFaWjqdH8JKlcA{v%#}3=R zx?A@~yO*TA&Nla>Sx|=|#1&8gZZ}l&g~pIdJ`WhV;Un&+O)Bihtw8kMr$edrvt zVF_q`GWl_XP=>Z*OfWGJIN*Nh*Jz0!dI@CL!qg_5jf#E3tV3MDhatc~lt5K*n{hitTN!80_a_RL zXC`=RLLYQb@`<8-3km2j1Za;|T@_#=btaL@7nPfC^(H%Bz+rqrJ~-?aE9TIt`)`=6FjK?E^@lh0#&Epa9C^CSrv6 zMA4__ZGJ^@c`ku~C@HPk-!>?Vseu+oM;U`1mLMBA>r94t5v7ZM)!}E9TOeBD@kuWB z_Z5`IhX@IjFgi#quERbkX#4R9qaz9Ow?<05=Z5S$$5n&Akc(xXuR&RCLq|v;gwat3 z;U_3)2k;6bqbI}{XP;So(LyMj$~ed#57CN_PtsA|fU+pZc*x)NPXy_WH=s1E<}`ep z+-`K`^1d3xi;K5tu2XKa9|Ues4v!N0LNrdxN$mF{D2w$N4EZPc8zCI==zyho59{$I zZX}2ycNuXID@I8l{c_B&Q4%-oCPqjiL}U7l;NP*z5@atPL_^5`6{bEiFcD+XiK&r@ zYLLUpcX4yaC_y=tEiTWi99%p2oOx1sl<>GE$OhbF<9HHSr|UeI>E=tGjtx*Yl;c^Z z&H#wUv`HykoN@`<+k*Z02Df4i5+OhkgvtK%|C?NlHBdIJz*T4o@hUnYDUv(o32bvA z`l2SPL%ae$OpeQp;L8lc9 zrW$I%#H~k(QHVS|hjU?~9we9?Yeb}CD6Yd7D1y>ZiWT?-cj0(=&YvLeHHW|5o4!A<*2dBZ0XAEQn;&3_|6!@Y z&}gt)?r_JHjE>HT{=GNSmov|DUC~}Jb@7s;5_gW~-G1^7X&euESFso_w#z&4 zY)So%ZYKk`jp0fxD+G=<#Z|m-(%5e(&zXE|EuEoDnTNB0`|;NQsg8QFuALjo zHP1K(?>Q>A<(QAkl~j@3dSSK4#{V9%&s*5EeesviE+YT(T!o&vux>eEpmT65M|SPu zvL5&JD=vvk+%gpxi9$TQ=rDWLi%DwaF z!<+n`2DXQ0sx1kx!{+&Jk^|+PTQ=ktYziqgq<@)pKJB?e0)19?K z7wtLj!BY7^Y98OhcTsn`81*_nF}DYZrt#mE|8?j|U#stnuIoSA)|dV03E$C{x}tl- zi*Hi43zjj4u~;fdG#XUA5s{l{wcMJxaS literal 0 HcmV?d00001 diff --git a/public/airline-logos/sun-country-airlines.png b/public/airline-logos/sun-country-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..b9ebedf515038b78b142e44f7feea99ef0a3ec0b GIT binary patch literal 3367 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 Tj*jL~00000NkvXXu0mjfFIV;{ literal 0 HcmV?d00001 diff --git a/public/airline-logos/swiss.png b/public/airline-logos/swiss.png new file mode 100644 index 0000000000000000000000000000000000000000..5c026b7bd6b6cc403c560993c5aa2dbcd35cc087 GIT binary patch literal 1086 zcmV-E1i|}>P)40%+qP}nwr$(C9qtXTZQHiZ)p(E1{`SqWt9#I0)2T_G@SLi@-%M&ejieDc zE`kf=!niOlj0@w!xG*kE38j|U^mcq4qD#sl$^}r!&a^$suIPY5^dHu?Im+tDKp}e^ zv)LMDE_@F~;7l=tjZvn>V^9PH?<_V&Srb)Im&G<# za^Ve(Qj2d=^z%iqCCUQ$3F^YdrkCGZnYDK_N-e#4vEq1G$C@wx8*^_3iHIkxuTA8IJ^?eRn?xRlAr{4-kR@RzVD3o6Fu)9W3$iH8^J2EB!`uT|7UqIT!!W?HkcDA3 zjw}qDZ-eIO!eH|C6(+m!zDmrshI!qE)*tN|@(Ux) z97dE`@nP4~{1vuQZo9*9I1U?CcGLY-ck?)3VJeS2PuVRF9AiCf&wg7UqV%#`jTGnn zsKShck_)V>DZ3pbuf9QEW7F6g8s)XL`U>MUHS_m|_0W;ZD!cgs+;cV<`ub?&(8I9l znGlqmpD=qKuc&UF#LjMc;LtGRF;A#r*l-854hpl!aZK15O_-WGWw#g>=Ec$GFIAM~ zF$uCf%=w{(VY4~#IaCH=HVHG#15g=+NnnBEhcSO@XnUA9Liy~Pjdn+S8HKs5{AIi}s)mQ2Q|lMs zn=iJlO|74Qr4`?@;hUk*o1LmTo@O|g>hkA7#GHw3JJ)44Ns&9qW}N^07*qoM6N<$ Ef_ion3jhEB literal 0 HcmV?d00001 diff --git a/public/airline-logos/tap-air-portugal.png b/public/airline-logos/tap-air-portugal.png new file mode 100644 index 0000000000000000000000000000000000000000..57faae07652488939a7cde49103ce45a0a417c9c GIT binary patch literal 1529 zcmVKF>IKw%?%Bxl?1Xwr$(CZQHi3YHjai`r1it z_u2Y3ncZ)Z>LyLn-gEx7@;f*8fAUqK70Oua$(1d)>|GaJsxqmlEV*2HLP5`V_E3go^^YXZ5$YEA#M zI&zcMna9UziB2_`5H7<)YDkB{cpH<8y10b8jbuV1|8hthS%c4Kio@)^Z9{-k!JIT3 zGw*-vS?C32O`b0EP9nd#bmrEI!Ysd1SvHsp-x!}_OqvF{OINz{{nj0_!eC;wWV&K7 z6CXj!S1s&j<*3 z6Jcbi=_<0rggkpY>CKSXq$OmIo1`ENo;T(R2%~sSOM%({mEqChJ9Q?+2HGKi{btBp zyFp15tnwd#kXJRz*R(VkK74KGEL!T`F|2nWz)*Kp^C+1UrU(zrKUke9x7cXOzY=iPXi8dPjCCt*O)t7wrPzxO zb6D?%G8Pvt3}4&HZ975w@G+1!csRI>KB6xm)nn9VREfBFj&*{FpOmy z_j&;>%x*4mbsD)3-qdcrA!qJF(J;7NdeZ_CJ0?jw4A!(57-xmRP{v-F7UtR7=94vT zmSh<23A-ls0jx9qDHR55njVI+WB|Ym0Igo)&aHe}nC~V`ai1}H>o!7ihpv)gSOe)I z0wz}~4AwL?OqkQU;h7oGPFk3|f&*6yOqwzHJ??8`M6?nk6$WdX9>!s9`~)V_(v}t` zZr?%3Sh~W!YlOEF&R2>LS;cBemZ(gTeu%@YDxS#RIos33r;?F#vSoLiV>K_`I zTN5S&K5eTI1Ro#`25Xug=2Rh1_2+0{F7_P=k+bJR`k-NuJ!6h4FtIxC&!xa%P1D0T zt$hobH4mfRF{f(PhxE}C)Y>g)G`PgUU`^A*ggb5B!y|2Vo{Q7kj|RrEXel^XtcHwD z+aPPo48=zeTzmOQfx()lfT0KlOi1Gv5W8y+r0m=cNljZTy<4z3#lv7ts|9m+=3Kz1 zZ6(hbuDNdEzgQ%}?7MA82vuNia|3XEJ8i~nrFKd}iih8)c+HYvu%^|#m0Vl51G{|} z+;7`S0Tk0k))4T%C=?+K*0h>1=eza<#q!XtgYW*g@w#yd`*0kC%aeMbeSj%=0yGqFj&)6FpMRWpY3WyE}R7m zVItafhWG=A;0HDat_~h99FmtU4AwLS49<2%FPsGnVbac?2gl-Nz;4_5Y=vWOmo3cj zkQ%fwINKGya2AX(&mlBz39c>M`1vn>3~RgWV0PTDc#;AIVgA9{uGodM;8VnyA%H0| zx3r%7$_!@Vr7Bm4h1C3yCi5>;jnTAROM \ No newline at end of file diff --git a/public/airline-logos/thai-airways.png b/public/airline-logos/thai-airways.png new file mode 100644 index 0000000000000000000000000000000000000000..b6d3dfd7ee405b0a8ac42b55571a621859dcb17d GIT binary patch literal 1087 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT3?e@WZ39xf0(?STf%N}VtOU{XEkdhmjq}_> zJykPorScQ4qpJe_wsq)!-p>Qn+ZN+~d!^)|$!e3*9f92Q^Av#OydtYmgQOo@#GX|< zJSy<~vO?~PbJkI@o(mSmALpu{RBXBKm-Kr-?-||dm+cmBC+P#V08J(yJ@z{ebUcGy zNswPKgG0mq{{rv(6$AaJ=tgflq?X%zr10q!$}V*4j_$aDLYPK581nnrqU@YkMbOxwz?X@M+FLLAci zgP2cPXm=lscUx%EYum**V{U-Yv8D!+c{Ue1=tSzkA^1C-9g;BF?V{T`;rQGa`%3I$v$ZXBvoh{Pf z>)1bao0o2J!_|X3@`@Imc)57%#fU>pT53z%vxE}##5|);1{B@i=r(<`RnO5Jv)GwQ z?(=VzttshBUmzCzoZ;Qt2ZeqIW=@#=<_gn+qkCVLl&tZ!D4TbrY|19?#T)l+)hwth ztgNhLeX?;z?4t7Q1y5sd*F8M9K0hk&{U6=$t6yrAD}IhR@7pT3jAh-sd@DJ*Qt7Kk z^XBDT>N>uB_JPY&{e51T)oF`e_b`}lerWR>5AVm`aW6j{3)2#A;_M7eS$I)Xck;V^ zJ&azGyCBz&f{DVk> zLug|B^Z)-^vxOHYZCWpuzo9QxA;4l`=~jnhgpkcp*)1b`c>FVdQ&MBb@02_r07ytkO literal 0 HcmV?d00001 diff --git a/public/airline-logos/transavia-france.png b/public/airline-logos/transavia-france.png new file mode 100644 index 0000000000000000000000000000000000000000..688df6ff6a69ec57a0ee0218364f5869578d443c GIT binary patch literal 728 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT3?e@WZ39xt0X`wFK$>A!GLcCAOi${~%|N9GA?|xulVB+?4aSW+oyn3T`TC;(O z>&5mvEako{|NQsw3r+l_5V`oScQ$+bk|V`2=a2V(h-uF`d7!yX+{;M(XhJ35%tE0x zUOrAM+kHJcZNh}*L~_O(6tTpnEI7OwZ)AvUw`zSe!E%bTNB4X-~d&)vJB zJ4-L;6O0+UiP)Eq8P+AGLcd_n*5bG4EuPtn%FL zuiltwGPJ+@$M($W(foa@R?5!_o5w#hM*6f|mfLyW+bq>*Or@4aN~XR4Fn8J0;}bdy z(__L|?k<(w!neF?T|h)ZPa4nV9|b$go?bK2XLFbBioIWc^vb5g$E{x;mTOs({~|@u z{^FLkI!phFYn>^p&E%3jJVU)RJk>xr>aXiTkDyzRe%w%CG7|i;O|VTk{X)0)rXXG> oZl!f9Hz)VKRugZ2z2rzW>#Oc6p_)0q)}SQn>FVdQ&MBb@05M2dr2qf` literal 0 HcmV?d00001 diff --git a/public/airline-logos/transavia.png b/public/airline-logos/transavia.png new file mode 100644 index 0000000000000000000000000000000000000000..688df6ff6a69ec57a0ee0218364f5869578d443c GIT binary patch literal 728 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT3?e@WZ39xt0X`wFK$>A!GLcCAOi${~%|N9GA?|xulVB+?4aSW+oyn3T`TC;(O z>&5mvEako{|NQsw3r+l_5V`oScQ$+bk|V`2=a2V(h-uF`d7!yX+{;M(XhJ35%tE0x zUOrAM+kHJcZNh}*L~_O(6tTpnEI7OwZ)AvUw`zSe!E%bTNB4X-~d&)vJB zJ4-L;6O0+UiP)Eq8P+AGLcd_n*5bG4EuPtn%FL zuiltwGPJ+@$M($W(foa@R?5!_o5w#hM*6f|mfLyW+bq>*Or@4aN~XR4Fn8J0;}bdy z(__L|?k<(w!neF?T|h)ZPa4nV9|b$go?bK2XLFbBioIWc^vb5g$E{x;mTOs({~|@u z{^FLkI!phFYn>^p&E%3jJVU)RJk>xr>aXiTkDyzRe%w%CG7|i;O|VTk{X)0)rXXG> oZl!f9Hz)VKRugZ2z2rzW>#Oc6p_)0q)}SQn>FVdQ&MBb@05M2dr2qf` literal 0 HcmV?d00001 diff --git a/public/airline-logos/tui-airways.svg b/public/airline-logos/tui-airways.svg new file mode 100644 index 0000000..3af2df1 --- /dev/null +++ b/public/airline-logos/tui-airways.svg @@ -0,0 +1 @@ +TUI \ No newline at end of file diff --git a/public/airline-logos/turkish-airlines.svg b/public/airline-logos/turkish-airlines.svg new file mode 100644 index 0000000..6867d46 --- /dev/null +++ b/public/airline-logos/turkish-airlines.svg @@ -0,0 +1 @@ +Turkish Airlines \ No newline at end of file diff --git a/public/airline-logos/tway-airlines.png b/public/airline-logos/tway-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..c41cbb1f261a03b5a31890042fb8382b39a30cbd GIT binary patch literal 3510 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 literal 0 HcmV?d00001 diff --git a/public/airline-logos/united-airlines.svg b/public/airline-logos/united-airlines.svg new file mode 100644 index 0000000..ffeef03 --- /dev/null +++ b/public/airline-logos/united-airlines.svg @@ -0,0 +1 @@ +United Airlines \ No newline at end of file diff --git a/public/airline-logos/ups-airlines.svg b/public/airline-logos/ups-airlines.svg new file mode 100644 index 0000000..8dbcd44 --- /dev/null +++ b/public/airline-logos/ups-airlines.svg @@ -0,0 +1 @@ +UPS \ No newline at end of file diff --git a/public/airline-logos/us-airways.png b/public/airline-logos/us-airways.png new file mode 100644 index 0000000000000000000000000000000000000000..fbeab85a676d213542ca00ffedbbc41fd81b238f GIT binary patch literal 717 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 literal 0 HcmV?d00001 diff --git a/public/airline-logos/vietnam-airlines.png b/public/airline-logos/vietnam-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..20aafd46c2185db0aa5fa92668360ad23fe279c5 GIT binary patch literal 1442 zcmZvcZ9LNn0LMKWhB@SaESu+fDCVKa!~AWYNZDC!#tJ8^E}%;cN0n;MybwC zt4{bZVOqBo*F_vThK;*Y)LkQV?$y2N^Zh-%_`Uzp{Cqu?6}1&5BqWr*y>J2h?eU)> za{HNlSWqk>Asgq70|PT8-~N7@VR%BLWRWyWnC(vZU;i|I#w=r55uriJ#0!Du2u??Y zBiqr&TE7pYt|ou@q0B?zYrK*-Bfg{7hoZGi=LNtJS~p$lcD*Fbf|rz(QN9j~=ZOje ze3Ym$iX1=THCKz&{k0r+O^zOK++Q3LCiCJ)h7|q-gbhu>ECJk`aY)V6Qr~cMio$hD z!<${rh%hclv}~~IS*)JXfDxcaH>4{;c;~Q4H)TLiMOQBjsqur3V2EUR>B&wBDI(>% zRBL@N%+kXl`VQD{Pe)*8@I7KkhQx-z`uqDaE<7`;ssm;Pf7KPb{2*pnKm&<A0V<8n?Id_ntawVtsc4zQQNqFuO5{lhrX*DIsGb#qG;Z=rc~^a)9xwP z4#swkh7g7`OD%Z^;loaW*tDXuTZ-s3rNOhk>GV0&NHWXN7;nj1GU5tV?roU~QQT7b z5L$qEW<>TR1;{GN5Nii(_P!QRJw3xqn=2HPrQ>o2j$@)UxD)s6T=mqm)aBDL`5s=Z zv3^&N#^7jOJqic-;$&yU4r%zMC~qU6rnme}kEo07es)ZCS{5A`ytU?3{O+gJlR?W< zOlk@xq2kbd+@?-zm5(KWeHql{K+TEj zgSA!)vuyd)3E*2aAaFMw-HDOrWCxG#6d$CJnx#TkZZMXo*V^XhR%MgPvTI~{!ALr8 zGRbk3Pm8jD-JEZ&%L(hfJ4xo$sELqZ8kjp08L$~RB1zOI{K(*A8Dx8K0&zLWt zhQ&IY={p;P^DmqYHCh3ZnTxc*Gqpzb_OI{{Wckf2O;JY243tvvC|z)88M!AOyAW=x zp+d0g6R*+wE9X~fZ~3)7j~B)}4~?F;r`)bD7|Bq{tRhB1mYuUoZ0gH4rb{|PywT`9 z9CRmMhdPLjfB86Pm(-FX5fd+ZUS3P@pTc%}nzuiy>Q2oox+R`XQ+SV{6M)Lki*Z?n zlc*|$bEAz3ae;$qqMxXzm{FjH@cR;kQO!I?POh^+FM1NKo sqo`c*_}~{gK}uQj*I1KEM6Virgin Atlantic \ No newline at end of file diff --git a/public/airline-logos/virgin-australia.png b/public/airline-logos/virgin-australia.png new file mode 100644 index 0000000000000000000000000000000000000000..161a75bad14b485e9a1b143891e0ed2bd2c1398a GIT binary patch literal 4277 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 X7=YNWdH6Cb00000NkvXXu0mjfY#&MT literal 0 HcmV?d00001 diff --git a/public/airline-logos/volaris.png b/public/airline-logos/volaris.png new file mode 100644 index 0000000000000000000000000000000000000000..873aa2ed9a80b76a68a61a14e7c529d9d9de4678 GIT binary patch literal 2101 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 IM6N<$g3E5&CjbBd literal 0 HcmV?d00001 diff --git a/public/airline-logos/vueling.png b/public/airline-logos/vueling.png new file mode 100644 index 0000000000000000000000000000000000000000..dca29108189c64d8de47ca1b64927e3102dc5d3e GIT binary patch literal 876 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT3?e@WZ39vh0(?STf%N}NB%-SV|L;2dzh&_M zb^m`L_<8^TgMj}x6#jo)|Nn8q|3B~le?R~K-TePw_WyrYaCxK1ms70ECTK*2dinbL z?^z%>yIp5Oz2Wf{l2v)u_jd9p$GNtao4q{9wQ+`WUYf&%MPD8P-6U8N3kP617*V>Dk4Fp&&Fdw<(`QG-yy?_5-2Yq~_ zQ1ip6GB{}OixzQjHr98hDM=x%rfx^JE%4!7_`{{o z(l_Bjk)-IMWqPjRmNQ(ZCMq;92@1-Zpm}^k(z%VxZxpX$F-w2`T>OlnKjZAvtM#v& zzgTi<^3346xr>W0-IlmBR@X;Tyv*dnQAGe!j zTVgnUL9KW4jJto9+01L4Q%k`Z9ea)QPicxQY`L&JYtL2Pg(sFAIWTMe>!t4&aHo5eGNFJ_gbTTKir_TIU2)z?|C zpFXpUmCsI}wbE|tynxj|D|UK+bcs@|*mL2%Q0U1MMfZ3$&s^-w@S-Hu*@R-2l%NGtl o-W063djU`IcV%9GH)T6UMyDMCk3^Y|0h1_$r>mdKI;Vst0PU*07XSbN literal 0 HcmV?d00001 diff --git a/public/airline-logos/westjet.png b/public/airline-logos/westjet.png new file mode 100644 index 0000000000000000000000000000000000000000..9eedf4ba31690a3fcdc574f499baa3c2c62b982f GIT binary patch literal 2276 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 literal 0 HcmV?d00001 diff --git a/public/airline-logos/wizz-air.svg b/public/airline-logos/wizz-air.svg new file mode 100644 index 0000000..0cdc7b6 --- /dev/null +++ b/public/airline-logos/wizz-air.svg @@ -0,0 +1 @@ +Wizz Air \ No newline at end of file diff --git a/public/airline-logos/xiamen-airlines.png b/public/airline-logos/xiamen-airlines.png new file mode 100644 index 0000000000000000000000000000000000000000..a4ee788b33ca6859c772d529d235a04c256f8e62 GIT binary patch literal 1755 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 const popupRef = useRef(null); const callbackRef = useRef(onSelectAirport); useEffect(() => { @@ -92,45 +95,122 @@ export function AirportLayer({ const m = map; const dotColor = isDark - ? "rgba(167,243,208,0.28)" - : "rgba(15,118,110,0.22)"; + ? "rgba(188,248,221,0.68)" + : "rgba(15,118,110,0.62)"; function addSourceAndLayers() { if (m.getSource(SOURCE_ID)) return; m.addSource(SOURCE_ID, { type: "geojson", data: airportGeoJson }); + m.addLayer({ + id: HIT_LAYER, + type: "circle", + source: SOURCE_ID, + paint: { + "circle-radius": ["step", ["zoom"], 8, 6, 10, 10, 12, 14, 15], + "circle-color": "rgba(255,255,255,0.01)", + "circle-opacity": 0.01, + "circle-pitch-alignment": "map", + "circle-pitch-scale": "map", + }, + }); + m.addLayer({ id: DOTS_LAYER, type: "circle", source: SOURCE_ID, paint: { - "circle-radius": [ - "step", - ["zoom"], - 0.55, - 6, - 0.8, - 10, - 1.05, - 14, - 1.35, - ], + "circle-radius": ["step", ["zoom"], 1.3, 6, 1.8, 10, 2.4, 14, 3], "circle-color": dotColor, "circle-opacity": [ "interpolate", ["linear"], ["zoom"], 2, - 0.14, + 0.44, 8, - 0.22, + 0.56, 14, - 0.34, + 0.68, ], - "circle-stroke-width": 0, + "circle-stroke-color": "rgba(255,255,255,0.18)", + "circle-stroke-width": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + 0.15, + 10, + 0.3, + 14, + 0.5, + ], + "circle-pitch-alignment": "map", + "circle-pitch-scale": "map", }, }); + + if (!m.getSource(ACTIVE_SOURCE_ID)) { + m.addSource(ACTIVE_SOURCE_ID, { + type: "geojson", + data: { + type: "FeatureCollection", + features: [], + }, + }); + } + + if (!m.getLayer(ACTIVE_RING_LAYER)) { + m.addLayer({ + id: ACTIVE_RING_LAYER, + type: "circle", + source: ACTIVE_SOURCE_ID, + paint: { + "circle-radius": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + 4, + 8, + 6, + 14, + 9, + ], + "circle-color": "rgba(255,255,255,0)", + "circle-stroke-color": "rgba(255,255,255,0.26)", + "circle-stroke-width": 1, + "circle-pitch-alignment": "map", + "circle-pitch-scale": "map", + }, + }); + } + + if (!m.getLayer(ACTIVE_CORE_LAYER)) { + m.addLayer({ + id: ACTIVE_CORE_LAYER, + type: "circle", + source: ACTIVE_SOURCE_ID, + paint: { + "circle-radius": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + 1.6, + 8, + 2.2, + 14, + 2.8, + ], + "circle-color": "rgba(255,255,255,0.62)", + "circle-opacity": 0.95, + "circle-pitch-alignment": "map", + "circle-pitch-scale": "map", + }, + }); + } } addSourceAndLayers(); @@ -180,18 +260,22 @@ export function AirportLayer({ } } - m.on("mouseenter", DOTS_LAYER, onMouseEnter); - m.on("mouseleave", DOTS_LAYER, onMouseLeave); - m.on("click", DOTS_LAYER, onClick); + m.on("mouseenter", HIT_LAYER, onMouseEnter); + m.on("mouseleave", HIT_LAYER, onMouseLeave); + m.on("click", HIT_LAYER, onClick); return () => { m.off("style.load", addSourceAndLayers); - m.off("mouseenter", DOTS_LAYER, onMouseEnter); - m.off("mouseleave", DOTS_LAYER, onMouseLeave); - m.off("click", DOTS_LAYER, onClick); + m.off("mouseenter", HIT_LAYER, onMouseEnter); + m.off("mouseleave", HIT_LAYER, onMouseLeave); + m.off("click", HIT_LAYER, onClick); popup.remove(); try { + if (m.getLayer(ACTIVE_CORE_LAYER)) m.removeLayer(ACTIVE_CORE_LAYER); + if (m.getLayer(ACTIVE_RING_LAYER)) m.removeLayer(ACTIVE_RING_LAYER); + if (m.getSource(ACTIVE_SOURCE_ID)) m.removeSource(ACTIVE_SOURCE_ID); if (m.getLayer(DOTS_LAYER)) m.removeLayer(DOTS_LAYER); + if (m.getLayer(HIT_LAYER)) m.removeLayer(HIT_LAYER); if (m.getSource(SOURCE_ID)) m.removeSource(SOURCE_ID); } catch { /* already cleaned up */ @@ -201,26 +285,26 @@ export function AirportLayer({ useEffect(() => { if (!map || !isLoaded) return; - injectCSS(); - - const el = document.createElement("div"); - el.className = "airport-beacon"; - el.innerHTML = - '

' + - '
' + - '
' + - '
'; if (!isValidCoordinates(activeCity.coordinates)) return; - const marker = new maplibregl.Marker({ element: el }) - .setLngLat(activeCity.coordinates) - .addTo(map); - markerRef.current = marker; + const src = map.getSource(ACTIVE_SOURCE_ID) as + | maplibregl.GeoJSONSource + | undefined; + if (!src) return; - return () => { - marker.remove(); - markerRef.current = null; - }; + src.setData({ + type: "FeatureCollection", + features: [ + { + type: "Feature", + geometry: { + type: "Point", + coordinates: activeCity.coordinates, + }, + properties: {}, + }, + ], + }); }, [map, isLoaded, activeCity]); return null; diff --git a/src/components/map/flight-layers.tsx b/src/components/map/flight-layers.tsx index 52bd55b..3573f30 100644 --- a/src/components/map/flight-layers.tsx +++ b/src/components/map/flight-layers.tsx @@ -31,6 +31,66 @@ const TRACK_DAMPING = 0.18; const TRAIL_SMOOTHING_ITERATIONS = 3; const AIRCRAFT_SCENEGRAPH_URL = "/models/airplane.glb"; const AIRCRAFT_PX_PER_UNIT = 0.3; +const BASE_AIRCRAFT_SIZE = 25; +const AIRCRAFT_PICK_RADIUS_PX = 14; + +const CATEGORY_TINT: Record = { + 2: [100, 235, 180], + 3: [120, 225, 235], + 4: [255, 210, 120], + 5: [255, 185, 110], + 6: [255, 160, 120], + 7: [255, 120, 200], + 8: [140, 220, 160], + 9: [170, 210, 255], + 10: [220, 170, 255], + 11: [255, 150, 180], + 12: [180, 230, 160], + 14: [195, 165, 255], +}; + +function categorySizeMultiplier(category: number | null): number { + switch (category) { + case 2: + return 0.88; + case 3: + return 0.96; + case 4: + return 1.08; + case 5: + return 1.18; + case 6: + return 1.28; + case 7: + return 1.04; + case 8: + return 0.86; + case 9: + case 12: + return 0.8; + case 10: + return 1.15; + case 14: + return 0.72; + default: + return 1; + } +} + +function tintAircraftColor( + base: [number, number, number, number], + category: number | null, +): [number, number, number, number] { + const tint = category !== null ? CATEGORY_TINT[category] : undefined; + if (!tint) return base; + + return [ + Math.round(base[0] * 0.58 + tint[0] * 0.42), + Math.round(base[1] * 0.58 + tint[1] * 0.42), + Math.round(base[2] * 0.58 + tint[2] * 0.42), + base[3], + ]; +} const PULSE_PERIOD_MS = 7000; const RING_PERIOD_MS = 5500; @@ -543,7 +603,7 @@ export function FlightLayers({ const picked = (overlay as unknown as DeckGLOverlay).pickObject?.({ x: e.point.x, y: e.point.y, - radius: 10, + radius: AIRCRAFT_PICK_RADIUS_PX, }); if (!picked?.object) { onClick(null); @@ -562,6 +622,7 @@ export function FlightLayers({ if (!overlayRef.current) { overlayRef.current = new MapboxOverlay({ interleaved: false, + pickingRadius: AIRCRAFT_PICK_RADIUS_PX, layers: [], }); map.addControl(overlayRef.current as unknown as maplibregl.IControl); @@ -731,7 +792,7 @@ export function FlightLayers({ data: interpolated, getPosition: (d) => [d.longitude!, d.latitude!, 0], getIcon: () => "aircraft", - getSize: 20, + getSize: (d) => 20 * categorySizeMultiplier(d.category), getColor: [0, 0, 0, 60], getAngle: (d) => 360 - (d.trueTrack ?? 0), iconAtlas: atlasUrl, @@ -747,6 +808,9 @@ export function FlightLayers({ const trailMap = new Map(currentTrails.map((t) => [t.icao24, t])); const handledIds = new Set(); const trailData: TrailEntry[] = []; + const denseSubdivisions = interpolated.length > 140 ? 1 : 2; + const smoothingIterations = + interpolated.length > 220 ? 1 : TRAIL_SMOOTHING_ITERATIONS; const buildVisibleTrailPoints = ( trail: TrailEntry, @@ -777,7 +841,10 @@ export function FlightLayers({ p[1], Math.max(0, altitudeMeters[i] ?? trail.baroAltitude ?? 0), ]) as ElevatedPoint[]; - const denseBasePath = densifyElevatedPath(basePath, 2); + const denseBasePath = densifyElevatedPath( + basePath, + denseSubdivisions, + ); if ( animFlight && @@ -792,7 +859,9 @@ export function FlightLayers({ ]); const smoothed = - clipped.length < 4 ? clipped : smoothElevatedPath(clipped); + clipped.length < 4 + ? clipped + : smoothElevatedPath(clipped, smoothingIterations); return smoothed.map((p) => [p[0], p[1], Math.max(0, p[2])]); } @@ -800,11 +869,23 @@ export function FlightLayers({ const smoothed = denseBasePath.length < 4 ? denseBasePath - : smoothElevatedPath(denseBasePath); + : smoothElevatedPath(denseBasePath, smoothingIterations); return smoothed.map((p) => [p[0], p[1], Math.max(0, p[2])]); }; + const visibleTrailCache = new Map(); + const getVisibleTrailPoints = ( + trail: TrailEntry, + animFlight: FlightState | undefined, + ): ElevatedPoint[] => { + const cached = visibleTrailCache.get(trail.icao24); + if (cached) return cached; + const computed = buildVisibleTrailPoints(trail, animFlight); + visibleTrailCache.set(trail.icao24, computed); + return computed; + }; + for (const f of interpolated) { if (f.longitude == null || f.latitude == null) continue; @@ -844,7 +925,7 @@ export function FlightLayers({ }, getPath: (d) => { const animFlight = interpolatedMap.get(d.icao24); - const visiblePoints = buildVisibleTrailPoints(d, animFlight); + const visiblePoints = getVisibleTrailPoints(d, animFlight); return visiblePoints.map( (p) => [ @@ -859,7 +940,7 @@ export function FlightLayers({ }, getColor: (d) => { const animFlight = interpolatedMap.get(d.icao24); - const visiblePoints = buildVisibleTrailPoints(d, animFlight); + const visiblePoints = getVisibleTrailPoints(d, animFlight); const len = visiblePoints.length; return visiblePoints.map((point, i) => { const tVal = len > 1 ? i / (len - 1) : 1; @@ -988,10 +1069,18 @@ export function FlightLayers({ const yaw = -(d.trueTrack ?? 0); return [pitch, yaw, 90]; }, - getColor: (d) => - altColors ? altitudeToColor(d.baroAltitude) : defaultColor, + getColor: (d) => { + const base = altColors + ? altitudeToColor(d.baroAltitude) + : defaultColor; + return tintAircraftColor(base, d.category); + }, scenegraph: AIRCRAFT_SCENEGRAPH_URL, - sizeScale: 25, + getScale: (d) => { + const scale = categorySizeMultiplier(d.category); + return [scale, scale, scale]; + }, + sizeScale: BASE_AIRCRAFT_SIZE, sizeMinPixels: AIRCRAFT_PX_PER_UNIT, sizeMaxPixels: AIRCRAFT_PX_PER_UNIT, _lighting: "pbr", diff --git a/src/components/ui/flight-card.tsx b/src/components/ui/flight-card.tsx index 5a0d7c1..20bd1c6 100644 --- a/src/components/ui/flight-card.tsx +++ b/src/components/ui/flight-card.tsx @@ -1,5 +1,7 @@ "use client"; +import { useState } from "react"; +import Image from "next/image"; import { motion, AnimatePresence } from "motion/react"; import { Plane, @@ -20,17 +22,39 @@ import { headingToCardinal, } from "@/lib/flight-utils"; import { lookupAirline, parseFlightNumber } from "@/lib/airlines"; +import { aircraftTypeHint } from "@/lib/aircraft"; +import { airlineLogoCandidates } from "@/lib/airline-logos"; type FlightCardProps = { flight: FlightState | null; onClose: () => void; }; +const loadedLogoUrls = new Set(); + export function FlightCard({ flight, onClose }: FlightCardProps) { const airline = flight ? lookupAirline(flight.callsign) : null; const flightNum = flight ? parseFlightNumber(flight.callsign) : null; + const company = + airline ?? (flight ? `${flight.originCountry} operator` : null); + const model = flight ? aircraftTypeHint(flight.category) : null; + const logoCandidates = airlineLogoCandidates(airline); const heading = flight?.trueTrack ?? null; const cardinal = heading !== null ? headingToCardinal(heading) : null; + const [logoIndexByAirline, setLogoIndexByAirline] = useState< + Record + >({}); + const [logoLoadedByKey, setLogoLoadedByKey] = useState< + Record + >({}); + const airlineKey = airline ?? "__none__"; + const logoIndex = logoIndexByAirline[airlineKey] ?? 0; + const logoLoadKey = `${airlineKey}:${logoIndex}`; + const logoUrl = logoCandidates[logoIndex] ?? null; + const logoLoaded = + (logoUrl ? loadedLogoUrls.has(logoUrl) : false) || + (logoLoadedByKey[logoLoadKey] ?? false); + const showLogo = Boolean(logoUrl); return ( @@ -46,17 +70,57 @@ export function FlightCard({ flight, onClose }: FlightCardProps) { damping: 28, mass: 0.8, }} - className="w-64 sm:w-72" + className="w-72 sm:w-80" role="complementary" aria-label="Selected flight details" aria-live="polite" >
-
-
- - +
+
+ {showLogo ? ( + + {!logoLoaded && ( + + ) : ( + + )}

@@ -79,11 +143,14 @@ export function FlightCard({ flight, onClose }: FlightCardProps) {

- {airline && ( + {company && (

- {airline} + {company} + {model ? ( + · {model} + ) : null}

)} diff --git a/src/lib/aircraft.ts b/src/lib/aircraft.ts new file mode 100644 index 0000000..e094bf7 --- /dev/null +++ b/src/lib/aircraft.ts @@ -0,0 +1,36 @@ +const CATEGORY_LABELS: Record = { + 2: "Light aircraft", + 3: "Small aircraft", + 4: "Large aircraft", + 5: "High vortex large", + 6: "Heavy aircraft", + 7: "High-performance aircraft", + 8: "Rotorcraft", + 9: "Glider / sailplane", + 10: "Lighter-than-air", + 11: "Parachutist / skydiver", + 12: "Ultralight / hang-glider", + 13: "Reserved", + 14: "Unmanned aerial vehicle", + 15: "Space / trans-atmospheric", + 16: "Surface emergency vehicle", + 17: "Surface service vehicle", + 18: "Point obstacle", + 19: "Cluster obstacle", + 20: "Line obstacle", +}; + +export function categoryToAircraftLabel(category: number | null): string | null { + if (category === null) return null; + return CATEGORY_LABELS[category] ?? null; +} + +export function aircraftModelHint(category: number | null): string | null { + const label = categoryToAircraftLabel(category); + if (!label) return null; + return `${label} class`; +} + +export function aircraftTypeHint(category: number | null): string | null { + return aircraftModelHint(category); +} diff --git a/src/lib/airline-logos.ts b/src/lib/airline-logos.ts new file mode 100644 index 0000000..4f284b6 --- /dev/null +++ b/src/lib/airline-logos.ts @@ -0,0 +1,77 @@ +function normalizeAirlineText(value: string): string { + return value + .normalize("NFD") + .replace(/[\u0300-\u036f]/g, "") + .toLowerCase() + .trim(); +} + +function toAirlineLogoSlug(airlineName: string): string { + return normalizeAirlineText(airlineName) + .replace(/[^a-z0-9]+/g, "-") + .replace(/^-+|-+$/g, ""); +} + +function toAirlineAliasKey(airlineName: string): string { + return normalizeAirlineText(airlineName).replace(/[^a-z0-9]+/g, ""); +} + +const LOGO_SLUG_ALIASES: Record = { + allnipponairways: "all-nippon-airways", + ana: "all-nippon-airways", + jal: "japan-airlines", + elal: "el-al", + itaairways: "ita-airways", + latam: "latam-airlines", + latamairlines: "latam-airlines", + norwegian: "norwegian-air-shuttle", + swiss: "swiss", + tapairportugal: "tap-air-portugal", + vietjetair: "vietjet-air", + xiamenair: "xiamenair", + pakistaninternationalairlines: "pakistan-international-airlines", + pakistanintlairlines: "pakistan-int-l-airlines", + indigo: "indigo", + indigoairlines: "indigo", + goindigo: "indigo", +}; + +function buildSlugVariants(baseSlug: string): string[] { + if (!baseSlug) return []; + + const variants = new Set([baseSlug]); + variants.add(baseSlug.replace(/-airlines$/, "")); + variants.add(baseSlug.replace(/-airline$/, "")); + variants.add(baseSlug.replace(/-airways$/, "")); + variants.add(baseSlug.replace(/-air$/, "")); + variants.add(baseSlug.replace(/-international$/, "")); + variants.add(baseSlug.replace(/-int-l$/, "")); + variants.add(baseSlug.replace(/-intl$/, "")); + + return Array.from(variants).filter(Boolean); +} + +export function airlineLogoCandidates(airlineName: string | null): string[] { + if (!airlineName) return []; + + const slug = toAirlineLogoSlug(airlineName); + const aliasKey = toAirlineAliasKey(airlineName); + const aliasSlug = LOGO_SLUG_ALIASES[aliasKey] ?? null; + + const orderedSlugs = Array.from( + new Set([ + ...buildSlugVariants(slug), + ...(aliasSlug ? buildSlugVariants(aliasSlug) : []), + ]), + ); + + if (orderedSlugs.length === 0) return []; + + const candidates: string[] = []; + for (const s of orderedSlugs) { + candidates.push(`/airline-logos/${s}.svg`); + candidates.push(`/airline-logos/${s}.png`); + } + + return candidates; +} diff --git a/src/lib/airlines.ts b/src/lib/airlines.ts index eb70723..80f396c 100644 --- a/src/lib/airlines.ts +++ b/src/lib/airlines.ts @@ -5,10 +5,17 @@ type AirlineInfo = { const ICAO_AIRLINES: Record = { AAL: { name: "American Airlines" }, AAR: { name: "Asiana Airlines" }, + AAY: { name: "Allegiant Air" }, + ABY: { name: "Air Arabia" }, ACA: { name: "Air Canada" }, + AEA: { name: "Air Europa" }, AEE: { name: "Aegean Airlines" }, + AFL: { name: "Aeroflot" }, AFR: { name: "Air France" }, AIC: { name: "Air India" }, + AIQ: { name: "AirAsia" }, + ASL: { name: "Air Serbia" }, + ANE: { name: "Air Nostrum" }, AIJ: { name: "Interjet" }, AJT: { name: "Amerijet" }, ALK: { name: "SriLankan Airlines" }, @@ -18,23 +25,40 @@ const ICAO_AIRLINES: Record = { ASA: { name: "Alaska Airlines" }, AUA: { name: "Austrian Airlines" }, AVA: { name: "Avianca" }, + ARG: { name: "Aerolíneas Argentinas" }, AWE: { name: "US Airways" }, + AXM: { name: "AirAsia" }, + AXB: { name: "Air India Express" }, AZA: { name: "Alitalia / ITA Airways" }, + AZU: { name: "Azul" }, BAW: { name: "British Airways" }, BEL: { name: "Brussels Airlines" }, BER: { name: "Air Berlin" }, + BTI: { name: "Air Baltic" }, CAL: { name: "China Airlines" }, CCA: { name: "Air China" }, + CEB: { name: "Cebu Pacific" }, CES: { name: "China Eastern" }, + CHH: { name: "Hainan Airlines" }, + CFG: { name: "Condor" }, CLH: { name: "Lufthansa CityLine" }, CMP: { name: "Copa Airlines" }, CPA: { name: "Cathay Pacific" }, + CRK: { name: "Hong Kong Airlines" }, + CQH: { name: "Spring Airlines" }, + CSC: { name: "Sichuan Airlines" }, CSN: { name: "China Southern" }, + CSZ: { name: "Shenzhen Airlines" }, CTN: { name: "Croatia Airlines" }, CXA: { name: "Xiamen Airlines" }, + DAH: { name: "Air Algerie" }, DAL: { name: "Delta Air Lines" }, + DKH: { name: "Juneyao Airlines" }, + DAT: { name: "Brussels Airlines" }, + DLA: { name: "Air Dolomiti" }, DLH: { name: "Lufthansa" }, EIN: { name: "Aer Lingus" }, + ENY: { name: "Envoy Air" }, EJU: { name: "easyJet Europe" }, ELY: { name: "El Al" }, ETD: { name: "Etihad Airways" }, @@ -42,41 +66,68 @@ const ICAO_AIRLINES: Record = { EVA: { name: "EVA Air" }, EWG: { name: "Eurowings" }, EZY: { name: "easyJet" }, + EXS: { name: "Jet2" }, + FFT: { name: "Frontier Airlines" }, FDX: { name: "FedEx Express" }, + FDB: { name: "flydubai" }, FIN: { name: "Finnair" }, FJI: { name: "Fiji Airways" }, GAF: { name: "German Air Force" }, + GFA: { name: "Gulf Air" }, GIA: { name: "Garuda Indonesia" }, + GLO: { name: "GOL" }, GTI: { name: "Atlas Air" }, HAL: { name: "Hawaiian Airlines" }, + HKE: { name: "Hong Kong Express" }, HVN: { name: "Vietnam Airlines" }, + IGO: { name: "IndiGo" }, IBE: { name: "Iberia" }, IBK: { name: "Norwegian Air Int'l" }, + IBB: { name: "Binter Canarias" }, + IBU: { name: "IndiGo" }, ICE: { name: "Icelandair" }, + IBS: { name: "Iberia Express" }, JAL: { name: "Japan Airlines" }, JBU: { name: "JetBlue" }, + JJA: { name: "Jeju Air" }, + JJP: { name: "Jetstar" }, JST: { name: "Jetstar" }, + JZA: { name: "Air Canada Jazz" }, KAL: { name: "Korean Air" }, KLM: { name: "KLM" }, + KZR: { name: "Air Astana" }, LAN: { name: "LATAM Airlines" }, + LGL: { name: "Luxair" }, + LPE: { name: "LATAM Perú" }, LOT: { name: "LOT Polish Airlines" }, MAU: { name: "Air Mauritius" }, MAS: { name: "Malaysia Airlines" }, MSR: { name: "EgyptAir" }, NAX: { name: "Norwegian Air Shuttle" }, NKS: { name: "Spirit Airlines" }, + OMA: { name: "Oman Air" }, + OZW: { name: "SkyWest Airlines" }, PAL: { name: "Philippine Airlines" }, PIA: { name: "Pakistan Int'l Airlines" }, + PGT: { name: "Pegasus Airlines" }, + POE: { name: "Porter Airlines" }, QFA: { name: "Qantas" }, QTR: { name: "Qatar Airways" }, RAM: { name: "Royal Air Maroc" }, RJA: { name: "Royal Jordanian" }, + RPA: { name: "Republic Airways" }, ROT: { name: "TAROM" }, RYR: { name: "Ryanair" }, SAS: { name: "Scandinavian Airlines" }, + SCO: { name: "Scoot" }, + SDM: { name: "Rossiya" }, + SCX: { name: "Sun Country Airlines" }, + SEJ: { name: "SpiceJet" }, + SEH: { name: "Sky Express" }, SAA: { name: "South African Airways" }, SIA: { name: "Singapore Airlines" }, SKW: { name: "SkyWest Airlines" }, + SKY: { name: "Skymark Airlines" }, SVA: { name: "Saudia" }, SWA: { name: "Southwest Airlines" }, SWR: { name: "Swiss Int'l Air Lines" }, @@ -84,16 +135,26 @@ const ICAO_AIRLINES: Record = { TAP: { name: "TAP Air Portugal" }, THA: { name: "Thai Airways" }, THY: { name: "Turkish Airlines" }, + TOM: { name: "TUI Airways" }, + TRA: { name: "Transavia" }, + TSC: { name: "Air Transat" }, + TWB: { name: "Tway Airlines" }, TUI: { name: "TUI Airways" }, TVF: { name: "Transavia France" }, UAE: { name: "Emirates" }, UAL: { name: "United Airlines" }, + USA: { name: "US Airways" }, UPS: { name: "UPS Airlines" }, + VJC: { name: "VietJet Air" }, VIR: { name: "Virgin Atlantic" }, + VOE: { name: "Volotea" }, + VOI: { name: "Volaris" }, VOZ: { name: "Virgin Australia" }, VLG: { name: "Vueling" }, WJA: { name: "WestJet" }, + WIF: { name: "Widerøe" }, WZZ: { name: "Wizz Air" }, + XAX: { name: "AirAsia X" }, }; export function lookupAirline(callsign: string | null): string | null { diff --git a/src/lib/airports.ts b/src/lib/airports.ts index acd23fb..4e4d396 100644 --- a/src/lib/airports.ts +++ b/src/lib/airports.ts @@ -72510,43 +72510,91 @@ export const AIRPORTS: Airport[] = [ }, ]; +type SearchAirportEntry = { + airport: Airport; + iata: string; + city: string; + name: string; + country: string; +}; + +const AIRPORT_SEARCH_INDEX: SearchAirportEntry[] = AIRPORTS.map((airport) => ({ + airport, + iata: airport.iata.toLowerCase(), + city: airport.city.toLowerCase(), + name: airport.name.toLowerCase(), + country: airport.country.toLowerCase(), +})); + +const IATA_LOOKUP = new Map(AIRPORTS.map((airport) => [airport.iata, airport])); + +const SEARCH_CACHE_LIMIT = 80; +const SEARCH_CACHE = new Map(); + +function getCachedAirportSearch(query: string): Airport[] | undefined { + const cached = SEARCH_CACHE.get(query); + if (!cached) return undefined; + + SEARCH_CACHE.delete(query); + SEARCH_CACHE.set(query, cached); + return cached; +} + +function setCachedAirportSearch(query: string, airports: Airport[]) { + if (SEARCH_CACHE.has(query)) SEARCH_CACHE.delete(query); + SEARCH_CACHE.set(query, airports); + + if (SEARCH_CACHE.size > SEARCH_CACHE_LIMIT) { + const oldest = SEARCH_CACHE.keys().next().value; + if (oldest) SEARCH_CACHE.delete(oldest); + } +} + export function searchAirports(query: string, limit = 20): Airport[] { const q = query.toLowerCase().trim(); if (!q) return []; + const cached = getCachedAirportSearch(q); + if (cached) return cached.slice(0, limit); + const exact: Airport[] = []; const iataPrefix: Airport[] = []; const cityStart: Airport[] = []; const nameStart: Airport[] = []; const contains: Airport[] = []; - for (const a of AIRPORTS) { - const iata = a.iata.toLowerCase(); - const city = a.city.toLowerCase(); - const name = a.name.toLowerCase(); - const country = a.country.toLowerCase(); + for (const entry of AIRPORT_SEARCH_INDEX) { + const { airport, iata, city, name, country } = entry; - if (iata === q) exact.push(a); - else if (iata.startsWith(q)) iataPrefix.push(a); - else if (city.startsWith(q)) cityStart.push(a); - else if (name.startsWith(q)) nameStart.push(a); + if (iata === q) { + if (exact.length < limit) exact.push(airport); + } else if (iata.startsWith(q)) { + if (iataPrefix.length < limit) iataPrefix.push(airport); + } else if (city.startsWith(q)) { + if (cityStart.length < limit) cityStart.push(airport); + } else if (name.startsWith(q)) { + if (nameStart.length < limit) nameStart.push(airport); + } else if (city.includes(q) || name.includes(q) || country.startsWith(q)) - contains.push(a); + if (contains.length < limit) contains.push(airport); } - return [ + const results = [ ...exact, ...iataPrefix, ...cityStart, ...nameStart, ...contains, - ].slice(0, limit); + ]; + + setCachedAirportSearch(q, results); + return results.slice(0, limit); } export function findByIata(iata: string): Airport | undefined { const code = iata.toUpperCase(); - return AIRPORTS.find((a) => a.iata === code); + return IATA_LOOKUP.get(code); } export function airportToCity(airport: Airport): City { diff --git a/src/lib/opensky.ts b/src/lib/opensky.ts index 9b26cb0..f9f21b2 100644 --- a/src/lib/opensky.ts +++ b/src/lib/opensky.ts @@ -18,6 +18,7 @@ export type FlightState = { squawk: string | null; spiFlag: boolean; positionSource: number; + category: number | null; }; type OpenSkyResponse = { @@ -44,6 +45,7 @@ function parseStates(raw: OpenSkyResponse): FlightState[] { squawk: s[14] as string | null, spiFlag: s[15] as boolean, positionSource: s[16] as number, + category: (s[17] as number | null) ?? null, })) .filter( (f) => @@ -75,7 +77,7 @@ export async function fetchFlightsByBbox( const lo0 = clamp(lomin, -180, 180); const lo1 = clamp(lomax, -180, 180); - const url = `${OPENSKY_API}/states/all?lamin=${la0}&lamax=${la1}&lomin=${lo0}&lomax=${lo1}`; + const url = `${OPENSKY_API}/states/all?lamin=${la0}&lamax=${la1}&lomin=${lo0}&lomax=${lo1}&extended=1`; const controller = new AbortController(); const timer = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);