Skip to content

ReacType v5.0.0 #161

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 207 commits into from
Feb 3, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
207 commits
Select commit Hold shift + click to select a range
ab10c4e
cloned the repo
Linhatran Jan 11, 2021
e34cb97
added comments for protocol.js
Linhatran Jan 11, 2021
67f4e35
alter capitalization in require statements; add comments in menu.js a…
aw2934 Jan 12, 2021
e039128
commented codes i protocol.js and commented out codes for Github Oaut…
Linhatran Jan 12, 2021
bf64327
commented codes and commented out codes for Oauth
Linhatran Jan 12, 2021
a33fecc
added file description and more comments
Linhatran Jan 12, 2021
d410866
clean up the codes with right syntax for catching error, comment out …
Linhatran Jan 12, 2021
f80f5d5
remove import statements for fs, path, and bodyParser module, comment…
Linhatran Jan 12, 2021
72c309b
added comments and commented out codes for Oauth
Linhatran Jan 12, 2021
6ae46fc
add comments to ComponentPanel, ComponentPanelItem, ComponentPanelRou…
aw2934 Jan 13, 2021
57c6f25
Merge branch 'commentary' of https://github.com/aw2934/ReacType into …
Linhatran Jan 13, 2021
82f9c97
Merge branch 'electron' of https://github.com/Linhatran/ReacType into…
aw2934 Jan 13, 2021
2e32546
take out unused imported modules
Linhatran Jan 13, 2021
f1be9fb
fixed paths for npm run code
yutingwu4 Jan 13, 2021
03cf9bd
declared separator in state
Linhatran Jan 14, 2021
34f16c5
added separator in State
Linhatran Jan 14, 2021
358f5dc
added notes to ComponentPanelRoutingItem
yutingwu4 Jan 14, 2021
076d898
add notes on functionality
Jan 14, 2021
a47ed88
canvas does not render nestable components
Linhatran Jan 14, 2021
02f3409
add separator to components within and outside a nestable element
Linhatran Jan 14, 2021
c8457da
add comments to HTMLPanel
aw2934 Jan 15, 2021
a96b1d0
separators are nestable
Linhatran Jan 15, 2021
6bfae14
move element freely in separator/canvas, need to add separator before…
Linhatran Jan 15, 2021
b7ef044
change html buttons location to top / rearrange components on left
Jan 15, 2021
e68384f
Merge branch 'reposition' of https://github.com/Linhatran/ReacType in…
aw2934 Jan 15, 2021
306bd65
commented out formatCode in generateCode.ts
yutingwu4 Jan 15, 2021
1eabc38
hide separator from HTML panel
Linhatran Jan 16, 2021
5c6b667
add nextTopSeparatorId
Linhatran Jan 16, 2021
3cabb71
add forEach method in componentReducer
aw2934 Jan 16, 2021
54c49f3
moved Project Manager to top of right panel
Jan 16, 2021
54aab66
update to luke's branch before liveshare
yutingwu4 Jan 16, 2021
bd561cf
add console logs to componentReducer to debug duplicate separator issue
aw2934 Jan 16, 2021
537cec9
added top component navbar
yutingwu4 Jan 16, 2021
e8463b9
successfully add and remove separators
Linhatran Jan 16, 2021
55a3429
handle add/remove separator for add, change, and delete child
Linhatran Jan 16, 2021
58d8650
fixed deleting first item issue
Linhatran Jan 16, 2021
6acfb3e
need to fixe mergeSeparator to find the right separator to merge
Linhatran Jan 16, 2021
5adaeb4
merge with co-worker's branch
aw2934 Jan 16, 2021
9e1eed0
color change before html grid gone
yutingwu4 Jan 16, 2021
b848313
add full element movement functionality
aw2934 Jan 16, 2021
4d560d9
begin to style separator element
aw2934 Jan 16, 2021
a5e9e4d
html elements rearranged and nav bar needs dark mode
yutingwu4 Jan 17, 2021
1b49487
prevent tree chart from rendering separators, add lodash dependency
aw2934 Jan 18, 2021
0a201d4
separators no longer draggable
aw2934 Jan 18, 2021
1bae553
separators no longer selectable
aw2934 Jan 18, 2021
f30c284
modifying left sidebar and dark mode navbar
yutingwu4 Jan 18, 2021
3603e8d
add comments to componentReducer
aw2934 Jan 18, 2021
72cb0c2
fix issue with reusable component placement
aw2934 Jan 18, 2021
ed2cb41
added syntax for Gatsby on toggle
Linhatran Jan 18, 2021
60a48f6
moved dark mode button to navbar and created navbar dark mode functio…
yutingwu4 Jan 19, 2021
6b77436
remove border from separators
aw2934 Jan 19, 2021
187bc3d
remove console logs
aw2934 Jan 19, 2021
4b35682
Merge branch 'reposition' of https://github.com/aw2934/ReacType into …
Linhatran Jan 19, 2021
69628e2
spaces in code preview no longer appear for separators
aw2934 Jan 19, 2021
89ba4bf
Merge branch 'reposition' of https://github.com/aw2934/ReacType into …
Linhatran Jan 19, 2021
0498739
removed declared but unused codes
Linhatran Jan 19, 2021
c9a6525
start to modularize componentReducer separator functions
aw2934 Jan 19, 2021
76656f8
deleted manageSeparators to merge
Linhatran Jan 19, 2021
fd05bbd
Merge branch 'reposition' of https://github.com/aw2934/ReacType into …
Linhatran Jan 19, 2021
99057ae
color adj to bottom panel text for light mode
yutingwu4 Jan 19, 2021
f39301e
modularized reducer
Linhatran Jan 19, 2021
8d53b12
cleaned up unused codes
Linhatran Jan 20, 2021
6b82f1c
fixed issue with separators being rendered in components rather than …
Linhatran Jan 20, 2021
e1b0131
most up to date redesign of the left, main and canvas section
Jan 20, 2021
f7c7e57
add updated style.css file
Jan 20, 2021
fe0fc8c
fixed recursive call in handleSeparator function with deletion, fixed…
Linhatran Jan 20, 2021
d167e56
added ExportModal.tsx to modularize modal in ProjectManager.tsx and r…
yutingwu4 Jan 20, 2021
a14137c
tree chart no longer shows separators for components other than index
aw2934 Jan 20, 2021
65fe34e
merge with other changes to reposition branch
aw2934 Jan 20, 2021
b0964cb
fix issue causing delay in generateCode and remove console logs
aw2934 Jan 20, 2021
7e86e7f
remove unused code
aw2934 Jan 21, 2021
37929c8
moved 'clear canvas' button functionality successfully to navbar
yutingwu4 Jan 21, 2021
a77d2af
move ComponentPanel to RightContainer
Jan 21, 2021
66caedc
Merge branch 'test' of https://github.com/yutingwu4/ReacType into luk…
Jan 21, 2021
6414704
merge from alex reposition
Jan 21, 2021
435c9ff
Merge pull request #1 from aw2934/reposition
lukemadden Jan 21, 2021
9e3ef57
merge alex reposition successful
Jan 21, 2021
f54647f
Merge pull request #2 from lukemadden/merge
aw2934 Jan 21, 2021
bdb365e
commented out SaveProjectButton, OpenProjectFolder, DeleteProjects bu…
Linhatran Jan 21, 2021
c5cfe29
Merge pull request #3 from Linhatran/master
aw2934 Jan 21, 2021
72ba9ea
commented out SaveProjectButton, ProjectsFolder, DeleteProjects in Pr…
yutingwu4 Jan 21, 2021
f7cd580
Merge branch 'master' of github.com:oslabs-beta/ReacType
yutingwu4 Jan 21, 2021
8a85ae3
fix issue where elements dropped onto empty divs disappear
aw2934 Jan 21, 2021
3e6a98d
Merge pull request #4 from aw2934/handleSeparators
Linhatran Jan 21, 2021
8b05132
add scroll functionality to RightContainer by adding css style and ce…
Jan 21, 2021
f6dc377
Merge pull request #5 from lukemadden/styles
aw2934 Jan 21, 2021
acd65f9
Merge branch 'master' of github.com:oslabs-beta/ReacType
yutingwu4 Jan 21, 2021
9d07af7
modify ADD CHILD tests in componentReducer.test.ts
aw2934 Jan 21, 2021
9c8f805
add functionality to test separators to DELETE CHILD
aw2934 Jan 21, 2021
7fa301b
add test to HTMLPanel.test to check whether separator rendered
aw2934 Jan 21, 2021
f08c8cb
add test to tree.test to verify that separators not rendered
aw2934 Jan 21, 2021
4b585d7
add TypeScript syntax to manageSeparators.ts
aw2934 Jan 21, 2021
8abed03
add TypeScript syntax to removeSeparators function in TreeChart.tsx
aw2934 Jan 21, 2021
dff2def
restyle New Component input field in ComponentPanel.tsx
Jan 21, 2021
cc81414
center new component div, change color of tree panel, remove themes, …
Linhatran Jan 21, 2021
266962b
fixed root check box and name input for new component to be on the sa…
Linhatran Jan 22, 2021
3a21028
Merge pull request #6 from aw2934/handleSeparators
Linhatran Jan 22, 2021
95119dd
Merge branch 'master' into UI
Linhatran Jan 22, 2021
cb6d385
Merge pull request #7 from Linhatran/UI
lukemadden Jan 22, 2021
13a2cff
Merge branch 'master' of github.com:oslabs-beta/ReacType
yutingwu4 Jan 22, 2021
ef8c22d
add enzyme tests for NavBar component
aw2934 Jan 23, 2021
2b860d4
pulled from alex testing
Linhatran Jan 23, 2021
e82b3ab
cleared the enzyme.test.tsx file to take new snapshots of BottomTabs …
Linhatran Jan 23, 2021
9e691fa
added Enzyme testing for RightContainer and HTMLPanel
Jan 23, 2021
f2bce51
enzyme testing Right Container
yutingwu4 Jan 23, 2021
6363613
deleted ExportModal.tsx
Jan 23, 2021
5b479aa
revert back to server.js before changing
Linhatran Jan 23, 2021
91ddac5
commit before pulling from luke and julie testing
Linhatran Jan 23, 2021
1887bf4
before pulling from julie enzyme branch
Linhatran Jan 23, 2021
243cda1
pulled from luke testing branch
Linhatran Jan 23, 2021
c9600ee
finsihed enzyme unit tests, working on supertest for server
Linhatran Jan 23, 2021
a97dbaa
Merge pull request #8 from Linhatran/testing
lukemadden Jan 24, 2021
f7e8f00
fix issue where tree chart included separators/would not update compo…
aw2934 Jan 27, 2021
85981b9
remove console logs
aw2934 Jan 27, 2021
f2581a2
remove extraneous code
aw2934 Jan 27, 2021
d7f5fdb
add comments
aw2934 Jan 27, 2021
6df158e
replace component with deep copy rather than shallow copy
aw2934 Jan 27, 2021
5116563
enable merge
aw2934 Jan 28, 2021
36ac84b
merge
aw2934 Jan 28, 2021
b5d7412
deleted changes in userController
Linhatran Jan 28, 2021
bdca412
connected to mongo
Linhatran Jan 28, 2021
6d4a04d
added functionality to log in/log out button in Navbar. Also restyled…
Jan 28, 2021
36bae64
corrected text colors on right panel
yutingwu4 Jan 28, 2021
f7d4684
successfully tested POST requests
Linhatran Jan 28, 2021
660030a
passed tests
Linhatran Jan 28, 2021
e6617bf
Merge pull request #9 from aw2934/componentIssue
Linhatran Jan 28, 2021
489eb3d
Merge branch 'master' of https://github.com/oslabs-beta/ReacType
aw2934 Jan 28, 2021
2b0f9c2
merged from upstream master
Linhatran Jan 28, 2021
b1dc717
completed tests
Linhatran Jan 28, 2021
0d5b70b
commit before pull from upstream master
Linhatran Jan 28, 2021
f6aa404
changed texts in light mode to comply to 4.5:1 WCAG AA contrast ratio
yutingwu4 Jan 28, 2021
05e8e72
passed userAuth tests
Linhatran Jan 28, 2021
806a3f9
created config file for URI and hid it in .gitignore
Linhatran Jan 28, 2021
22408ce
added comments to test files
Linhatran Jan 28, 2021
9de94c3
modularize ExportButton and move to Navbar. Working of modal function…
Jan 28, 2021
f3df138
Merge pull request #10 from Linhatran/server
aw2934 Jan 28, 2021
9bb6429
Merge branch 'master' of https://github.com/oslabs-beta/ReacType
Linhatran Jan 28, 2021
c520668
dark mode change text color to white half successful
yutingwu4 Jan 29, 2021
d020969
successfully modularized ExportButton with full functionality and add…
Jan 29, 2021
48e923d
Move SaveProjectButton, ProjectsFolder and DeleteProjects to navbar i…
Jan 30, 2021
de22984
Merge branch 'ui_wrap_up' of https://github.com/yutingwu4/ReacType in…
Jan 30, 2021
2531fdb
Merge branch 'ui_wrap_up' of https://github.com/yutingwu4/ReacType in…
Linhatran Jan 30, 2021
be6e2c6
Merge branch 'ExportButton' of https://github.com/lukemadden/ReacType…
Linhatran Jan 30, 2021
709b8af
removed green box shadow on focus
Linhatran Jan 30, 2021
ee98e79
Added space between Instance of Element and name of the element
Linhatran Jan 30, 2021
b33029a
added logo and switch Dark Mode or Light Mode button
Linhatran Jan 30, 2021
8a0f984
fixed spacing between logo and ReacType
Linhatran Jan 30, 2021
d687852
working on HTML Items to remove the corners
Linhatran Jan 30, 2021
995b31d
removed a t from ReacType
Linhatran Jan 30, 2021
5e42915
start updating readme
aw2934 Jan 30, 2021
e87b936
Merge branch 'merge' of https://github.com/Linhatran/ReacType into le…
aw2934 Jan 30, 2021
17a7f32
changed font color based on mode for left panel and bottom half of ri…
Linhatran Jan 30, 2021
2efa569
restyle custom HTML elements in left panel
aw2934 Jan 30, 2021
0471c9a
fixed dark mode font color issue
Linhatran Jan 30, 2021
58f5064
Custom HTML element names limited to 10 characters; related message d…
aw2934 Jan 30, 2021
a9a84de
top portion of left panel is fixed and scrollable
aw2934 Jan 30, 2021
098ac2d
fixed modal text color
Linhatran Jan 30, 2021
584ca19
commit before merging with alex leftPanel
Linhatran Jan 30, 2021
cfa1c5c
merged changes with alex
Linhatran Jan 30, 2021
6cacc35
merge
aw2934 Jan 30, 2021
b54d01d
finished handling error msgs for input fields on the left side, got r…
Linhatran Jan 30, 2021
3bb4b0e
fix contrast with highlight of html items and color of custom element…
aw2934 Jan 30, 2021
3a78977
commit before merging with alex leftPanel
Linhatran Jan 30, 2021
4dd78d4
Merge branch 'leftPanel' of https://github.com/aw2934/ReacType into m…
Linhatran Jan 30, 2021
841d7f3
left panel error messages appear below input field causing them
aw2934 Jan 30, 2021
1a74b68
add conditions in generateCode to automatically detect whether app is…
aw2934 Jan 31, 2021
e6cfca8
clean up ProjectManager file / delete commented out code pertaining t…
Jan 31, 2021
11f6078
Merge pull request #11 from yutingwu4/ui_final_update
aw2934 Jan 31, 2021
841a45c
update readme
aw2934 Feb 1, 2021
08454f4
Merge branch 'master' into readme
aw2934 Feb 1, 2021
f13ce70
fix issue where placing links in gatsby mode would break app in prod …
aw2934 Feb 1, 2021
6473582
export in gatsby mode now creates fully functional gatsby application
aw2934 Feb 1, 2021
47e2a39
readme finalized; can run dev/prod mode without changing code
aw2934 Feb 1, 2021
bad9eb0
fix image in readme
aw2934 Feb 1, 2021
9c31377
convert image in readme to gif
aw2934 Feb 1, 2021
96a3519
add contributor names to package.json
aw2934 Feb 1, 2021
80775b3
removed color red properties
yutingwu4 Feb 1, 2021
05fa892
update version number in package.json
aw2934 Feb 1, 2021
103256d
add missing comma in package.json
aw2934 Feb 2, 2021
e7928dc
Merge pull request #13 from yutingwu4/ui_final_update
aw2934 Feb 2, 2021
ed99156
Merge branch 'master' into readme
Linhatran Feb 2, 2021
ffa8422
Merge pull request #12 from aw2934/readme
Linhatran Feb 2, 2021
29cc537
deleted the screenshots folder
Linhatran Feb 2, 2021
75d51d2
replaced blue logo with current logo
Linhatran Feb 2, 2021
db06af9
replaced logo
Linhatran Feb 2, 2021
c7fee98
replaced logo
Linhatran Feb 2, 2021
2da8cfc
Merge pull request #14 from Linhatran/master
aw2934 Feb 2, 2021
799fb48
update text of Tutorial files and start converting images to pictures…
Feb 2, 2021
c841158
Finish uploading images of the new UI to tutorial files and edit the …
Feb 2, 2021
a6a630c
app lists first root component as 'index' in gatsby mode; fix issue w…
aw2934 Feb 2, 2021
6cc9a53
Merge branch 'master' into tutorial
aw2934 Feb 3, 2021
4b74b7e
Merge pull request #16 from lukemadden/tutorial
aw2934 Feb 3, 2021
0816ba2
Merge pull request #15 from aw2934/gatsbyExport
lukemadden Feb 3, 2021
d68718a
added screenshots
Linhatran Feb 3, 2021
8c1fd7b
pulled from upstream master
Linhatran Feb 3, 2021
4c562d5
cleaned up codes in main folder
Linhatran Feb 3, 2021
6ed07a8
cleaning up codes in right component
Linhatran Feb 3, 2021
fff094c
finsihed code cleanup for right component
Linhatran Feb 3, 2021
c1969d8
finished cleaning up codes for top folder and app.txs
Linhatran Feb 3, 2021
47d45c3
finish cleaning up code for electron and helper function
Linhatran Feb 3, 2021
a2fc732
cleaned up codes for test files and helperfunctions
Linhatran Feb 3, 2021
6dfbc5d
cleaned up the codebase in every file by removing unused variables, c…
Linhatran Feb 3, 2021
e921c67
updated the license.md file
Linhatran Feb 3, 2021
ea33cb7
updated electron-builder.yml file
Linhatran Feb 3, 2021
17ae428
finished wrapping up the codebase
Linhatran Feb 3, 2021
d9c862b
Merge pull request #17 from Linhatran/master
lukemadden Feb 3, 2021
f6989a3
Update README.md
aw2934 Feb 3, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,9 @@ typings/
# dotenv environment variables file
.env

# config file for db URI
config.js

# parcel-bundler cache (https://parceljs.org/)
.cache

Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2020 ReacType
Copyright (c) 2021 ReacType

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

Expand Down
63 changes: 35 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,58 @@
<p align="center">
<img width="50" src=https://i.imgur.com/Z2aKWji.png?1>
<img width="50" src="https://i.imgur.com/Yn70tqI.png">
<h1 align="center">ReacType </h1>
</p>

[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/team-reactype/ReacType/pulls)
![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)
![Release: 4.0](https://img.shields.io/badge/Release-4.0-white)
![Version 5.0](https://img.shields.io/badge/Release-5.0-lightgrey.svg)

**ReacType** is a visual prototyping tool for developers employing **React** component architecture alongside the comprehensive type checking of **TypeScript**.
In other words, **you can draw prototypes and export React / Typescript code!**
**ReacType** is a visual prototyping tool for developers employing **React** component architecture alongside the comprehensive type-checking of **TypeScript**.
In other words, **you can draw prototypes and export React / TypeScript code!**

**ReacType** allows the user to _visualize_ their application architecture dynamically, employing a _drag-and-drop canvas display_ and a _real-time component code preview_. The user can create components and drag _instances_ of these components, as well as HTML elements, onto the canvas. This architecture can then be _exported_ as TypeScript application files to be used as a starter template for any repository.
**ReacType** allows users to _visualize_ their application architecture dynamically, employing a _drag-and-drop canvas display_ and a _real-time component code preview_. Users can create components and drag _instances_ of these components, as well as HTML elements, onto the canvas. This architecture can then be _exported_ as TypeScript application files to be used as a starter template for any repository.

**New with version 4.0:**

- View dynamically created components/HTML elements in the component tree
- View Typescript syntax for React
- Code preview is fully editable (make changes before exporting project)
- Create custom HTML elements
- Improved UI experience
- Implemented a comprehensive tutorial page with images
**New with version 5.0:**

- Elements may be added to components in any location, rather than only at the bottom
- Compatibility with Gatsby.js
- Modernized and cleaner UI, including enhanced dark mode
- Tutorial has been updated to reflect other modifications

Download for [MacOS](https://github.com/team-reactype/ReacType/releases), [Windows](https://github.com/team-reactype/ReacType/releases/), [Linux](https://github.com/team-reactype/ReacType/releases/).

- **Mac users**: After opening the dmg and dragging ReacType into your Applications folder, ctrl+click the icon and select 'Open' from the context menu to run the app. This extra step is necessary since we don't have an Apple developer license yet.

- **Windows users**: Install the application by running ReacType Setup 4.0.0.exe.
- **Windows users**: Install the application by running ReacType Setup 5.0.0.exe.

- **Linux users**: Run the application as a super user in order to read and write files.

![Gif of adding](https://i.imgur.com/Ioqkr00.gif)
![Gif of adding](https://i.imgur.com/d1oHiTm.gif)

### How to use

- **Sign-in page**: Sign up for an account, authenticate via Github/Facebook, or just continue as a guest.
- **Tutorial**: Click ‘Tutorial’ from the help tab’s drop-down menu of the help tab at the top left of the application to view a tutorial page.
- **Start a project (only after authenticating)**: After you authenticate via Github/Facebook, create a new project, and select whether you want your project to be a Next.js or a classic React project. Also, save your project so that you can return to it at a later time.
- **Add Components**: Create components on the left panel. Components can be associated with a route, or they can be used within other components.
- **Delete Components**: Delete components after focusing on them from the right panel. Be careful when deleting components because all instances of the component will be deleted within the application/project.
- **Add Custom Elements**: Create custom elements or add HTML elements that you are more familiar with into the application. Once the project is exported, the HTML tags generated in the code preview will function the way the label is supposed to work. You can create functionality for custom elements in a new file. The tutorial on HTML Elements explains more on how to do this.
- **Delete Elements**: Delete elements by clicking on the ‘X’ button next to the element. Be careful when deleting elements because all elements will be deleted within the application/project.
- **Create instances on the canvas**: Each component has its canvas. Create an example of an element or HTML element by dragging it onto the canvas. Div components are arbitrarily nestable and useful for complex layouts. Next.js projects have Link components to enable client-side navigation to other routes.
- **Component Tree**: Click on the component tree tab next to the code preview tab to view the component tree hierarchy.
- **Update styling**: Click on an element on the canvas to update basic styling using the right functions. As you create new instances and add styling, watch as your code dynamically generates in the bottom panel.
- **User preference features**: Select a theme for the code preview to your liking and change the application’s lighting.
- **Export project**: Click the “Export Project’ button to export the project’s application files into a Typescript file. The exported project is fully functional with Webpack, Express server, routing, etc., and will match what’s mocked on the canvas.
- **Sign-in page**: Sign up for an account, or just continue as a guest. Registered users enjoy additional project-saving functionality.
- **Tutorial**: Click ‘Tutorial’ from the Help tab’s dropdown menu (at the top left of the application) to view a tutorial.
- **Start a project (only after registration)**: Registered users can create a new project and select whether they want their project to be a Next.js, Gatsby.js, or classic React project. Also, registered users can save projects to return to them at a later time.
- **Add Components**: Create components on the right panel. Components can be associated with a route, or they can be used within other components.
- **Delete Components**: Delete components after focusing on them in the right panel. Be careful when deleting components: Upon deletion, all instances of the component will be removed within the application/project.
- **Add Custom Elements**: Create custom elements or add provided HTML elements into the application. Once the project is exported, the HTML tags generated in the code preview will function as expected. You can specify functionality for custom elements in the code preview. The tutorial on HTML Elements explains more on how to do this.
- **Delete Custom HTML Elements**: Delete custom HTML elements by clicking on the ‘X’ button adjacent to the element. Be careful when deleting custom elements: All instances of the element will be deleted within the application/project.
- **Create Instances on the Canvas**: Each component has its own canvas. Add an element to a component by dragging it onto the canvas. Div components are arbitrarily nestable and useful for complex layouts. Next.js and Gatsby.js projects have Link components to enable client-side navigation to other routes.
- **Component Tree**: Click on the Component Tree tab next to the Code Preview tab to view the component tree hierarchy.
- **Update Styling**: Select an element on the canvas to update its basic style attributes on the right panel. As you create new instances and add styling, watch as your code dynamically generates in the code preview in the bottom panel.
- **User Preference Features**: With the click of a button, toggle between light mode and dark mode, depending on your preference.
- **Export project**: Click the “Export Project’ button to export the project’s application files into a TypeScript file. The exported project is fully functional with Webpack, Express server, routing, etc., and will match what is mocked on the canvas.

#### Contributors

[Aaron Bumanglag](https://www.linkedin.com/in/akbuma) [@akbuma](https://github.com/akbuma)

[Adam Singer](https://linkedin.com/in/adsing) [@spincycle01](https://github.com/spincycle01)

[Alex Wolinsky](https://www.linkedin.com/in/alex-wolinsky-80ab591b2/) [@aw2934](https://github.com/aw2934/)

[Andrew Cho](https://www.linkedin.com/in/andrewjcho84/) [@andrewjcho84](https://github.com/andrewjcho84)

[Brian Han](https://www.linkedin.com/in/brianjisoohan/) [@brianjshan](https://github.com/brianjshan)
Expand All @@ -72,6 +73,12 @@ Download for [MacOS](https://github.com/team-reactype/ReacType/releases), [Windo

[Jin Soo Lim](https://www.linkedin.com/in/jin-soo-lim-3a567b1b3/) [@jinsoolim](https://github.com/jinsoolim)

[Julie Wu](https://www.linkedin.com/in/jwuarchitect/) [@yutingwu4](https://github.com/yutingwu4)

[Linh Tran](https://www.linkedin.com/in/linhtran51/) [@Linhatran](https://github.com/Linhatran)

[Luke Madden](https://www.linkedin.com/in/lukemadden/) [@lukemadden](https://github.com/lukemadden)

[Mitchel Severe](https://www.linkedin.com/in/misevere/) [@mitchelsevere](https://github.com/mitchelsevere)

[Natalie Vick](https://www.linkedin.com/in/vicknatalie/) [@natattackvick](https://github.com/natattackvick)
Expand Down Expand Up @@ -114,9 +121,9 @@ npm run prod
npm run dev
```

- Please note that the development build is not connected to the production server. `npm run dev` should spin up the development server from the server folder of this repo. For additional information, the readme is [here](https://github.com/open-source-labs/ReacType/blob/master/server/README.md). Alternatively, you can also select "Continue as guest" on the log-in page of the app to not use any features that rely on the server (authentication and saving project data.)
- Please note that the development build is not connected to the production server. `npm run dev` should spin up the development server from the server folder of this repo. For additional information, the readme is [here](https://github.com/open-source-labs/ReacType/blob/master/server/README.md). Alternatively, you can select "Continue as guest" on the login page of the app, which will not use any features that rely on the server (authentication and saving project data.)

## To Run Your Exported Next.js Project
## To Run Your Exported Next.js or Gatsby.js Project

- Open exported project directory
- Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion __tests__/BottomTabs.test.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { useReducer} from 'react';
import '@testing-library/jest-dom';
import { render, fireEvent, cleanup, screen } from '@testing-library/react';
import { render, screen } from '@testing-library/react';

import BottomTabs from '../app/src/components/bottom/BottomTabs';
import StateContext from '../app/src/context/context';
Expand Down
8 changes: 4 additions & 4 deletions __tests__/HTMLPanel.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ function Test() {
}


test('Renders HTMLPanel component', () => {
test('Renders HTMLPanel component properly', () => {
render(
<Test/>
);
Expand All @@ -37,7 +37,8 @@ test('Renders HTMLPanel component', () => {
expect(screen.getByText('Header 1')).toBeInTheDocument();
expect(screen.getByText('Header 2')).toBeInTheDocument();
expect(screen.getByText('Span')).toBeInTheDocument();
})
expect(screen.queryByText('separator')).toBe(null);
});

test('Adds new custom element', () => {
render(
Expand All @@ -54,5 +55,4 @@ test('Adds new custom element', () => {
fireEvent.click(screen.getByDisplayValue('Add Element'));

expect(screen.getByText('Testing')).toBeInTheDocument();
})

});
Loading