✅ COMPLETED: 1. Dockerfile uses port 80 (astro preview) 2. BaseLayout imports globals.css 3. globals.css with Tailwind v4 @theme syntax 4. index.astro has Header, Footer, FixedContact 5. All image references fixed to existing files 6. Hero uses hdpe_pipe_main.jpg 7. Product cards use hdpe001.jpg 8. pt-20 on main for fixed header ✅ TESTED LOCALLY: - Build: 15 pages in 1.27s - Docker build successful - Port 80 working - Images load - CSS works Ready for Easypanel deployment.
27 lines
1013 B
JavaScript
27 lines
1013 B
JavaScript
import { ZodFirstPartyTypeKind } from "zod/v3";
|
|
import { setResponseValueAndErrors } from "../errorMessages.js";
|
|
import { parseDef } from "../parseDef.js";
|
|
export function parseArrayDef(def, refs) {
|
|
const res = {
|
|
type: "array",
|
|
};
|
|
if (def.type?._def &&
|
|
def.type?._def?.typeName !== ZodFirstPartyTypeKind.ZodAny) {
|
|
res.items = parseDef(def.type._def, {
|
|
...refs,
|
|
currentPath: [...refs.currentPath, "items"],
|
|
});
|
|
}
|
|
if (def.minLength) {
|
|
setResponseValueAndErrors(res, "minItems", def.minLength.value, def.minLength.message, refs);
|
|
}
|
|
if (def.maxLength) {
|
|
setResponseValueAndErrors(res, "maxItems", def.maxLength.value, def.maxLength.message, refs);
|
|
}
|
|
if (def.exactLength) {
|
|
setResponseValueAndErrors(res, "minItems", def.exactLength.value, def.exactLength.message, refs);
|
|
setResponseValueAndErrors(res, "maxItems", def.exactLength.value, def.exactLength.message, refs);
|
|
}
|
|
return res;
|
|
}
|