feat(cms): migrate from Directus to Payload v3 and remove contentlayer
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 3m43s
Build & Deploy / 🏗️ Build (push) Failing after 37s
Build & Deploy / 🧪 QA (push) Failing after 3m40s
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🩺 Health Check (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 2s

This commit is contained in:
2026-02-22 20:50:51 +01:00
parent b2f5e2dd4d
commit 072b6b13f1
30 changed files with 4299 additions and 2062 deletions

View File

@@ -69,29 +69,23 @@ export function getImgproxyUrl(
"http://directus:8055",
);
}
}
const {
width = 0,
height = 0,
resizing_type = "fit",
gravity = "sm", // Default to smart gravity
enlarge = false,
extension = "",
} = options;
const { width = 0, height = 0, enlarge = false, extension = "" } = options;
// Processing options
// Format: /rs:<type>:<width>:<height>:<enlarge>/g:<gravity>
const processingOptions = [
`rs:${resizing_type}:${width}:${height}:${enlarge ? 1 : 0}`,
`g:${gravity}`,
].join("/");
let quality = 80;
if (extension) quality = 90;
// Using /unsafe/ for now as we don't handle signatures yet
// Format: <base_url>/unsafe/<options>/<base64_url>
const suffix = extension ? `@${extension}` : "";
const encodedSrc = encodeBase64(absoluteSrc + suffix);
// Re-map imgproxy URL to our new parameter structure
// e.g. /process?url=...&w=...&h=...&q=...&format=...
const queryParams = new URLSearchParams({
url: absoluteSrc,
});
return `${baseUrl}/unsafe/${processingOptions}/${encodedSrc}`;
if (width > 0) queryParams.set("w", width.toString());
if (height > 0) queryParams.set("h", height.toString());
if (extension) queryParams.set("format", extension.replace(".", ""));
if (quality) queryParams.set("q", quality.toString());
return `${baseUrl}/process?${queryParams.toString()}`;
}