Skip to content

Commit b5d098b

Browse files
committed
export fixed and live rendering
1 parent 464e04e commit b5d098b

File tree

5 files changed

+25
-16
lines changed

5 files changed

+25
-16
lines changed

app/src/components/bottom/CodePreview.tsx

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,6 @@ const CodePreview: React.FC<{
4545
);
4646

4747
const [input, setInput] = useState();
48-
49-
useEffect(() => {
50-
console.log('CodePreview input', input);
51-
console.log('currentComponent.code', currentComponent.code);
52-
}, [input])
5348

5449
useEffect(() => {
5550
startService();

app/src/components/main/AddLink.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import { styleContext } from '../../containers/AppContainer';
1111
function AddLink({ id }: AddRoutes) {
1212
const { isThemeLight } = useContext(styleContext);
1313
const [state, dispatch] = useContext(StateContext);
14-
console.log('AddLink\'s state', state);
1514
const handleClick = (id) => {
1615
dispatch({
1716
type: 'ADD CHILD',
@@ -25,8 +24,6 @@ function AddLink({ id }: AddRoutes) {
2524

2625
const handlePageSelect = event => {
2726
const selectedPageName = event.target.value;
28-
console.log('selectedPages State: ', selectedPageName);
29-
console.log('page state', state.components[0].children);
3027
state.components[0].children.forEach(element => {
3128
if(element.childId === id) {
3229
element.attributes.compLink = event.target.value;
@@ -36,7 +33,6 @@ function AddLink({ id }: AddRoutes) {
3633
// dispatch({ type: 'HREF TO', payload: });
3734
}
3835

39-
console.log('state', state);
4036
let pagesItems = state.components.filter(comp => state.rootComponents.includes(comp.id));
4137
let dropDown = pagesItems.map(comp => <MenuItem value={comp.name}>{comp.name}</MenuItem>);
4238
return (

app/src/components/main/DemoRender.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ const DemoRender = (): JSX.Element => {
6666
}
6767
if (elementType === 'input') componentsToRender.push(<Box component={elementType} className={classRender} style={elementStyle} key={key} id={`rend${childId}`}></Box>);
6868
else if (elementType === 'img') componentsToRender.push(<Box component={elementType} src={activeLink} className={classRender} style={elementStyle} key={key} id={`rend${childId}`}></Box>);
69+
else if (elementType === 'Image') componentsToRender.push(<Box component='img' src={activeLink} className={classRender} style={elementStyle} key={key} id={`rend${childId}`}></Box>);
6970
else if (elementType === 'a') componentsToRender.push(<Box component={elementType} href='javascript:void(0)' className={classRender} style={elementStyle} key={key} id={`rend${childId}`}>{innerText}</Box>);
7071
else if (elementType === 'Switch') componentsToRender.push(<Switch>{renderedChildren}</Switch>);
7172
else if (elementType === 'Route') componentsToRender.push(<Route exact path={activeLink}>{renderedChildren}</Route>);

app/src/components/right/ProjectManager.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ const ProjectManager = () => {
118118
// when a directory is chosen, the callback will export the project to the chosen folder
119119
// Note: this listener is imported from the main process via preload.js
120120
window.api.addAppDirChosenListener(path => {
121+
console.log('state compnents', state.components)
121122
exportProject(
122123
path,
123124
state.name

app/src/helperFunctions/generateCode.ts

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ const generateUnformattedCode = (
4545
let providers: string = '';
4646
let context: string = '';
4747
let links: boolean = false;
48+
let images: boolean = false;
4849
const isRoot = rootComponents.includes(componentId);
4950
let importReactRouter = false;
5051
// returns an array of objects which may include components, html elements, and/or route links
@@ -75,17 +76,24 @@ const generateUnformattedCode = (
7576
referencedHTML.tag === 'ol' ||
7677
referencedHTML.tag === 'menu' ||
7778
referencedHTML.tag === 'li' ||
78-
referencedHTML.tag === 'LinkTo' ||
79+
referencedHTML.tag === 'Link' ||
7980
referencedHTML.tag === 'Switch' ||
80-
referencedHTML.tag === 'Route'
81+
referencedHTML.tag === 'Route' ||
82+
referencedHTML.tag === 'Image'
8183
) {
8284
child.children = getEnrichedChildren(child);
8385
}
86+
console.log('referencedHTML', referencedHTML.tag);
8487
// 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'))
8689
importReactRouter = true;
90+
else if(referencedHTML.tag === 'Link')
91+
links = true;
92+
if(referencedHTML.tag === 'Image')
93+
images = true;
8794
return child;
8895
} else if (child.type === 'Route Link') {
96+
console.log('hit');
8997
links = true;
9098
child.name = components.find(
9199
(comp: Component) => comp.id === child.typeId
@@ -163,11 +171,17 @@ const generateUnformattedCode = (
163171
return `${levelSpacer(level, 5)}<${childElement.tag} href=${activeLink} ${elementTagDetails(childElement)}>${innerText}</${childElement.tag}>${levelSpacer(2, (3 + level))}`;
164172
} else if (childElement.tag === 'input') {
165173
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>
169181
${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) {
171185
const routePath = (childElement.tag === 'Route') ? (' ' + 'exact path=' + activeLink) : '';
172186
return `${levelSpacer(level, 5)}<${childElement.tag}${elementTagDetails(childElement)}${routePath}>${innerText}
173187
${tabSpacer(level)}${writeNestedElements(childElement.children, level + 1)}
@@ -294,6 +308,8 @@ const generateUnformattedCode = (
294308
${importsMapped}
295309
import Head from 'next/head'
296310
${links ? `import Link from 'next/link'` : ``}
311+
${images ? `import Image from 'next/link'` : ``}
312+
297313
const ${currComponent.name} = (props): JSX.Element => {
298314
const [value, setValue] = useState<any | undefined>("INITIAL VALUE");
299315
return (

0 commit comments

Comments
 (0)