Character move speed not working

I’m very new to unity and c# and so I started my first project a few weeks ago and when you hold left click the player/character is supposed to slow down but it wouldn’t I’ve tried everything I can think of
Thanks in advance

Code

private Rigidbody2D self;
public float moveSpeed;
public float switchTime;
public float changeSpeed;
private bool gameOver = false;
public int seconds = 0;
public Text clock;

void Start()
{
    self = GetComponent<Rigidbody2D>();
    InvokeRepeating("SwitchDirections", switchTime, switchTime * 2);
    StartCoroutine(Count());
}

void UpdateClock()
{
    seconds += 1;
    clock.text = "Time: " + seconds;
}

void SwitchDirections()
{
    moveSpeed *= -1;
}

void Update()
    {
    self.velocity = new Vector2(moveSpeed, 1f);
    if (Input.GetMouseButton(0))
      {
         new Vector2(moveSpeed, 0.5f);
      }
    }

void FixedUpdate()
{
    self.velocity = new Vector2(moveSpeed, 1f);
    if (Input.GetMouseButton(0))
    {
       new Vector2(moveSpeed, 0.5f);
    }
    else
    {
        Time.timeScale = 1f;
    }
}

IEnumerator Count()
{
    while (gameOver == false)
    {
        yield return new WaitForSecondsRealtime(1);
        UpdateClock();
    }

}

}

Have you tried using (Input.GetMouseButton(0)) as an int instead of just 0