Files
vercel__next.js/examples/cms-agilitycms/lib/normalize.ts
Steven 4466ba436b chore(examples): use default prettier for examples/templates (#60530)
## Description
This PR ensures that the default prettier config is used for examples
and templates.

This config is compatible with `prettier@3` as well (upgrading prettier
is bigger change that can be a future PR).

## Changes
- Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will
be needed upgrading to prettier@3)
- Added `examples/.prettierrc.json` with default config (this will
change every example)
- Added `packages/create-next-app/templates/.prettierrc.json` with
default config (this will change every template)

## Related

- Fixes #54402
- Closes #54409
2024-01-11 16:01:44 -07:00

56 lines
1.3 KiB
TypeScript

//Normalizes our data that we get back from Agility CMS
export function normalizePosts(postsFromAgility) {
/* Need an object like this...
- title
- slug
- excerpt
- date
- coverImage
- responsiveImage
- author
- name
- picture
- url
*/
const posts = postsFromAgility.map((p) => {
let normalizedPost = {
title: p.fields.title,
slug: p.fields.slug,
excerpt: p.fields.excerpt,
date: p.fields.date,
content: p.fields.content,
author: p.fields.author
? {
name: p.fields.author.fields.name,
picture: {
url: `${p.fields.author.fields.picture.url}?w=100&h=100`,
},
}
: null,
ogImage: {
url: `${p.fields.coverImage.url}?w=2000&h=1000&q=70`,
},
coverImage: {
responsiveImage: {
srcSet: null,
webpSrcSet: null,
sizes: null,
src: `${p.fields.coverImage.url}?w=2000&h=1000&q=70`,
width: 2000,
height: 1000,
aspectRatio: 100,
base64: null,
alt: p.fields.coverImage.label,
title: null,
bgColor: null,
},
},
};
return normalizedPost;
});
return posts;
}