diff --git a/package-lock.json b/package-lock.json index f2174cb4..f1226da6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@nuxtjs/dayjs": "^1.4.1", "@nuxtjs/dotenv": "^1.4.1", "bootstrap": "^4.6.1", - "bootstrap-vue": "^2.21.2", + "bootstrap-vue": "^2.22.0", "cookie-universal-nuxt": "^2.1.5", "jwt-decode": "^3.1.2", "lodash": "^4.17.21", @@ -32,7 +32,7 @@ "@nuxtjs/style-resources": "^1.2.1", "eslint": "^7.32.0", "eslint-plugin-nuxt": ">=2.0.0", - "sass": "^1.50.0", + "sass": "^1.51.0", "sass-loader": "^10.2.1" } }, @@ -4188,13 +4188,13 @@ } }, "node_modules/bootstrap-vue": { - "version": "2.21.2", - "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.2.tgz", - "integrity": "sha512-0Exe+4MZysqhZNXIKf4TzkvXaupxh9EHsoCRez0o5Dc0J7rlafayOEwql63qXv74CgZO8E4U8ugRNJko1vMvNw==", + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.22.0.tgz", + "integrity": "sha512-denjR/ae0K7Jrcqud3TrZWw0p/crtyigeGUNunWQ4t+KFi+7rzJ6j6lx1W5/gpUtSSUgNbWrXcHH4lIWXzXOOQ==", "hasInstallScript": true, "dependencies": { "@nuxt/opencollective": "^0.3.2", - "bootstrap": ">=4.5.3 <5.0.0", + "bootstrap": "^4.6.1", "popper.js": "^1.16.1", "portal-vue": "^2.1.7", "vue-functional-data-merge": "^3.1.0" @@ -12830,9 +12830,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.50.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.50.0.tgz", - "integrity": "sha512-cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ==", + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.51.0.tgz", + "integrity": "sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -19835,12 +19835,12 @@ "requires": {} }, "bootstrap-vue": { - "version": "2.21.2", - "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.2.tgz", - "integrity": "sha512-0Exe+4MZysqhZNXIKf4TzkvXaupxh9EHsoCRez0o5Dc0J7rlafayOEwql63qXv74CgZO8E4U8ugRNJko1vMvNw==", + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.22.0.tgz", + "integrity": "sha512-denjR/ae0K7Jrcqud3TrZWw0p/crtyigeGUNunWQ4t+KFi+7rzJ6j6lx1W5/gpUtSSUgNbWrXcHH4lIWXzXOOQ==", "requires": { "@nuxt/opencollective": "^0.3.2", - "bootstrap": ">=4.5.3 <5.0.0", + "bootstrap": "^4.6.1", "popper.js": "^1.16.1", "portal-vue": "^2.1.7", "vue-functional-data-merge": "^3.1.0" @@ -26538,9 +26538,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.50.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.50.0.tgz", - "integrity": "sha512-cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ==", + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.51.0.tgz", + "integrity": "sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", diff --git a/package.json b/package.json index 2dced1b7..a4184675 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ffplayout", - "version": "4.0.0", + "version": "4.1.0", "description": "web GUI for ffplayout engine", "author": "Jonathan Baecker", "private": true, @@ -16,7 +16,7 @@ "@nuxtjs/dayjs": "^1.4.1", "@nuxtjs/dotenv": "^1.4.1", "bootstrap": "^4.6.1", - "bootstrap-vue": "^2.21.2", + "bootstrap-vue": "^2.22.0", "cookie-universal-nuxt": "^2.1.5", "jwt-decode": "^3.1.2", "lodash": "^4.17.21", @@ -36,7 +36,7 @@ "@nuxtjs/style-resources": "^1.2.1", "eslint": "^7.32.0", "eslint-plugin-nuxt": ">=2.0.0", - "sass": "^1.50.0", + "sass": "^1.51.0", "sass-loader": "^10.2.1" } } diff --git a/pages/logging.vue b/pages/logging.vue index a8ff857d..272dffc3 100644 --- a/pages/logging.vue +++ b/pages/logging.vue @@ -32,13 +32,13 @@ export default { filters: { formatStr (text) { return text - .replace(/(".*")/g, '<span class="log-cmd">$1</span>') - .replace(/(?<!".*)(\/.*)/g, '<span class="log-path">$1</span>') - .replace(/(\/[\w\d.\-/]+\n)/g, '<span class="log-path">$1</span>') - .replace(/((tcp|https?):\/\/[\w\d.:]+)/g, '<span class="log-url">$1</span>') - .replace(/(\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}[0-9,.]+\])/g, '<span class="log-time">$1</span>') - .replace(/\[INFO\]/g, '<span class="log-info">[INFO]</span>') - .replace(/\[WARNING\]/g, '<span class="log-warning">[WARNING]</span>') + /* eslint-disable no-control-regex */ + .replace(/\x1B\[33m(.*?)\x1B\[0m/g, '<span class="log-number">$1</span>') + .replace(/\[1m\x1B\[35m(.*?)\[0m\x1B\[22m/g, '<span class="log-addr">$1</span>') + .replace(/\[94m(.*?)\[0m/g, '<span class="log-cmd">$1</span>') + .replace(/(\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{5}\])/g, '<span class="log-time">$1</span>') + .replace(/\[ INFO\]/g, '<span class="log-info">[ INFO]</span>') + .replace(/\[ WARN\]/g, '<span class="log-warning">[ WARN]</span>') .replace(/\[ERROR\]/g, '<span class="log-error">[ERROR]</span>') .replace(/\[DEBUG\]/g, '<span class="log-debug">[DEBUG]</span>') .replace(/\[Decoder\]/g, '<span class="log-decoder">[Decoder]</span>') @@ -107,6 +107,23 @@ export default { overflow: hidden } +.log-time { + color: #666864; +} + +.log-number { + color: #e2c317; +} + +.log-addr { + color: #ad7fa8; + font-weight: 500; +} + +.log-cmd { + color: #6c95c2; +} + .log-content { color: #ececec; width: 100%; @@ -116,24 +133,20 @@ export default { white-space: pre; } -.log-time { - color: #a7a7a7; -} - .log-info { - color: #51d1de; + color: #8ae234; } .log-warning { - color: #e4a428; + color: #ff8700; } .log-error { - color: #e42e28; + color: #d32828; } .log-debug { - color: #23e493; + color: #6e99c7; } .log-decoder { @@ -148,15 +161,4 @@ export default { color: #23cbdd; } -.log-path { - color: #e366cf; -} - -.log-url { - color: #e3d666; -} - -.log-cmd { - color: #f1aa77; -} </style>