Exercise components are now automatically routed to and rendered by one component
outsourced fetch functions to individual scripts
ExerciseRouter gets the exercise data from the server and hands it to each exercise component
linked the exerciseRouter to the Exercises page
Every exercise is now available under #/exercises/<exerciseID>
Exercise components won't have to care about server communication for themselves anymore
Typescript
added types for exercises and solutions
transformed the constants to typescript's "real" enums
mirrored various backend types in typescript
Exercises are now strictly typed
better overview
simplified usage of exercise data
faster exercise creation in the future
easy change of types if backend feels the need to change major datatypes suddenly
Fixes
fixed status bar timer reset
changed routing structure for better overview and logic
simplified and generalized process of getting exercises and sending solutions to the server
TODO:
find out how to communicate with solution api without getting internal server errors every time
Enhancements
ExerciseRouter
Exercise components are now automatically routed to and rendered by one component
Typescript
Fixes
TODO: