Loading...
@@ -81,7 +92,7 @@
|
- {{ weatherAggregates!.windDirectionAverage }}
+ {{ ShortenWindDirection(weatherAggregates!.windDirectionAverage) }}
|
|
diff --git a/WebDisplay/src/models/weather/weather-aggregates.ts b/WebDisplay/src/models/weather/weather-aggregates.ts
index f69b86c..a1b6b56 100644
--- a/WebDisplay/src/models/weather/weather-aggregates.ts
+++ b/WebDisplay/src/models/weather/weather-aggregates.ts
@@ -1,10 +1,12 @@
+import WindDirection from './wind-direction';
+
export default interface WeatherAggregates {
humidity: WeatherAggregate;
temperature: WeatherAggregate;
pressure: WeatherAggregate;
light: WeatherAggregate;
windSpeed: WeatherAggregate;
- windDirectionAverage: number;
+ windDirectionAverage: WindDirection;
rainTotal: number;
}
diff --git a/WebDisplay/src/pages/index.vue b/WebDisplay/src/pages/index.vue
index 32ded69..249def5 100644
--- a/WebDisplay/src/pages/index.vue
+++ b/WebDisplay/src/pages/index.vue
@@ -1,7 +1,4 @@
-
+
-
-
-
+ import { ref } from 'vue';
+ import { subHours } from 'date-fns';
+ import TimeSpan from '@/models/time-span';
+ import TimeRange from '@/components/TimeRange.vue';
+ import WeatherSummary from '@/components/WeatherSummary.vue';
+
+ const end = ref(new Date());
+ const start = ref(subHours(end.value, 24));
+ const timeSpan = ref(TimeSpan.Last24Hours);
+
+
+
+
+ {
+ timeSpan = value.timeSpan;
+ start = value.start;
+ end = value.end;
+ }
+ ">
+
+
+
+
+
+
+
diff --git a/WebDisplay/src/windFormatter.ts b/WebDisplay/src/windFormatter.ts
index 8082d0a..4939298 100644
--- a/WebDisplay/src/windFormatter.ts
+++ b/WebDisplay/src/windFormatter.ts
@@ -1,4 +1,5 @@
import WindDirection from './models/weather/wind-direction';
+import WindDirectionNumber from './models/weather/wind-direction-number';
export function ShortenWindDirection(windDirection: WindDirection | undefined): string {
switch (windDirection) {
@@ -39,3 +40,43 @@ export function ShortenWindDirection(windDirection: WindDirection | undefined):
}
return windDirection!.toString();
}
+
+export function ShortenWindDirectionNumber(windDirection: WindDirectionNumber | undefined): string {
+ switch (windDirection) {
+ case WindDirectionNumber.None:
+ return '';
+ case WindDirectionNumber.North:
+ return 'N';
+ case WindDirectionNumber.East:
+ return 'E';
+ case WindDirectionNumber.South:
+ return 'S';
+ case WindDirectionNumber.West:
+ return 'W';
+ case WindDirectionNumber.NorthEast:
+ return 'NE';
+ case WindDirectionNumber.SouthEast:
+ return 'SE';
+ case WindDirectionNumber.SouthWest:
+ return 'SW';
+ case WindDirectionNumber.NorthWest:
+ return 'NW';
+ case WindDirectionNumber.NorthNorthEast:
+ return 'NNE';
+ case WindDirectionNumber.EastNorthEast:
+ return 'ENE';
+ case WindDirectionNumber.EastSouthEast:
+ return 'ESE';
+ case WindDirectionNumber.SouthSouthEast:
+ return 'SSE';
+ case WindDirectionNumber.SouthSouthWest:
+ return 'SSW';
+ case WindDirectionNumber.WestSouthWest:
+ return 'WSW';
+ case WindDirectionNumber.WestNorthWest:
+ return 'WNW';
+ case WindDirectionNumber.NorthNorthWest:
+ return 'NNW';
+ }
+ return windDirection!.toString();
+}
diff --git a/WebDisplay/typed-router.d.ts b/WebDisplay/typed-router.d.ts
index 57aac90..852918f 100644
--- a/WebDisplay/typed-router.d.ts
+++ b/WebDisplay/typed-router.d.ts
@@ -43,6 +43,7 @@ declare module 'vue-router/auto/routes' {
'/indoor': RouteRecordInfo<'/indoor', '/indoor', Record, Record>,
'/outdoor': RouteRecordInfo<'/outdoor', '/outdoor', Record, Record>,
'/power': RouteRecordInfo<'/power', '/power', Record, Record>,
+ '/summary': RouteRecordInfo<'/summary', '/summary', Record, Record>,
}
}