From 7e8148493289fdafd49257fd920156fd08e32d90 Mon Sep 17 00:00:00 2001 From: CrescentLeaf Date: Tue, 30 Sep 2025 21:37:31 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=8D=A8=E7=AB=8B=20openImageViewe?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/ui/custom-elements/chat-image.ts | 21 +++------------------ client/ui/openImageViewer.ts | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 18 deletions(-) create mode 100644 client/ui/openImageViewer.ts diff --git a/client/ui/custom-elements/chat-image.ts b/client/ui/custom-elements/chat-image.ts index c3341d1..a3efdf9 100644 --- a/client/ui/custom-elements/chat-image.ts +++ b/client/ui/custom-elements/chat-image.ts @@ -1,23 +1,8 @@ +import openImageViewer from "../openImageViewer.ts" +import { snackbar } from "../snackbar.ts" + import { $ } from 'mdui/jq' -import 'pinch-zoom-element' -import { snackbar } from "../snackbar.ts"; - -function openImageViewer(src: string) { - $('#image-viewer-dialog-inner').empty() - - const e = new Image() - e.onload = () => ($('#image-viewer-dialog-inner').get(0) as any).scaleTo(0.1, { - // Transform origin. Can be a number, or string percent, eg "50%" - originX: '50%', - originY: '50%', - // Should the transform origin be relative to the container, or content? - relativeTo: 'container', - }) - e.src = src - $('#image-viewer-dialog-inner').append(e) - $('#image-viewer-dialog').attr('open', 'true') -} customElements.define('chat-image', class extends HTMLElement { constructor() { diff --git a/client/ui/openImageViewer.ts b/client/ui/openImageViewer.ts new file mode 100644 index 0000000..a61779e --- /dev/null +++ b/client/ui/openImageViewer.ts @@ -0,0 +1,17 @@ +import { $ } from 'mdui/jq' +import 'pinch-zoom-element' +export default function openImageViewer(src: string) { + $('#image-viewer-dialog-inner').empty() + + const e = new Image() + e.onload = () => ($('#image-viewer-dialog-inner').get(0) as any).scaleTo(0.1, { + // Transform origin. Can be a number, or string percent, eg "50%" + originX: '50%', + originY: '50%', + // Should the transform origin be relative to the container, or content? + relativeTo: 'container', + }) + e.src = src + $('#image-viewer-dialog-inner').append(e) + $('#image-viewer-dialog').attr('open', 'true') +}