Rotation issues, Gimbal Lock and quaternions in flight mechanics (C++)

Finally found the solution here:

This code now fixed my issues:

void APlayerSpaceship::handleSteerInput(const FInputActionValue& value)
{
	const auto input = value.Get<FVector2D>();
	
	const auto currentQuat = GetActorQuat();
	const auto currentRotation = GetActorRotation();
	const auto newQuat =
		FRotator(0, input.X * steeringSpeed, 0).Quaternion() *
		currentQuat *
		FRotator(input.Y * steeringSpeed, 0, 0).Quaternion();

	SetActorRotation(newQuat);
}```