It's only used on the dashboard, but it's independent enough to be used elsewhere. But yeah, the repetition is not nice, I'll refactor it