Since https://github.com/discourse/discourse/commit/a440e15, we have started to support objects typed theme setting so we are switching this theme component to use it instead as it provides a much better UX for configuring the settings required for the theme component.
This commits introduces the follow changes:
1. Use the `renderInOutlet` API over the connectors convention
1. Renames `discourse-category-banners` component to `category-banner`
which is more appropriate cause we are only rendering banner for one
category.
1. Adds system tests
This change swaps out `Category.findById` with `Category.findBySlugPathWithID`. It ends up reducing the necessary code and handles the scenario of using a link without a numeric ID (e.g. `/tags/c/some-category/some-tag` instead of `/tags/c/some-category/4/some-tag`).
This also simplifies the routing logic in line with what was discussed in https://github.com/discourse/discourse-category-banners/pull/8. There's no need to create an `isCategoryTopicList` variable, especially now that the code is a little less busy.
- drops jquery
- uses new codelayout structure
- more explicit site setting
- apply code standards
- various cleanups
- do not show an empty category-title-desription if we don't show the category description