);
}
// Path-resolver: in the case-study sub-folder, assets sit one level up.
// Lets editors store "assets/foo.jpg" everywhere and we just prepend "../" here.
function caseAsset(p) {
if (!p) return p;
if (/^(https?:|data:|\.\.|\/)/.test(p)) return p;
return "../" + p;
}
// Generic block renderer for case studies. Supports: heading, subheading, text,
// image, gallery, results/numbers, quote, divider.
function CaseBlocks({ blocks }) {
return (
{blocks.map((b, i) => {
switch (b.type) {
case "heading":
return
{b.text}
;
case "subheading":
return
{b.text}
;
case "text":
return
{b.text}
;
case "divider":
return ;
case "image":
return (
{b.cap && {b.cap}}
);
case "gallery":
return (
({ ...p, src: caseAsset(p.src) }))}/>
);
case "results":
case "numbers":
return ;
case "quote":
return ;
default:
return null;
}
})}