From 4216aaad3506c0307d4f1f4023720c60accf5b74 Mon Sep 17 00:00:00 2001 From: Ben Sherriff Date: Sun, 10 Sep 2023 19:22:38 -0400 Subject: [PATCH] Tweaked result count and colors --- weather-service/src/airports/model.rs | 10 ++++++++-- weather-service/src/airports/routes.rs | 2 +- weather-ui/src/components/MetarMap.tsx | 10 +++++----- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/weather-service/src/airports/model.rs b/weather-service/src/airports/model.rs index a9d373f..f922d9e 100644 --- a/weather-service/src/airports/model.rs +++ b/weather-service/src/airports/model.rs @@ -41,11 +41,17 @@ pub struct Airports { } impl Airports { - pub fn find_all(bounds: Polygon, limit: i32, page: i32) -> Result, CustomError> { + pub fn find_all(bounds: Option>, limit: i32, page: i32) -> Result, CustomError> { let mut conn = db::connection()?; let airports = airports::table .limit(limit as i64) - .filter(airports::id.gt(page * limit).and(st_contains(bounds, airports::point))) + .filter(airports::id.gt(page * limit).and(match bounds { + Some(b) => st_contains(b, airports::point), + None => { + let polygon: Polygon = Polygon::new(Some(4326)); + st_contains(polygon, airports::point) + } + })) .load::(&mut conn)?; Ok(airports) } diff --git a/weather-service/src/airports/routes.rs b/weather-service/src/airports/routes.rs index 24d67d4..f7459e2 100644 --- a/weather-service/src/airports/routes.rs +++ b/weather-service/src/airports/routes.rs @@ -36,7 +36,7 @@ async fn find_all(req: HttpRequest) -> HttpResponse { polygon.add_point(Point { x: params.ne_lon, y: params.ne_lat, srid: Some(4326) }); polygon.add_point(Point { x: params.sw_lon, y: params.ne_lat, srid: Some(4326) }); polygon.add_point(Point { x: params.sw_lon, y: params.sw_lat, srid: Some(4326) }); - match web::block(move || Airports::find_all(polygon, params.limit, params.page)).await.unwrap() { + match web::block(move || Airports::find_all(Some(polygon), params.limit, params.page)).await.unwrap() { Ok(a) => HttpResponse::Ok().json(a), Err(err) => { error!("{}", err); diff --git a/weather-ui/src/components/MetarMap.tsx b/weather-ui/src/components/MetarMap.tsx index 10ccc32..5f268f4 100644 --- a/weather-ui/src/components/MetarMap.tsx +++ b/weather-ui/src/components/MetarMap.tsx @@ -55,7 +55,7 @@ function MapTiles() { ne_lon: ne.lng, sw_lat: sw.lat, sw_lon: sw.lng, - limit: 100, + limit: 500, page: 1 }); const metars = await getMetars(_airports); @@ -75,9 +75,9 @@ function MapTiles() { } else if (metar?.flight_category == 'MVFR') { return 'bg-blue-600'; } else if (metar?.flight_category == 'IFR') { - return 'bg-orange-600'; - } else if (metar?.flight_category == 'LIFR') { return 'bg-red-600'; + } else if (metar?.flight_category == 'LIFR') { + return 'bg-purple-600'; } else { return 'bg-black'; } @@ -89,9 +89,9 @@ function MapTiles() { } else if (metar?.flight_category == 'MVFR') { return 'text-blue-700'; } else if (metar?.flight_category == 'IFR') { - return 'text-orange-700'; - } else if (metar?.flight_category == 'LIFR') { return 'text-red-700'; + } else if (metar?.flight_category == 'LIFR') { + return 'text-purple-700'; } else { return 'text-black/50'; }