* 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
* Add plantuml support
* Enable PlantUML rendering only if plantumlServer config is set
* Show warning box when plantuml is enabled but no server is configured
renamed frontend-config to api-url
renamed backend-config to config
removed api call to set frontend-config as the frontend either know where the backend is as it is delivered by it or get's this information via the enviroment variable REACT_APP_BACKEND
always start the client on Port 3001 as the backend will run on 3000 during development. changed the port on multiple occasions to accommodate for this
added package.json script 'start:dev'
changed README to better explain how to run backend and frontend side-by-side
added branding option via '@ <logo>' or '@ <name>' after the CodiMD logo and text.
This was a user can personalize their CodiMD instance
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
* added info-banner component to show the banner.text, we got from the backend config. This banner is shown on top of the landing page (intro, history, login/signup and profile) and also on top of the editor and links to `/n/banner`
* added banner to backendConfig Redux state
* added BannerState to the ApplicationState with that the showing of the banner is globally controlled, the banner text is given to the banner component and the timestamp to acknowledge a banner was read by the user
* the timestamp of a dismissed note is saved in the browsers localStorage to determine in the future if the banner should be shown
Signed-off-by: Philip Molares <philip.molares@udo.edu>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
* added redirector component
* it will redirect every request to /$something that is not handled otherwise (/intro, /login and such) to /n/$something
* added getNote API Call
* added NotFound component
* added LandingLayout around the NotFound component, so users can easily navigate away from the component
Signed-off-by: Philip Molares <philip.molares@udo.edu>
We discussed whether the minor-version is relevant for the API base-path and came to the conclusion, that it's not really needed as breaking API changes need a new major version anyway.
This commit also removes the trailing slash from the URL which is returned by `getBackendUrl`. This is needed as we composed the API routes in our implementation always with a starting slash thus leading to double slashes.
Example of old behaviour:
getBackendUrl() + '/config'
=> example.com/api/v2.0//config
Example of new behaviuor:
getBackendUrl() + '/config'
=> example.com/api/v2/config