Optimized overview.vue, added root '@'
264
package-lock.json
generated
|
@ -8,13 +8,16 @@
|
||||||
"name": "router-ui-frontend",
|
"name": "router-ui-frontend",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"path": "^0.12.7",
|
||||||
"vue": "^3.4.37",
|
"vue": "^3.4.37",
|
||||||
"vue-router": "^4.4.3"
|
"vue-router": "^4.4.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vitejs/plugin-vue": "^5.1.2",
|
"@types/node": "^22.5.1",
|
||||||
|
"@vitejs/plugin-vue": "^5.1.3",
|
||||||
"typescript": "^5.5.3",
|
"typescript": "^5.5.3",
|
||||||
"vite": "^5.4.1",
|
"vite": "^5.4.1",
|
||||||
|
"vite-svg-loader": "^5.1.0",
|
||||||
"vue-tsc": "^2.0.29"
|
"vue-tsc": "^2.0.29"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -642,16 +645,34 @@
|
||||||
"win32"
|
"win32"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"node_modules/@trysound/sax": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
|
||||||
|
"integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.13.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@types/estree": {
|
"node_modules/@types/estree": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
|
||||||
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
|
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/node": {
|
||||||
|
"version": "22.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz",
|
||||||
|
"integrity": "sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"undici-types": "~6.19.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@vitejs/plugin-vue": {
|
"node_modules/@vitejs/plugin-vue": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.3.tgz",
|
||||||
"integrity": "sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==",
|
"integrity": "sha512-3xbWsKEKXYlmX82aOHufFQVnkbMC/v8fLpWwh6hWOUrK5fbbtBh9Q/WWse27BFgSy2/e2c0fz5Scgya9h2GLhw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.0.0 || >=20.0.0"
|
"node": "^18.0.0 || >=20.0.0"
|
||||||
|
@ -823,6 +844,12 @@
|
||||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/boolbase": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/brace-expansion": {
|
"node_modules/brace-expansion": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
||||||
|
@ -832,12 +859,95 @@
|
||||||
"balanced-match": "^1.0.0"
|
"balanced-match": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/commander": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/computeds": {
|
"node_modules/computeds": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz",
|
||||||
"integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==",
|
"integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/css-select": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"boolbase": "^1.0.0",
|
||||||
|
"css-what": "^6.1.0",
|
||||||
|
"domhandler": "^5.0.2",
|
||||||
|
"domutils": "^3.0.1",
|
||||||
|
"nth-check": "^2.0.1"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/fb55"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/css-tree": {
|
||||||
|
"version": "2.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
|
||||||
|
"integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"mdn-data": "2.0.30",
|
||||||
|
"source-map-js": "^1.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/css-what": {
|
||||||
|
"version": "6.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
|
||||||
|
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/fb55"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/csso": {
|
||||||
|
"version": "5.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz",
|
||||||
|
"integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"css-tree": "~2.2.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
|
||||||
|
"npm": ">=7.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/csso/node_modules/css-tree": {
|
||||||
|
"version": "2.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz",
|
||||||
|
"integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"mdn-data": "2.0.28",
|
||||||
|
"source-map-js": "^1.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
|
||||||
|
"npm": ">=7.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/csso/node_modules/mdn-data": {
|
||||||
|
"version": "2.0.28",
|
||||||
|
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz",
|
||||||
|
"integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/csstype": {
|
"node_modules/csstype": {
|
||||||
"version": "3.1.3",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
|
||||||
|
@ -849,6 +959,61 @@
|
||||||
"integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
|
"integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/dom-serializer": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"domelementtype": "^2.3.0",
|
||||||
|
"domhandler": "^5.0.2",
|
||||||
|
"entities": "^4.2.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/domelementtype": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/fb55"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/domhandler": {
|
||||||
|
"version": "5.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
|
||||||
|
"integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"domelementtype": "^2.3.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 4"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/fb55/domhandler?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/domutils": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"dom-serializer": "^2.0.0",
|
||||||
|
"domelementtype": "^2.3.0",
|
||||||
|
"domhandler": "^5.0.3"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/fb55/domutils?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/entities": {
|
"node_modules/entities": {
|
||||||
"version": "4.5.0",
|
"version": "4.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
|
||||||
|
@ -926,6 +1091,11 @@
|
||||||
"he": "bin/he"
|
"he": "bin/he"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/inherits": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
|
||||||
|
},
|
||||||
"node_modules/magic-string": {
|
"node_modules/magic-string": {
|
||||||
"version": "0.30.11",
|
"version": "0.30.11",
|
||||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz",
|
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz",
|
||||||
|
@ -934,6 +1104,12 @@
|
||||||
"@jridgewell/sourcemap-codec": "^1.5.0"
|
"@jridgewell/sourcemap-codec": "^1.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/mdn-data": {
|
||||||
|
"version": "2.0.30",
|
||||||
|
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
|
||||||
|
"integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/minimatch": {
|
"node_modules/minimatch": {
|
||||||
"version": "9.0.5",
|
"version": "9.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
|
||||||
|
@ -972,6 +1148,27 @@
|
||||||
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/nth-check": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"boolbase": "^1.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/fb55/nth-check?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/path": {
|
||||||
|
"version": "0.12.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
|
||||||
|
"integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==",
|
||||||
|
"dependencies": {
|
||||||
|
"process": "^0.11.1",
|
||||||
|
"util": "^0.10.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/path-browserify": {
|
"node_modules/path-browserify": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
|
||||||
|
@ -1010,6 +1207,14 @@
|
||||||
"node": "^10 || ^12 || >=14"
|
"node": "^10 || ^12 || >=14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/process": {
|
||||||
|
"version": "0.11.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||||
|
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.6.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/rollup": {
|
"node_modules/rollup": {
|
||||||
"version": "4.21.0",
|
"version": "4.21.0",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz",
|
||||||
|
@ -1065,6 +1270,31 @@
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/svgo": {
|
||||||
|
"version": "3.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz",
|
||||||
|
"integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@trysound/sax": "0.2.0",
|
||||||
|
"commander": "^7.2.0",
|
||||||
|
"css-select": "^5.1.0",
|
||||||
|
"css-tree": "^2.3.1",
|
||||||
|
"css-what": "^6.1.0",
|
||||||
|
"csso": "^5.0.5",
|
||||||
|
"picocolors": "^1.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"svgo": "bin/svgo"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/svgo"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/to-fast-properties": {
|
"node_modules/to-fast-properties": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
|
||||||
|
@ -1086,6 +1316,20 @@
|
||||||
"node": ">=14.17"
|
"node": ">=14.17"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/undici-types": {
|
||||||
|
"version": "6.19.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
|
||||||
|
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/util": {
|
||||||
|
"version": "0.10.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
|
||||||
|
"integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
|
||||||
|
"dependencies": {
|
||||||
|
"inherits": "2.0.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "5.4.1",
|
"version": "5.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.1.tgz",
|
||||||
|
@ -1145,6 +1389,18 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/vite-svg-loader": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"svgo": "^3.0.2"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": ">=3.2.13"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vscode-uri": {
|
"node_modules/vscode-uri": {
|
||||||
"version": "3.0.8",
|
"version": "3.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz",
|
||||||
|
|
|
@ -9,13 +9,16 @@
|
||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"path": "^0.12.7",
|
||||||
"vue": "^3.4.37",
|
"vue": "^3.4.37",
|
||||||
"vue-router": "^4.4.3"
|
"vue-router": "^4.4.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vitejs/plugin-vue": "^5.1.2",
|
"@types/node": "^22.5.1",
|
||||||
|
"@vitejs/plugin-vue": "^5.1.3",
|
||||||
"typescript": "^5.5.3",
|
"typescript": "^5.5.3",
|
||||||
"vite": "^5.4.1",
|
"vite": "^5.4.1",
|
||||||
|
"vite-svg-loader": "^5.1.0",
|
||||||
"vue-tsc": "^2.0.29"
|
"vue-tsc": "^2.0.29"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
<script lang="ts">
|
<script setup lang="ts">
|
||||||
import { defineComponent } from 'vue';
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'App',
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
Before Width: | Height: | Size: 42 KiB |
12
src/assets/overviewSvgs/Devices.svg
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<svg version="1.1" viewBox="0 -14 105.42 120" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="translate(-7.2896 -15.784)">
|
||||||
|
<g transform="matrix(1.4408 0 0 1.4116 -26.451 -12.591)">
|
||||||
|
<rect x="26.334" y="23.019" width="67.332" height="42.58" ry="4.3365" fill="none" stroke="#fff" stroke-width="5.834"/>
|
||||||
|
<g fill="#fff" stroke-width="0">
|
||||||
|
<rect x="57.113" y="65.717" width="5.7745" height="14.83" ry="0"/>
|
||||||
|
<rect x="58.961" y="67.719" width="1.5653" height="3.0535"/>
|
||||||
|
<rect x="41.291" y="78.287" width="37.419" height="5.8942" ry="2.5257"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 599 B |
9
src/assets/overviewSvgs/FileSharing.svg
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 101.73 101.73" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="translate(-6.5281 -12.557)">
|
||||||
|
<g transform="matrix(.89724 -.89724 .73751 .73751 -43.308 62.468)">
|
||||||
|
<rect x="17.713" y="51.062" width="60.612" height="35.705" ry="1.493" fill="none" stroke="#fff" stroke-width="7.6729"/>
|
||||||
|
<rect x="78.329" y="58.538" width="21.201" height="20.755" ry="1.3525" fill="none" stroke="#fff" stroke-width="7.6729"/>
|
||||||
|
<rect x="29.763" y="52.955" width="6.9565" height="31.921" ry=".027657" fill="#fff" stroke-width="0"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 584 B |
11
src/assets/overviewSvgs/GuestNetwork.svg
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect x="27.041" y="8.3281" width="65.918" height="103.34" ry="1.5063" fill="none" stroke="#fff" stroke-width="8.32"/>
|
||||||
|
<g transform="translate(1.903 -11.525)">
|
||||||
|
<circle cx="51.094" cy="81.91" r="6.3641" fill="#fff"/>
|
||||||
|
<path transform="rotate(225)" d="m-81.44-18.393a13.101 13.101 0 0 1-10.945 9.5983 13.101 13.101 0 0 1-13.056-6.4385" fill="none" stroke="#fff" stroke-width="8.32"/>
|
||||||
|
<path transform="rotate(225)" d="m-71.49-15.693a23.184 23.184 0 0 1-19.427 17.565 23.184 23.184 0 0 1-23.405-11.754" fill="none" stroke="#fff" stroke-width="8.32"/>
|
||||||
|
</g>
|
||||||
|
<rect x="52.402" y="11.847" width="15.195" height="4.8374" ry=".92591" fill="none" stroke="#fff" stroke-width="2.5323"/>
|
||||||
|
<rect x="66.448" y="12" width="25.935" height="5.9475" rx="0" ry="0" fill="#fff"/>
|
||||||
|
<rect x="29.744" y="12.003" width="23.803" height="5.9269" rx="0" ry="0" fill="#fff"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 959 B |
11
src/assets/overviewSvgs/Internet.svg
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<svg version="1.1" viewBox="0 -4 115.92 120" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="translate(-2.1685 -3.7025)">
|
||||||
|
<g fill="none" stroke="#fff">
|
||||||
|
<ellipse transform="matrix(1.1232 0 0 1.1232 -7.2654 -7.4582)" cx="60" cy="59.554" rx="47.684" ry="45.701" stroke-width="7.833"/>
|
||||||
|
<ellipse transform="rotate(90)" cx="58.967" cy="-60.126" rx="51.358" ry="28.519" stroke-width="7.198"/>
|
||||||
|
<ellipse cx="60.126" cy="28.382" rx="36.141" ry="18.7" stroke-width="7.2368"/>
|
||||||
|
<ellipse cx="60.126" cy="90.237" rx="36.119" ry="18.927" stroke-width="7.2342"/>
|
||||||
|
</g>
|
||||||
|
<rect x="56.527" y="8.3201" width="7.198" height="102.86" ry="0" fill="#fff" stroke-width="0"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 700 B |
15
src/assets/overviewSvgs/QoS.svg
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="matrix(1.2433 0 0 1.2433 -14.308 -13.81)">
|
||||||
|
<circle cx="60" cy="60" r="34.221" fill="none" stroke="#fff" stroke-width="8.32"/>
|
||||||
|
<g fill="#fff">
|
||||||
|
<rect x="49.221" y="14.964" width="21.558" height="13.375"/>
|
||||||
|
<rect transform="rotate(135)" x="-10.773" y="-129.85" width="21.558" height="13.8"/>
|
||||||
|
<rect transform="rotate(225)" x="-95.638" y="-45" width="21.558" height="14.5"/>
|
||||||
|
<rect transform="rotate(45)" x="74.074" y="-44.999" width="21.558" height="14"/>
|
||||||
|
<rect transform="rotate(-45)" x="-10.782" y="39.851" width="21.558" height="14.4"/>
|
||||||
|
<rect transform="rotate(-90)" x="-70.211" y="15.034" width="21.558" height="14.243"/>
|
||||||
|
<rect transform="rotate(90)" x="48.769" y="-105.17" width="21.558" height="14.423"/>
|
||||||
|
<rect x="49.233" y="90.573" width="21.558" height="14.405"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 937 B |
10
src/assets/overviewSvgs/Wifi.svg
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<svg version="1.1" viewBox="0 -20 116 120" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="translate(-2.0001 -17.685)">
|
||||||
|
<circle cx="60" cy="84.574" r="11.505" fill="#f9f9f9" stroke-width="1.099"/>
|
||||||
|
<g fill="none" stroke="#fff" stroke-width="8.7977">
|
||||||
|
<path transform="scale(1,-1)" d="m84.282-73.026a28.038 28.038 0 0 1-24.282 14.019 28.038 28.038 0 0 1-24.282-14.019" style="paint-order:normal"/>
|
||||||
|
<path transform="scale(1,-1)" d="m100.02-63.652a46.214 46.214 0 0 1-40.023 23.107 46.214 46.214 0 0 1-40.023-23.107" style="paint-order:normal"/>
|
||||||
|
<path transform="scale(1,-1)" d="m114.19-53.37a62.574 62.574 0 0 1-54.19 31.287 62.574 62.574 0 0 1-54.19-31.287" style="paint-order:normal"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 736 B |
|
@ -1,95 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
width="120"
|
|
||||||
height="120"
|
|
||||||
viewBox="0 0 120 120"
|
|
||||||
version="1.1"
|
|
||||||
id="svg1"
|
|
||||||
inkscape:export-filename="wifi.svg"
|
|
||||||
inkscape:export-xdpi="96"
|
|
||||||
inkscape:export-ydpi="96"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg">
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="namedview1"
|
|
||||||
pagecolor="#505050"
|
|
||||||
bordercolor="#ffffff"
|
|
||||||
borderopacity="1"
|
|
||||||
inkscape:showpageshadow="0"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pagecheckerboard="1"
|
|
||||||
inkscape:deskcolor="#505050"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
showguides="true">
|
|
||||||
<sodipodi:guide
|
|
||||||
position="60,60"
|
|
||||||
orientation="0,1"
|
|
||||||
id="guide22"
|
|
||||||
inkscape:locked="false"
|
|
||||||
inkscape:label=""
|
|
||||||
inkscape:color="rgb(0,134,229)" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<defs
|
|
||||||
id="defs1" />
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1">
|
|
||||||
<g
|
|
||||||
id="g25"
|
|
||||||
transform="translate(4.4218967e-7,-8.967447)">
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#ffffff;stroke-width:8.79773;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
|
|
||||||
id="path22"
|
|
||||||
sodipodi:type="arc"
|
|
||||||
sodipodi:cx="60"
|
|
||||||
sodipodi:cy="-96.012047"
|
|
||||||
sodipodi:rx="28.037905"
|
|
||||||
sodipodi:ry="28.037905"
|
|
||||||
sodipodi:start="0.52359878"
|
|
||||||
sodipodi:end="2.6179939"
|
|
||||||
sodipodi:arc-type="arc"
|
|
||||||
d="M 84.281538,-81.993094 A 28.037905,28.037905 0 0 1 60,-67.974142 28.037905,28.037905 0 0 1 35.718462,-81.993095"
|
|
||||||
sodipodi:open="true"
|
|
||||||
transform="scale(1,-1)" />
|
|
||||||
<circle
|
|
||||||
style="fill:#f9f9f9;stroke-width:1.099;stroke-dasharray:none"
|
|
||||||
id="path4"
|
|
||||||
cy="93.541939"
|
|
||||||
cx="60"
|
|
||||||
r="11.505052" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#ffffff;stroke-width:8.79773;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
|
|
||||||
id="path22-2"
|
|
||||||
sodipodi:type="arc"
|
|
||||||
sodipodi:cx="60"
|
|
||||||
sodipodi:cy="-95.726982"
|
|
||||||
sodipodi:rx="46.214443"
|
|
||||||
sodipodi:ry="46.214443"
|
|
||||||
sodipodi:start="0.52359878"
|
|
||||||
sodipodi:end="2.6179939"
|
|
||||||
sodipodi:arc-type="arc"
|
|
||||||
d="M 100.02288,-72.61976 A 46.214443,46.214443 0 0 1 60,-49.512539 46.214443,46.214443 0 0 1 19.977118,-72.619761"
|
|
||||||
sodipodi:open="true"
|
|
||||||
transform="scale(1,-1)" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#ffffff;stroke-width:8.79773;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
|
|
||||||
id="path22-2-7"
|
|
||||||
sodipodi:type="arc"
|
|
||||||
sodipodi:cx="60"
|
|
||||||
sodipodi:cy="-93.624603"
|
|
||||||
sodipodi:rx="62.573677"
|
|
||||||
sodipodi:ry="62.573677"
|
|
||||||
sodipodi:start="0.52359878"
|
|
||||||
sodipodi:end="2.6179939"
|
|
||||||
sodipodi:arc-type="arc"
|
|
||||||
d="M 114.19039,-62.337765 A 62.573677,62.573677 0 0 1 60,-31.050926 62.573677,62.573677 0 0 1 5.8096054,-62.337766"
|
|
||||||
sodipodi:open="true"
|
|
||||||
transform="scale(1,-1)" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.2 KiB |
|
@ -1,7 +1,7 @@
|
||||||
import { createApp } from "vue";
|
import { createApp } from "vue";
|
||||||
import App from "./App.vue";
|
import App from "@/App.vue";
|
||||||
import router from './routes/router'
|
import router from '@/routes/router.ts'
|
||||||
import './styles/main.css'
|
import '@/styles/main.css'
|
||||||
|
|
||||||
|
|
||||||
createApp(App)
|
createApp(App)
|
||||||
|
|
|
@ -1,11 +1,5 @@
|
||||||
<script lang="ts">
|
<script setup lang="ts">
|
||||||
import Navbar from '../components/Navbar.vue';
|
import Navbar from '@/components/Navbar.vue';
|
||||||
|
|
||||||
export default {
|
|
||||||
components: {
|
|
||||||
Navbar,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts">
|
<script setup lang="ts">
|
||||||
import Navbar from '../components/Navbar.vue';
|
import Navbar from '@/components/Navbar.vue';
|
||||||
|
|
||||||
interface NavbarItem {
|
interface NavbarItem {
|
||||||
name: string;
|
name: string;
|
||||||
link: string
|
link: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const navbarItems: NavbarItem[] = [
|
const navbarItems: NavbarItem[] = [
|
||||||
|
@ -11,21 +11,11 @@
|
||||||
{ name: "Internet Setup", link: "/basic/internet" },
|
{ name: "Internet Setup", link: "/basic/internet" },
|
||||||
{ name: "Wireless Settings", link:"/basic/wireless" },
|
{ name: "Wireless Settings", link:"/basic/wireless" },
|
||||||
{ name: "Device List", link: "/basic/devices" },
|
{ name: "Device List", link: "/basic/devices" },
|
||||||
{ name: "QoS", link: "/basic/QoS" },
|
{ name: "QoS", link: "/basic/qos" },
|
||||||
{ name: "File Sharing", link: "/basic/fileshare" },
|
{ name: "File Sharing", link: "/basic/fileshare" },
|
||||||
{ name: "Guest Network", link: "/basic/guestnetwork" }
|
{ name: "Guest Network", link: "/basic/guestnetwork" }
|
||||||
];
|
];
|
||||||
|
|
||||||
export default {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
navbarItems
|
|
||||||
};
|
|
||||||
},
|
|
||||||
components: {
|
|
||||||
Navbar,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
@ -45,4 +35,4 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style src="../styles/basicDashboard.css" scoped></style>
|
<style src="@/styles/basicDashboard.css" scoped></style>
|
|
@ -13,4 +13,4 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style src="../styles/login.css" scoped></style>
|
<style src="@/styles/login.css" scoped></style>
|
|
@ -4,4 +4,4 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style src="../../styles/basicDashboard.css" scoped></style>
|
<style src="@/styles/basicDashboard.css" scoped></style>
|
|
@ -4,4 +4,4 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style src="../../styles/basicDashboard.css" scoped></style>
|
<style src="@/styles/basicDashboard.css" scoped></style>
|
|
@ -4,4 +4,4 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style src="../../styles/basicDashboard.css" scoped></style>
|
<style src="@/styles/basicDashboard.css" scoped></style>
|
|
@ -4,4 +4,4 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style src="../../styles/basicDashboard.css" scoped></style>
|
<style src="@/styles/basicDashboard.css" scoped></style>
|
|
@ -1,123 +1,90 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
import internetIcon from '@/assets/overviewSvgs/Internet.svg'
|
||||||
|
import wifiIcon from '@/assets/overviewSvgs/Wifi.svg'
|
||||||
|
import devicesIcon from '@/assets/overviewSvgs/Devices.svg'
|
||||||
|
import fileSharingIcon from '@/assets/overviewSvgs/FileSharing.svg'
|
||||||
|
import qosIcon from '@/assets/overviewSvgs/QoS.svg'
|
||||||
|
import guestNetworkIcon from '@/assets/overviewSvgs/GuestNetwork.svg'
|
||||||
|
|
||||||
|
interface statusColorsType {
|
||||||
|
goodStatus: string;
|
||||||
|
warningStatus: string;
|
||||||
|
badStatus: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const statusColors: statusColorsType = {
|
||||||
|
goodStatus: "good-indicator",
|
||||||
|
warningStatus: "warning-indicator",
|
||||||
|
badStatus: "bad-indicator",
|
||||||
|
}
|
||||||
|
|
||||||
|
interface overviewItemsType {
|
||||||
|
name: string;
|
||||||
|
link: string;
|
||||||
|
icon: string;
|
||||||
|
statusColor: string | null;
|
||||||
|
statusMessage: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const overviewItems: overviewItemsType[] = [
|
||||||
|
{
|
||||||
|
name: "Internet",
|
||||||
|
link: "/basic/internet",
|
||||||
|
icon: internetIcon,
|
||||||
|
statusColor: statusColors.goodStatus,
|
||||||
|
statusMessage: "Online: LAN4",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Wifi",
|
||||||
|
link: "/basic/wireless",
|
||||||
|
icon: wifiIcon,
|
||||||
|
statusColor: statusColors.warningStatus,
|
||||||
|
statusMessage: "5Ghz: On | 2.4Ghz: Off",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Devices",
|
||||||
|
link: "/basic/devices",
|
||||||
|
icon: devicesIcon,
|
||||||
|
statusColor: null,
|
||||||
|
statusMessage: "Online: 0",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "File Sharing",
|
||||||
|
link: "/basic/fileshare",
|
||||||
|
icon: fileSharingIcon,
|
||||||
|
statusColor: statusColors.badStatus,
|
||||||
|
statusMessage: "Offline",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "QoS",
|
||||||
|
link: "/basic/qos",
|
||||||
|
icon: qosIcon,
|
||||||
|
statusColor: statusColors.goodStatus,
|
||||||
|
statusMessage: "Online",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Guest Network",
|
||||||
|
link: "/basic/guestnetwork",
|
||||||
|
icon: guestNetworkIcon,
|
||||||
|
statusColor: statusColors.badStatus,
|
||||||
|
statusMessage: "Offline",
|
||||||
|
}
|
||||||
|
]
|
||||||
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div id="overviewComponent">
|
<div id="overviewComponent">
|
||||||
<h2 class="title">Overview</h2>
|
<h2 class="title">Overview</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<RouterLink to="/basic/wireless">
|
<RouterLink :to="overviewItem.link" v-for="overviewItem in overviewItems">
|
||||||
<li>
|
<li>
|
||||||
<svg version="1.1" viewBox="0 -4 115.92 120" xmlns="http://www.w3.org/2000/svg">
|
<component :is="overviewItem.icon"/>
|
||||||
<g transform="translate(-2.1685 -3.7025)">
|
<h3>{{ overviewItem.name }}</h3>
|
||||||
<g fill="none" stroke="#fff">
|
<span :class="overviewItem.statusColor">{{ overviewItem.statusMessage }}</span>
|
||||||
<ellipse transform="matrix(1.1232 0 0 1.1232 -7.2654 -7.4582)" cx="60" cy="59.554" rx="47.684" ry="45.701" stroke-width="7.833"/>
|
|
||||||
<ellipse transform="rotate(90)" cx="58.967" cy="-60.126" rx="51.358" ry="28.519" stroke-width="7.198"/>
|
|
||||||
<ellipse cx="60.126" cy="28.382" rx="36.141" ry="18.7" stroke-width="7.2368"/>
|
|
||||||
<ellipse cx="60.126" cy="90.237" rx="36.119" ry="18.927" stroke-width="7.2342"/>
|
|
||||||
</g>
|
|
||||||
<rect x="56.527" y="8.3201" width="7.198" height="102.86" ry="0" fill="#fff" stroke-width="0"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
<h3>Internet</h3>
|
|
||||||
<span class="good-indicator">Online: LAN4</span>
|
|
||||||
</li>
|
|
||||||
</RouterLink>
|
|
||||||
<RouterLink to="/basic/wireless">
|
|
||||||
<li>
|
|
||||||
<svg version="1.1" viewBox="0 -20 116 120" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<g transform="translate(-2.0001 -17.685)">
|
|
||||||
<circle cx="60" cy="84.574" r="11.505" fill="#f9f9f9" stroke-width="1.099"/>
|
|
||||||
<g fill="none" stroke="#fff" stroke-width="8.7977">
|
|
||||||
<path transform="scale(1,-1)" d="m84.282-73.026a28.038 28.038 0 0 1-24.282 14.019 28.038 28.038 0 0 1-24.282-14.019" style="paint-order:normal"/>
|
|
||||||
<path transform="scale(1,-1)" d="m100.02-63.652a46.214 46.214 0 0 1-40.023 23.107 46.214 46.214 0 0 1-40.023-23.107" style="paint-order:normal"/>
|
|
||||||
<path transform="scale(1,-1)" d="m114.19-53.37a62.574 62.574 0 0 1-54.19 31.287 62.574 62.574 0 0 1-54.19-31.287" style="paint-order:normal"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
<h3>Wifi</h3>
|
|
||||||
<span class="warning-indicator">
|
|
||||||
5Ghz: On | 2.4Ghz: Off
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
</RouterLink>
|
|
||||||
<RouterLink to="/basic/devices">
|
|
||||||
<li>
|
|
||||||
<svg version="1.1" viewBox="0 -14 105.42 120" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<g transform="translate(-7.2896 -15.784)">
|
|
||||||
<g transform="matrix(1.4408 0 0 1.4116 -26.451 -12.591)">
|
|
||||||
<rect x="26.334" y="23.019" width="67.332" height="42.58" ry="4.3365" fill="none" stroke="#fff" stroke-width="5.834"/>
|
|
||||||
<g fill="#fff" stroke-width="0">
|
|
||||||
<rect x="57.113" y="65.717" width="5.7745" height="14.83" ry="0"/>
|
|
||||||
<rect x="58.961" y="67.719" width="1.5653" height="3.0535"/>
|
|
||||||
<rect x="41.291" y="78.287" width="37.419" height="5.8942" ry="2.5257"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
<h3>
|
|
||||||
Devices
|
|
||||||
</h3>
|
|
||||||
<span>Online: 0</span>
|
|
||||||
</li>
|
|
||||||
</RouterLink>
|
|
||||||
<RouterLink to="/basic/fileshare">
|
|
||||||
<li>
|
|
||||||
<svg version="1.1" viewBox="0 0 101.73 101.73" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<g transform="translate(-6.5281 -12.557)">
|
|
||||||
<g transform="matrix(.89724 -.89724 .73751 .73751 -43.308 62.468)">
|
|
||||||
<rect x="17.713" y="51.062" width="60.612" height="35.705" ry="1.493" fill="none" stroke="#fff" stroke-width="7.6729"/>
|
|
||||||
<rect x="78.329" y="58.538" width="21.201" height="20.755" ry="1.3525" fill="none" stroke="#fff" stroke-width="7.6729"/>
|
|
||||||
<rect x="29.763" y="52.955" width="6.9565" height="31.921" ry=".027657" fill="#fff" stroke-width="0"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
<h3>
|
|
||||||
File Sharing
|
|
||||||
</h3>
|
|
||||||
<span class="bad-indicator">Offline</span>
|
|
||||||
</li>
|
|
||||||
</RouterLink>
|
|
||||||
<RouterLink to="/basic/QoS">
|
|
||||||
<li>
|
|
||||||
<svg version="1.1" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<g transform="matrix(1.2433 0 0 1.2433 -14.308 -13.81)">
|
|
||||||
<circle cx="60" cy="60" r="34.221" fill="none" stroke="#fff" stroke-width="8.32"/>
|
|
||||||
<g fill="#fff">
|
|
||||||
<rect x="49.221" y="14.964" width="21.558" height="13.375"/>
|
|
||||||
<rect transform="rotate(135)" x="-10.773" y="-129.85" width="21.558" height="13.8"/>
|
|
||||||
<rect transform="rotate(225)" x="-95.638" y="-45" width="21.558" height="14.5"/>
|
|
||||||
<rect transform="rotate(45)" x="74.074" y="-44.999" width="21.558" height="14"/>
|
|
||||||
<rect transform="rotate(-45)" x="-10.782" y="39.851" width="21.558" height="14.4"/>
|
|
||||||
<rect transform="rotate(-90)" x="-70.211" y="15.034" width="21.558" height="14.243"/>
|
|
||||||
<rect transform="rotate(90)" x="48.769" y="-105.17" width="21.558" height="14.423"/>
|
|
||||||
<rect x="49.233" y="90.573" width="21.558" height="14.405"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
<h3>
|
|
||||||
QoS
|
|
||||||
</h3>
|
|
||||||
<span class="good-indicator">Online</span>
|
|
||||||
</li>
|
|
||||||
</RouterLink>
|
|
||||||
<RouterLink to="/basic/guestnetwork">
|
|
||||||
<li>
|
|
||||||
<svg version="1.1" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<rect x="27.041" y="8.3281" width="65.918" height="103.34" ry="1.5063" fill="none" stroke="#fff" stroke-width="8.32"/>
|
|
||||||
<g transform="translate(1.903 -11.525)">
|
|
||||||
<circle cx="51.094" cy="81.91" r="6.3641" fill="#fff"/>
|
|
||||||
<path transform="rotate(225)" d="m-81.44-18.393a13.101 13.101 0 0 1-10.945 9.5983 13.101 13.101 0 0 1-13.056-6.4385" fill="none" stroke="#fff" stroke-width="8.32"/>
|
|
||||||
<path transform="rotate(225)" d="m-71.49-15.693a23.184 23.184 0 0 1-19.427 17.565 23.184 23.184 0 0 1-23.405-11.754" fill="none" stroke="#fff" stroke-width="8.32"/>
|
|
||||||
</g>
|
|
||||||
<rect x="52.402" y="11.847" width="15.195" height="4.8374" ry=".92591" fill="none" stroke="#fff" stroke-width="2.5323"/>
|
|
||||||
<rect x="66.448" y="12" width="25.935" height="5.9475" rx="0" ry="0" fill="#fff"/>
|
|
||||||
<rect x="29.744" y="12.003" width="23.803" height="5.9269" rx="0" ry="0" fill="#fff"/>
|
|
||||||
</svg>
|
|
||||||
<h3>
|
|
||||||
Guest Network
|
|
||||||
</h3>
|
|
||||||
<span class="bad-indicator">Offline</span>
|
|
||||||
</li>
|
</li>
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style src="../../styles/basicDashboard.css" scoped></style>
|
<style src="@/styles/basicDashboard.css" scoped></style>
|
|
@ -4,4 +4,4 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style src="../../styles/basicDashboard.css" scoped></style>
|
<style src="@/styles/basicDashboard.css" scoped></style>
|
|
@ -4,4 +4,4 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style src="../../styles/basicDashboard.css" scoped></style>
|
<style src="@/styles/basicDashboard.css" scoped></style>
|
|
@ -42,7 +42,7 @@ const routes = [
|
||||||
component: BasicDevicesList,
|
component: BasicDevicesList,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'QoS',
|
path: 'qos',
|
||||||
component: BasicQoS,
|
component: BasicQoS,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
2
src/vite-env.d.ts
vendored
|
@ -1 +1 @@
|
||||||
/// <reference types="vite/client" />
|
/// <reference types="vite/client" />
|
|
@ -18,7 +18,13 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"noUnusedLocals": true,
|
"noUnusedLocals": true,
|
||||||
"noUnusedParameters": true,
|
"noUnusedParameters": true,
|
||||||
"noFallthroughCasesInSwitch": true
|
"noFallthroughCasesInSwitch": true,
|
||||||
},
|
"esModuleInterop": true,
|
||||||
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
|
"allowSyntheticDefaultImports": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"baseUrl": "./",
|
||||||
|
"paths": {
|
||||||
|
"@/*": ["src/*"]
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,5 +3,5 @@
|
||||||
"references": [
|
"references": [
|
||||||
{ "path": "./tsconfig.app.json" },
|
{ "path": "./tsconfig.app.json" },
|
||||||
{ "path": "./tsconfig.node.json" }
|
{ "path": "./tsconfig.node.json" }
|
||||||
]
|
],
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,18 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"noUnusedLocals": true,
|
"noUnusedLocals": true,
|
||||||
"noUnusedParameters": true,
|
"noUnusedParameters": true,
|
||||||
"noFallthroughCasesInSwitch": true
|
"noFallthroughCasesInSwitch": true,
|
||||||
|
"baseUrl": "./",
|
||||||
|
"paths": {
|
||||||
|
"@/*": [
|
||||||
|
"src/*"
|
||||||
|
]
|
||||||
|
},
|
||||||
},
|
},
|
||||||
"include": ["vite.config.ts"]
|
"include": [
|
||||||
|
"vite.config.ts",
|
||||||
|
"src/**/*.ts",
|
||||||
|
"src/**/*.tsx",
|
||||||
|
"src/**/*.vue",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
import { defineConfig } from 'vite'
|
import { defineConfig } from 'vite'
|
||||||
import vue from '@vitejs/plugin-vue'
|
import vue from '@vitejs/plugin-vue'
|
||||||
|
import path from 'path';
|
||||||
|
import svgLoader from 'vite-svg-loader';
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [vue()],
|
plugins: [vue(), svgLoader()],
|
||||||
|
resolve : {
|
||||||
|
alias: {
|
||||||
|
'@': path.resolve(__dirname, './src'),
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|