From 1d3915b3d25e43e5eca7954a390b826167630c61 Mon Sep 17 00:00:00 2001 From: Preston Date: Wed, 26 Feb 2020 22:10:56 -0500 Subject: [PATCH] Progress on Settings and Database setup --- package-lock.json | 406 ++++++++---------- package.json | 25 +- src/renderer/App.js | 17 + src/renderer/components/ft-input/ft-input.css | 5 +- .../components/ft-list-video/ft-list-video.js | 9 +- .../components/ft-slider/ft-slider.css | 243 +++++++++++ .../components/ft-slider/ft-slider.js | 50 +++ .../components/ft-slider/ft-slider.vue | 23 + .../ft-toggle-switch/ft-toggle-switch.js | 5 + .../general-settings/general-settings.css | 2 +- .../general-settings/general-settings.js | 63 ++- .../general-settings/general-settings.vue | 31 +- .../player-settings/player-settings.css | 2 +- .../player-settings/player-settings.js | 4 +- .../player-settings/player-settings.vue | 19 + .../subscription-settings.css | 9 + .../subscription-settings.js | 35 ++ .../subscription-settings.vue | 33 ++ src/renderer/components/top-nav/top-nav.css | 16 +- src/renderer/components/top-nav/top-nav.js | 4 + src/renderer/components/top-nav/top-nav.vue | 15 +- src/renderer/store/modules/settings.js | 190 ++++++-- src/renderer/themes.css | 52 +++ src/renderer/views/Settings/Settings.css | 5 - src/renderer/views/Settings/Settings.js | 4 +- src/renderer/views/Settings/Settings.vue | 1 + src/renderer/views/Watch/Watch.js | 2 + 27 files changed, 960 insertions(+), 310 deletions(-) create mode 100644 src/renderer/components/ft-slider/ft-slider.css create mode 100644 src/renderer/components/ft-slider/ft-slider.js create mode 100644 src/renderer/components/ft-slider/ft-slider.vue create mode 100644 src/renderer/components/subscription-settings/subscription-settings.css create mode 100644 src/renderer/components/subscription-settings/subscription-settings.js create mode 100644 src/renderer/components/subscription-settings/subscription-settings.vue diff --git a/package-lock.json b/package-lock.json index e87c8576..16010721 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2344,9 +2344,9 @@ } }, "@electron/get": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.7.2.tgz", - "integrity": "sha512-LSE4LZGMjGS9TloDx0yO44D2UTbaeKRk+QjlhWLiQlikV6J4spgDCjb6z4YIcqmPAwNzlNCnWF4dubytwI+ATA==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.7.6.tgz", + "integrity": "sha512-zlNikt6ziVLNcm4lly1L4y62fJd/eYpEBjF5DiV/VAQq2vdPjH4sbUphXt9upmHz86lAhAj8g9lTnWrxJ/KBZw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -2517,12 +2517,12 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.19.0.tgz", - "integrity": "sha512-u7IcQ9qwsB6U806LupZmINRnQjC+RJyv36sV/ugaFWMHTbFm/hlLTRx3gGYJgHisxcGSTnf+I/fPDieRMhPSQQ==", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.20.0.tgz", + "integrity": "sha512-cimIdVDV3MakiGJqMXw51Xci6oEDEoPkvh8ggJe2IIzcc0fYqAxOXN6Vbeanahz6dLZq64W+40iUEc9g32FLDQ==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "2.19.0", + "@typescript-eslint/experimental-utils": "2.20.0", "eslint-utils": "^1.4.3", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.0.0", @@ -2538,25 +2538,25 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.19.0.tgz", - "integrity": "sha512-zwpg6zEOPbhB3+GaQfufzlMUOO6GXCNZq6skk+b2ZkZAIoBhVoanWK255BS1g5x9bMwHpLhX0Rpn5Fc3NdCZdg==", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.20.0.tgz", + "integrity": "sha512-fEBy9xYrwG9hfBLFEwGW2lKwDRTmYzH3DwTmYbT+SMycmxAoPl0eGretnBFj/s+NfYBG63w/5c3lsvqqz5mYag==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.19.0", + "@typescript-eslint/typescript-estree": "2.20.0", "eslint-scope": "^5.0.0" } }, "@typescript-eslint/parser": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.19.0.tgz", - "integrity": "sha512-s0jZoxAWjHnuidbbN7aA+BFVXn4TCcxEVGPV8lWMxZglSs3NRnFFAlL+aIENNmzB2/1jUJuySi6GiM6uACPmpg==", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.20.0.tgz", + "integrity": "sha512-o8qsKaosLh2qhMZiHNtaHKTHyCHc3Triq6aMnwnWj7budm3xAY9owSZzV1uon5T9cWmJRJGzTFa90aex4m77Lw==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.19.0", - "@typescript-eslint/typescript-estree": "2.19.0", + "@typescript-eslint/experimental-utils": "2.20.0", + "@typescript-eslint/typescript-estree": "2.20.0", "eslint-visitor-keys": "^1.1.0" }, "dependencies": { @@ -2569,9 +2569,9 @@ } }, "@typescript-eslint/typescript-estree": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.19.0.tgz", - "integrity": "sha512-n6/Xa37k0jQdwpUszffi19AlNbVCR0sdvCs3DmSKMD7wBttKY31lhD2fug5kMD91B2qW4mQldaTEc1PEzvGu8w==", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.20.0.tgz", + "integrity": "sha512-WlFk8QtI8pPaE7JGQGxU7nGcnk1ccKAJkhbVookv94ZcAef3m6oCE/jEDL6dGte3JcD7reKrA0o55XhBRiVT3A==", "dev": true, "requires": { "debug": "^4.1.1", @@ -2656,9 +2656,9 @@ } }, "@vue/component-compiler-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.1.0.tgz", - "integrity": "sha512-OJ7swvl8LtKtX5aYP8jHhO6fQBIRIGkU6rvWzK+CGJiNOnvg16nzcBkd9qMZzW8trI2AsqAKx263nv7kb5rhZw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.1.1.tgz", + "integrity": "sha512-+lN3nsfJJDGMNz7fCpcoYIORrXo0K3OTsdr8jCM7FuqdI4+70TY6gxY6viJ2Xi1clqyPg7LpeOWwjF31vSMmUw==", "dev": true, "requires": { "consolidate": "^0.15.1", @@ -2666,7 +2666,7 @@ "lru-cache": "^4.1.2", "merge-source-map": "^1.1.0", "postcss": "^7.0.14", - "postcss-selector-parser": "^5.0.0", + "postcss-selector-parser": "^6.0.2", "prettier": "^1.18.2", "source-map": "~0.6.1", "vue-template-es2015-compiler": "^1.9.0" @@ -3390,9 +3390,9 @@ "dev": true }, "autolinker": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-3.11.1.tgz", - "integrity": "sha512-6sAmetStorjXvwmV8MBxI5DGICHKD1B5EjdkIrq34X6YBDN6jj54EUHnoHgNqmNCclcf8c409zuVMNy449u80g==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-3.12.0.tgz", + "integrity": "sha512-iQAz75LAZ0dmlaMaIXX0Z+X4yuI6gxONZ14h0YTO0j/3d9DltyD+qkbINpocVZ8oCjMSJUdBeRfrXzGf/zvGZQ==", "requires": { "tslib": "^1.9.3" } @@ -3689,11 +3689,10 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, "boolean": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.0.tgz", - "integrity": "sha512-OElxJ1lUSinuoUnkpOgLmxp0DC4ytEhODEL6QJU0NpxE/mI4rUSh8h1P1Wkvfi3xQEBcxXR2gBIPNYNuaFcAbQ==", - "dev": true, - "optional": true + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.1.tgz", + "integrity": "sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA==", + "dev": true }, "boxen": { "version": "4.2.0", @@ -5733,9 +5732,9 @@ "dev": true }, "electron": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-8.0.0.tgz", - "integrity": "sha512-vBXUKRqTUq0jv1upvISdvScDDH3uCPwXj4eA5BeR3UDbJp2hOhq7eJxwjIQbfLQql98aYz4X6pSlzBnhfyQqHA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-8.0.1.tgz", + "integrity": "sha512-kLZAQkbrAFNjQVpcHJUnjRYQNafuuWKnsdxzag5do1ewMqN0J4Pi/hPE27+5/1YAFMcbvCrPqhWIpcMsi8mKXQ==", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -6096,14 +6095,26 @@ } }, "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", + "memory-fs": "^0.5.0", "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } } }, "entities": { @@ -6519,11 +6530,12 @@ "dev": true }, "eslint-plugin-vue": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.1.2.tgz", - "integrity": "sha512-M75oAB+2a/LNkLKRbeEaS07EjzjIUaV7/hYoHAfRFeeF8ZMmCbahUn8nQLsLP85mkar24+zDU3QW2iT1JRsACw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.1.tgz", + "integrity": "sha512-MiIDOotoWseIfLIfGeDzF6sDvHkVvGd2JgkvjyHtN3q4RoxdAXrAMuI3SXTOKatljgacKwpNAYShmcKZa4yZzw==", "dev": true, "requires": { + "natural-compare": "^1.4.0", "semver": "^5.6.0", "vue-eslint-parser": "^7.0.0" } @@ -6629,9 +6641,9 @@ "dev": true }, "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", "dev": true }, "eventsource": { @@ -6912,16 +6924,17 @@ "dev": true }, "fast-glob": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.1.tgz", - "integrity": "sha512-nTCREpBY8w8r+boyFYAx21iL6faSsQynliPHM4Uf56SbkyohCNxpVPEH9xrF5TXKy+IsjkPUHDKiUkzBVRXn9g==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", + "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.0", "merge2": "^1.3.0", - "micromatch": "^4.0.2" + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" }, "dependencies": { "braces": { @@ -6976,6 +6989,12 @@ "picomatch": "^2.0.5" } }, + "picomatch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz", + "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==", + "dev": true + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -7055,22 +7074,22 @@ } }, "file-loader": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-5.0.2.tgz", - "integrity": "sha512-QMiQ+WBkGLejKe81HU8SZ9PovsU/5uaLo0JdTCEXOYv7i7jfAjHZi1tcwp9tSASJPOmmHZtbdCervFmXMH/Dcg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-5.1.0.tgz", + "integrity": "sha512-u/VkLGskw3Ue59nyOwUwXI/6nuBCo7KBkniB/l7ICwr/7cPNGsL1WCXUp3GB0qgOOKU1TiP49bv4DZF/LJqprg==", "dev": true, "requires": { - "loader-utils": "^1.2.3", + "loader-utils": "^1.4.0", "schema-utils": "^2.5.0" }, "dependencies": { "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" @@ -7088,6 +7107,18 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -7098,13 +7129,13 @@ } }, "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { "big.js": "^5.2.2", - "emojis-list": "^2.0.0", + "emojis-list": "^3.0.0", "json5": "^1.0.1" } }, @@ -7115,9 +7146,9 @@ "dev": true }, "schema-utils": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.1.tgz", - "integrity": "sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", + "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", "dev": true, "requires": { "ajv": "^6.10.2", @@ -7477,8 +7508,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -7499,14 +7529,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7521,20 +7549,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -7651,8 +7676,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -7664,7 +7688,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -7679,7 +7702,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -7687,14 +7709,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -7713,7 +7733,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -7794,8 +7813,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -7807,7 +7825,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -7893,8 +7910,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -7930,7 +7946,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -7950,7 +7965,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -7994,14 +8008,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -8164,9 +8176,9 @@ }, "dependencies": { "semver": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.2.tgz", - "integrity": "sha512-BJs9T/H8sEVHbeigqzIEo57Iu/3DG6c4QoqTfbQB3BPA4zgzAomh/Fk9E7QtjWQ8mx2dgA9YCfSF4y9k9bHNpQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", + "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", "dev": true, "optional": true } @@ -10425,32 +10437,6 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } } } }, @@ -11063,9 +11049,9 @@ } }, "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, "parallel-transform": { @@ -11494,22 +11480,14 @@ } }, "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", "dev": true, "requires": { - "cssesc": "^2.0.0", + "cssesc": "^3.0.0", "indexes-of": "^1.0.1", "uniq": "^1.0.1" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - } } }, "postcss-value-parser": { @@ -13100,9 +13078,9 @@ } }, "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -13324,32 +13302,6 @@ "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-each": { @@ -13373,32 +13325,6 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-shift": { @@ -13728,9 +13654,9 @@ "dev": true }, "terser": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.4.3.tgz", - "integrity": "sha512-0ikKraVtRDKGzHrzkCv5rUNDzqlhmhowOBqC0XqUHFpW+vJ45+20/IFBcebwKfiS2Z9fJin6Eo+F1zLZsxi8RA==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.3.tgz", + "integrity": "sha512-Lw+ieAXmY69d09IIc/yqeBqXpEQIpDGZqT34ui1QWXIUpR2RjbqEkT8X7Lgex19hslSqcWM5iMN2kM11eMsESQ==", "dev": true, "requires": { "commander": "^2.20.0", @@ -14023,9 +13949,9 @@ } }, "typescript": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz", - "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.2.tgz", + "integrity": "sha512-EgOVgL/4xfVrCMbhYKUQTdF37SQn4Iw73H5BgCrF1Abdun7Kwy/QZsE/ssAy0y4LxBbvua3PIbFsbRczWWnDdQ==", "dev": true }, "uglify-js": { @@ -14504,6 +14430,11 @@ "xhr": "2.4.0" } }, + "videojs-abloop": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/videojs-abloop/-/videojs-abloop-1.0.3.tgz", + "integrity": "sha512-Cj7L6qqLUzDq2Urc0qknafmIHnu/qdB7eQSJxz5HCY96kR81kMFmR3oubwbqoHFrrxyv59TxhQ7cWME/AMFDrA==" + }, "videojs-contrib-quality-levels": { "version": "2.0.9", "resolved": "https://registry.npmjs.org/videojs-contrib-quality-levels/-/videojs-contrib-quality-levels-2.0.9.tgz", @@ -14711,9 +14642,9 @@ "dev": true }, "vue-loader": { - "version": "15.8.3", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.8.3.tgz", - "integrity": "sha512-yFksTFbhp+lxlm92DrKdpVIWMpranXnTEuGSc0oW+Gk43M9LWaAmBTnfj5+FCdve715mTHvo78IdaXf5TbiTJg==", + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.0.tgz", + "integrity": "sha512-FeDHvTSpwyLeF7LIV1PYkvqUQgTJ8UmOxhSlCyRSxaXCKk+M6NF4tDQsLsPPNeDPyR7TfRQ8MLg6v+8PsDV9xQ==", "dev": true, "requires": { "@vue/component-compiler-utils": "^3.1.0", @@ -14817,9 +14748,9 @@ } }, "webpack": { - "version": "4.41.5", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.5.tgz", - "integrity": "sha512-wp0Co4vpyumnp3KlkmpM5LWuzvZYayDwM2n17EHFr4qxBBbRokC7DJawPJC7TfSFZ9HZ6GsdH40EBj4UV0nmpw==", + "version": "4.41.6", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.6.tgz", + "integrity": "sha512-yxXfV0Zv9WMGRD+QexkZzmGIh54bsvEs+9aRWxnN8erLWEOehAKUTeNBoUbA6HPEZPlRo7KDi2ZcNveoZgK9MA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", @@ -14854,12 +14785,12 @@ "dev": true }, "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" @@ -14877,6 +14808,12 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", @@ -14887,6 +14824,12 @@ "estraverse": "^4.1.1" } }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -14897,13 +14840,13 @@ } }, "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { "big.js": "^5.2.2", - "emojis-list": "^2.0.0", + "emojis-list": "^3.0.0", "json5": "^1.0.1" } }, @@ -14916,9 +14859,9 @@ } }, "webpack-cli": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz", - "integrity": "sha512-u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", + "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", "dev": true, "requires": { "chalk": "2.4.2", @@ -14979,17 +14922,16 @@ "wrap-ansi": "^5.1.0" } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } }, "json5": { "version": "1.0.1", @@ -15017,12 +14959,6 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -15725,9 +15661,9 @@ } }, "ytdl-core": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-1.0.9.tgz", - "integrity": "sha512-HhFeLfjXU34h0FNHmSkSpKygdaYijSt8VNsC770VYBRFb+dyUKcm11cIKxu2MUSwT9znISZ0k1wFdaV/N5VW+Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-2.0.0.tgz", + "integrity": "sha512-cYdcxXhgldJeOaWaN/mxT+j07XFZdR+qUqfz5eddx4WcyWCha66FfJvmQBOPqyQo1TCyj/IkgZqdGADWlNdTcQ==", "requires": { "html-entities": "^1.1.3", "m3u8stream": "^0.6.3", diff --git a/package.json b/package.json index e726ee75..18c33612 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "@fortawesome/free-solid-svg-icons": "^5.12.1", "@fortawesome/vue-fontawesome": "^0.1.9", "@silvermine/videojs-quality-selector": "^1.2.3", - "autolinker": "^3.11.1", + "autolinker": "^3.12.0", "bulma-pro": "^0.1.8", "dateformat": "^3.0.3", "electron-context-menu": "^0.16.0", @@ -23,6 +23,7 @@ "nedb": "^1.8.0", "opml-to-json": "0.0.3", "video.js": "^7.6.6", + "videojs-abloop": "^1.0.3", "videojs-contrib-quality-levels": "^2.0.9", "videojs-http-source-selector": "^1.1.6", "videojs-replay": "^1.1.0", @@ -37,7 +38,7 @@ "youtube-comments-task": "^1.3.14", "youtube-suggest": "^1.1.0", "yt-xml2srt": "^1.1.0", - "ytdl-core": "^1.0.9", + "ytdl-core": "^2.0.0", "ytpl": "^0.1.20", "ytsr": "^0.1.10" }, @@ -48,15 +49,15 @@ "@babel/plugin-proposal-object-rest-spread": "^7.8.3", "@babel/preset-env": "^7.8.4", "@babel/preset-typescript": "^7.8.3", - "@typescript-eslint/eslint-plugin": "^2.19.0", - "@typescript-eslint/parser": "^2.19.0", + "@typescript-eslint/eslint-plugin": "^2.20.0", + "@typescript-eslint/parser": "^2.20.0", "acorn": "^7.1.0", "babel-eslint": "^10.0.3", "babel-loader": "^8.0.6", "copy-webpack-plugin": "^5.1.1", "css-loader": "^3.4.2", "devtron": "^1.4.0", - "electron": "^8.0.0", + "electron": "^8.0.1", "electron-builder": "^22.3.2", "electron-debug": "^3.0.1", "electron-rebuild": "^1.10.0", @@ -68,9 +69,9 @@ "eslint-plugin-prettier": "^3.1.2", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^4.0.1", - "eslint-plugin-vue": "^6.1.2", - "fast-glob": "^3.1.1", - "file-loader": "^5.0.2", + "eslint-plugin-vue": "^6.2.1", + "fast-glob": "^3.2.2", + "file-loader": "^5.1.0", "html-webpack-plugin": "^3.2.0", "mini-css-extract-plugin": "^0.9.0", "node-loader": "^0.6.0", @@ -80,15 +81,15 @@ "sass-loader": "^8.0.2", "style-loader": "^1.1.3", "tree-kill": "1.2.2", - "typescript": "^3.7.5", + "typescript": "^3.8.2", "url-loader": "^3.0.0", "vue-devtools": "^5.1.3", "vue-eslint-parser": "^7.0.0", - "vue-loader": "^15.8.3", + "vue-loader": "^15.9.0", "vue-style-loader": "^4.1.2", "vue-template-compiler": "^2.6.11", - "webpack": "^4.41.5", - "webpack-cli": "^3.3.10", + "webpack": "^4.41.6", + "webpack-cli": "^3.3.11", "webpack-dev-server": "^3.10.3" }, "license": "GPL-3.0-or-later", diff --git a/src/renderer/App.js b/src/renderer/App.js index 52d77f9c..744640b5 100644 --- a/src/renderer/App.js +++ b/src/renderer/App.js @@ -16,6 +16,15 @@ export default Vue.extend({ } }, mounted: function () { + this.$store.dispatch('grabUserSettings') + + const theme = localStorage.getItem('theme') + console.log(theme) + + if (theme !== null) { + this.updateTheme(theme) + } + // Open links externally by default $(document).on('click', 'a[href^="http"]', (event) => { const el = event.currentTarget @@ -25,5 +34,13 @@ export default Vue.extend({ shell.openExternal(el.href) } }) + }, + methods: { + updateTheme: function (theme) { + console.log(theme) + const body = document.getElementsByTagName('body')[0] + body.className = theme + localStorage.setItem('theme', theme) + } } }) diff --git a/src/renderer/components/ft-input/ft-input.css b/src/renderer/components/ft-input/ft-input.css index 042664ec..e4ae8b0d 100644 --- a/src/renderer/components/ft-input/ft-input.css +++ b/src/renderer/components/ft-input/ft-input.css @@ -14,11 +14,12 @@ margin-bottom: 10px; font: 16px; height: 45px; - border-bottom: 1px solid var(--primary-input-color); + color: var(--teritary-text-color); + border-bottom: 1px solid var(--teritary-text-color); } .ft-input-component ::-webkit-input-placeholder { - color: var(--primary-input-color); + color: var(--teritary-text-color); } .inputAction { diff --git a/src/renderer/components/ft-list-video/ft-list-video.js b/src/renderer/components/ft-list-video/ft-list-video.js index 2a486cd6..6057410d 100644 --- a/src/renderer/components/ft-list-video/ft-list-video.js +++ b/src/renderer/components/ft-list-video/ft-list-video.js @@ -35,8 +35,8 @@ export default Vue.extend({ return this.$store.getters.getListType }, - clickBaitRemoverPreference: function () { - return this.$store.getters.getClickBaitRemoverPreference + thumbnailPreference: function () { + return this.$store.getters.getThumbnailPreference } }, mounted: function () { @@ -49,7 +49,6 @@ export default Vue.extend({ ) { this.parseInvidiousData() } else { - console.log('parsing local data') this.parseLocalData() } }, @@ -102,7 +101,7 @@ export default Vue.extend({ this.id = this.data.videoId this.title = this.data.title // this.thumbnail = this.data.videoThumbnails[4].url - switch (this.clickBaitRemoverPreference) { + switch (this.thumbnailPreference) { case 'start': this.thumbnail = `https://i.ytimg.com/vi/${this.id}/mq1.jpg` break @@ -145,7 +144,7 @@ export default Vue.extend({ this.title = this.data.title // this.thumbnail = this.data.thumbnail - switch (this.clickBaitRemoverPreference) { + switch (this.thumbnailPreference) { case 'start': this.thumbnail = `https://i.ytimg.com/vi/${this.id}/mq1.jpg` break diff --git a/src/renderer/components/ft-slider/ft-slider.css b/src/renderer/components/ft-slider/ft-slider.css new file mode 100644 index 00000000..933590aa --- /dev/null +++ b/src/renderer/components/ft-slider/ft-slider.css @@ -0,0 +1,243 @@ +.pure-material-slider { + --pure-material-safari-helper1: rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.04); + --pure-material-safari-helper2: rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.12); + --pure-material-safari-helper3: rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.16); + --pure-material-safari-helper4: rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.24); + display: inline-block; + width: 220px; + color: rgba(var(--primary-text-color), 0.87); + font-family: var(--pure-material-font, "Roboto", "Segoe UI", BlinkMacSystemFont, system-ui, -apple-system); + font-size: 16px; + line-height: 1.5; + padding: 5px; +} + +/* Input */ +.pure-material-slider > input { + -webkit-appearance: none; + position: relative; + top: 24px; + display: block; + margin: 0 0 -36px; + width: 100%; + height: 36px; + background-color: transparent; + cursor: pointer; +} + +/* Without Span */ +.pure-material-slider > input:last-child { + position: static; + margin: 0; +} + +/* Span */ +.pure-material-slider > span { + display: inline-block; + margin-bottom: 36px; +} + +/* Focus */ +.pure-material-slider > input:focus { + outline: none; +} + +/* Disabled */ +.pure-material-slider > input:disabled { + cursor: default; + opacity: 0.38; +} + +.pure-material-slider > input:disabled + span { + color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.38); +} + +/* Webkit | Track */ +.pure-material-slider > input::-webkit-slider-runnable-track { + margin: 17px 0; + border-radius: 1px; + width: 100%; + height: 2px; + background-color: rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.24); +} + +/* Webkit | Thumb */ +.pure-material-slider > input::-webkit-slider-thumb { + appearance: none; + -webkit-appearance: none; + border: none; + border-radius: 50%; + height: 2px; + width: 2px; + background-color: rgb(var(--pure-material-primary-rgb, 33, 150, 243)); + transform: scale(6, 6); + transition: box-shadow 0.2s; +} + +/* Webkit | Hover, Focus */ +.pure-material-slider:hover > input::-webkit-slider-thumb { + box-shadow: 0 0 0 2px var(--pure-material-safari-helper1); +} + +.pure-material-slider > input:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 2px var(--pure-material-safari-helper2); +} + +.pure-material-slider:hover > input:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 2px var(--pure-material-safari-helper3); +} + +/* Webkit | Active */ +.pure-material-slider > input:active::-webkit-slider-thumb { + box-shadow: 0 0 0 2px var(--pure-material-safari-helper4) !important; +} + +/* Webkit | Disabled */ +.pure-material-slider > input:disabled::-webkit-slider-runnable-track { + background-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.38); +} + +.pure-material-slider > input:disabled::-webkit-slider-thumb { + background-color: rgb(var(--pure-material-onsurface-rgb, 0, 0, 0)); + color: rgb(var(--pure-material-surface-rgb, 255, 255, 255)); /* Safari */ + box-shadow: 0 0 0 1px rgb(var(--pure-material-surface-rgb, 255, 255, 255)) !important; + transform: scale(4, 4); +} + +/* Moz | Track */ +.pure-material-slider > input::-moz-range-track { + margin: 17px 0; + border-radius: 1px; + width: 100%; + height: 2px; + background-color: rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.24); +} + +/* Moz | Thumb */ +.pure-material-slider > input::-moz-range-thumb { + appearance: none; + -moz-appearance: none; + border: none; + border-radius: 50%; + height: 2px; + width: 2px; + background-color: rgb(var(--pure-material-primary-rgb, 33, 150, 243)); + transform: scale(6, 6); + transition: box-shadow 0.2s; +} + +/* Moz | Progress */ +.pure-material-slider > input::-moz-range-progress { + border-radius: 1px; + height: 2px; + background-color: rgb(var(--pure-material-primary-rgb, 33, 150, 243)); +} + +/* Moz | Hover, Focus */ +.pure-material-slider:hover > input:hover::-moz-range-thumb { + box-shadow: 0 0 0 2px rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.04); +} + +.pure-material-slider > input:focus::-moz-range-thumb { + box-shadow: 0 0 0 2px rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.12); +} + +.pure-material-slider:hover > input:focus::-moz-range-thumb { + box-shadow: 0 0 0 2px rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.16); +} + +/* Moz | Active */ +.pure-material-slider > input:active::-moz-range-thumb { + box-shadow: 0 0 0 2px rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.24) !important; +} + +/* Moz | Disabled */ +.pure-material-slider > input:disabled::-moz-range-track { + background-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.38); +} + +.pure-material-slider > input:disabled::-moz-range-progress { + background-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.87); +} + +.pure-material-slider > input:disabled::-moz-range-thumb { + background-color: rgb(var(--pure-material-onsurface-rgb, 0, 0, 0)); + box-shadow: 0 0 0 1px rgb(var(--pure-material-surface-rgb, 255, 255, 255)) !important; + transform: scale(4, 4); +} + +.pure-material-slider > input::-moz-focus-outer { + border: none; +} + +/* MS | Track */ +.pure-material-slider > input::-ms-track { + box-sizing: border-box; + margin: 17px 0; + border: none; + border-radius: 1px; + padding: 0 17px; + width: 100%; + height: 2px; + background-color: transparent; +} + +.pure-material-slider > input::-ms-fill-lower { + border-radius: 1px; + height: 2px; + background-color: rgb(var(--pure-material-primary-rgb, 33, 150, 243)); +} + +/* MS | Progress */ +.pure-material-slider > input::-ms-fill-upper { + border-radius: 1px; + height: 2px; + background-color: rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.24); +} + +/* MS | Thumb */ +.pure-material-slider > input::-ms-thumb { + appearance: none; + margin: 0 17px; + border: none; + border-radius: 50%; + height: 2px; + width: 2px; + background-color: rgb(var(--pure-material-primary-rgb, 33, 150, 243)); + transform: scale(6, 6); + transition: box-shadow 0.2s; +} + +/* MS | Hover, Focus */ +.pure-material-slider:hover > input::-ms-thumb { + box-shadow: 0 0 0 2px rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.04); +} + +.pure-material-slider > input:focus::-ms-thumb { + box-shadow: 0 0 0 2px rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.12); +} + +.pure-material-slider:hover > input:focus::-ms-thumb { + box-shadow: 0 0 0 2px rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.16); +} + +/* MS | Active */ +.pure-material-slider > input:active::-ms-thumb { + box-shadow: 0 0 0 2px rgba(var(--pure-material-primary-rgb, 33, 150, 243), 0.24) !important; +} + +/* MS | Disabled */ +.pure-material-slider > input:disabled::-ms-fill-lower { + background-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.38); +} + +.pure-material-slider > input:disabled::-ms-fill-upper { + background-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.38); + opacity: 0.38; +} + +.pure-material-slider > input:disabled::-ms-thumb { + background-color: rgb(var(--pure-material-onsurface-rgb, 0, 0, 0)); + box-shadow: 0 0 0 1px rgb(var(--pure-material-surface-rgb, 255, 255, 255)) !important; + transform: scale(4, 4); +} diff --git a/src/renderer/components/ft-slider/ft-slider.js b/src/renderer/components/ft-slider/ft-slider.js new file mode 100644 index 00000000..c5b9fb33 --- /dev/null +++ b/src/renderer/components/ft-slider/ft-slider.js @@ -0,0 +1,50 @@ +import Vue from 'vue' + +export default Vue.extend({ + name: 'FtSlider', + props: { + label: { + type: String, + required: true + }, + defaultValue: { + type: Number, + required: true + }, + minValue: { + type: Number, + required: true + }, + maxValue: { + type: Number, + required: true + }, + step: { + type: Number, + required: true + }, + valueExtension: { + type: String, + default: null + } + }, + data: function () { + return { + id: '', + currentValue: 0 + } + }, + computed: { + displayLabel: function () { + if (this.valueExtension === null) { + return this.currentValue + } else { + return `${this.currentValue}${this.valueExtension}` + } + } + }, + mounted: function () { + this.id = this._uid + this.currentValue = this.defaultValue + } +}) diff --git a/src/renderer/components/ft-slider/ft-slider.vue b/src/renderer/components/ft-slider/ft-slider.vue new file mode 100644 index 00000000..4c32eaf9 --- /dev/null +++ b/src/renderer/components/ft-slider/ft-slider.vue @@ -0,0 +1,23 @@ + + +