diff --git a/angular-client/src/app/app.module.ts b/angular-client/src/app/app.module.ts index f68b6aca..75b585db 100644 --- a/angular-client/src/app/app.module.ts +++ b/angular-client/src/app/app.module.ts @@ -32,7 +32,6 @@ import Thermometer from 'src/components/thermometer/thermometer.component'; import { FlexLayoutModule } from '@angular/flex-layout'; import HStack from 'src/components/hstack/hstack.component'; import VStack from 'src/components/vstack/vstack.component'; -import LatencyDisplay from 'src/components/latency-display/latency-display'; import { ProgressSpinnerModule } from 'primeng/progressspinner'; import { MatIconModule } from '@angular/material/icon'; import { MatGridListModule } from '@angular/material/grid-list'; @@ -53,8 +52,6 @@ import { DriverComponent } from 'src/components/driver-component/driver-componen import PieChart from 'src/components/pie-chart/pie-chart.component'; import RasberryPi from 'src/components/raspberry-pi/raspberry-pi.component'; import { AccelerationGraphs } from 'src/components/acceleration-graphs/acceleration-graphs.component'; -import ViewerDisplay from 'src/components/viewer-display/viewer-display.component'; -import ConnectionDisplay from 'src/components/connection-display/connection-display.component'; import SpeedDisplay from 'src/components/speed-display/speed-display.component'; import SpeedOverTimeDisplay from 'src/components/speed-over-time-display/speed-over-time-display.component'; import TorqueDisplay from 'src/components/torque-display/torque-display.component'; @@ -104,6 +101,11 @@ import CombinedStatusMobile from 'src/pages/charging-page/components/combined-st import PackVoltageMobileDisplay from 'src/pages/charging-page/components/pack-voltage/pack-voltage-display/pack-voltage-mobile/pack-voltage-mobile.component'; import HighLowCellMobile from 'src/pages/charging-page/components/high-low-cell/high-low-cell-display/high-low-cell-mobile/high-low-cell-mobile.component'; import CellTempMobile from 'src/pages/charging-page/components/cell-temp/cell-temp-display/cell-temp-mobile/cell-temp-mobile.component'; +import ConnectionDisplay from 'src/pages/landing-page/components/connection-display/connection-display.component'; +import { CurrentRunDisplay } from 'src/pages/landing-page/components/current-run-display/current-run-display.component'; +import LatencyDisplay from 'src/components/latency-display/latency-display'; +import { DateLocation } from 'src/pages/landing-page/components/date-location-display/date-location.component'; +import { ViewerDisplay } from 'src/pages/landing-page/components/viewer-display/viewer-display.component'; @NgModule({ declarations: [ @@ -134,7 +136,6 @@ import CellTempMobile from 'src/pages/charging-page/components/cell-temp/cell-te Thermometer, VStack, HStack, - LatencyDisplay, BatteryInfoDisplay, GraphComponent, InfoGraph, @@ -147,7 +148,6 @@ import CellTempMobile from 'src/pages/charging-page/components/cell-temp/cell-te PieChart, AccelerationGraphs, ViewerDisplay, - ConnectionDisplay, SpeedDisplay, SpeedOverTimeDisplay, TorqueDisplay, @@ -191,7 +191,12 @@ import CellTempMobile from 'src/pages/charging-page/components/cell-temp/cell-te CombinedStatusMobile, PackVoltageMobileDisplay, HighLowCellMobile, - CellTempMobile + CellTempMobile, + ConnectionDisplay, + LatencyDisplay, + DateLocation, + CurrentRunDisplay, + ViewerDisplay ], bootstrap: [AppContext], imports: [ diff --git a/angular-client/src/components/connection-display/connection-display.component.css b/angular-client/src/components/connection-display/connection-display.component.css deleted file mode 100644 index 6f62df68..00000000 --- a/angular-client/src/components/connection-display/connection-display.component.css +++ /dev/null @@ -1,6 +0,0 @@ -.connection-dot { - width: 50px; - height: 50px; - border-radius: 50%; - margin-top: 20px; -} diff --git a/angular-client/src/components/connection-display/connection-display.component.html b/angular-client/src/components/connection-display/connection-display.component.html deleted file mode 100644 index 5aa39784..00000000 --- a/angular-client/src/components/connection-display/connection-display.component.html +++ /dev/null @@ -1,8 +0,0 @@ - -
- -
- -
-
-
diff --git a/angular-client/src/components/viewer-display/viewer-display.component.css b/angular-client/src/components/viewer-display/viewer-display.component.css deleted file mode 100644 index e69de29b..00000000 diff --git a/angular-client/src/components/viewer-display/viewer-display.component.html b/angular-client/src/components/viewer-display/viewer-display.component.html deleted file mode 100644 index 317066da..00000000 --- a/angular-client/src/components/viewer-display/viewer-display.component.html +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/angular-client/src/pages/landing-page/components/connection-display/connection-display.component.css b/angular-client/src/pages/landing-page/components/connection-display/connection-display.component.css new file mode 100644 index 00000000..610e3cf4 --- /dev/null +++ b/angular-client/src/pages/landing-page/components/connection-display/connection-display.component.css @@ -0,0 +1,21 @@ +.connection-display { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: 100%; +} + +.connection-display-data { + display: flex; + justify-content: center; +} + +.connection-dot { + display: flex; + justify-content: center; + width: 20px; + height: 20px; + border-radius: 50%; + margin-right: 5px; +} diff --git a/angular-client/src/pages/landing-page/components/connection-display/connection-display.component.html b/angular-client/src/pages/landing-page/components/connection-display/connection-display.component.html new file mode 100644 index 00000000..b77dd3d3 --- /dev/null +++ b/angular-client/src/pages/landing-page/components/connection-display/connection-display.component.html @@ -0,0 +1,16 @@ + +
+
+ +
+ +
+
+ +
+
+
diff --git a/angular-client/src/components/connection-display/connection-display.component.ts b/angular-client/src/pages/landing-page/components/connection-display/connection-display.component.ts similarity index 92% rename from angular-client/src/components/connection-display/connection-display.component.ts rename to angular-client/src/pages/landing-page/components/connection-display/connection-display.component.ts index 21eb8e24..23b937bb 100644 --- a/angular-client/src/components/connection-display/connection-display.component.ts +++ b/angular-client/src/pages/landing-page/components/connection-display/connection-display.component.ts @@ -4,7 +4,7 @@ import Storage from 'src/services/storage.service'; @Component({ selector: 'connection-display', templateUrl: './connection-display.component.html', - styleUrls: ['./connection-display.component.css'] + styleUrl: './connection-display.component.css' }) export default class ConnectionDisplay { connected: boolean = false; diff --git a/angular-client/src/pages/landing-page/components/current-run-display/current-run-display.component.css b/angular-client/src/pages/landing-page/components/current-run-display/current-run-display.component.css new file mode 100644 index 00000000..40955878 --- /dev/null +++ b/angular-client/src/pages/landing-page/components/current-run-display/current-run-display.component.css @@ -0,0 +1,7 @@ +.current-run-display { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: 100%; +} diff --git a/angular-client/src/pages/landing-page/components/current-run-display/current-run-display.component.html b/angular-client/src/pages/landing-page/components/current-run-display/current-run-display.component.html new file mode 100644 index 00000000..db99a6f9 --- /dev/null +++ b/angular-client/src/pages/landing-page/components/current-run-display/current-run-display.component.html @@ -0,0 +1,6 @@ + +
+ + +
+
diff --git a/angular-client/src/pages/landing-page/components/current-run-display/current-run-display.component.ts b/angular-client/src/pages/landing-page/components/current-run-display/current-run-display.component.ts new file mode 100644 index 00000000..d0161fce --- /dev/null +++ b/angular-client/src/pages/landing-page/components/current-run-display/current-run-display.component.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import Storage from 'src/services/storage.service'; + +@Component({ + selector: 'current-run-display', + templateUrl: './current-run-display.component.html', + styleUrl: './current-run-display.component.css' +}) +export class CurrentRunDisplay { + currentRun: number = 0; + constructor(private storage: Storage) {} + + ngOnInit() { + this.storage.getCurrentRunId().subscribe((runId) => { + if (runId) { + this.currentRun = runId; + } + }); + } +} diff --git a/angular-client/src/pages/landing-page/components/date-location-display/date-location.component.css b/angular-client/src/pages/landing-page/components/date-location-display/date-location.component.css new file mode 100644 index 00000000..7c02733a --- /dev/null +++ b/angular-client/src/pages/landing-page/components/date-location-display/date-location.component.css @@ -0,0 +1,7 @@ +.date-location-display { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: 100%; +} diff --git a/angular-client/src/pages/landing-page/components/date-location-display/date-location.component.html b/angular-client/src/pages/landing-page/components/date-location-display/date-location.component.html new file mode 100644 index 00000000..4dedf5e2 --- /dev/null +++ b/angular-client/src/pages/landing-page/components/date-location-display/date-location.component.html @@ -0,0 +1,6 @@ + +
+ + +
+
diff --git a/angular-client/src/pages/landing-page/components/date-location-display/date-location.component.ts b/angular-client/src/pages/landing-page/components/date-location-display/date-location.component.ts new file mode 100644 index 00000000..f1ace6e2 --- /dev/null +++ b/angular-client/src/pages/landing-page/components/date-location-display/date-location.component.ts @@ -0,0 +1,35 @@ +import { Component, HostListener } from '@angular/core'; +import { MessageService } from 'primeng/api'; +import { startNewRun } from 'src/api/run.api'; +import APIService from 'src/services/api.service'; +import Storage from 'src/services/storage.service'; +import { IdentifierDataType } from 'src/utils/enumerations/identifier-data-type'; + +@Component({ + selector: 'date-location', + templateUrl: './date-location.component.html', + styleUrl: './date-location.component.css' +}) +export class DateLocation { + time = new Date(); + location: string = 'Boston, MA'; + mobileThreshold = 1070; + isMobile = window.innerWidth < this.mobileThreshold; + + constructor(private storage: Storage) {} + + ngOnInit() { + setInterval(() => { + this.time = new Date(); + }, 1000); + + this.storage.get(IdentifierDataType.LOCATION).subscribe((value) => { + [this.location] = value.values || ['No Location Set']; + }); + } + + @HostListener('window:resize', ['$event']) + onResize() { + this.isMobile = window.innerWidth <= this.mobileThreshold; + } +} diff --git a/angular-client/src/pages/landing-page/components/viewer-display/viewer-display.component.css b/angular-client/src/pages/landing-page/components/viewer-display/viewer-display.component.css new file mode 100644 index 00000000..295f8955 --- /dev/null +++ b/angular-client/src/pages/landing-page/components/viewer-display/viewer-display.component.css @@ -0,0 +1,7 @@ +.viewer-display { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: 100%; +} diff --git a/angular-client/src/pages/landing-page/components/viewer-display/viewer-display.component.html b/angular-client/src/pages/landing-page/components/viewer-display/viewer-display.component.html new file mode 100644 index 00000000..ba118e0b --- /dev/null +++ b/angular-client/src/pages/landing-page/components/viewer-display/viewer-display.component.html @@ -0,0 +1,6 @@ + +
+ + +
+
diff --git a/angular-client/src/components/viewer-display/viewer-display.component.ts b/angular-client/src/pages/landing-page/components/viewer-display/viewer-display.component.ts similarity index 83% rename from angular-client/src/components/viewer-display/viewer-display.component.ts rename to angular-client/src/pages/landing-page/components/viewer-display/viewer-display.component.ts index dfcf30cd..0487dc7b 100644 --- a/angular-client/src/components/viewer-display/viewer-display.component.ts +++ b/angular-client/src/pages/landing-page/components/viewer-display/viewer-display.component.ts @@ -5,9 +5,9 @@ import { IdentifierDataType } from 'src/utils/enumerations/identifier-data-type' @Component({ selector: 'viewer-display', templateUrl: './viewer-display.component.html', - styleUrls: ['./viewer-display.component.css'] + styleUrl: './viewer-display.component.css' }) -export default class ViewerDisplay implements OnInit { +export class ViewerDisplay implements OnInit { numViewers: number = 0; constructor(private storage: Storage) {} diff --git a/angular-client/src/pages/landing-page/landing-page.component.html b/angular-client/src/pages/landing-page/landing-page.component.html index 46bc8732..95f85332 100644 --- a/angular-client/src/pages/landing-page/landing-page.component.html +++ b/angular-client/src/pages/landing-page/landing-page.component.html @@ -4,42 +4,73 @@ @if (isMobile) { } @else { - - - - - - - - - - - - - - - - - - - - +
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
- - - - - - - - - - - - - - +
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
} diff --git a/angular-client/src/pages/landing-page/landing-page.component.ts b/angular-client/src/pages/landing-page/landing-page.component.ts index 13f15da1..785ac30b 100644 --- a/angular-client/src/pages/landing-page/landing-page.component.ts +++ b/angular-client/src/pages/landing-page/landing-page.component.ts @@ -15,7 +15,6 @@ import { IdentifierDataType } from 'src/utils/enumerations/identifier-data-type' }) export default class LandingPage implements OnInit { time = new Date(); - location: string = 'No Location Set'; newRunIsLoading = false; mobileThreshold = 1070; isMobile = window.innerWidth < this.mobileThreshold; @@ -40,10 +39,6 @@ export default class LandingPage implements OnInit { setInterval(() => { this.time = new Date(); }, 1000); - - this.storage.get(IdentifierDataType.LOCATION).subscribe((value) => { - [this.location] = value.values || ['No Location Set']; - }); } onStartNewRun!: () => void;