Inventory Script Not Working

Hello so recently after many attempts before I finally tried my hardest to understand tutorials on inventory systems. I found a basic script for inventory in one of the tutorials but the script that I am using is not working. (I did attempt to change a few things to fit in my game) I am able to put the item in my inventory list, but when I tried making a key that uses a certain “Potion” all that happens when I click the F key(The Key to use the item) is that it says is this multiple times (NullReferenceException: Object reference not set to an instance of an object
Interactable.Update () (at Assets/Scripts/Interactable.cs:40)

Interactable Script

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class Interactable : MonoBehaviour {
    [HideInInspector]
    public NavMeshAgent playerAgent;
    private bool hasInteracted;
    public Inventory inventory;
    public string itemType;

    public virtual void MoveToInteraction(NavMeshAgent playerAgent)
    {
        hasInteracted = false;
        this.playerAgent = playerAgent;
        playerAgent.stoppingDistance = 2f;
        playerAgent.destination = this.transform.position;

    }

    void Update()
    {
        if(!hasInteracted && playerAgent != null && !playerAgent.pathPending)
        {
            if(playerAgent.remainingDistance <= playerAgent.stoppingDistance)
            {
                Interact();
                hasInteracted = true;
            }
            else
            {
                hasInteracted = false;
            }
        }

        if (Input.GetButtonDown("Use Potion"))
        {
            //Check the inventory for a potion
            GameObject bottle = inventory.FindItemByType("Health Potion");
            if (bottle != null)
            {
                //Use the potion
                Debug.Log("Used Potion");
                //remove the potion from inventory
                inventory.RemoveItem(bottle);
            }
        }
    }

    public virtual void Interact()
    {
        Debug.Log("Interacting with base class");
    }
}

Potion Script

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Potion : Interactable
{

    public GameObject currentInteractableObject;
    public bool InventoryItem = true;

    public override void Interact()
    {
        gameObject.SetActive(false);
        inventory.AddItem(currentInteractableObject);
        Debug.Log("Added Potion");

    }
}

Inventory Script

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Inventory : MonoBehaviour {

    public GameObject[] inventory = new GameObject[10];

    public void AddItem(GameObject item)
    {
        bool itemAdded = false;

        //Find first open slot in inventory
        for (int i = 0; i < inventory.Length; i++)
        {
            if(inventory *== null)*

{
itemAdded = true;
inventory = item;
Debug.Log(item.name + “Was Added”);
break;
}
}
//Inventory Full
if(!itemAdded)
{
Debug.Log(“Inventory is Full - Item Not Added”);
}
}
public bool FindItem(GameObject item)
{
for (int i = 0; i < inventory.Length; i++)
{
if (inventory != null)
{
if (inventory == item)
{
return true;
}
}
}
//Item Not Found
return false;
}

public GameObject FindItemByType(string itemType)
{
for (int i = 0; i < inventory.Length; i++)
{
if(inventory !=null)
{
if(inventory*.GetComponent().itemType == itemType)*
{
//We Found Item of the type we were looking for
return inventory*;*
}
}
}
//Item of Type not found
return null;
}

public void RemoveItem(GameObject item)
{
for (int i = 0; i < inventory.Length; i++)
{
if(inventory[1] != null)
{
if (inventory == item)
{
//We Found Item remove it
inventory = null;
Debug.Log(item.name + “was removed from the inventory”);
break;
}
}
}
}
}
Thank you for taking the time to look at my scripts and helping me!!

Its giving you Null Reference here:

//Check the inventory for a potion
GameObject bottle = inventory.FindItemByType("Health Potion");

Can you make sure the following object is attached to the Inventory in the inspector? You might have forgotten to drag drop the Inventory.

public Inventory inventory;