@@ -18,6 +18,9 @@ import { pageProgressMessage } from '../../stores/page';
1818import { MemberProgressModalHeader } from './MemberProgressModalHeader' ;
1919import { replaceChildren } from '../../lib/dom.ts' ;
2020import { XIcon } from 'lucide-react' ;
21+ import type { PageType } from '../CommandMenu/CommandMenu.tsx' ;
22+ import { renderFlowJSON } from '../../../editor/renderer/renderer.ts' ;
23+ import { getResourceMeta } from '../../lib/roadmap.ts' ;
2124
2225export type ProgressMapProps = {
2326 member : TeamMember ;
@@ -88,14 +91,24 @@ export function MemberProgressModal(props: ProgressMapProps) {
8891 }
8992
9093 async function renderResource ( jsonUrl : string ) {
94+ const page = await getResourceMeta ( resourceType , resourceId ) ;
95+ if ( ! page ) {
96+ toast . error ( 'Resource not found' ) ;
97+ return ;
98+ }
99+
100+ const renderer = page . renderer || 'balsamiq' ;
101+
91102 const res = await fetch ( jsonUrl , { } ) ;
92103 const json = await res . json ( ) ;
93- const svg : SVGElement | null = await wireframeJSONToSVG ( json , {
94- fontURL : '/fonts/balsamiq.woff2' ,
95- } ) ;
104+ const svg =
105+ renderer === 'editor'
106+ ? await renderFlowJSON ( json as any )
107+ : await wireframeJSONToSVG ( json , {
108+ fontURL : '/fonts/balsamiq.woff2' ,
109+ } ) ;
96110
97111 replaceChildren ( containerEl . current ! , svg ) ;
98- // containerEl.current?.replaceChildren(svg);
99112 }
100113
101114 useKeydown ( 'Escape' , ( ) => {
@@ -136,10 +149,10 @@ export function MemberProgressModal(props: ProgressMapProps) {
136149 skipped = [ ] ,
137150 } = memberProgress ;
138151
139- done . forEach ( ( id : string ) => renderTopicProgress ( id , 'done' ) ) ;
140- learning . forEach ( ( id : string ) => renderTopicProgress ( id , 'learning' ) ) ;
141- skipped . forEach ( ( id : string ) => renderTopicProgress ( id , 'skipped' ) ) ;
142- removed . forEach ( ( id : string ) => renderTopicProgress ( id , 'removed' ) ) ;
152+ done . forEach ( ( id ) => renderTopicProgress ( id , 'done' ) ) ;
153+ learning . forEach ( ( id ) => renderTopicProgress ( id , 'learning' ) ) ;
154+ skipped . forEach ( ( id ) => renderTopicProgress ( id , 'skipped' ) ) ;
155+ removed . forEach ( ( id ) => renderTopicProgress ( id , 'removed' ) ) ;
143156 } )
144157 . catch ( ( err ) => {
145158 console . error ( err ) ;
0 commit comments