* better oauth provider loading
* add auth frontend
* add configs for all default providers
* add more default providers
* add env variables to enable oauth providers
* small refactor to link/ unlink routes
* add oauth tab to (admin) profile
* use redirects instead of exceptions
* add notification if no oauth user is found
* use import in config
* remove whmcs provider
* replace hardcoded links with `route`
* redirect to account page on unlink
* remove unnecessary controller and handle linking/ unlinking in action
* only show oauth tab if at least one oauth provider is enabled
* simplify setup command
* add installer page
* add route for installer
* adjust gitignore
* set colors globally
* add "unsaved data changes" alert
* add helper method to check if panel is installed
* make nicer
* redis username isn't required
* bring back db settings command
* store current date in "installed" file
* only redirect if install was successfull
* remove fpm requirement
* change "installed" marker to env variable
* improve requirements step
* add commands to change cache, queue or session drivers respectively
* removed `grouped` for better mobile view
The fallback handler isn't scoped to a specific group, so the way this was setup caused requests to non-existent API routes to actually try and return the base view for Vue. This caused a mess of issues because that view is behind the middleware that expect sessions to be set, thus leading to very confusing authentication errors rather than a 404 response.
Main difference is permissions, cleaner UI for normal users, and account keys use permissions assigned to servers and subusers while application keys use R/W ACLs stored in the key table.