client: Port to Angular.