Hello, i have developed a power apps similar to Help desk app to submit the issue by requesters and admin team to work on that.

I need to enable the 'edit' button for non-admin(s) when ticket status is either 'New' or 'Pending' else it should be disabled. In case of admin person login in app, 'edit' button should be enabled for either 'New', 'Assigned', 'In Progress' or 'Pending' status and for other cases, it should be disabled.
I am using below expression in 'Display Mode' to achieve above functionality but, it's behavior is not consistent, sometimes it work fine and sometime it doesn't.
If(!isAdmin && (SelectedTicket.TaskStatus.Value = "New" || SelectedTicket.TaskStatus.Value = "Pending") , DisplayMode.Edit, If(!isAdmin && (SelectedTicket.TaskStatus.Value = "Rejected" || SelectedTicket.TaskStatus.Value = "In Progress" || SelectedTicket.TaskStatus.Value = "Resolved" || SelectedTicket.TaskStatus.Value = "Assigned") , DisplayMode.Disabled, If(isAdmin && (SelectedTicket.TaskStatus.Value = "Assigned" || SelectedTicket.TaskStatus.Value = "In Progress" || SelectedTicket.TaskStatus.Value = "Pending" ) , DisplayMode.Edit, If(isAdmin && (SelectedTicket.TaskStatus.Value = "Resolved" || SelectedTicket.TaskStatus.Value = "Rejected") ,DisplayMode.Disabled))))
Please suggest why the 'edit' button is behaving randomly.