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