Open
Description
This component could benefit from a refactoring similar to EventsScreen
, where every event type would be handled by a dedicated method.
Instead of the big switch/case in render(), we could have something like this:
render() {
const { repository, event } = this.props;
const handler = camelCase(`handle_${event.event}`); // lodash's camelCase
if (typeof this[handler] === 'function') {
return this[handler](event, repository);
}
return null;
}
and implement handleReviewRequested()
, handleLabeled()
, etc.
We would then wrap strings with utils.t()
to internationalize this component.