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

View File

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

View File

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

View File

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