+ {rows.map((row, idx) => {
+ const rowKey = `${row.countryName ?? ""}-${row.city1?.code ?? ""}-${idx}`;
+ const isMulti = Boolean(row.city1Airports);
+ return (
+
+
+
{row.countryName ?? ""}
+
+
+ {!isMulti && row.city1 && (
+ <>
+
+
onSelect(row.city1!.code)}
+ onKeyDown={(e) => {
+ if (e.key === "Enter" || e.key === " ") onSelect(row.city1!.code);
+ }}
+ >
+ {row.city1.name}
+
+
+
+ {row.city2 && (
+
onSelect(row.city2!.code)}
+ onKeyDown={(e) => {
+ if (e.key === "Enter" || e.key === " ") onSelect(row.city2!.code);
+ }}
+ >
+ {row.city2.name}
+
+ )}
+
+ >
+ )}
+
+ {isMulti && row.city1 && (
+
+
onSelect(row.city1!.code)}
+ onKeyDown={(e) => {
+ if (e.key === "Enter" || e.key === " ") onSelect(row.city1!.code);
+ }}
+ >
+ {row.city1.name}
+
+
+ {row.city1Airports!.map((ap: IAirport) => (
+
onSelect(ap.code)}
+ onKeyDown={(e) => {
+ if (e.key === "Enter" || e.key === " ") onSelect(ap.code);
+ }}
+ >
+ {ap.name}
+
+ ))}
+
+
+ )}
+