diff --git a/src/views/dashboard/shockers/own/OwnShocker.vue b/src/views/dashboard/shockers/own/OwnShocker.vue
index 05f1677..c8268b9 100644
--- a/src/views/dashboard/shockers/own/OwnShocker.vue
+++ b/src/views/dashboard/shockers/own/OwnShocker.vue
@@ -34,9 +34,12 @@
-
-
-
+
+
+
@@ -66,14 +69,15 @@
-
- Delayed actions in {{ this.delay.timeRemaining }}s
-
- Click to cancel
-
-
-
-
+
+ Delayed actions in
+ {{ this.delay.timeRemaining }}s
+
+ Click to cancel
+
+
+
+
@@ -88,20 +92,20 @@
-
-
-
-
-
- Send a warning (vibrate) before sending a shock
- (Set slider to 0 to disable delay)
-
-
-
-
-
-
+
+
+
+
+
+ Send a warning (vibrate) before sending a shock
+ (Set slider to 0 to disable delay)
+
+
+
+
+
+
@@ -220,7 +224,7 @@ export default {
this.delay.timeout = null;
}
- this.delay.controlsDisabled = false;
+ this.delay.controlsDisabled = false;
},
delayCountDown() {
this.delay.timeRemaining = (Math.max(0, (this.delay.in - Date.now())) / 1000).toFixed(1);
@@ -396,5 +400,4 @@ export default {
padding: 0 12px;
}
}
-}
-
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/src/views/dashboard/shockers/shared/Shared.vue b/src/views/dashboard/shockers/shared/Shared.vue
index 93a4200..f48e7b5 100644
--- a/src/views/dashboard/shockers/shared/Shared.vue
+++ b/src/views/dashboard/shockers/shared/Shared.vue
@@ -45,6 +45,11 @@ export default {
intensity: 25,
duration: 1
}
+ shocker.$live = {
+ dragging: false,
+ intensity: 0,
+ type: "vibrate"
+ }
});
});
});
diff --git a/src/views/dashboard/shockers/shared/SharedDevice.vue b/src/views/dashboard/shockers/shared/SharedDevice.vue
index ef8e5f4..3c6f42a 100644
--- a/src/views/dashboard/shockers/shared/SharedDevice.vue
+++ b/src/views/dashboard/shockers/shared/SharedDevice.vue
@@ -4,19 +4,36 @@
{{ device.name }}
-
-
+
+
+
+
+
+ {{ !this.onlineState ? 'Offline' : 'Online' }}
Firmware Version: {{
+ getFirmwareVersionString }}
+
+
+
+ LIVE
+
+ Connect to Live Control
+ Connecting...
Gateway: {{ live.gateway }}
Country: {{ live.gatewayCountry }}
+ Disconnect from Live Control
Gateway: {{ live.gateway }}
Country: {{ live.gatewayCountry }}
Latency: {{ live.latency }}ms
+
-
+
+
@@ -60,7 +193,32 @@ export default {
padding: 20px;
.shocker-col {
- min-width: 300px;
+ @media screen and (min-width: 465px) {
+ min-width: 375px;
+ }
+ }
+
+ .live {
+ border: 1px solid;
+ border-color: var(--main-text-color);
+ padding: 0 4px;
+ font-size: 10pt;
+ background: var(--main-text-color);
+ -webkit-background-clip: text;
+ background-clip: text;
+ color: transparent;
+ cursor: pointer;
+
+ &.active {
+ background: linear-gradient(to right, rgb(185, 123, 255), #e100ff);
+ background-clip: text;
+ color: transparent;
+ -webkit-background-clip: text;
+
+
+ border-image: linear-gradient(to right, rgb(167, 89, 255), #e100ff);
+ border-image-slice: 1;
+ }
}
.online {
diff --git a/src/views/dashboard/shockers/shared/SharedShocker.vue b/src/views/dashboard/shockers/shared/SharedShocker.vue
index 20beb2d..5321bf0 100644
--- a/src/views/dashboard/shockers/shared/SharedShocker.vue
+++ b/src/views/dashboard/shockers/shared/SharedShocker.vue
@@ -23,66 +23,85 @@
-
-
-
-
-
-
- Intensity
-
-
-
-
- Duration
-
-
-
-
-
-
- Delayed actions in {{ this.delay.timeRemaining }}s
-
- Click to cancel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Send a warning (vibrate) before sending a shock
- (Set slider to 0 to disable delay)
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Intensity
+
+
+
+
+ Duration
+
+
+
+
+
+
+
+ Delayed actions in
+ {{ this.delay.timeRemaining }}s
+
+ Click to cancel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Send a warning (vibrate) before sending a shock
+ (Set slider to 0 to disable delay)
+
+
+
+
+
+
+
@@ -92,12 +111,13 @@
import Loading from '../../../utils/Loading.vue';
import ControlButton from '../../../utils/ControlButton.vue';
import RoundSlider from 'vue-three-round-slider';
+import LiveSlider from '../LiveSlider.vue';
import Slider from '@vueform/slider';
export default {
- components: { ControlButton, Loading, RoundSlider, Slider },
+ components: { ControlButton, Loading, RoundSlider, Slider, LiveSlider },
- props: ["shocker"],
+ props: ["shocker", "liveMode"],
data() {
return {
inProgress: false,
@@ -177,7 +197,7 @@ export default {
clearTimeout(this.delay.timeout);
this.delay.timeout = null;
}
- this.delay.controlsDisabled = false;
+ this.delay.controlsDisabled = false;
},
delayCountDown() {
this.delay.timeRemaining = (Math.max(0, (this.delay.in - Date.now())) / 1000).toFixed(1);
@@ -266,6 +286,7 @@ export default {
color: var(--bs-heading-color);
font-size: 1.25rem;
}
+
.random-slider {
margin-top: 20px;
margin-bottom: 10px;
@@ -323,5 +344,4 @@ export default {
padding: 0 12px;
}
}
-}
-
\ No newline at end of file
+}
\ No newline at end of file