feat(crop): improve UI and fix batch crop for multi-file

- Replace Rule of Thirds button with checkbox for clearer toggle
- Show side-by-side comparison after crop instead of overlay slider
- Add custom aspect ratio option with W:H number inputs
- Fix batch crop failing on files with different dimensions by
  sending percentage-based coordinates instead of absolute pixels
- Add failed-file error state display in tool page
This commit is contained in:
Siddharth Kumar Sah
2026-04-11 14:47:46 +08:00
parent 6c1a347f1c
commit b8227c45b9
5 changed files with 148 additions and 27 deletions
+5 -4
View File
@@ -6,10 +6,11 @@ import { resolveOutputFormat } from "../../lib/output-format.js";
import { createToolRoute } from "../tool-factory.js";
const settingsSchema = z.object({
left: z.number().int().min(0),
top: z.number().int().min(0),
width: z.number().int().positive(),
height: z.number().int().positive(),
left: z.number().min(0),
top: z.number().min(0),
width: z.number().positive(),
height: z.number().positive(),
unit: z.enum(["px", "percent"]).optional(),
});
export function registerCrop(app: FastifyInstance) {