refactor(navigation): one directive for navigation