From 053b7b21038952b64c579e9f2a55e707635bc268 Mon Sep 17 00:00:00 2001 From: yokowu <18836617@qq.com> Date: Wed, 23 Sep 2026 16:40:53 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=9A=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=94=9F=E5=9B=BE=E8=83=BD=E5=8A=9B=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/image-capability-selector.tsx | 169 ++++++++++++++++++ monkeyai/admin/src/i18n/locales/ar.ts | 1 + monkeyai/admin/src/i18n/locales/de-DE.ts | 1 + monkeyai/admin/src/i18n/locales/en-US.ts | 1 + monkeyai/admin/src/i18n/locales/es-419.ts | 1 + monkeyai/admin/src/i18n/locales/fr-FR.ts | 1 + monkeyai/admin/src/i18n/locales/ja-JP.ts | 1 + monkeyai/admin/src/i18n/locales/ko-KR.ts | 1 + monkeyai/admin/src/i18n/locales/ru-RU.ts | 1 + monkeyai/admin/src/i18n/locales/zh-CN.ts | 1 + monkeyai/admin/src/i18n/locales/zh-TW.ts | 1 + monkeyai/admin/src/pages/models-page.tsx | 156 ++++++++-------- monkeyai/admin/test/models-api.test.mjs | 23 +++ 13 files changed, 274 insertions(+), 84 deletions(-) create mode 100644 monkeyai/admin/src/components/image-capability-selector.tsx diff --git a/monkeyai/admin/src/components/image-capability-selector.tsx b/monkeyai/admin/src/components/image-capability-selector.tsx new file mode 100644 index 000000000..45938e3e0 --- /dev/null +++ b/monkeyai/admin/src/components/image-capability-selector.tsx @@ -0,0 +1,169 @@ +import { Tick02Icon } from "@hugeicons/core-free-icons" +import { HugeiconsIcon } from "@hugeicons/react" + +import { Badge } from "@/components/ui/badge" +import { Button } from "@/components/ui/button" +import { Field, FieldLabel } from "@/components/ui/field" +import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group" + +function AspectRatioGlyph({ value }: { value: string }) { + const [rawWidth, rawHeight] = value.split(":").map(Number) + const width = Number.isFinite(rawWidth) && rawWidth > 0 ? rawWidth : 1 + const height = Number.isFinite(rawHeight) && rawHeight > 0 ? rawHeight : 1 + const scale = Math.min(36 / width, 24 / height) + + return ( +