Add button to clear multi selection

This commit is contained in:
Brandon Presley 2022-12-14 13:02:18 +13:00
parent 9c21ee022d
commit 71d4ad805c
4 changed files with 13 additions and 3 deletions

View File

@ -8,9 +8,11 @@ import useDark from './use-dark'
export default function DrawerHeader({ export default function DrawerHeader({
name, name,
ids, ids,
setIds,
}: { }: {
name: keyof DrawerParamList name: keyof DrawerParamList
ids: number[] ids: number[]
setIds: (values: number[]) => void
}) { }) {
const navigation = useNavigation<DrawerNavigationProp<DrawerParamList>>() const navigation = useNavigation<DrawerNavigationProp<DrawerParamList>>()
const dark = useDark() const dark = useDark()
@ -23,7 +25,7 @@ export default function DrawerHeader({
onPress={navigation.openDrawer} onPress={navigation.openDrawer}
/> />
<Appbar.Content title={name} /> <Appbar.Content title={name} />
<DrawerMenu name={name} ids={ids} /> <DrawerMenu name={name} ids={ids} setIds={setIds} />
</Appbar.Header> </Appbar.Header>
) )
} }

View File

@ -11,9 +11,11 @@ import useDark from './use-dark'
export default function DrawerMenu({ export default function DrawerMenu({
name, name,
ids, ids,
setIds,
}: { }: {
name: keyof DrawerParamList name: keyof DrawerParamList
ids: number[] ids: number[]
setIds: (values: number[]) => void
}) { }) {
const [showMenu, setShowMenu] = useState(false) const [showMenu, setShowMenu] = useState(false)
const [showRemove, setShowRemove] = useState(false) const [showRemove, setShowRemove] = useState(false)
@ -57,6 +59,11 @@ export default function DrawerMenu({
setShowMenu(false) setShowMenu(false)
}, [name, home, plans]) }, [name, home, plans])
const clear = useCallback(() => {
setShowMenu(false)
setIds([])
}, [setIds])
if (name === 'Home' || name === 'Plans') if (name === 'Home' || name === 'Plans')
return ( return (
<Menu <Menu
@ -74,6 +81,7 @@ export default function DrawerMenu({
)} )}
{ids.length > 0 && ( {ids.length > 0 && (
<> <>
<Menu.Item icon="clear" title="Clear" onPress={clear} />
<Menu.Item icon="edit" title="Edit" onPress={edit} /> <Menu.Item icon="edit" title="Edit" onPress={edit} />
<Divider /> <Divider />
</> </>

View File

@ -54,7 +54,7 @@ export default function PlanList() {
return ( return (
<> <>
<DrawerHeader name="Plans" ids={ids} /> <DrawerHeader name="Plans" ids={ids} setIds={setIds} />
<Page onAdd={onAdd} term={term} search={search}> <Page onAdd={onAdd} term={term} search={search}>
{plans?.length === 0 ? ( {plans?.length === 0 ? (
<List.Item <List.Item

View File

@ -104,7 +104,7 @@ export default function SetList() {
return ( return (
<> <>
<DrawerHeader name="Home" ids={ids} /> <DrawerHeader name="Home" ids={ids} setIds={setIds} />
<Page onAdd={onAdd} term={term} search={search}> <Page onAdd={onAdd} term={term} search={search}>
{sets?.length === 0 ? ( {sets?.length === 0 ? (
<List.Item <List.Item