diff --git a/src/components/ItemsMenu.tsx b/src/components/ItemsMenu.tsx
index 17fcbfb..effbc54 100644
--- a/src/components/ItemsMenu.tsx
+++ b/src/components/ItemsMenu.tsx
@@ -16,7 +16,7 @@ import {
   selectPokemonEncounter,
 } from "../state/gameSlice";
 import { useState } from "react";
-import useItemData from "../app/use-item-data";
+import useItemData, { ItemData } from "../app/use-item-data";
 import { InventoryItemType } from "../state/state-types";
 
 const ItemsMenu = () => {
@@ -30,14 +30,12 @@ const ItemsMenu = () => {
   const learningMove = !!useSelector(selectLearningMove);
   const tossing = !!useSelector(selectConfirmationMenu);
 
-  const [selected, setSelected] = useState<number | null>(null);
-
-  const item = selected !== null ? itemData[inventory[selected].item] : null;
+  const [selected, setSelected] = useState<ItemData | null>(null);
 
   return (
     <>
       <Menu
-        disabled={selected !== null || usingItem || learningMove}
+        disabled={!!selected || usingItem || learningMove}
         show={show}
         close={() => dispatch(hideItemsMenu())}
         menuItems={inventory
@@ -49,14 +47,14 @@ const ItemsMenu = () => {
             return {
               label: itemData[item.item].name,
               value: item.amount,
-              action: () => setSelected(index),
+              action: () => setSelected(itemData[item.item]),
             };
           })}
       />
-      {item && selected !== null && (
+      {selected && (
         <Menu
           disabled={tossing || usingItem}
-          show={selected !== null}
+          show={!!selected}
           close={() => setSelected(null)}
           menuItems={[
             {
@@ -64,9 +62,9 @@ const ItemsMenu = () => {
               action: () => {
                 // Can't use
                 if (
-                  (inBattle && !item.usableInBattle) ||
-                  !item.consumable ||
-                  (item.pokeball && !inBattle)
+                  (inBattle && !selected.usableInBattle) ||
+                  !selected.consumable ||
+                  (selected.pokeball && !inBattle)
                 ) {
                   dispatch(
                     showText([
@@ -78,7 +76,7 @@ const ItemsMenu = () => {
 
                 // Can use
                 else {
-                  item.action();
+                  selected.action();
                   setSelected(null);
                 }
               },
@@ -88,10 +86,9 @@ const ItemsMenu = () => {
               action: () => {
                 dispatch(
                   showConfirmationMenu({
-                    preMessage: `Is it OK to toss ${inventory[selected].item}`,
-                    postMessage: `${name} tossed ${inventory[selected].item}`,
-                    confirm: () =>
-                      dispatch(consumeItem(inventory[selected].item)),
+                    preMessage: `Is it OK to toss ${selected.name}`,
+                    postMessage: `${name} tossed ${selected.name}`,
+                    confirm: () => dispatch(consumeItem(selected.type)),
                   })
                 );
               },