feat: splitpages now have better rich content support

This commit is contained in:
William Grant 2023-04-20 15:41:13 +10:00
parent ebd30647cb
commit 9331a27397
4 changed files with 9 additions and 7 deletions

View File

@ -21,7 +21,7 @@ export default function BlogPost(props: Props) {
dispatch(setPageType(PageType.POST)); dispatch(setPageType(PageType.POST));
dispatch(setPostTitle(post.title)); dispatch(setPostTitle(post.title));
} }
}, []); }, [dispatch, post]);
return ( return (
<> <>

View File

@ -58,9 +58,10 @@ export async function getStaticProps({ params }) {
page = await cms.fetchPageById(SideMenuItem[id]); page = await cms.fetchPageById(SideMenuItem[id]);
} else { } else {
page = await cms.fetchEntryBySlug(url, 'post'); page = await cms.fetchEntryBySlug(url, 'post');
}
// embedded links in post body need metadata for preview // embedded links in post body need metadata for preview
page.body = await generateLinkMeta(page.body); page.body = await generateLinkMeta(page.body);
}
return { return {
props: { props: {

View File

@ -48,9 +48,10 @@ export const getServerSideProps: GetServerSideProps = async (
let query = slug; let query = slug;
if (slug.indexOf('blog/') >= 0) query = slug.split('blog/')[1]; if (slug.indexOf('blog/') >= 0) query = slug.split('blog/')[1];
page = await cms.fetchEntryPreview(query, 'post'); page = await cms.fetchEntryPreview(query, 'post');
}
// embedded links in post body need metadata for preview // embedded links in post body need metadata for preview
page.body = await generateLinkMeta(page.body); page.body = await generateLinkMeta(page.body);
}
console.log(`Built Preview %c${slug}`, 'color: purple;'); console.log(`Built Preview %c${slug}`, 'color: purple;');
return { return {

View File

@ -2,8 +2,8 @@ import { Block, Document, Inline } from '@contentful/rich-text-types';
import { import {
ContentfulClientApi, ContentfulClientApi,
EntryCollection, EntryCollection,
createClient,
Tag, Tag,
createClient,
} from 'contentful'; } from 'contentful';
import { import {
IAuthor, IAuthor,
@ -335,7 +335,7 @@ export class CmsApi {
}; };
}; };
public convertPage = (rawData): ISplitPage => { public convertPage = (rawData: any): ISplitPage => {
const rawPage = rawData.fields; const rawPage = rawData.fields;
const rawHero = rawPage?.hero ? rawPage?.hero?.fields : null; const rawHero = rawPage?.hero ? rawPage?.hero?.fields : null;