import { useAtom, useAtomValue, useSetAtom } from 'jotai' import { FaArrowLeft, FaArrowRight } from 'react-icons/fa' import { clearItemSelectionActionAtom, filteredCharacterItemsAtom, inventoryFilterAtom, inventoryPageRangeAtom, itemSelectionSelectAllFilterActionAtom, itemSelectionSelectAllPageActionAtom, paginateInventoryActionAtom, preferenceInventorySearch, selectedCharacterAtom, setInventoryFilterTabActionAtom, } from '@/state/atoms' import { InventoryTargetSelector } from './movetarget' import { InventoryTable } from './table' 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) 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) }} >
) }