Not a bad swing at all a lot is in place. two things
1. Not swing related try not to stand over the ball as long. I can see you are thinking about things as you stand over it. Once you step and are ready, just pull the trigger you will play with a lot more freedom.
2. The backswing in basic terms is a mix of shoulder turn, or the around in a golf swing vs the amount of up or wrist hinge in the swing. To me you have too much "up" or wrist hinge in your swing causing a steep angle of attack and those shots flying left to right. I will guess the topped shots are coming from getting out ahead of the ball so here is what I would suggest.
Try too feel no wrist's in the backswing. Just feel a Shoulder Turn. Also try to feel your right palm facing the ground longer when you take it back. Your wrists are working fine so more shoulder turn should get you on plane nicely. On the downswing just feel your head staying back and not racing out ahead and I think you will get rid of the tops. Remember if you ever get off plane it is just too much of one aspect, shoulder turn or around in the swing, or wrist hinge and up in the swing.
Good luck!