diff --git a/package-lock.json b/package-lock.json
index 8ae2d65..7ed4d10 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,6 +15,7 @@
"autoprefixer": "^10.4.20",
"axios": "^1.7.9",
"click-outside-vue3": "^4.0.1",
+ "compressorjs": "^1.2.1",
"electron-prompt": "^1.7.0",
"mitt": "^3.0.1",
"moment": "^2.30.1",
@@ -1979,6 +1980,11 @@
"bluebird": "^3.5.5"
}
},
+ "node_modules/blueimp-canvas-to-blob": {
+ "version": "3.29.0",
+ "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.29.0.tgz",
+ "integrity": "sha512-0pcSSGxC0QxT+yVkivxIqW0Y4VlO2XSDPofBAqoJ1qJxgH9eiUDLv50Rixij2cDuEfx4M6DpD9UGZpRhT5Q8qg=="
+ },
"node_modules/boolean": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
@@ -2414,6 +2420,15 @@
"node": ">= 10"
}
},
+ "node_modules/compressorjs": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/compressorjs/-/compressorjs-1.2.1.tgz",
+ "integrity": "sha512-+geIjeRnPhQ+LLvvA7wxBQE5ddeLU7pJ3FsKFWirDw6veY3s9iLxAQEw7lXGHnhCJvBujEQWuNnGzZcvCvdkLQ==",
+ "dependencies": {
+ "blueimp-canvas-to-blob": "^3.29.0",
+ "is-blob": "^2.1.0"
+ }
+ },
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -3751,6 +3766,17 @@
"node": ">=8"
}
},
+ "node_modules/is-blob": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-blob/-/is-blob-2.1.0.tgz",
+ "integrity": "sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-ci": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
diff --git a/package.json b/package.json
index 3979bec..ed2cba7 100644
--- a/package.json
+++ b/package.json
@@ -100,6 +100,7 @@
"autoprefixer": "^10.4.20",
"axios": "^1.7.9",
"click-outside-vue3": "^4.0.1",
+ "compressorjs": "^1.2.1",
"electron-prompt": "^1.7.0",
"mitt": "^3.0.1",
"moment": "^2.30.1",
diff --git a/src/frontend/components/messages/AddImageButton.vue b/src/frontend/components/messages/AddImageButton.vue
new file mode 100644
index 0000000..89a120c
--- /dev/null
+++ b/src/frontend/components/messages/AddImageButton.vue
@@ -0,0 +1,135 @@
+
+