search filter and dropdown

Signed-off-by: Andre Dublin <81dublin@gmail.com>
search view

Signed-off-by: Andre Dublin <81dublin@gmail.com>
extract logic to protocol

Signed-off-by: Andre Dublin <81dublin@gmail.com>
spacing

Signed-off-by: Andre Dublin <81dublin@gmail.com>