import { NavigationProp, useFocusEffect, useNavigation, } from '@react-navigation/native'; import React, {useCallback, useEffect, useState} from 'react'; import {FlatList} from 'react-native'; import {List} from 'react-native-paper'; import DrawerHeader from './DrawerHeader'; import Page from './Page'; import {Plan} from './plan'; import {PlanPageParams} from './plan-page-params'; import {getPlans} from './plan.service'; import PlanItem from './PlanItem'; export default function PlanList() { const [search, setSearch] = useState(''); const [plans, setPlans] = useState(); const navigation = useNavigation>(); const refresh = useCallback(async () => { getPlans(search).then(setPlans); }, [search]); useFocusEffect( useCallback(() => { refresh(); }, [refresh]), ); useEffect(() => { refresh(); }, [search, refresh]); const renderItem = useCallback( ({item}: {item: Plan}) => ( ), [refresh], ); const onAdd = () => navigation.navigate('EditPlan', {plan: {days: '', workouts: ''}}); return ( <> {plans?.length === 0 ? ( ) : ( set.id?.toString() || ''} /> )} ); }