+
{searchResults ? searchResults : <>
>}
diff --git a/src/components/inventory/index.tsx b/src/components/inventory/index.tsx
new file mode 100644
index 0000000..79c0e0a
--- /dev/null
+++ b/src/components/inventory/index.tsx
@@ -0,0 +1,149 @@
+import { clearItemSelectionActionAtom, currentCharacterItemsAtom, filteredCharacterItemsAtom, inventoryFilterAtom, inventoryItemsCurrentPageAtom, inventoryPageRangeAtom, itemSelectionSelectAllFilterActionAtom, itemSelectionSelectAllPageActionAtom, paginateInventoryActionAtom, preferenceInventorySearch, selectedCharacterAtom, setInventoryFilterTabActionAtom} from "@/state/atoms";
+import {useAtom, useAtomValue, useSetAtom } from "jotai";
+import { InventoryTargetSelector } from './movetarget';
+import { InventoryTable } from './table';
+import { FaArrowLeft, FaArrowRight } from "react-icons/fa";
+
+
+
+
+const sections = [
+ { name: 'all', value: '' },
+ { name: 'consume', value: '1' },
+ { name: 'equip', value: '2' },
+ { name: 'drill', value: '3' },
+ { name: 'pet', value: '4' },
+ { name: 'etc', value: '5' },
+
+]
+
+const cardSections = [
+ { name: 'skill', value: '10' },
+ { name: 'char', value: '11' },
+ { name: 'mon', value: '12' },
+ { name: 'fortune', value: '13' },
+ { name: 'secret', value: '14' },
+ { name: 'arcana', value: '15' },
+]
+
+const InventoryTabs = ()=> {
+
+ const inventoryFilter= useAtomValue(inventoryFilterAtom)
+ const setInventoryFilterTab = useSetAtom(setInventoryFilterTabActionAtom)
+ const inventoryRange = useAtomValue(inventoryPageRangeAtom)
+ const items = useAtomValue(filteredCharacterItemsAtom)
+ console.log("items", items)
+ const sharedStyle = "hover:cursor-pointer hover:bg-gray-200 px-2 pr-4 border border-gray-200"
+ const selectedStyle = "bg-gray-200 border-b-2 border-black-1"
+ return
+
+
+ {sections.map(x=>{
+ return
{
+ setInventoryFilterTab(x.value)
+ }}
+ key={x.name}
+ className={`${sharedStyle}
+${inventoryFilter.tab === x.value ? selectedStyle : ""}`}
+ >{x.name}
+ })}
+
+
+ {cardSections.map(x=>{
+ return
{
+ setInventoryFilterTab(x.value)
+ }}
+ key={x.name}
+ className={`${sharedStyle}
+${inventoryFilter.tab === x.value ? selectedStyle : ""}`}
+ >{x.name}
+ })}
+
+
+
+
{inventoryRange.start}..{inventoryRange.end}/{items.length}
+
+
+}
+
+export const Inventory = () => {
+
+ const selectedCharacter = useAtomValue(selectedCharacterAtom)
+ const clearItemSelection = useSetAtom(clearItemSelectionActionAtom)
+
+ const addPageItemSelection = useSetAtom(itemSelectionSelectAllPageActionAtom)
+ const addFilterItemSelection = useSetAtom(itemSelectionSelectAllFilterActionAtom)
+ const [search, setSearch] = useAtom(preferenceInventorySearch)
+
+
+ const paginateInventory = useSetAtom(paginateInventoryActionAtom)
+
+ if(!selectedCharacter){
+ return
+ select a character
+
+ }
+ return
+
+
+
+
{
+ addPageItemSelection()
+ }}
+ >select filtered
+
{
+ addFilterItemSelection()
+ }}
+ >select page
+
{
+ clearItemSelection()
+ }}
+ >clear
+
+
+
+
{
+ // sendOrders()
+ }}
+ className="hover:cursor-pointer whitespace-preborder border-black-1 bg-orange-200 hover:bg-orange-300 px-2 py-1">Move Selected
+
+
+
+
+
+
{
+ setSearch(e.target.value)
+ }}
+ />
+
{
+ paginateInventory(-1)
+ }}
+ >
+
{
+ paginateInventory(1)
+ }}
+ >
+
+
+
+
+
+
+
+
+}
diff --git a/src/components/inventory.tsx b/src/components/inventory/movetarget.tsx
similarity index 57%
rename from src/components/inventory.tsx
rename to src/components/inventory/movetarget.tsx
index fd012a8..7b9c861 100644
--- a/src/components/inventory.tsx
+++ b/src/components/inventory/movetarget.tsx
@@ -1,39 +1,20 @@
-import { TricksterCharacter } from "../lib/trickster"
-import { useSessionContext } from "../context/SessionContext"
-import 'handsontable/dist/handsontable.full.min.css';
-
-import { registerAllModules } from 'handsontable/registry';
-import { HotTable, HotTableClass } from '@handsontable/react';
-import { forwardRef, useCallback, useEffect, useId, useMemo, useRef, useState} from "react";
-import { InventoryTable } from "../lib/table";
-import { DotLoader } from "react-spinners";
-import { useResizeObserver } from "@mantine/hooks";
-import { Columns } from "../lib/columns";
-import { OrderDetails, OrderSender } from "../lib/lifeto/order_manager";
-import log from "loglevel";
-import { charactersAtom, currentCharacterInventoryAtom, currentCharacterItemsAtom, LTOApi, selectedTargetInventoryAtom } from "../state/atoms";
-import Select from 'react-select';
+import { forwardRef, useId, useMemo, useRef, useState} from "react";
import { useAtom, useAtomValue } from "jotai";
import { autoUpdate, flip, FloatingFocusManager, FloatingPortal, size, useDismiss, useFloating, useInteractions, useListNavigation, useRole } from "@floating-ui/react";
import Fuse from "fuse.js";
+import { charactersAtom, selectedTargetInventoryAtom } from "@/state/atoms";
-registerAllModules();
-type Size = {
- width?: number
- height?: number
-}
-
-
-
-interface InventoryItemProps {
+interface AccountInventorySelectorItemProps {
children: React.ReactNode;
active: boolean;
}
-const InventoryItem = forwardRef<
+
+
+const AccountInventorySelectorItem = forwardRef<
HTMLDivElement,
- InventoryItemProps & React.HTMLProps
+ AccountInventorySelectorItemProps & React.HTMLProps
>(({ children, active, ...rest }, ref) => {
const id = useId();
return (
@@ -54,8 +35,7 @@ const InventoryItem = forwardRef<
);
});
-
-const InventoryTargetSelector = () => {
+export const InventoryTargetSelector = () => {
const [open, setOpen] = useState(false);
const [inputValue, setInputValue] = useState("");
const [activeIndex, setActiveIndex] = useState