Support public and private frontend routes

Currently only the LoginPage is accessible if the user is not logged in. Also, the application should show a loading indicator while it checks the validation of the stored access token.