Menu close when player leaving distance?

Anyone know why menu is not closing when player running away?

          function(data2, menu2)

            local player, distance = ESX.Game.GetClosestPlayer()

            if distance ~= -1 and distance <= 3.0 then

              if data2.current.value == 'body_search' then
                TriggerServerEvent('esx_job:sendMsg', GetPlayerServerId(player), _U('being_searched'))
                exports['progressBars']:startUI(10000, "Kollar igenom personen")
                Citizen.Wait(10000)
                OpenBodySearchMenu(player)
              else

if distance ~= -1 and distance >= 4.0 then
	menu.close()
end
end