# VSETH - Frontend

Source of the @vseth/components package. A Component library made for VSETH. Mostly wrappers around existing packages because we don't need to reinvent the wheel.


## Contribute

If you want to contribute to the components library, you can create a new branch and then make a merge request.
You are welcome to work on open issues.

### Wrapped and re-exported packages:

- [reactstrap](https://reactstrap.github.io/)
  - `exported members see reactstrap docs or index.ts`
  - Reexported all the reactstrap components.
- [react-select](https://react-select.com/home)
  - `Select`
  - wrapper for vseth styling
- [react-jsonschema-form](https://github.com/rjsf-team/react-jsonschema-form)

  - `VSETHForm`
  - Wrapped version for vseth styling
  - copied quite a lot of code due to their architecture and the needed changes, please update carefully

### New Components

- Rating
  - `Rating`
  - As seen in eule
  - [Example](https://fe.vseth.ethz.ch)
- VSETH Navbar
  - `VSETHNavbar`
  - A Navbar component with built in fetching of VSETH-wide Navbar Config
  - needs react-rouder-dom
- Icons
  - `Icon`
  - Icon component that takes an SVG Icon as prop
  - `ICONS`, collection of svg icons (see [here](https://fe.vseth.ethz.ch))
- Input Fields
  - `InputField`
  - alternative input fields with features specific to our theme
  - currently has many bugs
- Webapp
  - `WA...`
  - See `src/Webapp`
  - Various Components for Webapps in the VSETH style (see [here](https://fe.vseth.ethz.ch))

### Planned

Feel free to implement them :)

- Data tables
- Graphs (could reuse from eule)
- {Insert cool component here}
