+
+
+
Cannot find your UHK
+ Please plug it in!
+
+
diff --git a/electron/src/components/missing-device/missing-device.component.scss b/electron/src/components/missing-device/missing-device.component.scss
new file mode 100644
index 00000000..3a204fa2
--- /dev/null
+++ b/electron/src/components/missing-device/missing-device.component.scss
@@ -0,0 +1,19 @@
+.missing-device-wrapper {
+ display: flex;
+ height: 100%;
+ align-items: center;
+ justify-content: center;
+}
+
+.agent-logo {
+ padding: 2em;
+}
+
+.message {
+ display: flex;
+ flex-direction: column;
+
+ > h2 {
+ margin-top: 10px;
+ }
+}
diff --git a/electron/src/components/missing-device/missing-device.component.ts b/electron/src/components/missing-device/missing-device.component.ts
new file mode 100644
index 00000000..14a9ed77
--- /dev/null
+++ b/electron/src/components/missing-device/missing-device.component.ts
@@ -0,0 +1,29 @@
+import { Component } from '@angular/core';
+import { Router } from '@angular/router';
+
+import { Observable } from 'rxjs/Observable';
+import 'rxjs/add/operator/distinctUntilChanged';
+import 'rxjs/add/operator/ignoreElements';
+import 'rxjs/add/operator/takeWhile';
+
+import { UhkDeviceService } from './../../services/uhk-device.service';
+
+@Component({
+ selector: 'missing-device',
+ templateUrl: 'missing-device.component.html',
+ styleUrls: ['missing-device.component.scss']
+})
+export class MissingDeviceComponent {
+
+ constructor(uhkDevice: UhkDeviceService, router: Router) {
+ uhkDevice.isConnected()
+ .distinctUntilChanged()
+ .takeWhile(connected => !connected)
+ .ignoreElements()
+ .subscribe({
+ complete: () => {
+ router.navigate(['/']);
+ }
+ });
+ }
+}
diff --git a/electron/src/index.html b/electron/src/index.html
index 9196967c..e9fa1032 100644
--- a/electron/src/index.html
+++ b/electron/src/index.html
@@ -27,7 +27,7 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
-