Why not factor out the ! via de Morgan's laws (which would also remove most of the parentheses, as iirc && binds tighter than ||)? Also, does that language have a {#continue} sort of syntax for loops? If so, you could make it a guard clause.
So clearly that language has support for methods in this context and it isn't necessary for all this logic to be mixed in with the markup. So my initial comment on this PR would be "please create a method isPostVisibleForUser(post_id, user_id)". That method could be moved to a service related to post visibility, because this seems like a common feature. Though from my experience with Angular, common features are often pulled in as whole components with markup and all, so it could be fine to couple them.
Early returns improve readability in that they make it simpler to read, but I also find them decreasing readability in that you may miss an early return and wonder why is execution not hitting the line you expect it to