Make sure nil elements don't go into the widget

Because we were using `map` against the parsed json, things that didn't meet the criteria were going into the output as nil, so we were getting blank stuff on the dashboard. Easily fixed with a bit of `compact` magic though.