diff --git a/public/timeout.wav b/public/timeout.wav
new file mode 100644
index 0000000..a1f4627
Binary files /dev/null and b/public/timeout.wav differ
diff --git a/src/App.vue b/src/App.vue
index 2aa16cb..83c815c 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,8 +1,8 @@
Wake lock not available
-
-
+
+
@@ -19,6 +19,7 @@ export default {
data: function() {
return {
time: 0,
+ playsound: false,
wakeLockAvailable: this.hasWakeLock()
}
},
@@ -26,6 +27,9 @@ export default {
setTime(number) {
this.time = number;
},
+ setPlaySound(state) {
+ this.playsound = state;
+ },
hasWakeLock() {
if ('wakeLock' in navigator) {
return true;
@@ -41,6 +45,8 @@ export default {
+
+
1
+
+
+
+
diff --git a/src/scss/form-elements.scss b/src/scss/form-elements.scss
new file mode 100644
index 0000000..81f2f64
--- /dev/null
+++ b/src/scss/form-elements.scss
@@ -0,0 +1,63 @@
+
+/* The switch - the box around the slider */
+.switch {
+ position: relative;
+ display: inline-block;
+ width: 60px;
+ height: 34px;
+}
+
+/* Hide default HTML checkbox */
+.switch input {
+ opacity: 0;
+ width: 0;
+ height: 0;
+}
+
+/* The slider */
+.slider {
+ position: absolute;
+ cursor: pointer;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: $light-gray;
+ -webkit-transition: .4s;
+ transition: .4s;
+}
+
+.slider:before {
+ position: absolute;
+ content: "";
+ height: 26px;
+ width: 26px;
+ left: 4px;
+ bottom: 4px;
+ background-color: white;
+ -webkit-transition: .4s;
+ transition: .4s;
+}
+
+input:checked + .slider {
+ background-color: $red;
+}
+
+input:focus + .slider {
+ box-shadow: 0 0 1px $red;
+}
+
+input:checked + .slider:before {
+ -webkit-transform: translateX(26px);
+ -ms-transform: translateX(26px);
+ transform: translateX(26px);
+}
+
+/* Rounded sliders */
+.slider.round {
+ border-radius: 34px;
+}
+
+.slider.round:before {
+ border-radius: 50%;
+}
\ No newline at end of file
diff --git a/src/scss/includes.scss b/src/scss/includes.scss
new file mode 100644
index 0000000..4ae740a
--- /dev/null
+++ b/src/scss/includes.scss
@@ -0,0 +1,3 @@
+@import "~@/scss/vars.scss";
+@import "~@/scss/form-elements.scss";
+@import "~@/scss/fonts.scss";
\ No newline at end of file
diff --git a/src/scss/vars.scss b/src/scss/vars.scss
index ba61eff..fad871b 100644
--- a/src/scss/vars.scss
+++ b/src/scss/vars.scss
@@ -1,3 +1,6 @@
$light-red: #ff8888;
$dark-red: #880000;
-$red: #ff0000;
\ No newline at end of file
+$red: #ff0000;
+$white: #f9e3d1;
+$black: #121212;
+$light-gray: #ababab;
\ No newline at end of file
diff --git a/vue.config.js b/vue.config.js
index 64f8786..3750e78 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -9,7 +9,7 @@ module.exports = {
// `scss` syntax requires an semicolon at the end of a statement, while `sass` syntax requires none
// in that case, we can target the `scss` syntax separately using the `scss` option
scss: {
- additionalData: `@import "~@/scss/fonts.scss";@import "~@/scss/vars.scss";`
+ additionalData: `@import "~@/scss/includes.scss";`
},
}
}