HedgeDoc - Ideas grow better together
Find a file
Erik Michelson dbce0181a4
Add register via username and refactor email-login to username-login (#313)
* Added config option to enable/disable the email signup

* Added register API call

* Added register button and error handling

* Show register button only if enabled in config

* Renamed login handler, added dir-attribute, removed obsolete css class

* Added separate registration page, changed email-login to internal-login

As an username is sufficient for registration, this commit changes the email-login into an username-based login. This login method is now called "internal" in the code.
This commit also introduces a new registration page instead of using the same form as for login.

* Added information texts below form fields

* Added error differentiation

* Added CHANGELOG entry

* Replace "magic string" with Enum representation

* Removed password-field to DOM rewrite

With the value attribute set, the password would be written to the DOM while typing. That's bad practise as attackers could read that password (e.g. with dirty CSS-hacks).

* Fixed backendConfig to config renaming

* Fixed links on register page being external links

* Refactored error handling to use string-enum that corresponds with i18n keys

* Fix chrome warnings regarding autocomplete and duplicated id

* Refactor login action buttons to use callbacks and handle promises directly

* Remove unnecessary async function

* Added promise chaining
2020-08-04 23:13:12 +02:00
.github
.idea/dictionaries
cypress rework how the frontend is started (#361) 2020-07-29 22:58:01 +02:00
icon
public Add register via username and refactor email-login to username-login (#313) 2020-08-04 23:13:12 +02:00
src Add register via username and refactor email-login to username-login (#313) 2020-08-04 23:13:12 +02:00
.editorconfig
.gitignore Add .idea directory to .gitignore (#362) 2020-07-28 22:21:42 +02:00
CHANGELOG.md Add register via username and refactor email-login to username-login (#313) 2020-08-04 23:13:12 +02:00
cypress.json rework how the frontend is started (#361) 2020-07-29 22:58:01 +02:00
LICENSE
package.json Add plantuml support (#327) 2020-08-04 11:15:23 +02:00
README.md Minor README improvements (#382) 2020-08-04 21:29:17 +02:00
renovate.json Add automerge config to renovatebot 2020-08-01 15:49:41 +02:00
tsconfig.json
yarn.lock Add plantuml support (#327) 2020-08-04 11:15:23 +02:00

CodiMD - React Client

lint and build e2e

This is the new, improved and better looking frontend for CodiMD 2.0. Our goal is to recreate the current frontend in react and to improve it.

Preparation

You'll need at least Node 10 (we recommend 12). We use yarn for our dependencies.

Development mode

  1. Clone this repo (e.g. git clone https://github.com/codimd/react-client.git codimd-react-client)
  2. Go inside the repo (e.g. cd codimd-react-client)
  3. Run yarn install
  4. Either run

This should run the app in the development mode and open http://localhost:3001 in your browser.

The page will reload if you make edits. You will also see any lint errors in the console.

Tests

Unit

Unit testing is done via jest.

  1. Run yarn test

End2End

We use cypress for e2e tests.

  1. Start the frontend with yarn start
  2. Run yarn cy:open to open the cypress test loader
  3. Choose your browser and test
  4. Let the tests run

Production mode

  1. Clone this repo (e.g. git clone https://github.com/codimd/react-client.git codimd-react-client)
  2. Go inside the repo (e.g. cd codimd-react-client)
  3. Run yarn install
  4. Run yarn build

Builds the app for production to the build folder. It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include a hash value of the content.