From 729793dda2291d4091e1c99a05008eb73303d80a Mon Sep 17 00:00:00 2001 From: pa Date: Sun, 8 Mar 2026 18:12:27 +0900 Subject: [PATCH] improve image cropper --- src/components/dialogs/ImageCropDialog.vue | 172 +++++- .../__tests__/useImageCropper.test.js | 526 ++++++++++++++++++ src/composables/useImageCropper.js | 135 +++-- src/localization/en.json | 11 + 4 files changed, 809 insertions(+), 35 deletions(-) create mode 100644 src/composables/__tests__/useImageCropper.test.js diff --git a/src/components/dialogs/ImageCropDialog.vue b/src/components/dialogs/ImageCropDialog.vue index a4550b1d..af282a06 100644 --- a/src/components/dialogs/ImageCropDialog.vue +++ b/src/components/dialogs/ImageCropDialog.vue @@ -19,7 +19,112 @@ :stencil-props="{ aspectRatio, movable: !loading, resizable: !loading }" :move-image="!loading" :resize-image="!loading" - image-restriction="stencil" /> + :image-restriction="freeMode ? 'none' : 'stencil'" + @change="onCropperChange" /> + + +
+ + + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + +
@@ -38,13 +143,27 @@