diff --git a/src/remote/factory.ts b/src/remote/factory.ts index 93d37823..fbc69781 100644 --- a/src/remote/factory.ts +++ b/src/remote/factory.ts @@ -1,7 +1,7 @@ import { getResizedUrl, imageSrc } from "@/lib/image"; import { IPage, ITag, PageCardDto, Token } from "@/types"; import { asItem } from "./lib"; -import { StrapiComponent, StrapiHome, StrapiPage, StrapiPageCard } from "./types"; +import { StrapiComponentEmbed, StrapiComponent, StrapiHome, StrapiPage, StrapiPageCard } from "./types"; export function createPageUrls(pages: StrapiPage[]) { return { @@ -9,6 +9,13 @@ export function createPageUrls(pages: StrapiPage[]) { } } +export function createEmbed(component: StrapiComponentEmbed): Token { + return { + token: 'html', + data: `` + } +} + export function createPageTokens(components: StrapiComponent[]): Token[] { return components.map(component => { switch (component.__component) { @@ -52,6 +59,10 @@ export function createPageTokens(components: StrapiComponent[]): Token[] { } } + case 'hudozka.embed': { + return createEmbed(component) + } + default: return { token: 'text', diff --git a/src/remote/types.ts b/src/remote/types.ts index 62e4fa0c..3c41eaef 100644 --- a/src/remote/types.ts +++ b/src/remote/types.ts @@ -67,7 +67,7 @@ type StrapiComponentDocument = { // } } -type StrapiComponentEmbed = { +export type StrapiComponentEmbed = { __component: "hudozka.embed", id: number, src: string,