import {ScrollView, View, Text, Modal, Pressable} from "react-native"; import ModalView, {ModalButtonSuccess, ModalButtonError} from "../../modal"; import Accordion from "../../acordion"; import Task from "../../task"; import {useEffect, useState} from "react"; import Api from "../../../services/api"; import {useRoute} from "@react-navigation/native"; import SubtaskStore, {getSubtaskForTaskId, getSubtasks} from "../../../store/subtaskStore"; import {useSnapshot} from "valtio"; const useSubtasks = () => { const revalidateHandler = () => { getSubtasks(); } useEffect(() => { revalidateHandler() }, []); return {revalidateHandler} } const SubTask = ({route, navigation}) => { const [modalVisible, setModalVisible] = useState(false) const [subtaskId, setSubtaskId] = useState(null) const {revalidateHandler} = useSubtasks() const {subtasks} = useSnapshot(SubtaskStore) const taskId = useRoute().params.id return ( {subtasks.filter(elem => elem.status === 'active' && elem.task_id === taskId).map(elem => { setSubtaskId(elem.id) setModalVisible(true) } } />)} {subtasks.filter(elem => elem.status === 'uncompleted' && elem.task_id === taskId).map(elem => )} {subtasks.filter(elem => elem.status === 'completed' && elem.task_id === taskId).map(elem => )} Api.completeSubTask(subtaskId).then(() =>setModalVisible(false)).then(() => revalidateHandler())} /> setModalVisible(false)}/> ) } export default SubTask;