diff --git a/package-lock.json b/package-lock.json
index 2b4caef..1aebb80 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,7 +24,8 @@
"vis-data": "^7.1.9",
"vis-network": "^9.1.9",
"vite": "^6.0.5",
- "vue-router": "^4.5.0"
+ "vue-router": "^4.5.0",
+ "vuetify": "^3.7.6"
},
"devDependencies": {
"electron": "^30.0.8",
@@ -5731,6 +5732,35 @@
"vue": "^3.2.0"
}
},
+ "node_modules/vuetify": {
+ "version": "3.7.6",
+ "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.7.6.tgz",
+ "integrity": "sha512-lol0Va5HtMIqZfjccSD5DLv5v31R/asJXzc6s7ULy51PHr1DjXxWylZejhq0kVpMGW64MiV1FmA/p8eYQfOWfQ==",
+ "engines": {
+ "node": "^12.20 || >=14.13"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/johnleider"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.7",
+ "vite-plugin-vuetify": ">=1.0.0",
+ "vue": "^3.3.0",
+ "webpack-plugin-vuetify": ">=2.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ },
+ "vite-plugin-vuetify": {
+ "optional": true
+ },
+ "webpack-plugin-vuetify": {
+ "optional": true
+ }
+ }
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
diff --git a/package.json b/package.json
index a28204b..cd445ec 100644
--- a/package.json
+++ b/package.json
@@ -109,6 +109,7 @@
"vis-data": "^7.1.9",
"vis-network": "^9.1.9",
"vite": "^6.0.5",
- "vue-router": "^4.5.0"
+ "vue-router": "^4.5.0",
+ "vuetify": "^3.7.6"
}
}
diff --git a/src/frontend/components/ColourPickerDropdown.vue b/src/frontend/components/ColourPickerDropdown.vue
new file mode 100644
index 0000000..764da16
--- /dev/null
+++ b/src/frontend/components/ColourPickerDropdown.vue
@@ -0,0 +1,91 @@
+
+