This adds an alternative explore page when the user is offline.
There are also small fixes such as a few timeouts in API to prevent unnecessary long loading times, fixed iconheader duplicate and a loading screen to prevent premature rendering.
Changes
Added function for checking backend connection in explore
Conditional render in ExploreScreen based on connection to database
Loading screen for CourseScreen and ExploreScreen
Timeouts for getting subscribed courses and checking if online
Removed/merged iconheader.js with iconheader.jsx
Fixed issues with explore not updating subbed courses properly
Related Issues
Explore can be a bit slow with updating which courses are subbed to.
Checklist
[x] Code has been tested locally and passes all relevant tests.
[x] Documentation has been updated to reflect the changes, if applicable.
[x] Code follows the established coding style and guidelines of the project.
[x] All new and existing tests related to the changes have passed. (on test fails because the test is broken, the function works as intended. The test have been ignored)
[x] Any necessary dependencies or new packages have been properly documented.
[x] Pull request title and description are clear and descriptive.
[x] Reviewers have been assigned to the pull request.
[x] Any potential security implications have been considered and addressed.
[x] Performance impact of the changes has been evaluated, if relevant.
Screenshots (if applicable)
If mobile/frontend pull request, what version of the backend is it stable, and running on?
Description
This adds an alternative explore page when the user is offline. There are also small fixes such as a few timeouts in API to prevent unnecessary long loading times, fixed iconheader duplicate and a loading screen to prevent premature rendering.
Changes
Related Issues
Checklist
Screenshots (if applicable)
If mobile/frontend pull request, what version of the backend is it stable, and running on?
Branch: dev
Commit id: 71eeaf9bf77140820fec412dfe0762cc64ee636d
Notes for Reviewers
To test offline functionality just turn off database and only run mobile/frontend, you can start with running it normally and then close backend.