Abstract nav drawer

This branch is no longer needed, I will finish the app in master