diff --git a/Closure_Front_End/package-lock.json b/Closure_Front_End/package-lock.json
index f73194de..2e17a225 100644
--- a/Closure_Front_End/package-lock.json
+++ b/Closure_Front_End/package-lock.json
@@ -13,7 +13,10 @@
"axios": "^0.21.1",
"bulma": "^0.9.3",
"core-js": "^3.6.5",
+ "dexie": "^3.0.3",
+ "swrv": "^1.0.0-beta.8",
"vue": "^3.0.0",
+ "vue-multiselect": "^3.0.0-alpha.2",
"vue-router": "^4.0.0-0"
},
"devDependencies": {
@@ -3785,6 +3788,14 @@
"node": ">=8"
}
},
+ "node_modules/dexie": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dexie/-/dexie-3.0.3.tgz",
+ "integrity": "sha512-BSFhGpngnCl1DOr+8YNwBDobRMH0ziJs2vts69VilwetHYOtEDcLqo7d/XiIphM0tJZ2rPPyAGd31lgH2Ln3nw==",
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
"node_modules/diff-sequences": {
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
@@ -9670,6 +9681,14 @@
"node": ">=8"
}
},
+ "node_modules/swrv": {
+ "version": "1.0.0-beta.8",
+ "resolved": "https://registry.npmjs.org/swrv/-/swrv-1.0.0-beta.8.tgz",
+ "integrity": "sha512-MsjaMOvZODfM0cess/HhbSrNbAotYinv4vzipLckKYBo/QmrvjNUPGZSRSqByXy/9AjrMRFWo0YanaVPbqADPQ==",
+ "peerDependencies": {
+ "vue": "^3.0.0"
+ }
+ },
"node_modules/symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
@@ -10256,6 +10275,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/vue-multiselect": {
+ "version": "3.0.0-alpha.2",
+ "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.0.0-alpha.2.tgz",
+ "integrity": "sha512-Xp9fGJECns45v+v8jXbCIsAkCybYkEg0lNwr7Z6HDUSMyx2TEIK2giipPE+qXiShEc1Ipn+ZtttH2iq9hwXP4Q==",
+ "engines": {
+ "node": ">= 4.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
"node_modules/vue-router": {
"version": "4.0.10",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.10.tgz",
@@ -13347,6 +13375,11 @@
"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
"dev": true
},
+ "dexie": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dexie/-/dexie-3.0.3.tgz",
+ "integrity": "sha512-BSFhGpngnCl1DOr+8YNwBDobRMH0ziJs2vts69VilwetHYOtEDcLqo7d/XiIphM0tJZ2rPPyAGd31lgH2Ln3nw=="
+ },
"diff-sequences": {
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
@@ -17876,6 +17909,12 @@
}
}
},
+ "swrv": {
+ "version": "1.0.0-beta.8",
+ "resolved": "https://registry.npmjs.org/swrv/-/swrv-1.0.0-beta.8.tgz",
+ "integrity": "sha512-MsjaMOvZODfM0cess/HhbSrNbAotYinv4vzipLckKYBo/QmrvjNUPGZSRSqByXy/9AjrMRFWo0YanaVPbqADPQ==",
+ "requires": {}
+ },
"symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
@@ -18330,6 +18369,11 @@
}
}
},
+ "vue-multiselect": {
+ "version": "3.0.0-alpha.2",
+ "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.0.0-alpha.2.tgz",
+ "integrity": "sha512-Xp9fGJECns45v+v8jXbCIsAkCybYkEg0lNwr7Z6HDUSMyx2TEIK2giipPE+qXiShEc1Ipn+ZtttH2iq9hwXP4Q=="
+ },
"vue-router": {
"version": "4.0.10",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.10.tgz",
diff --git a/Closure_Front_End/package.json b/Closure_Front_End/package.json
index b1199a2e..3e201f0f 100644
--- a/Closure_Front_End/package.json
+++ b/Closure_Front_End/package.json
@@ -18,7 +18,10 @@
"axios": "^0.21.1",
"bulma": "^0.9.3",
"core-js": "^3.6.5",
+ "dexie": "^3.0.3",
+ "swrv": "^1.0.0-beta.8",
"vue": "^3.0.0",
+ "vue-multiselect": "^3.0.0-alpha.2",
"vue-router": "^4.0.0-0"
},
"devDependencies": {
diff --git a/Closure_Front_End/src/App.vue b/Closure_Front_End/src/App.vue
index 5328ea9f..0e260617 100644
--- a/Closure_Front_End/src/App.vue
+++ b/Closure_Front_End/src/App.vue
@@ -6,9 +6,18 @@