File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -9,6 +9,22 @@ import { authOptions } from "../../../lib/auth";
99
1010const notion = new NotionAPI ( ) ;
1111
12+ function normalizeRecordMap ( recordMap : any ) {
13+ if ( ! recordMap ?. block ) return recordMap ;
14+ const normalizedBlock : any = { } ;
15+ for ( const [ key , block ] of Object . entries ( recordMap . block ) as any ) {
16+ if ( ! block ?. value ) {
17+ continue ;
18+ }
19+ if ( block . value . value ?. type ) {
20+ normalizedBlock [ key ] = { ...block , value : block . value . value } ;
21+ } else {
22+ normalizedBlock [ key ] = block ;
23+ }
24+ }
25+ return { ...recordMap , block : normalizedBlock } ;
26+ }
27+
1228export default async function TrackComponent ( { params } : { params : { pdfId : string [ ] } } ) {
1329 const trackId : string = params . pdfId [ 0 ] || "" ;
1430 const problemId = params . pdfId [ 1 ] ;
@@ -27,7 +43,7 @@ export default async function TrackComponent({ params }: { params: { pdfId: stri
2743 // notionRecordMaps = await notion.getPage(problemDetails.notionDocId);
2844 notionRecordMaps = await Promise . all (
2945 trackDetails . problems . map (
30- async ( problem : any ) => await notion . getPage ( ( await getProblem ( problem . id ) ) ?. notionDocId ! )
46+ async ( problem : any ) => normalizeRecordMap ( await notion . getPage ( ( await getProblem ( problem . id ) ) ?. notionDocId ! ) )
3147 )
3248 ) ;
3349 }
Original file line number Diff line number Diff line change @@ -6,6 +6,22 @@ import { cache } from "react";
66import { LessonView } from "../../../components/LessonView" ;
77
88const notion = new NotionAPI ( ) ;
9+
10+ function normalizeRecordMap ( recordMap : any ) {
11+ if ( ! recordMap ?. block ) return recordMap ;
12+ const normalizedBlock : any = { } ;
13+ for ( const [ key , block ] of Object . entries ( recordMap . block ) as any ) {
14+ if ( ! block ?. value ) {
15+ continue ;
16+ }
17+ if ( block . value . value ?. type ) {
18+ normalizedBlock [ key ] = { ...block , value : block . value . value } ;
19+ } else {
20+ normalizedBlock [ key ] = block ;
21+ }
22+ }
23+ return { ...recordMap , block : normalizedBlock } ;
24+ }
925export const dynamic = "auto" ;
1026// Dynamic Metadata
1127export async function generateMetadata ( { params } : { params : { trackIds : string [ ] } } ) {
@@ -80,7 +96,7 @@ export default async function TrackComponent({ params }: { params: { trackIds: s
8096 }
8197
8298 if ( problemDetails ?. notionDocId ) {
83- notionRecordMap = await notion . getPage ( problemDetails . notionDocId ) ;
99+ notionRecordMap = normalizeRecordMap ( await notion . getPage ( problemDetails . notionDocId ) ) ;
84100 }
85101
86102 if ( trackDetails && problemDetails ) {
You can’t perform that action at this time.
0 commit comments