@@ -45,6 +45,7 @@ const generateUnformattedCode = (
45
45
let providers : string = '' ;
46
46
let context : string = '' ;
47
47
let links : boolean = false ;
48
+ let images : boolean = false ;
48
49
const isRoot = rootComponents . includes ( componentId ) ;
49
50
let importReactRouter = false ;
50
51
// returns an array of objects which may include components, html elements, and/or route links
@@ -75,17 +76,24 @@ const generateUnformattedCode = (
75
76
referencedHTML . tag === 'ol' ||
76
77
referencedHTML . tag === 'menu' ||
77
78
referencedHTML . tag === 'li' ||
78
- referencedHTML . tag === 'LinkTo ' ||
79
+ referencedHTML . tag === 'Link ' ||
79
80
referencedHTML . tag === 'Switch' ||
80
- referencedHTML . tag === 'Route'
81
+ referencedHTML . tag === 'Route' ||
82
+ referencedHTML . tag === 'Image'
81
83
) {
82
84
child . children = getEnrichedChildren ( child ) ;
83
85
}
86
+ console . log ( 'referencedHTML' , referencedHTML . tag ) ;
84
87
// when we see a Switch or LinkTo, import React Router
85
- if ( referencedHTML . tag === 'Switch' || referencedHTML . tag === 'LinkTo' )
88
+ if ( referencedHTML . tag === 'Switch' || ( referencedHTML . tag === 'Link' && projectType === 'Classic React' ) )
86
89
importReactRouter = true ;
90
+ else if ( referencedHTML . tag === 'Link' )
91
+ links = true ;
92
+ if ( referencedHTML . tag === 'Image' )
93
+ images = true ;
87
94
return child ;
88
95
} else if ( child . type === 'Route Link' ) {
96
+ console . log ( 'hit' ) ;
89
97
links = true ;
90
98
child . name = components . find (
91
99
( comp : Component ) => comp . id === child . typeId
@@ -163,11 +171,17 @@ const generateUnformattedCode = (
163
171
return `${ levelSpacer ( level , 5 ) } <${ childElement . tag } href=${ activeLink } ${ elementTagDetails ( childElement ) } >${ innerText } </${ childElement . tag } >${ levelSpacer ( 2 , ( 3 + level ) ) } ` ;
164
172
} else if ( childElement . tag === 'input' ) {
165
173
return `${ levelSpacer ( level , 5 ) } <${ childElement . tag } ${ elementTagDetails ( childElement ) } ></${ childElement . tag } >${ levelSpacer ( 2 , ( 3 + level ) ) } ` ;
166
- } else if ( childElement . tag === 'LinkTo' ) {
167
- return `${ levelSpacer ( level , 5 ) } <Link to=${ activeLink } ${ elementTagDetails ( childElement ) } >${ innerText }
168
- ${ tabSpacer ( level ) } ${ writeNestedElements ( childElement . children , level + 1 ) }
174
+ } else if ( childElement . tag === 'Link' && projectType === 'Classic React' ) {
175
+ return `${ levelSpacer ( level , 5 ) } <Link to=${ activeLink } ${ elementTagDetails ( childElement ) } >
176
+ ${ tabSpacer ( level ) } ${ writeNestedElements ( childElement . children , level + 1 ) } ${ innerText }
177
+ ${ tabSpacer ( level - 1 ) } </Link>${ levelSpacer ( 2 , ( 3 + level ) ) } ` ;
178
+ } else if ( childElement . tag === 'Link' && projectType === 'Next.js' ) {
179
+ return `${ levelSpacer ( level , 5 ) } <Link href=${ activeLink } ${ elementTagDetails ( childElement ) } >
180
+ ${ tabSpacer ( level ) } ${ writeNestedElements ( childElement . children , level + 1 ) } <a>${ innerText } </a>
169
181
${ tabSpacer ( level - 1 ) } </Link>${ levelSpacer ( 2 , ( 3 + level ) ) } ` ;
170
- } else if ( nestable ) {
182
+ } else if ( childElement . tag === 'Image' ) {
183
+ return `${ levelSpacer ( level , 5 ) } <${ childElement . tag } src=${ activeLink } ${ elementTagDetails ( childElement ) } />` ;
184
+ } else if ( nestable ) {
171
185
const routePath = ( childElement . tag === 'Route' ) ? ( ' ' + 'exact path=' + activeLink ) : '' ;
172
186
return `${ levelSpacer ( level , 5 ) } <${ childElement . tag } ${ elementTagDetails ( childElement ) } ${ routePath } >${ innerText }
173
187
${ tabSpacer ( level ) } ${ writeNestedElements ( childElement . children , level + 1 ) }
@@ -294,6 +308,8 @@ const generateUnformattedCode = (
294
308
${ importsMapped }
295
309
import Head from 'next/head'
296
310
${ links ? `import Link from 'next/link'` : `` }
311
+ ${ images ? `import Image from 'next/link'` : `` }
312
+
297
313
const ${ currComponent . name } = (props): JSX.Element => {
298
314
const [value, setValue] = useState<any | undefined>("INITIAL VALUE");
299
315
return (
0 commit comments