diff --git a/Makefile b/Makefile index 8dd8ebca..638f7ab6 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,9 @@ release: dev-deps frontend: cd frontend && yarn serve +frontend-build: + cd frontend && rm -rf dist && yarn build + # build and push the images to docker hub docker: docker-build-all docker-publish-all diff --git a/frontend/package.json b/frontend/package.json index ef5410ce..f30bffe6 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,6 +11,7 @@ "apexcharts": "^3.15.0", "axios": "^0.19.1", "core-js": "^3.4.4", + "querystring": "^0.2.0", "vue": "^2.6.10", "vue-apexcharts": "^1.5.2", "vue-router": "^3.1.3" diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 645d852f..527a5de1 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,13 +1,14 @@ + + + diff --git a/frontend/src/components/Dashboard/DashboardMessages.vue b/frontend/src/components/Dashboard/DashboardMessages.vue new file mode 100644 index 00000000..2a7467c1 --- /dev/null +++ b/frontend/src/components/Dashboard/DashboardMessages.vue @@ -0,0 +1,181 @@ + + + + + + + + diff --git a/frontend/src/components/Dashboard/DashboardServices.vue b/frontend/src/components/Dashboard/DashboardServices.vue new file mode 100644 index 00000000..47eb7333 --- /dev/null +++ b/frontend/src/components/Dashboard/DashboardServices.vue @@ -0,0 +1,146 @@ + + + + + + + + diff --git a/frontend/src/components/Dashboard/DashboardUsers.vue b/frontend/src/components/Dashboard/DashboardUsers.vue new file mode 100644 index 00000000..f50d41cb --- /dev/null +++ b/frontend/src/components/Dashboard/DashboardUsers.vue @@ -0,0 +1,114 @@ + + + + + + + + diff --git a/frontend/src/components/Dashboard/ServiceInfo.vue b/frontend/src/components/Dashboard/ServiceInfo.vue new file mode 100644 index 00000000..ec029f98 --- /dev/null +++ b/frontend/src/components/Dashboard/ServiceInfo.vue @@ -0,0 +1,36 @@ + + + + + + diff --git a/frontend/src/components/Dashboard/TopNav.vue b/frontend/src/components/Dashboard/TopNav.vue new file mode 100644 index 00000000..11d71f98 --- /dev/null +++ b/frontend/src/components/Dashboard/TopNav.vue @@ -0,0 +1,61 @@ + + + + + + diff --git a/frontend/src/components/Footer.vue b/frontend/src/components/Footer.vue index b43e4ea2..fed531c1 100644 --- a/frontend/src/components/Footer.vue +++ b/frontend/src/components/Footer.vue @@ -1,14 +1,18 @@ diff --git a/frontend/src/components/Service/ServiceBlock.vue b/frontend/src/components/Service/ServiceBlock.vue index 8dbe7ed3..875ea6e5 100644 --- a/frontend/src/components/Service/ServiceBlock.vue +++ b/frontend/src/components/Service/ServiceBlock.vue @@ -3,7 +3,8 @@
-

{{service.name}} +

+ {{service.name}} {{service.online ? "ONLINE" : "OFFLINE"}}

@@ -34,7 +35,7 @@ Online, last Failure was Wednesday 1:16:49PM, Dec 18 2019
- View Service + View Service
diff --git a/frontend/src/main.js b/frontend/src/main.js index 4c6ca7b6..bd6911e5 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -3,29 +3,43 @@ import App from './App.vue' import VueRouter from 'vue-router' import Index from "./pages/Index"; import Dashboard from "./pages/Dashboard"; +import Login from "./pages/Login"; import Settings from "./pages/Settings"; -import Service from "./pages/Service"; import Services from "./pages/Services"; +import Service from "./pages/Service"; require("./assets/css/bootstrap.min.css") require("./assets/css/base.css") +// require("./assets/js/bootstrap.min") +// require("./assets/js/flatpickr") +// require("./assets/js/inputTags.min") +// require("./assets/js/rangePlugin") +// require("./assets/js/sortable.min") + const routes = [ - { - path: '/', - name: 'Index', - component: Index - }, - { - path: '/dashboard', - name: 'Dashboard', - component: Dashboard - }, - { - path: '/settings', - name: 'Settings', - component: Settings - }, + { + path: '/', + name: 'Index', + component: Index + }, + { + path: '/dashboard', + name: 'Dashboard', + component: Dashboard, + alias: ['/dashboard/settings', '/dashboard/services', '/dashboard/messages', '/dashboard/groups', '/dashboard/users', '/dashboard/logs', '/dashboard/help'] + }, + { + path: '/login', + name: 'Login', + component: Login + }, + { path: '/logout', redirect: '/' }, + { + path: '/settings', + name: 'Settings', + component: Settings + }, { path: '/services', name: 'Services', @@ -34,12 +48,12 @@ const routes = [ { path: '/service/:id', name: 'Service', - component: Service + component: Service, + props: true } ]; -const router = new VueRouter -({ +const router = new VueRouter({ mode: 'history', routes }) diff --git a/frontend/src/pages/Dashboard.vue b/frontend/src/pages/Dashboard.vue index f2b1f338..9463cb04 100644 --- a/frontend/src/pages/Dashboard.vue +++ b/frontend/src/pages/Dashboard.vue @@ -1,53 +1,85 @@ + + + diff --git a/frontend/src/pages/Service.vue b/frontend/src/pages/Service.vue index b2b29ba1..42385fee 100644 --- a/frontend/src/pages/Service.vue +++ b/frontend/src/pages/Service.vue @@ -1,16 +1,443 @@ diff --git a/frontend/src/pages/Settings.vue b/frontend/src/pages/Settings.vue index 329f27b4..9abe2af3 100644 --- a/frontend/src/pages/Settings.vue +++ b/frontend/src/pages/Settings.vue @@ -1,23 +1,1365 @@