diff --git a/package-lock.json b/package-lock.json index 67f2d98f5..976ea4c06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -63,41 +63,6 @@ "integrity": "sha512-D9MyoQFI7iP5VdpEyPZyjjqIJ8Y8EDNQFIFVLOmeg1rI1xiHOChyUPMPRUVfqFCerxfE+yS3vMyj37F6IdtOoQ==", "dev": true }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", - "dev": true - }, - "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", - "dev": true, - "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/node": { - "version": "11.13.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.13.7.tgz", - "integrity": "sha512-suFHr6hcA9mp8vFrZTgrmqW2ZU3mbWsryQtQlY/QvwTISCw7nw/j+bCQPPohqmskhmqa5wLNuMHTTsc+xf1MQg==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, "acorn-walk": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", @@ -372,16 +337,6 @@ "tweetnacl": "^0.14.3" } }, - "binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", - "dev": true, - "requires": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - } - }, "binary-search-tree": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/binary-search-tree/-/binary-search-tree-0.2.5.tgz", @@ -405,6 +360,11 @@ "bluebird": "^3.5.3" } }, + "bootstrap": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.4.1.tgz", + "integrity": "sha512-yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==" + }, "boxen": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", @@ -536,12 +496,6 @@ "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", "dev": true }, - "buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", - "dev": true - }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", @@ -621,15 +575,6 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", - "dev": true, - "requires": { - "traverse": ">=0.3.0 <0.4" - } - }, "chromium-pickle-js": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", @@ -701,12 +646,6 @@ "delayed-stream": "~1.0.0" } }, - "commander": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", - "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==", - "dev": true - }, "commonjs": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/commonjs/-/commonjs-0.0.1.tgz", @@ -819,28 +758,6 @@ "which": "^1.2.9" } }, - "cross-spawn-promise": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/cross-spawn-promise/-/cross-spawn-promise-0.10.1.tgz", - "integrity": "sha1-25y0xQxgtyoVvgSbeBIs44LYexA=", - "dev": true, - "requires": { - "cross-spawn": "^5.1.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, "crypto-random-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", @@ -909,6 +826,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -928,21 +846,6 @@ "mimic-response": "^1.0.0" } }, - "decompress-zip": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.3.0.tgz", - "integrity": "sha1-rjvLfjTGWHmt/nfhnDD4ZgK0vbA=", - "dev": true, - "requires": { - "binary": "^0.3.0", - "graceful-fs": "^4.1.3", - "mkpath": "^0.1.0", - "nopt": "^3.0.1", - "q": "^1.1.2", - "readable-stream": "^1.1.8", - "touch": "0.0.3" - } - }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -2804,356 +2707,6 @@ } } }, - "electron-installer-common": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/electron-installer-common/-/electron-installer-common-0.6.2.tgz", - "integrity": "sha512-k/uB9+rYxQx5sxCNlmdn5fqjWRbDCGIQjdDi9101mVHr0dUkrupLjtgjaaXbvdtUxHTYTbk53l77YnXM6ZGbHg==", - "dev": true, - "requires": { - "asar": "^1.0.0", - "cross-spawn-promise": "^0.10.1", - "debug": "^4.1.1", - "fs-extra": "^7.0.1", - "glob": "^7.1.3", - "glob-promise": "^3.4.0", - "lodash": "^4.17.11", - "parse-author": "^2.0.0", - "semver": "^5.6.0", - "tmp-promise": "^1.0.5" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true - } - } - }, - "electron-installer-flatpak": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/electron-installer-flatpak/-/electron-installer-flatpak-0.8.0.tgz", - "integrity": "sha1-jt0Xjg4E7C2g+kDnd7Z8nMt4d18=", - "dev": true, - "requires": { - "asar": "^0.12.0", - "async": "^2.0.0", - "debug": "^2.2.0", - "flatpak-bundler": "^0.1.0", - "fs-extra": "^0.30.0", - "lodash": "^4.13.0", - "temp": "^0.8.3", - "yargs": "^6.0.0" - }, - "dependencies": { - "asar": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/asar/-/asar-0.12.4.tgz", - "integrity": "sha1-LdPxFoguq4wPI7dUeSqCp9n84XE=", - "dev": true, - "requires": { - "chromium-pickle-js": "^0.2.0", - "commander": "^2.9.0", - "cuint": "^0.2.1", - "glob": "^6.0.4", - "minimatch": "^3.0.3", - "mkdirp": "^0.5.0", - "mksnapshot": "^0.3.0", - "tmp": "0.0.28" - } - }, - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "electron-installer-snap": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/electron-installer-snap/-/electron-installer-snap-3.1.1.tgz", - "integrity": "sha512-kqFogM3sXbD0RUuitAAVtGrStjNq/NCdnjUvYWylKNR51U0C+hVi4X3x6Mu47XmB4y08NA4qi6SEIBVfLrYNlQ==", - "dev": true, - "requires": { - "cross-spawn-promise": "^0.10.1", - "debug": "^4.1.1", - "electron-installer-common": "^0.6.1", - "fs-extra": "^7.0.1", - "js-yaml": "^3.10.0", - "lodash.filter": "^4.6.0", - "lodash.merge": "^4.6.0", - "lodash.pull": "^4.1.0", - "nodeify": "^1.0.1", - "pify": "^4.0.1", - "tmp-promise": "^1.0.3", - "which": "^1.3.0", - "yargs": "^12.0.5" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "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 - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, "electron-is-dev": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-1.1.0.tgz", @@ -3317,14 +2870,6 @@ } } }, - "electron-squirrel-startup": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/electron-squirrel-startup/-/electron-squirrel-startup-1.0.0.tgz", - "integrity": "sha1-GbTlWTP6Dvj1VnhLnGYPdyVGoLg=", - "requires": { - "debug": "^2.2.0" - } - }, "electron-winstaller": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-3.0.4.tgz", @@ -3422,21 +2967,6 @@ "is-arrayish": "^0.2.1" } }, - "es6-promise": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", - "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -3573,30 +3103,6 @@ "pinkie-promise": "^2.0.0" } }, - "flatpak-bundler": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/flatpak-bundler/-/flatpak-bundler-0.1.3.tgz", - "integrity": "sha1-5F36DEp0hcNw4JFeRyiSl5hQOUY=", - "dev": true, - "requires": { - "debug": "^2.2.0", - "es6-promisify": "^5.0.0", - "fs-extra": "^0.30.0", - "lodash": "^4.16.2", - "tmp": "0.0.29" - }, - "dependencies": { - "tmp": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", - "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } - } - }, "flora-colossus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.0.tgz", @@ -3660,19 +3166,6 @@ "mime-types": "^2.1.12" } }, - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, "fs-extra-p": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", @@ -3913,15 +3406,6 @@ "path-is-absolute": "^1.0.0" } }, - "glob-promise": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-3.4.0.tgz", - "integrity": "sha512-q08RJ6O+eJn+dVanerAndJwIcumgbDdYiUT7zFQl3Wm1xD6fBKtah7H8ZJChj4wP+8C+QfeVy8xautR7rdmKEw==", - "dev": true, - "requires": { - "@types/glob": "*" - } - }, "global-dirs": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", @@ -4177,12 +3661,6 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" }, - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=", - "dev": true - }, "is-redirect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", @@ -4486,15 +3964,6 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -4515,15 +3984,6 @@ "json-buffer": "3.0.0" } }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.9" - } - }, "latest-version": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", @@ -4604,12 +4064,6 @@ } } }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, "lodash._reinterpolate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", @@ -4622,30 +4076,12 @@ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", "dev": true }, - "lodash.filter": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=", - "dev": true - }, "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", "dev": true }, - "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==", - "dev": true - }, - "lodash.pull": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.pull/-/lodash.pull-4.1.0.tgz", - "integrity": "sha1-YAYMxr1iW01FZ+wn3EXNG+nuwBI=", - "dev": true - }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -4834,38 +4270,6 @@ "minimist": "0.0.8" } }, - "mkpath": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz", - "integrity": "sha1-dVSm+Nhxg0zJe1RisSLEwSTW3pE=", - "dev": true - }, - "mksnapshot": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/mksnapshot/-/mksnapshot-0.3.1.tgz", - "integrity": "sha1-JQHAVldDbXQs6Vik/5LHfkDdN+Y=", - "dev": true, - "requires": { - "decompress-zip": "0.3.0", - "fs-extra": "0.26.7", - "request": "^2.79.0" - }, - "dependencies": { - "fs-extra": { - "version": "0.26.7", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", - "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - } - } - }, "modify-filename": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/modify-filename/-/modify-filename-1.1.0.tgz", @@ -4874,7 +4278,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "mustache": { "version": "3.0.1", @@ -4899,25 +4304,6 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, - "nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha1-ZKtpp7268DzhB7TwM1yHwLnpGx0=", - "dev": true, - "requires": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -4930,6 +4316,11 @@ "validate-npm-package-license": "^3.0.1" } }, + "nouislider": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/nouislider/-/nouislider-8.5.1.tgz", + "integrity": "sha1-343t0ODeGvsHTDO+Hmz00pGWYuQ=" + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -5281,13 +4672,23 @@ "through2": "~0.2.3" } }, - "promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha1-5cyaTIJ45GZP/twBx9qEhCsEAXU=", - "dev": true, + "propellerkit": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/propellerkit/-/propellerkit-1.3.1.tgz", + "integrity": "sha1-Weornqewx8GETK5uozlFehjWoeg=", "requires": { - "is-promise": "~1" + "bootstrap": "^3.0.0", + "jquery": "1.9.1 - 3" + } + }, + "propellerkit-range-slider": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/propellerkit-range-slider/-/propellerkit-range-slider-1.2.0.tgz", + "integrity": "sha1-hd3A/znvtlK3FUE9C93K95qNMIg=", + "requires": { + "nouislider": "^8.5.1", + "propellerkit": "*.*.*", + "wnumb": "1.1.0" } }, "pseudomap": { @@ -5321,12 +4722,6 @@ "resolved": "https://registry.npmjs.org/pupa/-/pupa-1.0.0.tgz", "integrity": "sha1-mpVopa9+ZXuEYqbp1TKHQ1YM7/Y=" }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", @@ -5813,24 +5208,6 @@ "resolved": "https://registry.npmjs.org/system/-/system-2.0.1.tgz", "integrity": "sha512-BwSUSa8LMHZouGadZ34ck3TsrH5s3oMmTKPK+xHdbBnTCZOZMJ38fHGKLAHkBl0PXru1Z4BsymQU4qqvTxWzdQ==" }, - "temp": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", - "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", - "dev": true, - "requires": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" - }, - "dependencies": { - "rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", - "dev": true - } - } - }, "temp-file": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.2.tgz", @@ -5926,15 +5303,6 @@ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true }, - "tmp": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", - "integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - }, "tmp-promise": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.0.5.tgz", @@ -5962,26 +5330,6 @@ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", "dev": true }, - "touch": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/touch/-/touch-0.0.3.tgz", - "integrity": "sha1-Ua7z1ElXHU8oel2Hyci0kYGg2x0=", - "dev": true, - "requires": { - "nopt": "~1.0.10" - }, - "dependencies": { - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "dev": true, - "requires": { - "abbrev": "1" - } - } - } - }, "tough-cookie": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", @@ -6005,12 +5353,6 @@ } } }, - "traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", - "dev": true - }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -6351,6 +5693,11 @@ "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", "dev": true }, + "wnumb": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/wnumb/-/wnumb-1.1.0.tgz", + "integrity": "sha1-/Oy4gFCGm984Tay/1hIyWYDJPdw=" + }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", diff --git a/package.json b/package.json index 3b6908f7e..17a9d6c14 100644 --- a/package.json +++ b/package.json @@ -48,13 +48,13 @@ "category": "public.app-category.video", "icon": "src/icons/iconColor.icns", "target": [ - "zip" + "zip" ] }, "win": { "target": [ - "nsis", - "zip" + "nsis", + "zip" ], "icon": "src/icons/iconColor.ico" }, @@ -73,10 +73,10 @@ "tar.xz" ], "desktop": { - "Icon": "freetube" + "Icon": "freetube" }, "category": "Video" - } + } }, "devDependencies": { "electron": "^5.0.3", diff --git a/src/index.html b/src/index.html index 723bf9694..dfc46fd18 100644 --- a/src/index.html +++ b/src/index.html @@ -14,11 +14,13 @@ + - + + FreeTube Player @@ -184,6 +186,7 @@ + diff --git a/src/js/layout.js b/src/js/layout.js index d33598a8c..8d45ed640 100644 --- a/src/js/layout.js +++ b/src/js/layout.js @@ -141,13 +141,20 @@ $(document).ready(() => { function toggleSideNavigation() { const sideNav = document.getElementById('sideNav'); const mainContainer = document.getElementById('main'); + const confirmSettings = document.getElementById('confirmSettings'); if (sideNav.style.display === 'none') { sideNav.style.display = 'inline'; mainContainer.style.marginLeft = '250px'; + if (typeof(confirmSettings) !== 'undefined') { + confirmSettings.style.marginLeft = '250px'; + } } else { sideNav.style.display = 'none'; mainContainer.style.marginLeft = '0px'; + if (typeof(confirmSettings) !== 'undefined') { + confirmSettings.style.marginLeft = '0px'; + } } if (playerView.playerSeen) { diff --git a/src/js/mediaelement-and-player.js b/src/js/mediaelement-and-player.js index d02788d17..05e3cbaa8 100644 --- a/src/js/mediaelement-and-player.js +++ b/src/js/mediaelement-and-player.js @@ -7730,6 +7730,7 @@ function fadeOut(el) { if (!el.style.opacity) { el.style.opacity = 1; + $('.mejs__title').get(0).style.opacity = 1; } var start = null; @@ -7738,6 +7739,7 @@ function fadeOut(el) { var progress = timestamp - start; var opacity = parseFloat(1 - progress / duration, 2); el.style.opacity = opacity < 0 ? 0 : opacity; + $('.mejs__title').get(0).style.opacity = opacity < 0 ? 0 : opacity; if (progress > duration) { if (callback && typeof callback === 'function') { callback(); @@ -7754,6 +7756,7 @@ function fadeIn(el) { if (!el.style.opacity) { el.style.opacity = 0; + $('.mejs__title').get(0).style.opacity = 0; } var start = null; @@ -7762,6 +7765,7 @@ function fadeIn(el) { var progress = timestamp - start; var opacity = parseFloat(progress / duration, 2); el.style.opacity = opacity > 1 ? 1 : opacity; + $('.mejs__title').get(0).style.opacity = opacity; if (progress > duration) { if (callback && typeof callback === 'function') { callback(); diff --git a/src/js/player.js b/src/js/player.js index 73baa1d58..0f6aef7f2 100644 --- a/src/js/player.js +++ b/src/js/player.js @@ -1011,13 +1011,14 @@ function checkDashSettings() { } let player = new MediaElementPlayer('player', { - features: ['playpause', 'current', 'progress', 'duration', 'volume', 'stop', 'speed', 'quality', 'loop', 'tracks', 'fullscreen', 'timerailthumbnails'], + features: ['title', 'playpause', 'current', 'progress', 'duration', 'volume', 'stop', 'speed', 'quality', 'loop', 'tracks', 'fullscreen', 'timerailthumbnails'], speeds: ['2', '1.75', '1.5', '1.25', '1', '0.75', '0.5', '0.25'], renderers: ['native_dash', 'native_hls', 'html5'], defaultSpeed: defaultPlaybackRate, autoGenerate: true, autoDash: true, autoHLS: false, + title: playerView.videoTitle, qualityText: 'Quality', defaultQuality: quality, stretching: 'responsive', diff --git a/src/js/plugins/title/title.css b/src/js/plugins/title/title.css new file mode 100644 index 000000000..1e286d5a8 --- /dev/null +++ b/src/js/plugins/title/title.css @@ -0,0 +1,7 @@ +.mejs__title { + color: white; + position: absolute; + top: 10px; + left: 10px; + font-size: 20px; +} diff --git a/src/js/plugins/title/title.js b/src/js/plugins/title/title.js new file mode 100644 index 000000000..7c82e72a7 --- /dev/null +++ b/src/js/plugins/title/title.js @@ -0,0 +1,40 @@ +'use strict'; + +/** + * Title Text + * + * This feature adds text to the top left of the player. Typically this text is used for the video title. + */ + +// Feature configuration +Object.assign(mejs.MepDefaults, { + /** + * @type {?String} + */ + title: null +}); + +Object.assign(MediaElementPlayer.prototype, { + /** + * Feature constructor. + * + * Always has to be prefixed with `build` and the name that will be used in MepDefaults.features list + * @param {MediaElementPlayer} player + */ + buildtitle (player) { + const + t = this, + titleDiv = document.createElement('div') + ; + + titleDiv.className = 'mejs__title'; + titleDiv.innerHTML = '' + t.options.title + ''; + + t.container.children[0].appendChild(titleDiv); + + //t.container.children[0].children[1].appendChild(titleDiv); + + console.log(t); + console.log(t.container); + } +}); diff --git a/src/js/settings.js b/src/js/settings.js index e419731e6..857b89957 100644 --- a/src/js/settings.js +++ b/src/js/settings.js @@ -107,9 +107,9 @@ function updateSettingsView() { document.getElementById('pageSelect').value = defaultPage; document.getElementById('playerSelect').value = defaultPlayer; document.getElementById('qualitySelect').value = defaultQuality; - document.getElementById('volumeSelect').value = defaultVolume; - document.getElementById('rateSelect').value = defaultPlaybackRate; document.getElementById('regionSelect').value = defaultRegion; + settingsView.defaultVolume = defaultVolume; + settingsView.defaultVideoSpeed = defaultPlaybackRate; if (defaultProxy) { settingsView.proxyAddress = defaultProxy; @@ -492,9 +492,11 @@ function toggleTheme(themeValue) { if (themeValue.checked === true) { setTheme('dark'); currentTheme = 'dark'; + settingsView.useTheme = true; } else { setTheme('light'); currentTheme = 'light'; + settingsView.useTheme = false; } } diff --git a/src/js/templates.js b/src/js/templates.js index b16ea5f81..88186e79e 100644 --- a/src/js/templates.js +++ b/src/js/templates.js @@ -423,13 +423,18 @@ let settingsView = new Vue({ checkProxyResult: false, proxyTestLoading: false, debugMode: false, - distractionFreeMode: false + distractionFreeMode: false, + defaultVolume: 1, + defaultVideoSpeed: 1 }, methods: { checkProxy() { this.checkProxyResult = false; this.proxyTestLoading = true; - electron.ipcRenderer.send("setProxy", this.proxyAddress); + let data = { + proxyAddress: this.proxyAddress, + }; + electron.ipcRenderer.send("setProxy", data); proxyRequest(() => { $.ajax({ @@ -461,6 +466,9 @@ let settingsView = new Vue({ computed: { proxyTestButtonText() { return this.proxyTestLoading ? "LOADING..." : "TEST PROXY" + }, + volumeHtml() { + return Math.round(this.defaultVolume * 100); } }, template: settingsTemplate diff --git a/src/style/darkTheme.css b/src/style/darkTheme.css index 84b7df2c0..f87e7d7d3 100644 --- a/src/style/darkTheme.css +++ b/src/style/darkTheme.css @@ -97,6 +97,10 @@ input[type=text] { border-bottom: 1px solid #E0E0E0; } +.card { + background-color: #424242; +} + .message { color: #757575; } @@ -166,11 +170,6 @@ input[type=text] { color: #E0E0E0; } -.settingsButton { - color: #BDBDBD; - background-color: #424242; -} - .qualityTypes { color: #E0E0E0; background-color: #757575; diff --git a/src/style/lightTheme.css b/src/style/lightTheme.css index 65c04967a..c5d764f08 100644 --- a/src/style/lightTheme.css +++ b/src/style/lightTheme.css @@ -84,6 +84,10 @@ body { border-bottom: 1px solid #757575; } +.card { + background-color: #ffffff; +} + .message { color: #757575; } @@ -143,11 +147,6 @@ body { color: #616161; } -.settingsButton { - color: #424242; - background-color: #BDBDBD; -} - .qualityTypes { background-color: #eeeeee; } @@ -213,7 +212,6 @@ body { #toast { background-color: #212121; color: #f5f5f5; - ; } #confirmFunction { diff --git a/src/style/main.css b/src/style/main.css index 7bc501f09..c8cac7508 100644 --- a/src/style/main.css +++ b/src/style/main.css @@ -249,10 +249,30 @@ a { border-bottom: 1px solid #616161; } +.settingsSlider { + padding: 30px; +} + +#confirmSettings { + position: fixed; + margin-left: 250px; + margin-right: auto; + left: 4%; + right: 4%; + bottom: 20px; + height: 50px; + background-color: #212121; + color: #f5f5f5; + padding: 10px; + opacity: 0.9; + z-index: 1; + -webkit-box-shadow: 4px -2px 51px -6px rgba(0, 0, 0, 0.75); +} + .input-text-settings input { width: auto; border-bottom: 1px solid #616161; - width: 50%; + width: 35%; margin: 0 auto; display: block; } @@ -267,20 +287,29 @@ a { display: inline-block; cursor: pointer; margin: 5px; - -webkit-box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.75); - -moz-box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.75); - box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.75); + color: #2196f3; } .settingsSubmit { - padding: 15px; - color: #212121; - background-color: #f44336; + float: right; + color: #2196f3; + background-color: white; cursor: pointer; - width: 150px; - -webkit-box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.75); - -moz-box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.75); - box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.75); + width: 120px; + height: 50px; + line-height: 50px; + background-color: #212121; +} + +.card { + margin: 0 auto; + width: 90%; + text-align: center; + padding: 10px; + margin-bottom: 30px; + -webkit-box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.75); + -moz-box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.75); + box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.75); } .help { diff --git a/src/style/mdSlider.css b/src/style/mdSlider.css new file mode 100644 index 000000000..0180223bd --- /dev/null +++ b/src/style/mdSlider.css @@ -0,0 +1,242 @@ +.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: 200px; + color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.87); + font-family: var(--pure-material-font, "Roboto", "Segoe UI", BlinkMacSystemFont, system-ui, -apple-system); + font-size: 16px; + line-height: 1.5; +} + +/* 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/style/select.css b/src/style/select.css index cbf1abe3e..4998f7ccb 100644 --- a/src/style/select.css +++ b/src/style/select.css @@ -23,14 +23,16 @@ /* select starting stylings ------------------------------*/ .select { position: relative; - width: 350px; + width: 200px; + display: inline-block; + padding: 10px 10px 10px 0; } .select-text { position: relative; font-family: inherit; background-color: transparent; - width: 350px; + width: 200px; padding: 10px 10px 10px 0; font-size: 18px; border-radius: 0; @@ -86,7 +88,7 @@ .select-bar { position: relative; display: block; - width: 350px; + width: 200px; } .select-bar:before, .select-bar:after { diff --git a/src/templates/settings.html b/src/templates/settings.html index 3087fd3ce..15a0d6418 100644 --- a/src/templates/settings.html +++ b/src/templates/settings.html @@ -1,23 +1,14 @@
-

Settings

-
+
+

General Settings

- - - - - - - - - - -

+
+
- - - - - - - -
-

-
- - - - -
-

-
- - - - -
-

-
- - - - -
-

- -

See Public Instances

-
+
+

Player Settings

+ + + + + + + + +
+ + +
+
+
+ + + +
+
+ + + + +
+
+
-
+
+

Subscription Settings

+
+
+
+ + + + +
+
+
+ IMPORT SUBSCRIPTIONS +
+
+ EXPORT SUBSCRIPTIONS +
+
+
+
+
+
+

Advanced Settings

+ +
@@ -380,45 +368,38 @@
{{proxyTestButtonText}}
+
+
+
+
+ + + +

See Public Instances

+
+
+
+
+
+
+
+ CLEAR HISTORY +
+
+ CLEAR FAVORITED VIDEOS +
+
+ CLEAR SUBSCRIPTIONS +
+
+
+
-
-
-
-
-
- - - - -
-
-
- IMPORT SUBSCRIPTIONS -
-
- EXPORT SUBSCRIPTIONS -
-
-
-
-
-
- CLEAR HISTORY -
-
- CLEAR FAVORITED VIDEOS -
-
- CLEAR SUBSCRIPTIONS -
-
-
-
-
- SAVE SETTINGS +
+ + SAVE SETTINGS + +

You must save your changes in order for new settings to take effect.

+