[Investigation] Simplify and refactor how the MR widget renders states
#high-interest-tech-debt
The following [discussion from !120770](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/120770#note_1402038455) should be addressed:
> I think we should come up with an idea on how to handle these state components in an issue though rather than in a merge request that is trying to use it :sweat_smile: Like there is also the state machine that could also have a `preparing` state right?
This issue is to discuss potential architectural decisions, which will likely need to be approached over the course of an epic / multiple issues.
Some things to consider:
- Not all of the states are based on an actual MR "status"
- `preparing` - for example - is a meta-state when the MR doesn't yet **have** a state.
- A new architecture should incorporate states that aren't driven by a MR state value
- When in various states, the MR widget shows _multiple_ "sub-widgets": like mergeability, pipelines, approvals, etc.
- Should these be flattened so the stateful logic has fewer branches, and fewer "super states" that toggle sub-states?
issue