Teleport Player Problem

Hi ! I’m creating warp to teleport player to my next warp. When i go to the warp and press key , player will teleport to the next warp which i attached to the Warp script. Ex : when i go to Warp_Red 1 and press key , player will teleport to Warp_Red_2 Which i attached to the Warp script in Warp_Red_1.
(Warp_Red_ 1 <=> Warp_Red_2, Warp_Blue_1 <=> Warp_Blue_2, Warp_Green_1 <=> Warp_Green_2)

But When i go from Warp_Red_ 1 => Warp_Red_2 => Warp_Green_1, player teleport to Warp_Red_1 instead of going to Warp_Green_2 , after that i go back to Warp_Red_2 => Warp_Blue_1, player teleport to Warp_Red_1 instead of going to Warp_Blue_2

This is my map (Dont mind the red error)

This is my code
public Transform WarpTarget;

private bool TeleportEntered = false;

GameObject Player;

private void Start()
{
Player = GameObject.FindGameObjectWithTag(“Player”);
}

private void Update()
{
if(Input.GetKeyDown(KeyCode.J) && TeleportEntered == true)
{
TeleportEntered = false;
TeleportPlayer();
}
}

private void OnTriggerEnter2D(Collider2D other)
{
if (TeleportEntered == false && other.gameObject == Player)
{
TeleportEntered = true;
}
}

void TeleportPlayer()
{
Player.gameObject.transform.position = WarpTarget.position;
Camera.main.transform.position = WarpTarget.position;
}

ahh i have the problem , just need to add
private void OnTriggerExit2D(Collider2D other)
{
if(other.gameObject == Player)
{
TeleportEntered = false;
}
}