The screen is only the visible part
In apps like SOF LOG and SOF CARE, a screen is tied to data, permissions and the state of the current job or workflow. The layout matters, but so do the rules behind what can be shown or changed.
If each screen invents its own loading, empty or error behaviour, the product becomes harder to maintain even when the UI looks consistent.
Make states explicit
I prefer to define loading, empty, error, unauthorized and completed states before polishing the interaction. That gives components a clearer job and makes edge cases easier to test.
Keep shared components small
Shared components work best when they handle stable presentation and accessibility concerns. Business rules stay closer to the feature that understands them.
Check the non-visual parts too
Keyboard focus, reduced motion, permissions and loading behaviour are part of the frontend. A screen is not finished just because the happy path looks good.