Updated logo API
This commit is contained in:
@@ -202,11 +202,11 @@ export function getContinents(flights: Flight[]) {
|
||||
// ── Airlines ──────────────────────────────────────────────────────────────────
|
||||
|
||||
function countAirlines(flights: Flight[]) {
|
||||
const counts = new Map<string, { count: number; id: number }>()
|
||||
const counts = new Map<string, { count: number; id: number, logo_url: string }>()
|
||||
flights.forEach(f => {
|
||||
const airline = f.airline
|
||||
if (!airline?.name) return
|
||||
const existing = counts.get(airline.name) ?? { count: 0, id: airline.id }
|
||||
const existing = counts.get(airline.name) ?? { count: 0, id: airline.id, logo_url: airline.logo_url }
|
||||
existing.count++
|
||||
counts.set(airline.name, existing)
|
||||
})
|
||||
@@ -225,6 +225,7 @@ export function getTopAirlines(flights: Flight[], upcomingFlights: Flight[]) {
|
||||
id: (past.get(name) ?? upcoming.get(name))!.id,
|
||||
past: past.get(name)?.count ?? 0,
|
||||
upcoming: upcoming.get(name)?.count ?? 0,
|
||||
logo_url: (past.get(name) ?? upcoming.get(name))!.logo_url,
|
||||
}))
|
||||
.sort((a, b) => (b.past + b.upcoming) - (a.past + a.upcoming))
|
||||
|
||||
@@ -323,17 +324,17 @@ interface AircraftItem {
|
||||
id: number
|
||||
past: number
|
||||
upcoming: number
|
||||
designator: string
|
||||
}
|
||||
|
||||
export function getTopAircraft(flights: Flight[], upcomingFlights: Flight[]) {
|
||||
console.time('getTopAircraft')
|
||||
|
||||
function countAircraft(list: Flight[]) {
|
||||
const counts = new Map<string, { count: number; id: number }>()
|
||||
const counts = new Map<string, { count: number; id: number; displayName: string; designator: string }>()
|
||||
list.forEach(f => {
|
||||
const aircraft = f.aircraft
|
||||
if (!aircraft?.designator) return
|
||||
const existing = counts.get(aircraft.designator) ?? { count: 0, id: aircraft.id }
|
||||
const existing = counts.get(aircraft.designator) ?? { count: 0, id: aircraft.id, displayName: aircraft.display_name_short, designator: aircraft.designator }
|
||||
existing.count++
|
||||
counts.set(aircraft.designator, existing)
|
||||
})
|
||||
@@ -346,7 +347,8 @@ export function getTopAircraft(flights: Flight[], upcomingFlights: Flight[]) {
|
||||
|
||||
const sorted: AircraftItem[] = [...allNames]
|
||||
.map(name => ({
|
||||
label: name,
|
||||
label: (past.get(name) ?? upcoming.get(name))!.displayName,
|
||||
designator: (past.get(name) ?? upcoming.get(name))!.designator,
|
||||
id: (past.get(name) ?? upcoming.get(name))!.id,
|
||||
past: past.get(name)?.count ?? 0,
|
||||
upcoming: upcoming.get(name)?.count ?? 0,
|
||||
@@ -360,7 +362,6 @@ export function getTopAircraft(flights: Flight[], upcomingFlights: Flight[]) {
|
||||
{ name: 'Upcoming', data: sorted.map(s => s.upcoming) },
|
||||
],
|
||||
}
|
||||
console.timeEnd('getTopAircraft')
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user