view with switchable component