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) }} >
}