a tool for shared writing and social publishing

add missing util

+19
+19
src/utils/getFirstParagraph.ts
··· 1 + import type { NormalizedDocument } from "src/utils/normalizeRecords"; 2 + import type { PubLeafletContent } from "lexicons/api"; 3 + 4 + export function getFirstParagraph( 5 + doc: NormalizedDocument, 6 + ): string | undefined { 7 + let content = doc.content; 8 + if (!content || !("pages" in content)) return; 9 + let pages = (content as PubLeafletContent.Main).pages; 10 + if (!pages?.[0]) return; 11 + let page = pages[0]; 12 + if (!("blocks" in page)) return; 13 + for (let blockWrapper of (page as { blocks: { block: any }[] }).blocks) { 14 + let block = blockWrapper.block; 15 + if (block?.$type === "pub.leaflet.blocks.text" && block.plaintext) { 16 + return block.plaintext; 17 + } 18 + } 19 + }