From 3d1e945fe1727f3447744b487e9d721f9937edf9 Mon Sep 17 00:00:00 2001 From: Evan Reichard Date: Fri, 19 Mar 2021 23:32:22 -0400 Subject: [PATCH] Web Styling --- src/overseer/api/__init__.py | 14 ----------- src/overseer/api/v1/routes.py | 21 ++++------------ src/overseer/static/css/app.4d1483d7.css | 1 - src/overseer/static/css/app.efe1070d.css | 1 + src/overseer/static/js/app.77b1e8f6.js | 2 -- src/overseer/static/js/app.77b1e8f6.js.map | 1 - src/overseer/static/js/app.b2809d88.js | 2 ++ src/overseer/static/js/app.b2809d88.js.map | 1 + src/overseer/templates/index.html | 2 +- src/overseer_client/src/App.vue | 3 ++- .../src/components/OverseerHeader.vue | 24 +++++++++++++++---- .../src/components/OverseerHome.vue | 24 +++++++++++++------ .../src/components/OverseerNotifications.vue | 19 ++++++++------- src/overseer_client/src/main.js | 3 --- 14 files changed, 59 insertions(+), 59 deletions(-) delete mode 100644 src/overseer/static/css/app.4d1483d7.css create mode 100644 src/overseer/static/css/app.efe1070d.css delete mode 100644 src/overseer/static/js/app.77b1e8f6.js delete mode 100644 src/overseer/static/js/app.77b1e8f6.js.map create mode 100644 src/overseer/static/js/app.b2809d88.js create mode 100644 src/overseer/static/js/app.b2809d88.js.map diff --git a/src/overseer/api/__init__.py b/src/overseer/api/__init__.py index 7b6857a..1403f6f 100644 --- a/src/overseer/api/__init__.py +++ b/src/overseer/api/__init__.py @@ -1,25 +1,11 @@ open_websockets = [] -""" -EVENT: - DATA: - { - id: 1, - target: "127.0.0.1", - total_progress: 90, - tcp_progress: 80, - udp_progress: 100, - } -""" - - def send_websocket_event(data): """Send an event to all registered websockets. Arguments: data -- Data to send over the websocket(s) """ - print("EMITTING DATA: %s" % data) for socket in open_websockets: socket.send(data) diff --git a/src/overseer/api/v1/routes.py b/src/overseer/api/v1/routes.py index b33fb84..cbbe9ef 100644 --- a/src/overseer/api/v1/routes.py +++ b/src/overseer/api/v1/routes.py @@ -4,18 +4,8 @@ from flask import request @api.route("/status", methods=["GET"]) -def status(): - """ - GET: - REQUEST: /api/v1/status - RESPONSE: - { - version: "0.0.1",, - active_scans: [ - - ], - } - """ +def get_status(): + """Get server version and all active scans.""" return { "version": overseer.__version__, "active_scans": overseer.scan_manager.get_status(), @@ -23,7 +13,7 @@ def status(): @api.route("/scans", methods=["POST"]) -def scans_post(): +def post_scans(): """ POST: REQUEST: /api/v1/scans @@ -43,7 +33,7 @@ def scans_post(): @api.route("/scans/", methods=["GET"]) -def scan_get_history(target): +def get_scans_by_target(target): """ GET: REQUEST: /api/v1/scans/www.google.com @@ -64,9 +54,8 @@ def scan_get_history(target): return {"data": __normalize_scan_results(scan_results)} -# TODO @api.route("/search", methods=["GET"]) -def scan_get_all(search): +def get_scans(search): """ GET: REQUEST: /api/v1/search?query=1.1.1.1 diff --git a/src/overseer/static/css/app.4d1483d7.css b/src/overseer/static/css/app.4d1483d7.css deleted file mode 100644 index f660edc..0000000 --- a/src/overseer/static/css/app.4d1483d7.css +++ /dev/null @@ -1 +0,0 @@ -#overseer-body[data-v-dc8467c2]{background-color:#ff0;width:100%;height:100%}#center[data-v-dc8467c2]{margin:0 auto;width:800px;height:100%;background-color:purple}#overseer-search[data-v-dc8467c2]{width:400px;border-radius:5px;height:40px;margin-top:300px;font-size:1rem;padding:.3rem .8rem;text-indent:0;outline:none;border:0 solid}#overseer-header[data-v-182df07c]{background-color:green;width:100%;height:60px}#overseer-notifications[data-v-5c26d9a3]{height:100%;width:320px;padding:10px;float:right;background-color:#00f}.overseer-notification[data-v-5c26d9a3]{width:300px;height:65px;background-color:green;border-radius:5px;border:1px solid #000;text-align:start;padding:10px}#overseer-app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;height:100%}body,html{height:100%;width:100%;margin:0} \ No newline at end of file diff --git a/src/overseer/static/css/app.efe1070d.css b/src/overseer/static/css/app.efe1070d.css new file mode 100644 index 0000000..b9f604f --- /dev/null +++ b/src/overseer/static/css/app.efe1070d.css @@ -0,0 +1 @@ +#overseer-body[data-v-352462f2]{width:100%;height:100%}#center[data-v-352462f2]{margin:0 auto;width:1000px;height:100%;background-color:#343a46;box-shadow:inset 0 0 3px 3px #2b303a}#overseer-search[data-v-352462f2]::-moz-placeholder{text-align:center}#overseer-search[data-v-352462f2]:-ms-input-placeholder{text-align:center}#overseer-search[data-v-352462f2]::placeholder{text-align:center}#overseer-search[data-v-352462f2]{width:400px;height:40px;border-radius:5px;text-align:center;margin-top:400px;font-size:1rem;padding:.3rem .8rem;text-indent:0;outline:none;border:0 solid}#overseer-header[data-v-1f75c2e8]{background-color:#c9582c;width:100%;height:60px;position:fixed;top:0}#overseer-notifications[data-v-47117d80]{height:calc(100% - 60px);width:320px;position:fixed;transition:.5s;right:0;overflow:scroll;margin-top:60px}.overseer-notification[data-v-47117d80]{height:65px;transition:.5s;background-color:#e0e3de;border-radius:2px;text-align:start;padding:10px;margin:10px}#overseer-app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#3a4040;height:100%}body,html{height:100%;width:100%;margin:0;background-color:#2b303a} \ No newline at end of file diff --git a/src/overseer/static/js/app.77b1e8f6.js b/src/overseer/static/js/app.77b1e8f6.js deleted file mode 100644 index c1a79d7..0000000 --- a/src/overseer/static/js/app.77b1e8f6.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var r,c,s=t[0],a=t[1],u=t[2],l=0,p=[];l\n
\n
\n \n
\n
\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerHome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerHome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OverseerHome.vue?vue&type=template&id=dc8467c2&scoped=true&\"\nimport script from \"./OverseerHome.vue?vue&type=script&lang=js&\"\nexport * from \"./OverseerHome.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OverseerHome.vue?vue&type=style&index=0&id=dc8467c2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dc8467c2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"overseer-header\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OverseerHeader.vue?vue&type=template&id=182df07c&scoped=true&\"\nimport script from \"./OverseerHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./OverseerHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OverseerHeader.vue?vue&type=style&index=0&id=182df07c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"182df07c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"overseer-notifications\"}},_vm._l((_vm.items),function(item){return _c('div',{key:item.id,staticClass:\"overseer-notification\"},[_c('b',[_vm._v(\"Target: \")]),_vm._v(\" \"+_vm._s(item.target)+\" \"),_c('br'),_c('b',[_vm._v(\"Status: \")]),_vm._v(_vm._s(item.status)+\" \"),_c('br'),('total_progress' in item)?_c('span',[_c('b',[_vm._v(\"Progress: \")]),_vm._v(_vm._s(item.total_progress)+\" \"),_c('br')]):_vm._e()])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerNotifications.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerNotifications.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OverseerNotifications.vue?vue&type=template&id=5c26d9a3&scoped=true&\"\nimport script from \"./OverseerNotifications.vue?vue&type=script&lang=js&\"\nexport * from \"./OverseerNotifications.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OverseerNotifications.vue?vue&type=style&index=0&id=5c26d9a3&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c26d9a3\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=543eda39&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {\n ws_connected: false,\n notifications: []\n },\n mutations: {\n \"SOCKET_connect\"(state, status) {\n state.ws_connected = true\n console.log(\"CONNECT: \", state, status);\n },\n \"SOCKET_disconnect\"(state, status) {\n state.ws_connected = false\n console.log(\"DISCONNECT: \", state, status);\n },\n \"SOCKET_message\"(state, message) {\n let matchedItem = state.notifications.find(item => item.id == message.id);\n if (matchedItem){\n Object.keys(message).forEach(key => {\n // matchedItem[key] = message[key]\n Vue.set(matchedItem, key, message[key])\n });\n } else {\n state.notifications.push(message);\n }\n }\n },\n actions: {\n }\n})\n","import Vue from 'vue'\nimport App from './App.vue'\nimport store from './store'\nimport socketio from 'socket.io-client';\nimport VueSocketIO from 'vue-socket.io'\n\nVue.use(new VueSocketIO({\n debug: true,\n connection: socketio({ path: \"/api/v1/socket.io\" }),\n vuex: {\n store,\n actionPrefix: 'SOCKET_',\n mutationPrefix: 'SOCKET_'\n },\n}))\n\nVue.config.productionTip = false\n\nconsole.log(store)\n\nnew Vue({\n render: h => h(App),\n store\n}).$mount('#app')\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerHeader.vue?vue&type=style&index=0&id=182df07c&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerHome.vue?vue&type=style&index=0&id=dc8467c2&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerNotifications.vue?vue&type=style&index=0&id=5c26d9a3&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/src/overseer/static/js/app.b2809d88.js b/src/overseer/static/js/app.b2809d88.js new file mode 100644 index 0000000..33ff799 --- /dev/null +++ b/src/overseer/static/js/app.b2809d88.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var r,s,c=t[0],a=t[1],u=t[2],l=0,p=[];l\n
\n
\n \n
\n
\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerHome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerHome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OverseerHome.vue?vue&type=template&id=352462f2&scoped=true&\"\nimport script from \"./OverseerHome.vue?vue&type=script&lang=js&\"\nexport * from \"./OverseerHome.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OverseerHome.vue?vue&type=style&index=0&id=352462f2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"352462f2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"overseer-header\"}},[_c('div',{staticStyle:{\"float\":\"left\",\"margin\":\"8px 20px\",\"font-weight\":\"700\",\"font-size\":\"2em\"}},[_vm._v(\"Overseer\")]),_c('div',{staticStyle:{\"float\":\"right\",\"margin\":\"10px 20px\"}},[_c('p',{staticStyle:{\"color\":\"white\",\"position\":\"absolute\",\"font-weight\":\"700\",\"width\":\"35px\",\"height\":\"35px\",\"margin\":\"9px 0px\",\"font-size\":\".8em\"}},[_vm._v(\" \"+_vm._s(_vm.notificationCount)+\" \")]),_c('svg',{staticStyle:{\"width\":\"35px\",\"height\":\"35px\"},attrs:{\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M14,21A2,2 0 0,1 12,23A2,2 0 0,1 10,21M19.75,3.19L18.33,4.61C20.04,6.3 21,8.6 21,11H23C23,8.07 21.84,5.25 19.75,3.19M1,11H3C3,8.6 3.96,6.3 5.67,4.61L4.25,3.19C2.16,5.25 1,8.07 1,11Z\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OverseerHeader.vue?vue&type=template&id=1f75c2e8&scoped=true&\"\nimport script from \"./OverseerHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./OverseerHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OverseerHeader.vue?vue&type=style&index=0&id=1f75c2e8&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f75c2e8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"overseer-notifications\"}},_vm._l((_vm.items),function(item){return _c('div',{key:item.id,staticClass:\"overseer-notification\"},[_c('b',[_vm._v(\"Target: \")]),_vm._v(\" \"+_vm._s(item.target)+\" \"),_c('br'),_c('b',[_vm._v(\"Status: \")]),_vm._v(_vm._s(item.status)+\" \"),_c('br'),('total_progress' in item)?_c('span',[_c('b',[_vm._v(\"Progress: \")]),_vm._v(_vm._s(item.total_progress)+\" \"),_c('br')]):_vm._e()])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerNotifications.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerNotifications.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OverseerNotifications.vue?vue&type=template&id=47117d80&scoped=true&\"\nimport script from \"./OverseerNotifications.vue?vue&type=script&lang=js&\"\nexport * from \"./OverseerNotifications.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OverseerNotifications.vue?vue&type=style&index=0&id=47117d80&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47117d80\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=15e285e6&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {\n ws_connected: false,\n notifications: []\n },\n mutations: {\n \"SOCKET_connect\"(state, status) {\n state.ws_connected = true\n console.log(\"CONNECT: \", state, status);\n },\n \"SOCKET_disconnect\"(state, status) {\n state.ws_connected = false\n console.log(\"DISCONNECT: \", state, status);\n },\n \"SOCKET_message\"(state, message) {\n let matchedItem = state.notifications.find(item => item.id == message.id);\n if (matchedItem){\n Object.keys(message).forEach(key => {\n // matchedItem[key] = message[key]\n Vue.set(matchedItem, key, message[key])\n });\n } else {\n state.notifications.push(message);\n }\n }\n },\n actions: {\n }\n})\n","import Vue from 'vue'\nimport App from './App.vue'\nimport store from './store'\nimport socketio from 'socket.io-client';\nimport VueSocketIO from 'vue-socket.io'\n\nVue.use(new VueSocketIO({\n debug: true,\n connection: socketio({ path: \"/api/v1/socket.io\" }),\n vuex: {\n store,\n actionPrefix: 'SOCKET_',\n mutationPrefix: 'SOCKET_'\n },\n}))\n\nVue.config.productionTip = false\n\nconsole.log(store)\n\nnew Vue({\n render: h => h(App),\n store,\n}).$mount('#app')\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverseerNotifications.vue?vue&type=style&index=0&id=47117d80&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/src/overseer/templates/index.html b/src/overseer/templates/index.html index d06aabf..17b8019 100644 --- a/src/overseer/templates/index.html +++ b/src/overseer/templates/index.html @@ -1 +1 @@ -overseer_client
\ No newline at end of file +overseer_client
\ No newline at end of file diff --git a/src/overseer_client/src/App.vue b/src/overseer_client/src/App.vue index 8217190..35645d9 100644 --- a/src/overseer_client/src/App.vue +++ b/src/overseer_client/src/App.vue @@ -27,7 +27,7 @@ export default { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; - color: #2c3e50; + color: #3A4040; height: 100%; } @@ -35,5 +35,6 @@ html, body { height: 100%; width: 100%; margin: 0px; + background-color: #2B303A; } diff --git a/src/overseer_client/src/components/OverseerHeader.vue b/src/overseer_client/src/components/OverseerHeader.vue index 6eab636..93150d6 100644 --- a/src/overseer_client/src/components/OverseerHeader.vue +++ b/src/overseer_client/src/components/OverseerHeader.vue @@ -1,18 +1,34 @@ diff --git a/src/overseer_client/src/components/OverseerHome.vue b/src/overseer_client/src/components/OverseerHome.vue index dc05cfd..23bb7d5 100644 --- a/src/overseer_client/src/components/OverseerHome.vue +++ b/src/overseer_client/src/components/OverseerHome.vue @@ -1,34 +1,44 @@ diff --git a/src/overseer_client/src/main.js b/src/overseer_client/src/main.js index 9be368d..0b563b8 100644 --- a/src/overseer_client/src/main.js +++ b/src/overseer_client/src/main.js @@ -1,9 +1,7 @@ import Vue from 'vue' import App from './App.vue' import store from './store' -import router from './router' import socketio from 'socket.io-client'; -import VueRouter from 'vue-router' import VueSocketIO from 'vue-socket.io' Vue.use(new VueSocketIO({ @@ -22,6 +20,5 @@ console.log(store) new Vue({ render: h => h(App), - router, store, }).$mount('#app')