Refactoring: Notification and Status
Here's a proposition to refactor some parts of our code to improve clarity, remove the duplication and reduce overall complexity. This would also allow easier creation of proper Mentions/Interactions column.
Problem: Notification either renders a Status or tries to mimic how status looks for non-mentions and uses StatusContent. This is a bit confusing and the "mimics the Status" feels wrong, not to mention causes problems with CSS.
Proposed solution: unify both into an Activity component, which is basically what both Notification and Status have in common - avatar, name/info, timestamp. It would render StatusContent for activities that warrant it (status, mention, favorite, repeat, emoji) or other content for non-status-based activities (follow, move). It would also render the action bar (reply, rt, fav, emoji, dots) if activity is interactive (mention, status).
This would basically be a component that could render both MastoAPI's Notification and Status.
What this proposal does not solve/pitfalls: probably doesn't really makes it easier to make statuses expandable in Notification column/Interactions Timeline since that's a Conversation component and expansion feels like part of Timeline's responsibility, not statuses'