How can I add logic to interactable script , it will interact with items only from the front view ?

This is how the original script was before I added the changes :

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using System;

public class InteractableItem : MonoBehaviour
{
   public string currentMode;

   public enum InteractableMode
   {
       Description,
       Action,
       ActionWithoutThrow
   };

   public InteractableMode interactableMode = InteractableMode.Description;
   public float distance;

   [TextArea(1, 10)]
   public string description = "";

   public bool IsAnyAction()
   {
       return interactableMode == InteractableMode.ActionWithoutThrow || interactableMode == InteractableMode.Action;
   }

   public bool IsActionWithoutThrow()
   {
       return interactableMode == InteractableMode.ActionWithoutThrow;
   }

   private void Start()
   {
       currentMode = GetComponent<InteractableItem>().interactableMode.ToString();
   }

   private void Update()
   {
       
   }
}

I tried this so far since the InteractableItem script is attached to each object I want to be interactable item I added some stuff :

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using System;

public class InteractableItem : MonoBehaviour
{
   public string currentMode;

   private Transform player;

   private void Awake()
   {
       player = GameObject.Find("Player").transform;
   }

   public enum InteractableMode
   {
       Description,
       Action,
       ActionWithoutThrow
   };

   public enum ViewMode
   {
       FrontView,
       AllView
   };

   public ViewMode viewMode = ViewMode.AllView;

   public InteractableMode interactableMode = InteractableMode.Description;
   public float distance;

   [TextArea(1, 10)]
   public string description = "";

   public bool IsAnyAction()
   {
       return interactableMode == InteractableMode.ActionWithoutThrow || interactableMode == InteractableMode.Action;
   }

   public bool IsActionWithoutThrow()
   {
       return interactableMode == InteractableMode.ActionWithoutThrow;
   }

   private void Start()
   {
       currentMode = GetComponent<InteractableItem>().interactableMode.ToString();
   }

   private void Update()
   {
       var heading = transform.position - player.transform.position;
       var dot = Vector3.Dot(heading, -transform.forward);

       if (viewMode == ViewMode.FrontView && dot > 1)
       {
           Debug.Log("Front View");
       }
       else
       {
           Debug.Log("Any View");
       }
   }
}

First I find the Player then at the bottom I find if the player is looking from the front or from the other sides on the item and then added new enum for view mode selection. If it’s FrontView or AllView.

The problem now is how to use the first enum conditions with the second enum conditions in the Update ? The FrontView or AllView is working with the Vector3.Dot but now I need to use both enums and not sure how.

unity

Solved, should I comment as answer or to delete ask to delete the post ? Will it help others ?