Your data looks fine, but if you have no tabs in a category, selecting it will just show you the currently opened tab and no other tabs.
You have no tabs at the moment assigned to your 5th Category (idols) so that’s probably what you’re seeing.
EDIT:
@EHG_Mike While testing @valdemaniak’s issue, I noticed a potentially problematic issue that can happen if categories get deleted. You have an off by one issue basically.
So what’s happening is that when you delete a category, the deleted categories’s categoryID is getting asigned to the next category, which is fine. But when the categories after that have their IDs changed, their numbered starting at the same ID (I’d assume that the first swap is a single executed code block, and the proceeding updates are done with a loop starting at the counted number of categories preceeding them without considering the one just swapped.
What this does is make not only the category with the duplicated ID not directly interactable (you have to click the one to the right of it), it also makes the furthest right category non-interactable (because the system isn’t anticipating a duplicate ID).
As an example:
If I had categories 1 - 7 created, the json would look like this (formatted for readability)
“categories”:[
{“categoryID”:0,“iconID”:0,“colorID”:0,“displayName”:“Category 1”},
{“categoryID”:1,“iconID”:0,“colorID”:0,“displayName”:“Category 2”},
{“categoryID”:2,“iconID”:0,“colorID”:0,“displayName”:“Category 3”},
{“categoryID”:3,“iconID”:0,“colorID”:0,“displayName”:“Category 4”},
{“categoryID”:4,“iconID”:0,“colorID”:0,“displayName”:“Category 5”},
{“categoryID”:5,“iconID”:0,“colorID”:0,“displayName”:“Category 6”},
{“categoryID”:6,“iconID”:0,“colorID”:0,“displayName”:“Category 7”}]
If I were to delete category 4, the json should be updated to look like this:
“categories”:[
{“categoryID”:0,“iconID”:0,“colorID”:0,“displayName”:“Category 1”},
{“categoryID”:1,“iconID”:0,“colorID”:0,“displayName”:“Category 2”},
{“categoryID”:2,“iconID”:0,“colorID”:0,“displayName”:“Category 3”},
{“categoryID”:3"iconID":0,“colorID”:0,“displayName”:“Category 5”},
{“categoryID”:4,“iconID”:0,“colorID”:0,“displayName”:“Category 6”},
{“categoryID”:5,“iconID”:0,“colorID”:0,“displayName”:“Category 7”}]
Instead you get this:
“categories”:[
{“categoryID”:0,“iconID”:0,“colorID”:0,“displayName”:“Category 1”},
{“categoryID”:1,“iconID”:0,“colorID”:0,“displayName”:“Category 2”},
{“categoryID”:2,“iconID”:0,“colorID”:0,“displayName”:“Category 3”},
{“categoryID”:3,“iconID”:0,“colorID”:0,“displayName”:“Category 5”},
{“categoryID”:3,“iconID”:0,“colorID”:0,“displayName”:“Category 6”},
{“categoryID”:4,“iconID”:0,“colorID”:0,“displayName”:“Category 7”}]
As you can see, both Category 5 and 6 get assigned categoryID 3. This pattern of behaviour works regardless of where you delete the category from.
Exiting the game doesn’t resolve it (the game doesn’t currently check for the “impossible” ID conflicts though it does fail gracefully and still load) but it can be resolved in-game at the moment by deleting the repeated categoryID tab (in this case 3) which then passes the issue on down the line until you’ve deleted all of the categories after the duplication.
This is, admittedly, a fairly odd circumstance to come up (I wouldn’t have encountered it had I not been testing the above issue), but it is definitely something that is currently broken.