Shanghai struggles with Covid infections