Add category filter, fix active state