Skip to content

Commit 8fcfbee

Browse files
Merge branch 'dev' into Brett/AnnotationCleanup
2 parents cbbe445 + 50b3ac8 commit 8fcfbee

11 files changed

+78
-71
lines changed

CHANGE_LOG.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,38 @@
33
<h1 align="center">ReacType Change Log</h1>
44
</p>
55

6+
**Version 14.0.0 Changes**
7+
8+
Changes:<br>
9+
- Added functionalities & improvements:
10+
- Add event listeners:
11+
- Added ability to assign event listeners to elements in the bottom customization tab
12+
- Can name the function on the event or use the default name provided
13+
- Updates reflected in the code preview render
14+
- Live code preview: Bottom tool tabs code preview renderings update immediately and automatically to reflect the state
15+
- Converted the notation button into a delete button on the canvas elements and reusable components
16+
- Code preview render: The formatting for generated code has been corrected for improved readability
17+
- Major UI changes:
18+
- Left panel:
19+
- Only display when mouse hovered over
20+
- When extended, floats in front of the canvas without affecting the main window formatting
21+
- Bottom panel
22+
- Retractable feature added
23+
- Has internal scroll ability in the tabs
24+
- Resized functionality is stable
25+
- Add indicator tabs to each to signify to the user they are there
26+
- Canvas container:
27+
- Changed the formatting to a center column with readable size and label orientation
28+
- Standardized the size of components and rate of growth when nesting
29+
- Tutorial:
30+
- Users can now reference tutorials in split-screen mode without the canvas being auto-cleared when going back from the tutorial
31+
- Bug fixes:
32+
- Reusable component: The drag-and-drop feature for reusable components is now functioning smoothly and without bugs
33+
34+
What's next:<br>
35+
36+
A note for future contributors:<br>
37+
638
**Version 13.0.0 Changes**
739

840
New Functionality:<br>

README.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66

77
<!-- <p align="center">
88
<img width="1000" src="https://i.imgur.com/enAcYvB.png">
9-
</p>
10-
-->
9+
</p> -->
10+
1111
<div align="left">
12-
12+
1313
[![StarShield][stars]][stars-url]
1414
[![ContributorShield][contributors]][contributors-url]
1515
[![ForksShield][forks]][forks-url]
1616
![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)
17-
![Version: 13.0.0](https://img.shields.io/badge/version-13.0.0-orange)
18-
17+
![Version: 14.0.0](https://img.shields.io/badge/version-14.0.0-orange)
18+
1919
</div>
2020
<!-- <p align="center">
2121
<img width="1000" src="https://i.imgur.com/FPizsat.png">
@@ -41,7 +41,7 @@ Follow [@ReacType](https://twitter.com/reactype) on Twitter for important announ
4141

4242
### Documentation
4343

44-
If you want to read about using ReacType, the [User Manual](https://reactype-1.herokuapp.com/#/tutorial) is free and available online now.
44+
If you want to read about using ReacType, the [User Manual](https://reactype-1.herokuapp.com/#/tutorial) is free and available online now.
4545

4646
### Installing
4747

@@ -54,24 +54,29 @@ If you are given a warning that Apple could not scan the app. Please follow thes
5454
Download the latest [release](https://github.com/open-source-labs/ReacType/releases)
5555

5656

57-
## New with version 13.0.0
57+
## Changes with version 14.0.0
5858

59-
- **Manage state locally**: Users can now manage state dynamically within nested components using React Hooks within the state manager tab.
60-
- **Add/delete props**: For a selected component, users can see a list of available props from the parent, add props, and delete props in case they are not required later on.
61-
- **State/props flow**: If state or props are deleted upstream, it will automatically update the state for its children components.
62-
- **Visualize state/props flow**: Within the display sub-tab of the state manager tab, users can visualize an interactive tree diagram depicting the state initialized in the current component and passed down props from the parent component.
59+
- **Add event listeners**: Users can now add event listeners to elements in the customization tab and view a list of added events. The list can be edited to remove events, and the live code preview will show the events being added and updated.
60+
- **Delete buttons added**: Delete buttons have been added to canvas components and elements for easier removal. Users can now delete elements or components directly by focusing on them and clicking the delete button.
61+
- **Live code preview and component tree update**: When users drag-and-drop components and elements, the live code preview and component tree are automatically updated to reflect the changes in real time.
62+
- **Major UI changes**: The user interface has undergone a major change, including a sliding effect for the left and bottom panels to maximize user visibility. The styling has been unified and the display of canvas hierarchy has been made more prominent for improved clarity.
6363
- **And more:** See [change log](https://github.com/open-source-labs/ReacType/blob/master/CHANGE_LOG.md) for more details on what was changed from the previous version as well as plans for upcoming features!
6464

6565

6666
## Run ReacType using CLI
6767

6868
- **Fork** and **Clone** Repository.
6969
- Open project directory
70-
- Install dependencies
70+
- Install dependencies.
7171

7272
```bash
7373
npm install
7474
```
75+
- If there's any issue with the installation, try using `--legacy-peer-deps` flag instead.
76+
77+
```bash
78+
npm install --legacy-peer-deps
79+
```
7580

7681
- To run the production build
7782

app/src/components/main/DirectChildComponent.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ function DirectChildComponent({
6464
);
6565
// Renders name and not children of subcomponents to clean up Canvas view when dragging components
6666
// into the main canvas. To render html elements on canvas, import and invoke renderChildren
67+
6768
return (
6869
<div onClick={onClickHandler} style={combinedStyle} ref={drag}>
6970
<strong>{name}</strong>

app/src/components/main/DirectChildHTML.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ function DirectChildHTML({ childId, name, type, typeId, style }: ChildElement) {
8686
>
8787
<span>
8888
<strong style={{ color: isThemeLight ? 'black' : 'white' }}>
89-
{HTMLType.placeHolderShort + ' nonNestable'}
89+
{HTMLType.placeHolderShort}
9090
</strong>
9191
<DeleteButton
9292
id={childId}

app/src/components/main/DirectChildHTMLNestable.tsx

Lines changed: 6 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -138,57 +138,16 @@ function DirectChildHTMLNestable({
138138
? '3px solid #186BB4'
139139
: '1px solid grey'
140140
};
141-
142-
// incoporated this logic into my nesting check below caused i new error
143-
// if (isOver) defaultNestableStyle['yellow'];
144-
// defaultNestableStyle['backgroundColor'] = isOver ? 'yellow' : defaultNestableStyle['backgroundColor'];//globalDefaultStyle['backgroundColor']
145-
146-
// if component is not in APP children array, it's a nested component, and should have a differend background color
147-
// defaultNestableStyle['backgroundColor'] = state.components[0].children.includes(childId) ? 'blue' : globalDefaultStyle['backgroundColor'];
148-
149-
// console.log('APP DIRECT KIDS: ', state.components[0].children);
141+
142+
// interactive style to change color when nested element is hovered over
143+
if (isOver) defaultNestableStyle['yellow'];
144+
defaultNestableStyle['backgroundColor'] = isOver ? 'yellow' : defaultNestableStyle['backgroundColor'];
150145

151146
const combinedStyle = combineStyles(
152147
combineStyles(combineStyles(defaultNestableStyle, HTMLType.style), style),
153148
interactiveStyle
154149
);
155150

156-
// WHAT THE CHILDREN ARRAY LOOKS LIKE - LW
157-
// ARRAY OF OBJS
158-
// {type: 'HTML Element', typeId: 1000, name: 'separator', childId: 1000, style: {…}, …}
159-
// tried adding a conditional to only run this reassignment if state.components[0]['name'] === 'App' DON'T WORK
160-
161-
// state.components[0].children?.forEach(obj => {
162-
// // console.log('childId : ', obj['childId'], 'childId : ', childId);
163-
// if (obj['childId'] === childId) {
164-
// combinedStyle['backgroundColor'] = isOver ? 'yellow' : 'grey';
165-
// } else {
166-
// combinedStyle['backgroundColor'] = isOver ? 'yellow' : globalDefaultStyle['backgroundColor'];
167-
// }
168-
// });
169-
170-
// trying to render components with diff background colors based on how deeply nested they were - doesnt' work as on now
171-
// state.components.forEach(component => {
172-
// // console.log('state.components : ', state.components)
173-
// let color = 'rgb(63, 154,';
174-
// let counter = -10;
175-
// component.children?.forEach(obj => {
176-
// // if (obj['childId'] === childId) {
177-
// counter += 10;
178-
// color = color + counter.toString() + ')'
179-
// combinedStyle['backgroundColor'] = isOver ? 'yellow' : color;
180-
// } else {
181-
// combinedStyle['backgroundColor'] = isOver ? 'yellow' : globalDefaultStyle['backgroundColor'];
182-
// }
183-
// })
184-
// });
185-
186-
// console.log('state: ', state);
187-
// helper func i created below does not work now because it cannot reference combined style from its file. - LW
188-
// adjustComponentColor(children, childId, state);
189-
190-
//console.log('combinedStyle : ', combinedStyle);
191-
192151
drag(drop(ref));
193152

194153
const routeButton = [];
@@ -216,12 +175,8 @@ function DirectChildHTMLNestable({
216175
id={`canv${childId}`}
217176
>
218177
<span>
219-
<strong style={{ color: isThemeLight ? 'black' : 'white' }}>
220-
{HTMLType.placeHolderShort + ' nestable'}
221-
</strong>
222-
<strong style={{ color: '#0099E6' }}>
223-
{attributes && attributes.compLink ? ` ${attributes.compLink}` : ''}
224-
</strong>
178+
<strong style={ {color: isThemeLight ? 'black' : 'white'} }>{HTMLType.placeHolderShort}</strong>
179+
<strong style={{ color: "#0099E6" }}>{attributes && attributes.compLink ? ` ${attributes.compLink}` : ''}</strong>
225180
{routeButton}
226181
<DeleteButton id={childId} name={name} />
227182
</span>

app/src/components/main/IndirectChild.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ function IndirectChild({
3636
return (
3737
<div style={combinedStyle}>
3838
{` ( ${childId} )`}
39-
<DeleteButton id={childId} name={name} />
39+
<span>
40+
<DeleteButton id={childId} name={name} />
41+
</span>
4042
{linkId ? (
4143
<div onClick={onClickHandlerRoute}>{linkName}</div>
4244
) : (

contributors.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Ben Cauffman [LinkedIn](https://www.linkedin.com/in/benjamin-cauffman/) [Github]
1818

1919
[Bianca Picasso](https://www.linkedin.com/in/bianca-picasso) [@BiancaPicasso](https://github.com/BiancaPicasso)
2020

21+
[Brett Webster](https://www.linkedin.com/in/brett-webster-cfa-383b961) [@brett-webster](https://github.com/brett-webster)
22+
2123
[Brian Han](https://www.linkedin.com/in/brianjisoohan/) [@brianjshan](https://github.com/brianjshan)
2224

2325
[Bryan Chau](https://www.linkedin.com/in/chaubryan1/) [@bchauu](https://github.com/bchauu)
@@ -72,6 +74,8 @@ Darin Ngau [LinkedIn](https://www.linkedin.com/in/darin-ngau/) [Github](https://
7274

7375
[Khuong Nguyen](https://www.linkedin.com/in/khuong-nguyen/) [@khuongdn16](https://github.com/khuongdn16)
7476

77+
[Lillian Wimberly](https://www.linkedin.com/in/lillianwimberly/) [@lillwimberly](https://github.com/lillwimberly)
78+
7579
[Linh Tran](https://www.linkedin.com/in/linhtran51/) [@Linhatran](https://github.com/Linhatran)
7680

7781
[Luke Madden](https://www.linkedin.com/in/lukemadden/) [@lukemadden](https://github.com/lukemadden)
@@ -96,6 +100,8 @@ Darin Ngau [LinkedIn](https://www.linkedin.com/in/darin-ngau/) [Github](https://
96100

97101
[Shana Hoehn](https://www.linkedin.com/in/shana-hoehn-70297b169/) [@slhoehn](https://github.com/slhoehn)
98102

103+
[Shirley Liu](https://www.linkedin.com/in/yijunliu/) [@yijunliu90](https://github.com/yijunliu90)
104+
99105
[Shlomo Porges](https://linkedin.com/shlomoporges) [@shlomoporges](https://github.com/ShlomoPorges)
100106

101107
[Sophia Huttner](https://www.linkedin.com/in/sophia-huttner-68315975/) [@sophjean](https://github.com/sophjean)
@@ -120,4 +126,6 @@ Thomas Lukasiewicz [LinkedIn](https://www.linkedin.com/in/thomas-lukasiewicz-276
120126

121127
[William Yoon](https://www.linkedin.com/in/williamdyoon/) [@williamdyoon](https://github.com/williamdyoon)
122128

129+
[Xiao Wang](https://www.linkedin.com/in/xiao-wang-03183285/) [@wang9hu](https://github.com/wang9hu)
130+
123131
[Yuanji Huang](https://www.linkedin.com/in/yuanjihuang/) [@kr1spybacon](https://github.com/kr1spybacon)

electron-builder.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
appId: com.electron.reactype
2-
copyright: Copyright © 2022
2+
copyright: Copyright © 2023
33
productName: ReacType
44
directories:
55
buildResources: resources

package-lock 2.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"name": "reactype",
3-
"version": "13.0.0",
3+
"version": "14.0.0",
44
"lockfileVersion": 2,
55
"requires": true,
66
"packages": {
77
"": {
88
"name": "reactype",
9-
"version": "13.0.0",
9+
"version": "14.0.0",
1010
"hasInstallScript": true,
1111
"license": "MIT",
1212
"dependencies": {

package-lock 3.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"name": "reactype",
3-
"version": "13.0.0",
3+
"version": "14.0.0",
44
"lockfileVersion": 2,
55
"requires": true,
66
"packages": {
77
"": {
88
"name": "reactype",
9-
"version": "13.0.0",
9+
"version": "14.0.0",
1010
"hasInstallScript": true,
1111
"license": "MIT",
1212
"dependencies": {

package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
{
22
"name": "reactype",
3-
"version": "13.0.0",
3+
"version": "14.0.0",
44
"description": "Prototyping tool for React/Typescript Applications.",
55
"private": true,
66
"main": "app/electron/main.js",
77
"author": "OS Labs",
88
"contributors": [
9+
"Brett Webster",
10+
"Lillian Wimberly",
11+
"Shirley Liu",
12+
"Xiao Wang",
913
"Ahsan Rao",
1014
"Benjamin Cauffman",
1115
"Carly Jackson",

0 commit comments

Comments
 (0)