`defaultColor`, `activeColor` and `selectedColor` is pretty much repeated for text. I'll abstract them to above the `if`