Separate admin page logic

Build landing page and settings page separately sharing as much code between
them as possible. In the future it's easier to add more admin pages and still
follow what logic is building which page.