Mathf.SmoothDampAngle issue when rotating

I am trying to use Mathf.SmoothDampAngle to add some weight to the rotation of the player object (a sailing ship). This is what I came up with:

private void Update() {
    hInput = Input.GetAxis("Horizontal");
}


private void FixedUpdate() {
    float targetAngle = rigidbody.rotation.eulerAngles.y + hInput * rotationSpeed * Time.deltaTime;
    float newAngle = Mathf.SmoothDampAngle(rigidbody.rotation.eulerAngles.y, targetAngle,  ref currentVelocity, 3f);

    rigidbody.rotation = Quaternion.Euler(rigidbody.rotation.x, newAngle, rigidbody.rotation.z);
}

It does seem to do what I want it to do when rotating towards the right. However, when rotating towards the left, the object just stops in its track. I’m trying to understand why but I can’t really get to a satisfactory explanation, and I can’t find any information on what specifically the SmoothDampAngle function is doing and why I’m using it wrong. Any ideas?

I got the same issue too, when the velocity is negative it will suddenly become 0 without damp