feat: SOTA Image to Base64 converter with 6 output formats (#65)

* feat(image-to-base64): register tool in shared constants and i18n

* feat(image-to-base64): add API route with Sharp pipeline and base64 encoding

* feat(image-to-base64): add Zustand store for base64 results

* feat(image-to-base64): add settings panel component

* feat(image-to-base64): add results panel with 6-tab output and batch accordion

* feat(image-to-base64): register tool in frontend tool registry

* fix(image-to-base64): pass through original buffer when no resize/conversion needed

---------

Co-authored-by: stirling-image <stirling-image@users.noreply.github.com>
This commit is contained in:
stirling-image
2026-04-14 10:17:19 +08:00
committed by GitHub
co-authored by stirling-image
parent 2f11b9e101
commit 01cbb16cd9
8 changed files with 698 additions and 0 deletions
+8
View File
@@ -307,6 +307,14 @@ export const TOOLS: Tool[] = [
icon: "ScanLine",
route: "/barcode-read",
},
{
id: "image-to-base64",
name: "Image to Base64",
description: "Convert images to base64 strings for embedding in HTML, CSS, and more",
category: "utilities",
icon: "Code",
route: "/image-to-base64",
},
// Layout & Composition
{
id: "collage",
+4
View File
@@ -152,6 +152,10 @@ export const en = {
description:
"Resize, optimize, change speed, reverse, extract frames, and rotate animated GIFs",
},
"image-to-base64": {
name: "Image to Base64",
description: "Convert images to base64 strings for embedding in HTML, CSS, and more",
},
pipeline: { name: "Pipeline Builder", description: "Chain multiple tools into a workflow" },
batch: { name: "Batch Processing", description: "Apply any tool to multiple images" },
},